@multiplatform.one/table 7.4.0 → 7.5.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 (353) hide show
  1. package/dist/cjs/components/ChildTable/index.cjs +12 -3
  2. package/dist/cjs/components/ChildTable/index.native.js +14 -3
  3. package/dist/cjs/components/ChildTable/index.native.js.map +1 -1
  4. package/dist/cjs/components/ColumnHeaderFilter/index.cjs +11 -13
  5. package/dist/cjs/components/ColumnHeaderFilter/index.native.js +11 -16
  6. package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
  7. package/dist/cjs/components/DataTable/DataTableCardControls.cjs +7 -4
  8. package/dist/cjs/components/DataTable/DataTableCardControls.native.js +7 -4
  9. package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -1
  10. package/dist/cjs/components/DataTable/DataTableDocumentList.cjs +10 -4
  11. package/dist/cjs/components/DataTable/DataTableDocumentList.native.js +10 -4
  12. package/dist/cjs/components/DataTable/DataTableDocumentList.native.js.map +1 -1
  13. package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +6 -1
  14. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +6 -1
  15. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  16. package/dist/cjs/components/DataTable/DataTableRoot.cjs +55 -42
  17. package/dist/cjs/components/DataTable/DataTableRoot.native.js +55 -42
  18. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  19. package/dist/cjs/components/DataTable/DataTableVirtualized.cjs +5 -2
  20. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js +5 -2
  21. package/dist/cjs/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  22. package/dist/cjs/components/DataTable/dataTableChrome.cjs +59 -0
  23. package/dist/cjs/components/DataTable/dataTableChrome.native.js +62 -0
  24. package/dist/cjs/components/DataTable/dataTableChrome.native.js.map +1 -0
  25. package/dist/cjs/components/DataTable/index.native.js +34 -20
  26. package/dist/cjs/components/DataTable/index.native.js.map +1 -1
  27. package/dist/cjs/components/DataTableBulkActions/index.cjs +6 -4
  28. package/dist/cjs/components/DataTableBulkActions/index.native.js +6 -4
  29. package/dist/cjs/components/DataTableBulkActions/index.native.js.map +1 -1
  30. package/dist/cjs/components/DataTableCell/CellModalEditor.cjs +9 -31
  31. package/dist/cjs/components/DataTableCell/CellModalEditor.native.js +2 -5
  32. package/dist/cjs/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  33. package/dist/cjs/components/DataTableCell/CellOptionsEditor.cjs +0 -1
  34. package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js +0 -1
  35. package/dist/cjs/components/DataTableCell/CellOptionsEditor.native.js.map +1 -1
  36. package/dist/cjs/components/DataTableColumnPinning/index.cjs +7 -4
  37. package/dist/cjs/components/DataTableColumnPinning/index.native.js +7 -4
  38. package/dist/cjs/components/DataTableColumnPinning/index.native.js.map +1 -1
  39. package/dist/cjs/components/DataTableDateFilter/index.cjs +24 -22
  40. package/dist/cjs/components/DataTableDateFilter/index.native.js +24 -22
  41. package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
  42. package/dist/cjs/components/DataTableExport/index.cjs +42 -28
  43. package/dist/cjs/components/DataTableExport/index.native.js +42 -28
  44. package/dist/cjs/components/DataTableExport/index.native.js.map +1 -1
  45. package/dist/cjs/components/DataTableFacetMenu/index.cjs +10 -4
  46. package/dist/cjs/components/DataTableFacetMenu/index.native.js +10 -4
  47. package/dist/cjs/components/DataTableFacetMenu/index.native.js.map +1 -1
  48. package/dist/cjs/components/DataTableFilters/index.cjs +3 -3
  49. package/dist/cjs/components/DataTableFilters/index.native.js +3 -3
  50. package/dist/cjs/components/DataTableFilters/index.native.js.map +1 -1
  51. package/dist/cjs/components/DataTableGrouping/index.cjs +46 -41
  52. package/dist/cjs/components/DataTableGrouping/index.native.js +46 -41
  53. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  54. package/dist/cjs/components/DataTablePagination/index.cjs +4 -2
  55. package/dist/cjs/components/DataTablePagination/index.native.js +4 -2
  56. package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
  57. package/dist/cjs/components/DataTableSearch/index.cjs +3 -3
  58. package/dist/cjs/components/DataTableSearch/index.native.js +3 -3
  59. package/dist/cjs/components/DataTableToolbar/index.cjs +19 -13
  60. package/dist/cjs/components/DataTableToolbar/index.native.js +19 -15
  61. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  62. package/dist/cjs/components/DataTableViewOptions/index.cjs +36 -35
  63. package/dist/cjs/components/DataTableViewOptions/index.native.js +36 -35
  64. package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
  65. package/dist/cjs/components/KnobDialog.cjs +1 -3
  66. package/dist/cjs/components/KnobDialog.native.js +1 -3
  67. package/dist/cjs/components/KnobDialog.native.js.map +1 -1
  68. package/dist/cjs/components/SimpleTable/index.cjs +159 -117
  69. package/dist/cjs/components/SimpleTable/index.native.js +168 -128
  70. package/dist/cjs/components/SimpleTable/index.native.js.map +1 -1
  71. package/dist/cjs/components/TableInput/index.cjs +159 -90
  72. package/dist/cjs/components/TableInput/index.native.js +3 -3
  73. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  74. package/dist/cjs/utils/chromeIcons.cjs +31 -0
  75. package/dist/cjs/utils/chromeIcons.native.js +34 -0
  76. package/dist/cjs/utils/chromeIcons.native.js.map +1 -0
  77. package/dist/esm/components/ChildTable/index.mjs +12 -3
  78. package/dist/esm/components/ChildTable/index.mjs.map +1 -1
  79. package/dist/esm/components/ChildTable/index.native.js +14 -3
  80. package/dist/esm/components/ChildTable/index.native.js.map +1 -1
  81. package/dist/esm/components/ColumnHeaderFilter/index.mjs +11 -13
  82. package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
  83. package/dist/esm/components/ColumnHeaderFilter/index.native.js +11 -16
  84. package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
  85. package/dist/esm/components/DataTable/DataTableCardControls.mjs +7 -4
  86. package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -1
  87. package/dist/esm/components/DataTable/DataTableCardControls.native.js +7 -4
  88. package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -1
  89. package/dist/esm/components/DataTable/DataTableDocumentList.mjs +10 -4
  90. package/dist/esm/components/DataTable/DataTableDocumentList.mjs.map +1 -1
  91. package/dist/esm/components/DataTable/DataTableDocumentList.native.js +10 -4
  92. package/dist/esm/components/DataTable/DataTableDocumentList.native.js.map +1 -1
  93. package/dist/esm/components/DataTable/DataTableMobileCards.mjs +6 -1
  94. package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  95. package/dist/esm/components/DataTable/DataTableMobileCards.native.js +6 -1
  96. package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  97. package/dist/esm/components/DataTable/DataTableRoot.mjs +55 -42
  98. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  99. package/dist/esm/components/DataTable/DataTableRoot.native.js +55 -42
  100. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  101. package/dist/esm/components/DataTable/DataTableVirtualized.mjs +5 -2
  102. package/dist/esm/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  103. package/dist/esm/components/DataTable/DataTableVirtualized.native.js +5 -2
  104. package/dist/esm/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  105. package/dist/esm/components/DataTable/dataTableChrome.mjs +32 -0
  106. package/dist/esm/components/DataTable/dataTableChrome.mjs.map +1 -0
  107. package/dist/esm/components/DataTable/dataTableChrome.native.js +32 -0
  108. package/dist/esm/components/DataTable/dataTableChrome.native.js.map +1 -0
  109. package/dist/esm/components/DataTable/index.native.js +34 -20
  110. package/dist/esm/components/DataTable/index.native.js.map +1 -1
  111. package/dist/esm/components/DataTableBulkActions/index.mjs +6 -4
  112. package/dist/esm/components/DataTableBulkActions/index.mjs.map +1 -1
  113. package/dist/esm/components/DataTableBulkActions/index.native.js +6 -4
  114. package/dist/esm/components/DataTableBulkActions/index.native.js.map +1 -1
  115. package/dist/esm/components/DataTableCell/CellModalEditor.mjs +11 -33
  116. package/dist/esm/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  117. package/dist/esm/components/DataTableCell/CellModalEditor.native.js +2 -5
  118. package/dist/esm/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  119. package/dist/esm/components/DataTableCell/CellOptionsEditor.mjs +0 -1
  120. package/dist/esm/components/DataTableCell/CellOptionsEditor.mjs.map +1 -1
  121. package/dist/esm/components/DataTableCell/CellOptionsEditor.native.js +0 -1
  122. package/dist/esm/components/DataTableCell/CellOptionsEditor.native.js.map +1 -1
  123. package/dist/esm/components/DataTableColumnPinning/index.mjs +7 -4
  124. package/dist/esm/components/DataTableColumnPinning/index.mjs.map +1 -1
  125. package/dist/esm/components/DataTableColumnPinning/index.native.js +7 -4
  126. package/dist/esm/components/DataTableColumnPinning/index.native.js.map +1 -1
  127. package/dist/esm/components/DataTableDateFilter/index.mjs +24 -22
  128. package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
  129. package/dist/esm/components/DataTableDateFilter/index.native.js +24 -22
  130. package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
  131. package/dist/esm/components/DataTableExport/index.mjs +43 -29
  132. package/dist/esm/components/DataTableExport/index.mjs.map +1 -1
  133. package/dist/esm/components/DataTableExport/index.native.js +43 -29
  134. package/dist/esm/components/DataTableExport/index.native.js.map +1 -1
  135. package/dist/esm/components/DataTableFacetMenu/index.mjs +10 -4
  136. package/dist/esm/components/DataTableFacetMenu/index.mjs.map +1 -1
  137. package/dist/esm/components/DataTableFacetMenu/index.native.js +10 -4
  138. package/dist/esm/components/DataTableFacetMenu/index.native.js.map +1 -1
  139. package/dist/esm/components/DataTableFilters/index.mjs +3 -3
  140. package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
  141. package/dist/esm/components/DataTableFilters/index.native.js +3 -3
  142. package/dist/esm/components/DataTableFilters/index.native.js.map +1 -1
  143. package/dist/esm/components/DataTableGrouping/index.mjs +47 -42
  144. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  145. package/dist/esm/components/DataTableGrouping/index.native.js +47 -42
  146. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  147. package/dist/esm/components/DataTablePagination/index.mjs +4 -2
  148. package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
  149. package/dist/esm/components/DataTablePagination/index.native.js +4 -2
  150. package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
  151. package/dist/esm/components/DataTableSearch/index.mjs +3 -3
  152. package/dist/esm/components/DataTableSearch/index.native.js +3 -3
  153. package/dist/esm/components/DataTableToolbar/index.mjs +19 -13
  154. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  155. package/dist/esm/components/DataTableToolbar/index.native.js +19 -15
  156. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  157. package/dist/esm/components/DataTableViewOptions/index.mjs +36 -35
  158. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  159. package/dist/esm/components/DataTableViewOptions/index.native.js +36 -35
  160. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  161. package/dist/esm/components/KnobDialog.mjs +1 -3
  162. package/dist/esm/components/KnobDialog.mjs.map +1 -1
  163. package/dist/esm/components/KnobDialog.native.js +1 -3
  164. package/dist/esm/components/KnobDialog.native.js.map +1 -1
  165. package/dist/esm/components/SimpleTable/index.mjs +160 -118
  166. package/dist/esm/components/SimpleTable/index.mjs.map +1 -1
  167. package/dist/esm/components/SimpleTable/index.native.js +169 -129
  168. package/dist/esm/components/SimpleTable/index.native.js.map +1 -1
  169. package/dist/esm/components/TableInput/index.mjs +160 -91
  170. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  171. package/dist/esm/components/TableInput/index.native.js +3 -3
  172. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  173. package/dist/esm/utils/chromeIcons.mjs +6 -0
  174. package/dist/esm/utils/chromeIcons.mjs.map +1 -0
  175. package/dist/esm/utils/chromeIcons.native.js +6 -0
  176. package/dist/esm/utils/chromeIcons.native.js.map +1 -0
  177. package/dist/jsx/components/ChildTable/index.mjs +12 -3
  178. package/dist/jsx/components/ChildTable/index.mjs.map +1 -1
  179. package/dist/jsx/components/ChildTable/index.native.js +14 -3
  180. package/dist/jsx/components/ChildTable/index.native.js.map +1 -1
  181. package/dist/jsx/components/ColumnHeaderFilter/index.mjs +11 -13
  182. package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
  183. package/dist/jsx/components/ColumnHeaderFilter/index.native.js +11 -16
  184. package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
  185. package/dist/jsx/components/DataTable/DataTableCardControls.mjs +7 -4
  186. package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -1
  187. package/dist/jsx/components/DataTable/DataTableCardControls.native.js +7 -4
  188. package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -1
  189. package/dist/jsx/components/DataTable/DataTableDocumentList.mjs +10 -4
  190. package/dist/jsx/components/DataTable/DataTableDocumentList.mjs.map +1 -1
  191. package/dist/jsx/components/DataTable/DataTableDocumentList.native.js +10 -4
  192. package/dist/jsx/components/DataTable/DataTableDocumentList.native.js.map +1 -1
  193. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +6 -1
  194. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  195. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +6 -1
  196. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  197. package/dist/jsx/components/DataTable/DataTableRoot.mjs +55 -42
  198. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  199. package/dist/jsx/components/DataTable/DataTableRoot.native.js +55 -42
  200. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  201. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs +5 -2
  202. package/dist/jsx/components/DataTable/DataTableVirtualized.mjs.map +1 -1
  203. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js +5 -2
  204. package/dist/jsx/components/DataTable/DataTableVirtualized.native.js.map +1 -1
  205. package/dist/jsx/components/DataTable/dataTableChrome.mjs +32 -0
  206. package/dist/jsx/components/DataTable/dataTableChrome.mjs.map +1 -0
  207. package/dist/jsx/components/DataTable/dataTableChrome.native.js +62 -0
  208. package/dist/jsx/components/DataTable/dataTableChrome.native.js.map +1 -0
  209. package/dist/jsx/components/DataTable/index.native.js +34 -20
  210. package/dist/jsx/components/DataTable/index.native.js.map +1 -1
  211. package/dist/jsx/components/DataTableBulkActions/index.mjs +6 -4
  212. package/dist/jsx/components/DataTableBulkActions/index.mjs.map +1 -1
  213. package/dist/jsx/components/DataTableBulkActions/index.native.js +6 -4
  214. package/dist/jsx/components/DataTableBulkActions/index.native.js.map +1 -1
  215. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs +11 -33
  216. package/dist/jsx/components/DataTableCell/CellModalEditor.mjs.map +1 -1
  217. package/dist/jsx/components/DataTableCell/CellModalEditor.native.js +2 -5
  218. package/dist/jsx/components/DataTableCell/CellModalEditor.native.js.map +1 -1
  219. package/dist/jsx/components/DataTableCell/CellOptionsEditor.mjs +0 -1
  220. package/dist/jsx/components/DataTableCell/CellOptionsEditor.mjs.map +1 -1
  221. package/dist/jsx/components/DataTableCell/CellOptionsEditor.native.js +0 -1
  222. package/dist/jsx/components/DataTableCell/CellOptionsEditor.native.js.map +1 -1
  223. package/dist/jsx/components/DataTableColumnPinning/index.mjs +7 -4
  224. package/dist/jsx/components/DataTableColumnPinning/index.mjs.map +1 -1
  225. package/dist/jsx/components/DataTableColumnPinning/index.native.js +7 -4
  226. package/dist/jsx/components/DataTableColumnPinning/index.native.js.map +1 -1
  227. package/dist/jsx/components/DataTableDateFilter/index.mjs +24 -22
  228. package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
  229. package/dist/jsx/components/DataTableDateFilter/index.native.js +24 -22
  230. package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
  231. package/dist/jsx/components/DataTableExport/index.mjs +43 -29
  232. package/dist/jsx/components/DataTableExport/index.mjs.map +1 -1
  233. package/dist/jsx/components/DataTableExport/index.native.js +42 -28
  234. package/dist/jsx/components/DataTableExport/index.native.js.map +1 -1
  235. package/dist/jsx/components/DataTableFacetMenu/index.mjs +10 -4
  236. package/dist/jsx/components/DataTableFacetMenu/index.mjs.map +1 -1
  237. package/dist/jsx/components/DataTableFacetMenu/index.native.js +10 -4
  238. package/dist/jsx/components/DataTableFacetMenu/index.native.js.map +1 -1
  239. package/dist/jsx/components/DataTableFilters/index.mjs +3 -3
  240. package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
  241. package/dist/jsx/components/DataTableFilters/index.native.js +3 -3
  242. package/dist/jsx/components/DataTableFilters/index.native.js.map +1 -1
  243. package/dist/jsx/components/DataTableGrouping/index.mjs +47 -42
  244. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  245. package/dist/jsx/components/DataTableGrouping/index.native.js +46 -41
  246. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  247. package/dist/jsx/components/DataTablePagination/index.mjs +4 -2
  248. package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
  249. package/dist/jsx/components/DataTablePagination/index.native.js +4 -2
  250. package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
  251. package/dist/jsx/components/DataTableSearch/index.mjs +3 -3
  252. package/dist/jsx/components/DataTableSearch/index.native.js +3 -3
  253. package/dist/jsx/components/DataTableToolbar/index.mjs +19 -13
  254. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  255. package/dist/jsx/components/DataTableToolbar/index.native.js +19 -15
  256. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  257. package/dist/jsx/components/DataTableViewOptions/index.mjs +36 -35
  258. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  259. package/dist/jsx/components/DataTableViewOptions/index.native.js +36 -35
  260. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  261. package/dist/jsx/components/KnobDialog.mjs +1 -3
  262. package/dist/jsx/components/KnobDialog.mjs.map +1 -1
  263. package/dist/jsx/components/KnobDialog.native.js +1 -3
  264. package/dist/jsx/components/KnobDialog.native.js.map +1 -1
  265. package/dist/jsx/components/SimpleTable/index.mjs +160 -118
  266. package/dist/jsx/components/SimpleTable/index.mjs.map +1 -1
  267. package/dist/jsx/components/SimpleTable/index.native.js +168 -128
  268. package/dist/jsx/components/SimpleTable/index.native.js.map +1 -1
  269. package/dist/jsx/components/TableInput/index.mjs +160 -91
  270. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  271. package/dist/jsx/components/TableInput/index.native.js +3 -3
  272. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  273. package/dist/jsx/utils/chromeIcons.mjs +6 -0
  274. package/dist/jsx/utils/chromeIcons.mjs.map +1 -0
  275. package/dist/jsx/utils/chromeIcons.native.js +34 -0
  276. package/dist/jsx/utils/chromeIcons.native.js.map +1 -0
  277. package/package.json +12 -12
  278. package/src/components/ChildTable/ChildTable.stories.tsx +144 -0
  279. package/src/components/ChildTable/childTable.reorder.spec.tsx +65 -0
  280. package/src/components/ChildTable/childTable.spec.tsx +108 -0
  281. package/src/components/ChildTable/index.tsx +21 -2
  282. package/src/components/ColumnHeaderFilter/index.tsx +9 -14
  283. package/src/components/DataTable/DataTableCardControls.tsx +19 -16
  284. package/src/components/DataTable/DataTableDocumentList.tsx +7 -4
  285. package/src/components/DataTable/DataTableMobileCards.tsx +3 -1
  286. package/src/components/DataTable/DataTableRoot.tsx +52 -41
  287. package/src/components/DataTable/DataTableVirtualized.tsx +6 -2
  288. package/src/components/DataTable/FieldsInCells.stories.tsx +10 -5
  289. package/src/components/DataTable/dataTableChrome.ts +48 -0
  290. package/src/components/DataTable/designLaw.spec.tsx +114 -0
  291. package/src/components/DataTable/index.native.tsx +46 -20
  292. package/src/components/DataTableBulkActions/index.tsx +5 -3
  293. package/src/components/DataTableCell/CellModalEditor.native.tsx +3 -6
  294. package/src/components/DataTableCell/CellModalEditor.tsx +11 -22
  295. package/src/components/DataTableCell/CellOptionsEditor.tsx +0 -1
  296. package/src/components/DataTableCell/cellDraftPolicy.spec.tsx +8 -1
  297. package/src/components/DataTableCell/cellModalEditor.spec.tsx +82 -0
  298. package/src/components/DataTableCell/dataTableCell.spec.tsx +8 -1
  299. package/src/components/DataTableColumnPinning/index.tsx +6 -4
  300. package/src/components/DataTableDateFilter/index.tsx +19 -17
  301. package/src/components/DataTableExport/DataTableExport.spec.tsx +29 -0
  302. package/src/components/DataTableExport/index.tsx +47 -23
  303. package/src/components/DataTableFacetMenu/index.tsx +13 -4
  304. package/src/components/DataTableFilters/index.tsx +3 -3
  305. package/src/components/DataTableGrouping/index.tsx +42 -35
  306. package/src/components/DataTablePagination/index.tsx +2 -2
  307. package/src/components/DataTableSearch/index.tsx +3 -3
  308. package/src/components/DataTableToolbar/DataTableToolbar.spec.tsx +20 -0
  309. package/src/components/DataTableToolbar/DataTableToolbar.stories.tsx +1 -9
  310. package/src/components/DataTableToolbar/index.tsx +19 -14
  311. package/src/components/DataTableViewOptions/index.tsx +30 -30
  312. package/src/components/KnobDialog.tsx +1 -3
  313. package/src/components/SimpleTable/SimpleTable.stories.tsx +13 -0
  314. package/src/components/SimpleTable/index.tsx +171 -149
  315. package/src/components/SimpleTable/simpleTable.spec.tsx +120 -0
  316. package/src/components/TableInput/index.native.tsx +5 -3
  317. package/src/components/TableInput/index.tsx +207 -113
  318. package/src/components/chromeDesignLaw.spec.tsx +97 -0
  319. package/src/utils/chromeIcons.ts +6 -0
  320. package/types/components/ChildTable/index.d.ts +6 -1
  321. package/types/components/ChildTable/index.d.ts.map +1 -1
  322. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
  323. package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
  324. package/types/components/DataTable/DataTableDocumentList.d.ts.map +1 -1
  325. package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
  326. package/types/components/DataTable/DataTableRoot.d.ts +6 -1
  327. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  328. package/types/components/DataTable/DataTableVirtualized.d.ts +3 -1
  329. package/types/components/DataTable/DataTableVirtualized.d.ts.map +1 -1
  330. package/types/components/DataTable/dataTableChrome.d.ts +27 -0
  331. package/types/components/DataTable/dataTableChrome.d.ts.map +1 -0
  332. package/types/components/DataTable/index.native.d.ts +1 -1
  333. package/types/components/DataTable/index.native.d.ts.map +1 -1
  334. package/types/components/DataTableBulkActions/index.d.ts.map +1 -1
  335. package/types/components/DataTableCell/CellModalEditor.d.ts.map +1 -1
  336. package/types/components/DataTableCell/CellModalEditor.native.d.ts.map +1 -1
  337. package/types/components/DataTableCell/CellOptionsEditor.d.ts.map +1 -1
  338. package/types/components/DataTableColumnPinning/index.d.ts.map +1 -1
  339. package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
  340. package/types/components/DataTableExport/index.d.ts.map +1 -1
  341. package/types/components/DataTableFacetMenu/index.d.ts.map +1 -1
  342. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  343. package/types/components/DataTableToolbar/index.d.ts +2 -0
  344. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  345. package/types/components/DataTableViewOptions/index.d.ts.map +1 -1
  346. package/types/components/KnobDialog.d.ts.map +1 -1
  347. package/types/components/SimpleTable/index.d.ts.map +1 -1
  348. package/types/components/TableInput/index.d.ts +8 -4
  349. package/types/components/TableInput/index.d.ts.map +1 -1
  350. package/types/components/TableInput/index.native.d.ts +2 -0
  351. package/types/components/TableInput/index.native.d.ts.map +1 -1
  352. package/types/utils/chromeIcons.d.ts +3 -0
  353. package/types/utils/chromeIcons.d.ts.map +1 -0
@@ -1,14 +1,16 @@
1
1
  import { CaretDownIcon, FloppyDiskIcon } from "@phosphor-icons/react";
2
2
  import { DropdownMenu } from "@multiplatform.one/components";
3
3
  import { Button, Input, SearchInput, Spinner } from "@multiplatform.one/forms";
4
- import { hairline, sizeRecipeForToken, useResolvedKnobs } from "@multiplatform.one/theme";
4
+ import { hairline, useResolvedKnobs } from "@multiplatform.one/theme";
5
5
  import { RovingFocusGroup } from "@tamagui/roving-focus";
6
6
  import type React from "react";
7
7
  import { useState } from "react";
8
8
  import { Popover, XStack, YStack } from "tamagui";
9
9
  import { t } from "../../shared/t";
10
10
  import type { TableView } from "../../types";
11
+ import { iconSizeForToken } from "../../utils/chromeIcons";
11
12
  import { useDataTableState } from "../DataTable/DataTableStateContext";
13
+ import { DataTableExport } from "../DataTableExport";
12
14
  import { DataTableFilterButton } from "../DataTableFilterButton";
13
15
 
14
16
  export interface DataTableToolbarProps {
@@ -31,6 +33,8 @@ export interface DataTableToolbarProps {
31
33
  enableViews?: boolean;
32
34
  enableGlobalSearch?: boolean;
33
35
  enableFiltering?: boolean;
36
+ /** Mount DataTableExport in the action cluster (view-scoped CSV/JSON/print). */
37
+ enableExport?: boolean;
34
38
 
35
39
  // Customization
36
40
  showFilterCount?: boolean;
@@ -44,10 +48,6 @@ export interface DataTableToolbarProps {
44
48
  compact?: boolean;
45
49
  }
46
50
 
47
- // Toolbar glyphs are control-internal icons (LC-75/LC-79): the generated
48
- // recipe's icon channel — no handwritten per-token px map.
49
- const iconSizeForToken = (token: string): number => sizeRecipeForToken(token).iconSize;
50
-
51
51
  export function DataTableToolbar(props: DataTableToolbarProps) {
52
52
  const ctx = useDataTableState();
53
53
 
@@ -64,11 +64,12 @@ export function DataTableToolbar(props: DataTableToolbarProps) {
64
64
  enableViews = false,
65
65
  enableGlobalSearch = true,
66
66
  enableFiltering = true,
67
+ enableExport = false,
67
68
  showFilterCount: _showFilterCount = true,
68
69
  showViewSelector = true,
69
70
  customActions,
70
71
  size,
71
- compact: _compact = true,
72
+ compact,
72
73
  isFetching: isFetchingProp,
73
74
  } = props;
74
75
  const isFetching = isFetchingProp ?? ctx?.state.isFetching ?? false;
@@ -91,17 +92,19 @@ export function DataTableToolbar(props: DataTableToolbarProps) {
91
92
  }
92
93
  };
93
94
 
94
- const { knobProps } = useResolvedKnobs({ size, compact: true });
95
+ const { knobProps } = useResolvedKnobs(
96
+ size === undefined && compact === undefined ? undefined : { size, compact },
97
+ );
95
98
  const sz = knobProps.sizeToken;
96
99
  const iconPx = iconSizeForToken(String(sz));
97
100
  const searchMaxWidth = sz === "$3" ? 280 : sz === "$5" ? 400 : 320;
98
- const controlSize = "$2" as const;
99
- const searchSize = "$3" as const;
101
+ const controlSize = knobProps.sizeToken;
102
+ const searchSize = knobProps.sizeToken;
100
103
 
101
104
  const showViewPicker = enableViews && showViewSelector && views.length > 0;
102
105
  const showSave = enableViews && showViewSelector;
103
106
  const showActionCluster = Boolean(
104
- customActions || showFilterButton || showViewPicker || showSave,
107
+ customActions || showFilterButton || showViewPicker || showSave || enableExport,
105
108
  );
106
109
  const hasTrailing = showActionCluster || isFetching;
107
110
 
@@ -135,7 +138,7 @@ export function DataTableToolbar(props: DataTableToolbarProps) {
135
138
  onClear={enableFiltering ? onClearFilters : undefined}
136
139
  placeholder={t("Search")}
137
140
  aria-label={t("Search table data")}
138
- compact
141
+ {...(compact === undefined ? {} : { compact })}
139
142
  size={searchSize}
140
143
  />
141
144
  </XStack>
@@ -153,6 +156,8 @@ export function DataTableToolbar(props: DataTableToolbarProps) {
153
156
  <XStack alignItems="center" {...knobProps.gap}>
154
157
  {showFilterButton && <DataTableFilterButton />}
155
158
 
159
+ {enableExport && <DataTableExport />}
160
+
156
161
  {customActions}
157
162
 
158
163
  {showViewPicker && (
@@ -214,7 +219,7 @@ export function DataTableToolbar(props: DataTableToolbarProps) {
214
219
  value={newViewName}
215
220
  onChangeText={setNewViewName}
216
221
  size={searchSize}
217
- compact
222
+ {...(compact === undefined ? {} : { compact })}
218
223
  inputProps={{
219
224
  "aria-label": t("View name"),
220
225
  onKeyDown: (e: React.KeyboardEvent) => {
@@ -224,14 +229,14 @@ export function DataTableToolbar(props: DataTableToolbarProps) {
224
229
  />
225
230
  <XStack {...knobProps.gap} justifyContent="flex-end">
226
231
  <Button
227
- size="$2"
232
+ size={controlSize}
228
233
  variant="outlined"
229
234
  onPress={() => setShowSaveViewDialog(false)}
230
235
  >
231
236
  {t("Cancel")}
232
237
  </Button>
233
238
  <Button
234
- size="$2"
239
+ size={controlSize}
235
240
  onPress={handleSaveView}
236
241
  disabled={!newViewName.trim()}
237
242
  disabledReason={t("Enter a view name")}
@@ -11,8 +11,9 @@ import { Button, Input, Slider, Switch } from "@multiplatform.one/forms";
11
11
  import { DropdownMenu } from "@multiplatform.one/components";
12
12
  import { Popover, ScrollView, Separator, Text, View, XStack, YStack, useTheme } from "tamagui";
13
13
  import type { TableView } from "../../types";
14
- import { useDataTableState } from "../DataTable/DataTableStateContext";
15
14
  import { t } from "../../shared/t";
15
+ import { iconSizeForToken } from "../../utils/chromeIcons";
16
+ import { useDataTableState } from "../DataTable/DataTableStateContext";
16
17
 
17
18
  export interface DataTableViewOptionsProps {
18
19
  // Column Management
@@ -88,10 +89,11 @@ export function DataTableViewOptions(props: DataTableViewOptionsProps) {
88
89
  showColumnOrdering = false,
89
90
  showColumnResizing = false,
90
91
  showViewManagement = false,
91
- compact = false,
92
+ compact: menuLayout,
92
93
  } = props;
93
94
 
94
95
  const { knobProps } = useResolvedKnobs();
96
+ const iconPx = iconSizeForToken(String(knobProps.sizeToken));
95
97
  const sz = knobProps.sizeToken;
96
98
  const popoverMaxWidth = sz === "$3" ? 240 : sz === "$5" ? 360 : 300;
97
99
  const scrollMaxHeight = sz === "$3" ? 320 : sz === "$5" ? 480 : 400;
@@ -109,7 +111,7 @@ export function DataTableViewOptions(props: DataTableViewOptionsProps) {
109
111
  const visibleColumns = columns.filter((col) => col.visible);
110
112
  const hiddenColumns = columns.filter((col) => !col.visible);
111
113
 
112
- if (compact) {
114
+ if (menuLayout) {
113
115
  // Compact mode is a column-visibility action menu: canonical DropdownMenu
114
116
  // (roving keyboard, focus restore, edge-to-edge rows) with checkbox items.
115
117
  return (
@@ -118,7 +120,7 @@ export function DataTableViewOptions(props: DataTableViewOptionsProps) {
118
120
  <Button
119
121
  size={knobProps.sizeToken}
120
122
  variant="outlined"
121
- icon={<GearIcon size={16} />}
123
+ icon={<GearIcon size={iconPx} />}
122
124
  aria-label={t("Open table view options")}
123
125
  >
124
126
  {t("View")}
@@ -141,7 +143,7 @@ export function DataTableViewOptions(props: DataTableViewOptionsProps) {
141
143
  </>
142
144
  )}
143
145
  <DropdownMenu.Item
144
- icon={<ArrowCounterClockwiseIcon size={16} />}
146
+ icon={<ArrowCounterClockwiseIcon size={iconPx} />}
145
147
  closeOnSelect={false}
146
148
  onSelect={onResetToDefault}
147
149
  >
@@ -166,8 +168,8 @@ export function DataTableViewOptions(props: DataTableViewOptionsProps) {
166
168
  >
167
169
  <XStack alignItems="center" justifyContent="space-between">
168
170
  <XStack alignItems="center" gap="$2">
169
- <GearIcon size={16} />
170
- <Text fontSize="$4" fontWeight="600">
171
+ <GearIcon size={iconPx} />
172
+ <Text {...knobProps.label} fontWeight="400">
171
173
  {t("View Options")}
172
174
  </Text>
173
175
  </XStack>
@@ -176,7 +178,7 @@ export function DataTableViewOptions(props: DataTableViewOptionsProps) {
176
178
  size={knobProps.sizeToken}
177
179
  variant="outlined"
178
180
  onPress={onResetToDefault}
179
- icon={<ArrowCounterClockwiseIcon size={16} />}
181
+ icon={<ArrowCounterClockwiseIcon size={iconPx} />}
180
182
  >
181
183
  {t("Reset")}
182
184
  </Button>
@@ -254,6 +256,7 @@ function ColumnVisibilitySection({
254
256
  onColumnVisibilityChange,
255
257
  }: ColumnVisibilitySectionProps) {
256
258
  const { knobProps } = useResolvedKnobs();
259
+ const iconPx = iconSizeForToken(String(knobProps.sizeToken));
257
260
  // Phosphor icons are plain SVGs — they need a resolved CSS color, not a
258
261
  // Tamagui token string. Neutral steps only: the switch owns the checked
259
262
  // state, so the glyph never carries a second (hue-coded) state signal
@@ -263,21 +266,21 @@ function ColumnVisibilitySection({
263
266
  const mutedIconColor = theme.color10?.get();
264
267
  return (
265
268
  <YStack {...knobProps.gap}>
266
- <Text fontSize="$4" fontWeight="600">
269
+ <Text {...knobProps.label} fontWeight="400">
267
270
  {t("Column Visibility")}
268
271
  </Text>
269
272
 
270
273
  {/* Visible Columns */}
271
274
  {visibleColumns.length > 0 && (
272
275
  <YStack gap="$2">
273
- <Text fontSize="$3" fontWeight="500" color="$color10">
276
+ <Text {...knobProps.label} fontWeight="400" color="$color10">
274
277
  {t("Visible Columns")}
275
278
  </Text>
276
279
  <YStack gap="$1">
277
280
  {visibleColumns.map((column) => (
278
281
  <XStack key={column.id} alignItems="center" justifyContent="space-between">
279
282
  <XStack alignItems="center" gap="$2">
280
- <EyeIcon size={16} color={iconColor} />
283
+ <EyeIcon size={iconPx} color={iconColor} />
281
284
  <Text fontSize="$3">{column.label}</Text>
282
285
  </XStack>
283
286
  <Switch
@@ -298,14 +301,14 @@ function ColumnVisibilitySection({
298
301
  {/* Hidden Columns */}
299
302
  {hiddenColumns.length > 0 && (
300
303
  <YStack gap="$2">
301
- <Text fontSize="$3" fontWeight="500" color="$color10">
304
+ <Text {...knobProps.label} fontWeight="400" color="$color10">
302
305
  {t("Hidden Columns")}
303
306
  </Text>
304
307
  <YStack gap="$1">
305
308
  {hiddenColumns.map((column) => (
306
309
  <XStack key={column.id} alignItems="center" justifyContent="space-between">
307
310
  <XStack alignItems="center" gap="$2">
308
- <EyeSlashIcon size={16} color={mutedIconColor} />
311
+ <EyeSlashIcon size={iconPx} color={mutedIconColor} />
309
312
  <Text fontSize="$3" color="$color10">
310
313
  {column.label}
311
314
  </Text>
@@ -344,16 +347,17 @@ function ColumnResizingSection({
344
347
  columnWidths,
345
348
  onColumnWidthChange,
346
349
  }: ColumnResizingSectionProps) {
350
+ const { knobProps } = useResolvedKnobs();
347
351
  return (
348
352
  <YStack gap="$3">
349
- <Text fontSize="$4" fontWeight="600">
353
+ <Text {...knobProps.label} fontWeight="400">
350
354
  {t("Column Widths")}
351
355
  </Text>
352
356
 
353
357
  <YStack gap="$3">
354
358
  {columns.map((column) => (
355
359
  <YStack key={column.id} gap="$2">
356
- <Text fontSize="$3" fontWeight="500">
360
+ <Text {...knobProps.label} fontWeight="400">
357
361
  {column.label}
358
362
  </Text>
359
363
  <XStack alignItems="center" gap="$3">
@@ -394,6 +398,7 @@ function ViewManagementSection({
394
398
  onLoadView,
395
399
  }: ViewManagementSectionProps) {
396
400
  const { knobProps } = useResolvedKnobs();
401
+ const iconPx = iconSizeForToken(String(knobProps.sizeToken));
397
402
  const [showSaveDialog, setShowSaveDialog] = useState(false);
398
403
  const [viewName, setViewName] = useState("");
399
404
 
@@ -407,34 +412,29 @@ function ViewManagementSection({
407
412
 
408
413
  return (
409
414
  <YStack gap="$3">
410
- <Text fontSize="$4" fontWeight="600">
415
+ <Text {...knobProps.label} fontWeight="400">
411
416
  {t("Saved Views")}
412
417
  </Text>
413
418
 
414
419
  {/* Save Current View */}
415
420
  <Popover open={showSaveDialog} onOpenChange={setShowSaveDialog}>
416
421
  <Popover.Trigger asChild>
417
- <Button size={knobProps.sizeToken} variant="outlined" icon={<FloppyDiskIcon size={16} />}>
422
+ <Button
423
+ size={knobProps.sizeToken}
424
+ variant="outlined"
425
+ icon={<FloppyDiskIcon size={iconPx} />}
426
+ >
418
427
  {t("Save Current View")}
419
428
  </Button>
420
429
  </Popover.Trigger>
421
430
  <Popover.Content
422
- {...knobProps.borderRadius}
423
- borderWidth={1}
424
- borderColor="$borderColor"
431
+ {...knobProps.elevatedSurface}
425
432
  enterStyle={{ x: 0, y: -10, opacity: 0 }}
426
433
  exitStyle={{ x: 0, y: -10, opacity: 0 }}
427
- transition={[
428
- "quick",
429
- {
430
- opacity: {
431
- overshootClamping: true,
432
- },
433
- },
434
- ]}
434
+ transition={knobProps.transition}
435
435
  >
436
436
  <YStack {...knobProps.panelPadding} gap="$3" minWidth={250}>
437
- <Text fontSize="$4" fontWeight="500">
437
+ <Text {...knobProps.label} fontWeight="400">
438
438
  {t("Save View")}
439
439
  </Text>
440
440
  <Input
@@ -488,7 +488,7 @@ function ViewManagementSection({
488
488
  >
489
489
  <Text fontSize="$3">{view.name}</Text>
490
490
  <Button
491
- size="$2"
491
+ size={knobProps.sizeToken}
492
492
  variant="outlined"
493
493
  onPress={() => onLoadView(view.id)}
494
494
  disabled={activeViewId === view.id}
@@ -44,9 +44,7 @@ export function KnobDialogContent({ children, minWidth }: KnobDialogContentProps
44
44
  />
45
45
 
46
46
  <Dialog.Content
47
- {...knobProps.borderRadius}
48
- borderWidth={1}
49
- borderColor="$borderColor"
47
+ {...knobProps.elevatedSurface}
50
48
  key="content"
51
49
  animateOnly={["transform", "opacity"]}
52
50
  transition={[
@@ -136,3 +136,16 @@ export const rowPress = () => {
136
136
  />
137
137
  );
138
138
  };
139
+
140
+ /** Disabled row press: rows stay visible; activation is inert (LC-40). */
141
+ export const disabledRows = () => (
142
+ <SimpleTable
143
+ layout="table"
144
+ disabled
145
+ data={peopleData}
146
+ columns={peopleColumns}
147
+ aria-label="People disabled"
148
+ onRowPress={() => {}}
149
+ rowLabel={(row) => row.name}
150
+ />
151
+ );