@multiplatform.one/table 7.7.6 → 7.10.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 (384) hide show
  1. package/dist/cjs/components/ColumnHeaderFilter/index.cjs +74 -38
  2. package/dist/cjs/components/ColumnHeaderFilter/index.native.js +97 -51
  3. package/dist/cjs/components/ColumnHeaderFilter/index.native.js.map +1 -1
  4. package/dist/cjs/components/DataTable/DataTableCardControls.cjs +0 -1
  5. package/dist/cjs/components/DataTable/DataTableCardControls.native.js +0 -1
  6. package/dist/cjs/components/DataTable/DataTableCardControls.native.js.map +1 -1
  7. package/dist/cjs/components/DataTable/DataTableMobileCards.cjs +100 -33
  8. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js +139 -38
  9. package/dist/cjs/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  10. package/dist/cjs/components/DataTable/DataTableRoot.cjs +33 -6
  11. package/dist/cjs/components/DataTable/DataTableRoot.native.js +29 -4
  12. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  13. package/dist/cjs/components/DataTable/DataTableStateContext.native.js.map +1 -1
  14. package/dist/cjs/components/DataTable/index.native.js +59 -93
  15. package/dist/cjs/components/DataTable/index.native.js.map +1 -1
  16. package/dist/cjs/components/DataTableBulkActions/index.cjs +0 -4
  17. package/dist/cjs/components/DataTableBulkActions/index.native.js +0 -4
  18. package/dist/cjs/components/DataTableBulkActions/index.native.js.map +1 -1
  19. package/dist/cjs/components/DataTableCell/index.cjs +16 -1
  20. package/dist/cjs/components/DataTableCell/index.native.js +16 -1
  21. package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
  22. package/dist/cjs/components/DataTableDateFilter/index.cjs +0 -7
  23. package/dist/cjs/components/DataTableDateFilter/index.native.js +0 -7
  24. package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
  25. package/dist/cjs/components/DataTableFilterButton/index.cjs +0 -1
  26. package/dist/cjs/components/DataTableFilterButton/index.native.js +0 -1
  27. package/dist/cjs/components/DataTableFilterChips/FilterChip.cjs +2 -1
  28. package/dist/cjs/components/DataTableFilterChips/FilterChip.native.js +4 -1
  29. package/dist/cjs/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
  30. package/dist/cjs/components/DataTableFilters/index.cjs +0 -1
  31. package/dist/cjs/components/DataTableFilters/index.native.js +0 -1
  32. package/dist/cjs/components/DataTableGrouping/index.cjs +0 -8
  33. package/dist/cjs/components/DataTableGrouping/index.native.js +0 -8
  34. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  35. package/dist/cjs/components/DataTablePagination/index.cjs +29 -13
  36. package/dist/cjs/components/DataTablePagination/index.native.js +30 -14
  37. package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
  38. package/dist/cjs/components/DataTableSearch/index.cjs +0 -3
  39. package/dist/cjs/components/DataTableSearch/index.native.js +0 -3
  40. package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
  41. package/dist/cjs/components/DataTableToolbar/index.cjs +0 -1
  42. package/dist/cjs/components/DataTableToolbar/index.native.js +0 -1
  43. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  44. package/dist/cjs/components/DataTableViewOptions/index.cjs +0 -5
  45. package/dist/cjs/components/DataTableViewOptions/index.native.js +0 -5
  46. package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
  47. package/dist/cjs/components/FilterManager.cjs +0 -1
  48. package/dist/cjs/components/FilterManager.native.js +0 -1
  49. package/dist/cjs/components/FilterManager.native.js.map +1 -1
  50. package/dist/cjs/components/FilterOperatorValueEditor/index.cjs +2 -2
  51. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js +2 -2
  52. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  53. package/dist/cjs/components/TableInput/index.cjs +2 -1
  54. package/dist/cjs/components/TableInput/index.native.js +4 -2
  55. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  56. package/dist/cjs/hooks/useDataTable.cjs +24 -8
  57. package/dist/cjs/hooks/useDataTable.native.js +28 -8
  58. package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
  59. package/dist/cjs/index.cjs +12 -0
  60. package/dist/cjs/index.native.js +12 -0
  61. package/dist/cjs/index.native.js.map +1 -1
  62. package/dist/cjs/shared/devWarn.cjs +70 -0
  63. package/dist/cjs/shared/devWarn.native.js +84 -0
  64. package/dist/cjs/shared/devWarn.native.js.map +1 -0
  65. package/dist/cjs/utils/columnAlign.cjs +4 -1
  66. package/dist/cjs/utils/columnAlign.native.js +4 -1
  67. package/dist/cjs/utils/columnAlign.native.js.map +1 -1
  68. package/dist/cjs/utils/filterFields.cjs +5 -0
  69. package/dist/cjs/utils/filterFields.native.js +5 -0
  70. package/dist/cjs/utils/filterFields.native.js.map +1 -1
  71. package/dist/cjs/utils/filterUtils.cjs +30 -0
  72. package/dist/cjs/utils/filterUtils.native.js +50 -0
  73. package/dist/cjs/utils/filterUtils.native.js.map +1 -1
  74. package/dist/cjs/utils/money.cjs +137 -0
  75. package/dist/cjs/utils/money.native.js +165 -0
  76. package/dist/cjs/utils/money.native.js.map +1 -0
  77. package/dist/cjs/utils/rowAccumulator.cjs +48 -0
  78. package/dist/cjs/utils/rowAccumulator.native.js +51 -0
  79. package/dist/cjs/utils/rowAccumulator.native.js.map +1 -0
  80. package/dist/esm/components/ColumnHeaderFilter/index.mjs +78 -42
  81. package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
  82. package/dist/esm/components/ColumnHeaderFilter/index.native.js +101 -55
  83. package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
  84. package/dist/esm/components/DataTable/DataTableCardControls.mjs +0 -1
  85. package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -1
  86. package/dist/esm/components/DataTable/DataTableCardControls.native.js +0 -1
  87. package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -1
  88. package/dist/esm/components/DataTable/DataTableMobileCards.mjs +99 -34
  89. package/dist/esm/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  90. package/dist/esm/components/DataTable/DataTableMobileCards.native.js +138 -39
  91. package/dist/esm/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  92. package/dist/esm/components/DataTable/DataTableRoot.mjs +33 -6
  93. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  94. package/dist/esm/components/DataTable/DataTableRoot.native.js +29 -4
  95. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  96. package/dist/esm/components/DataTable/DataTableStateContext.mjs.map +1 -1
  97. package/dist/esm/components/DataTable/DataTableStateContext.native.js.map +1 -1
  98. package/dist/esm/components/DataTable/index.native.js +60 -94
  99. package/dist/esm/components/DataTable/index.native.js.map +1 -1
  100. package/dist/esm/components/DataTableBulkActions/index.mjs +0 -4
  101. package/dist/esm/components/DataTableBulkActions/index.mjs.map +1 -1
  102. package/dist/esm/components/DataTableBulkActions/index.native.js +0 -4
  103. package/dist/esm/components/DataTableBulkActions/index.native.js.map +1 -1
  104. package/dist/esm/components/DataTableCell/index.mjs +17 -2
  105. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  106. package/dist/esm/components/DataTableCell/index.native.js +17 -2
  107. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  108. package/dist/esm/components/DataTableDateFilter/index.mjs +0 -7
  109. package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
  110. package/dist/esm/components/DataTableDateFilter/index.native.js +0 -7
  111. package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
  112. package/dist/esm/components/DataTableFilterButton/index.mjs +0 -1
  113. package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
  114. package/dist/esm/components/DataTableFilterButton/index.native.js +0 -1
  115. package/dist/esm/components/DataTableFilterChips/FilterChip.mjs +3 -2
  116. package/dist/esm/components/DataTableFilterChips/FilterChip.mjs.map +1 -1
  117. package/dist/esm/components/DataTableFilterChips/FilterChip.native.js +5 -2
  118. package/dist/esm/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
  119. package/dist/esm/components/DataTableFilters/index.mjs +0 -1
  120. package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
  121. package/dist/esm/components/DataTableFilters/index.native.js +0 -1
  122. package/dist/esm/components/DataTableGrouping/index.mjs +0 -8
  123. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  124. package/dist/esm/components/DataTableGrouping/index.native.js +0 -8
  125. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  126. package/dist/esm/components/DataTablePagination/index.mjs +30 -14
  127. package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
  128. package/dist/esm/components/DataTablePagination/index.native.js +31 -15
  129. package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
  130. package/dist/esm/components/DataTableSearch/index.mjs +0 -3
  131. package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
  132. package/dist/esm/components/DataTableSearch/index.native.js +0 -3
  133. package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
  134. package/dist/esm/components/DataTableToolbar/index.mjs +0 -1
  135. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  136. package/dist/esm/components/DataTableToolbar/index.native.js +0 -1
  137. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  138. package/dist/esm/components/DataTableViewOptions/index.mjs +0 -5
  139. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  140. package/dist/esm/components/DataTableViewOptions/index.native.js +0 -5
  141. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  142. package/dist/esm/components/FilterManager.mjs +0 -1
  143. package/dist/esm/components/FilterManager.mjs.map +1 -1
  144. package/dist/esm/components/FilterManager.native.js +0 -1
  145. package/dist/esm/components/FilterManager.native.js.map +1 -1
  146. package/dist/esm/components/FilterOperatorValueEditor/index.mjs +2 -2
  147. package/dist/esm/components/FilterOperatorValueEditor/index.mjs.map +1 -1
  148. package/dist/esm/components/FilterOperatorValueEditor/index.native.js +2 -2
  149. package/dist/esm/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  150. package/dist/esm/components/TableInput/index.mjs +3 -2
  151. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  152. package/dist/esm/components/TableInput/index.native.js +5 -3
  153. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  154. package/dist/esm/hooks/useDataTable.mjs +24 -8
  155. package/dist/esm/hooks/useDataTable.mjs.map +1 -1
  156. package/dist/esm/hooks/useDataTable.native.js +28 -8
  157. package/dist/esm/hooks/useDataTable.native.js.map +1 -1
  158. package/dist/esm/index.mjs +3 -1
  159. package/dist/esm/index.mjs.map +1 -1
  160. package/dist/esm/index.native.js +3 -1
  161. package/dist/esm/index.native.js.map +1 -1
  162. package/dist/esm/shared/devWarn.mjs +43 -0
  163. package/dist/esm/shared/devWarn.mjs.map +1 -0
  164. package/dist/esm/shared/devWarn.native.js +54 -0
  165. package/dist/esm/shared/devWarn.native.js.map +1 -0
  166. package/dist/esm/utils/columnAlign.mjs +4 -1
  167. package/dist/esm/utils/columnAlign.mjs.map +1 -1
  168. package/dist/esm/utils/columnAlign.native.js +4 -1
  169. package/dist/esm/utils/columnAlign.native.js.map +1 -1
  170. package/dist/esm/utils/filterFields.mjs +5 -0
  171. package/dist/esm/utils/filterFields.mjs.map +1 -1
  172. package/dist/esm/utils/filterFields.native.js +5 -0
  173. package/dist/esm/utils/filterFields.native.js.map +1 -1
  174. package/dist/esm/utils/filterUtils.mjs +30 -0
  175. package/dist/esm/utils/filterUtils.mjs.map +1 -1
  176. package/dist/esm/utils/filterUtils.native.js +50 -0
  177. package/dist/esm/utils/filterUtils.native.js.map +1 -1
  178. package/dist/esm/utils/money.mjs +104 -0
  179. package/dist/esm/utils/money.mjs.map +1 -0
  180. package/dist/esm/utils/money.native.js +129 -0
  181. package/dist/esm/utils/money.native.js.map +1 -0
  182. package/dist/esm/utils/rowAccumulator.mjs +23 -0
  183. package/dist/esm/utils/rowAccumulator.mjs.map +1 -0
  184. package/dist/esm/utils/rowAccumulator.native.js +23 -0
  185. package/dist/esm/utils/rowAccumulator.native.js.map +1 -0
  186. package/dist/jsx/components/ColumnHeaderFilter/index.mjs +78 -42
  187. package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
  188. package/dist/jsx/components/ColumnHeaderFilter/index.native.js +97 -51
  189. package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
  190. package/dist/jsx/components/DataTable/DataTableCardControls.mjs +0 -1
  191. package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -1
  192. package/dist/jsx/components/DataTable/DataTableCardControls.native.js +0 -1
  193. package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -1
  194. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs +99 -34
  195. package/dist/jsx/components/DataTable/DataTableMobileCards.mjs.map +1 -1
  196. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js +139 -38
  197. package/dist/jsx/components/DataTable/DataTableMobileCards.native.js.map +1 -1
  198. package/dist/jsx/components/DataTable/DataTableRoot.mjs +33 -6
  199. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  200. package/dist/jsx/components/DataTable/DataTableRoot.native.js +29 -4
  201. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  202. package/dist/jsx/components/DataTable/DataTableStateContext.mjs.map +1 -1
  203. package/dist/jsx/components/DataTable/DataTableStateContext.native.js.map +1 -1
  204. package/dist/jsx/components/DataTable/index.native.js +59 -93
  205. package/dist/jsx/components/DataTable/index.native.js.map +1 -1
  206. package/dist/jsx/components/DataTableBulkActions/index.mjs +0 -4
  207. package/dist/jsx/components/DataTableBulkActions/index.mjs.map +1 -1
  208. package/dist/jsx/components/DataTableBulkActions/index.native.js +0 -4
  209. package/dist/jsx/components/DataTableBulkActions/index.native.js.map +1 -1
  210. package/dist/jsx/components/DataTableCell/index.mjs +17 -2
  211. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  212. package/dist/jsx/components/DataTableCell/index.native.js +16 -1
  213. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  214. package/dist/jsx/components/DataTableDateFilter/index.mjs +0 -7
  215. package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
  216. package/dist/jsx/components/DataTableDateFilter/index.native.js +0 -7
  217. package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
  218. package/dist/jsx/components/DataTableFilterButton/index.mjs +0 -1
  219. package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
  220. package/dist/jsx/components/DataTableFilterButton/index.native.js +0 -1
  221. package/dist/jsx/components/DataTableFilterChips/FilterChip.mjs +3 -2
  222. package/dist/jsx/components/DataTableFilterChips/FilterChip.mjs.map +1 -1
  223. package/dist/jsx/components/DataTableFilterChips/FilterChip.native.js +4 -1
  224. package/dist/jsx/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
  225. package/dist/jsx/components/DataTableFilters/index.mjs +0 -1
  226. package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
  227. package/dist/jsx/components/DataTableFilters/index.native.js +0 -1
  228. package/dist/jsx/components/DataTableGrouping/index.mjs +0 -8
  229. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  230. package/dist/jsx/components/DataTableGrouping/index.native.js +0 -8
  231. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  232. package/dist/jsx/components/DataTablePagination/index.mjs +30 -14
  233. package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
  234. package/dist/jsx/components/DataTablePagination/index.native.js +30 -14
  235. package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
  236. package/dist/jsx/components/DataTableSearch/index.mjs +0 -3
  237. package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
  238. package/dist/jsx/components/DataTableSearch/index.native.js +0 -3
  239. package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
  240. package/dist/jsx/components/DataTableToolbar/index.mjs +0 -1
  241. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  242. package/dist/jsx/components/DataTableToolbar/index.native.js +0 -1
  243. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  244. package/dist/jsx/components/DataTableViewOptions/index.mjs +0 -5
  245. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  246. package/dist/jsx/components/DataTableViewOptions/index.native.js +0 -5
  247. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  248. package/dist/jsx/components/FilterManager.mjs +0 -1
  249. package/dist/jsx/components/FilterManager.mjs.map +1 -1
  250. package/dist/jsx/components/FilterManager.native.js +0 -1
  251. package/dist/jsx/components/FilterManager.native.js.map +1 -1
  252. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs +2 -2
  253. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs.map +1 -1
  254. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js +2 -2
  255. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  256. package/dist/jsx/components/TableInput/index.mjs +3 -2
  257. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  258. package/dist/jsx/components/TableInput/index.native.js +4 -2
  259. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  260. package/dist/jsx/hooks/useDataTable.mjs +24 -8
  261. package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
  262. package/dist/jsx/hooks/useDataTable.native.js +28 -8
  263. package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
  264. package/dist/jsx/index.js +3 -1
  265. package/dist/jsx/index.js.map +1 -1
  266. package/dist/jsx/index.mjs +3 -1
  267. package/dist/jsx/index.mjs.map +1 -1
  268. package/dist/jsx/index.native.js +12 -0
  269. package/dist/jsx/index.native.js.map +1 -1
  270. package/dist/jsx/shared/devWarn.mjs +43 -0
  271. package/dist/jsx/shared/devWarn.mjs.map +1 -0
  272. package/dist/jsx/shared/devWarn.native.js +84 -0
  273. package/dist/jsx/shared/devWarn.native.js.map +1 -0
  274. package/dist/jsx/utils/columnAlign.mjs +4 -1
  275. package/dist/jsx/utils/columnAlign.mjs.map +1 -1
  276. package/dist/jsx/utils/columnAlign.native.js +4 -1
  277. package/dist/jsx/utils/columnAlign.native.js.map +1 -1
  278. package/dist/jsx/utils/filterFields.mjs +5 -0
  279. package/dist/jsx/utils/filterFields.mjs.map +1 -1
  280. package/dist/jsx/utils/filterFields.native.js +5 -0
  281. package/dist/jsx/utils/filterFields.native.js.map +1 -1
  282. package/dist/jsx/utils/filterUtils.mjs +30 -0
  283. package/dist/jsx/utils/filterUtils.mjs.map +1 -1
  284. package/dist/jsx/utils/filterUtils.native.js +50 -0
  285. package/dist/jsx/utils/filterUtils.native.js.map +1 -1
  286. package/dist/jsx/utils/money.mjs +104 -0
  287. package/dist/jsx/utils/money.mjs.map +1 -0
  288. package/dist/jsx/utils/money.native.js +165 -0
  289. package/dist/jsx/utils/money.native.js.map +1 -0
  290. package/dist/jsx/utils/rowAccumulator.mjs +23 -0
  291. package/dist/jsx/utils/rowAccumulator.mjs.map +1 -0
  292. package/dist/jsx/utils/rowAccumulator.native.js +51 -0
  293. package/dist/jsx/utils/rowAccumulator.native.js.map +1 -0
  294. package/package.json +12 -12
  295. package/src/components/ColumnHeaderFilter/ColumnHeaderFilter.spec.tsx +142 -7
  296. package/src/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.tsx +46 -9
  297. package/src/components/ColumnHeaderFilter/index.tsx +104 -47
  298. package/src/components/DataTable/DataTable.spec.tsx +5 -3
  299. package/src/components/DataTable/DataTable.stories.tsx +186 -14
  300. package/src/components/DataTable/DataTableCardControls.tsx +11 -13
  301. package/src/components/DataTable/DataTableMobileCards.tsx +162 -39
  302. package/src/components/DataTable/DataTableRoot.tsx +40 -14
  303. package/src/components/DataTable/DataTableStateContext.ts +7 -0
  304. package/src/components/DataTable/cardLayout.spec.tsx +19 -8
  305. package/src/components/DataTable/columnWidthLayout.spec.tsx +195 -0
  306. package/src/components/DataTable/dataTableMobileCards.spec.tsx +50 -2
  307. package/src/components/DataTable/headerSorting.spec.tsx +25 -0
  308. package/src/components/DataTable/index.native.tsx +80 -124
  309. package/src/components/DataTable/moneyColumn.spec.tsx +151 -0
  310. package/src/components/DataTable/nativeCardParity.spec.tsx +95 -0
  311. package/src/components/DataTable/rowAccumulator.spec.tsx +171 -0
  312. package/src/components/DataTableBulkActions/index.tsx +0 -4
  313. package/src/components/DataTableCell/index.tsx +28 -2
  314. package/src/components/DataTableColumnPinning/DataTableColumnPinning.stories.tsx +0 -4
  315. package/src/components/DataTableDateFilter/index.tsx +0 -7
  316. package/src/components/DataTableFilterButton/index.tsx +1 -1
  317. package/src/components/DataTableFilterChips/FilterChip.spec.tsx +6 -0
  318. package/src/components/DataTableFilterChips/FilterChip.tsx +3 -2
  319. package/src/components/DataTableFilters/index.tsx +1 -1
  320. package/src/components/DataTableGrouping/DataTableGrouping.stories.tsx +0 -4
  321. package/src/components/DataTableGrouping/index.tsx +1 -13
  322. package/src/components/DataTablePagination/DataTablePagination.stories.tsx +14 -1
  323. package/src/components/DataTablePagination/DataTablePagination.width.spec.tsx +51 -0
  324. package/src/components/DataTablePagination/index.tsx +60 -16
  325. package/src/components/DataTableSearch/index.tsx +2 -3
  326. package/src/components/DataTableToolbar/DataTableToolbar.stories.tsx +2 -4
  327. package/src/components/DataTableToolbar/index.tsx +1 -5
  328. package/src/components/DataTableViewOptions/index.tsx +2 -13
  329. package/src/components/FilterManager.tsx +1 -3
  330. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +1 -1
  331. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.stories.tsx +1 -0
  332. package/src/components/FilterOperatorValueEditor/index.tsx +10 -2
  333. package/src/components/TableInput/index.native.tsx +3 -2
  334. package/src/components/TableInput/index.tsx +3 -2
  335. package/src/hooks/useDataTable.ts +43 -7
  336. package/src/index.ts +13 -0
  337. package/src/shared/devWarn.ts +97 -0
  338. package/src/types.ts +71 -2
  339. package/src/utils/columnAlign.ts +9 -1
  340. package/src/utils/filterFields.ts +23 -1
  341. package/src/utils/filterUtils.ts +50 -1
  342. package/src/utils/money.spec.ts +156 -0
  343. package/src/utils/money.ts +202 -0
  344. package/src/utils/rowAccumulator.ts +136 -0
  345. package/types/components/ColumnHeaderFilter/index.d.ts +9 -2
  346. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
  347. package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
  348. package/types/components/DataTable/DataTableMobileCards.d.ts +42 -8
  349. package/types/components/DataTable/DataTableMobileCards.d.ts.map +1 -1
  350. package/types/components/DataTable/DataTableRoot.d.ts +1 -1
  351. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  352. package/types/components/DataTable/DataTableStateContext.d.ts +7 -0
  353. package/types/components/DataTable/DataTableStateContext.d.ts.map +1 -1
  354. package/types/components/DataTable/index.native.d.ts +1 -1
  355. package/types/components/DataTable/index.native.d.ts.map +1 -1
  356. package/types/components/DataTableBulkActions/index.d.ts.map +1 -1
  357. package/types/components/DataTableCell/index.d.ts.map +1 -1
  358. package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
  359. package/types/components/DataTableFilterChips/FilterChip.d.ts.map +1 -1
  360. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  361. package/types/components/DataTablePagination/index.d.ts.map +1 -1
  362. package/types/components/DataTableSearch/index.d.ts.map +1 -1
  363. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  364. package/types/components/DataTableViewOptions/index.d.ts.map +1 -1
  365. package/types/components/FilterManager.d.ts.map +1 -1
  366. package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -1
  367. package/types/components/TableInput/index.d.ts.map +1 -1
  368. package/types/components/TableInput/index.native.d.ts.map +1 -1
  369. package/types/hooks/useDataTable.d.ts +1 -1
  370. package/types/hooks/useDataTable.d.ts.map +1 -1
  371. package/types/index.d.ts +3 -0
  372. package/types/index.d.ts.map +1 -1
  373. package/types/shared/devWarn.d.ts +50 -0
  374. package/types/shared/devWarn.d.ts.map +1 -0
  375. package/types/types.d.ts +71 -3
  376. package/types/types.d.ts.map +1 -1
  377. package/types/utils/columnAlign.d.ts.map +1 -1
  378. package/types/utils/filterFields.d.ts.map +1 -1
  379. package/types/utils/filterUtils.d.ts +1 -1
  380. package/types/utils/filterUtils.d.ts.map +1 -1
  381. package/types/utils/money.d.ts +94 -0
  382. package/types/utils/money.d.ts.map +1 -0
  383. package/types/utils/rowAccumulator.d.ts +107 -0
  384. package/types/utils/rowAccumulator.d.ts.map +1 -0
@@ -0,0 +1,104 @@
1
+ const moneyPattern = /^\s*([+-]?)(\d*)(?:\.(\d*))?\s*$/;
2
+ function scaleMoney(raw) {
3
+ const match = moneyPattern.exec(raw);
4
+ const whole = match?.[2] ?? "";
5
+ const fraction = match?.[3] ?? "";
6
+ if (!match || whole === "" && fraction === "") {
7
+ throw new Error(`money: not a decimal string: ${JSON.stringify(raw)}`);
8
+ }
9
+ const magnitude = BigInt((whole || "0") + fraction);
10
+ return {
11
+ units: match[1] === "-" ? -magnitude : magnitude,
12
+ scale: fraction.length
13
+ };
14
+ }
15
+ function atScale(money, scale) {
16
+ return money.units * BigInt(10) ** BigInt(scale - money.scale);
17
+ }
18
+ function renderScaled(units, scale) {
19
+ const negative = units < BigInt(0);
20
+ const digits = (negative ? -units : units).toString().padStart(scale + 1, "0");
21
+ const split = digits.length - scale;
22
+ const whole = digits.slice(0, split);
23
+ const fraction = digits.slice(split);
24
+ return `${negative ? "-" : ""}${whole}${scale > 0 ? `.${fraction}` : ""}`;
25
+ }
26
+ function isMoneyString(raw) {
27
+ if (typeof raw !== "string") return false;
28
+ const match = moneyPattern.exec(raw);
29
+ return !!match && !(match[2] === "" && (match[3] ?? "") === "");
30
+ }
31
+ function addMoney(a, b) {
32
+ const x = scaleMoney(a);
33
+ const y = scaleMoney(b);
34
+ const scale = Math.max(x.scale, y.scale);
35
+ return renderScaled(atScale(x, scale) + atScale(y, scale), scale);
36
+ }
37
+ function subtractMoney(a, b) {
38
+ const x = scaleMoney(a);
39
+ const y = scaleMoney(b);
40
+ const scale = Math.max(x.scale, y.scale);
41
+ return renderScaled(atScale(x, scale) - atScale(y, scale), scale);
42
+ }
43
+ function sumMoney(values) {
44
+ if (values.length === 0) return "0";
45
+ const scaled = values.map(scaleMoney);
46
+ const scale = scaled.reduce((widest, m) => Math.max(widest, m.scale), 0);
47
+ return renderScaled(scaled.reduce((total, m) => total + atScale(m, scale), BigInt(0)), scale);
48
+ }
49
+ function sumMoneyByCurrency(rows, amountOf, currencyOf) {
50
+ const totals = {};
51
+ for (const row of rows) {
52
+ const amount = amountOf(row);
53
+ if (!isMoneyString(amount)) continue;
54
+ const raw = currencyOf(row);
55
+ const code = typeof raw === "string" && raw ? raw : "\u2014";
56
+ const running = totals[code];
57
+ totals[code] = running ? addMoney(running, amount) : amount;
58
+ }
59
+ return totals;
60
+ }
61
+ function compareMoney(a, b) {
62
+ const x = scaleMoney(a);
63
+ const y = scaleMoney(b);
64
+ const scale = Math.max(x.scale, y.scale);
65
+ const delta = atScale(x, scale) - atScale(y, scale);
66
+ if (delta < BigInt(0)) return -1;
67
+ if (delta > BigInt(0)) return 1;
68
+ return 0;
69
+ }
70
+ function moneyComparator(a, b) {
71
+ const left = isMoneyString(a) ? a : null;
72
+ const right = isMoneyString(b) ? b : null;
73
+ if (left === null && right === null) return 0;
74
+ if (left === null) return -1;
75
+ if (right === null) return 1;
76
+ return compareMoney(left, right);
77
+ }
78
+ function isNegativeMoney(raw) {
79
+ return typeof raw === "string" && raw.trimStart().startsWith("-");
80
+ }
81
+ function formatMoney(raw, currency, locale) {
82
+ if (typeof raw !== "string" || raw === "") return "";
83
+ if (!isMoneyString(raw)) return raw;
84
+ const value = Number(raw);
85
+ if (!Number.isFinite(value)) return raw;
86
+ if (!currency) {
87
+ return value.toLocaleString(locale, {
88
+ minimumFractionDigits: 2
89
+ });
90
+ }
91
+ try {
92
+ return value.toLocaleString(locale, {
93
+ style: "currency",
94
+ currency,
95
+ minimumFractionDigits: 2
96
+ });
97
+ } catch {
98
+ return `${currency} ${value.toLocaleString(locale, {
99
+ minimumFractionDigits: 2
100
+ })}`;
101
+ }
102
+ }
103
+ export { addMoney, compareMoney, formatMoney, isMoneyString, isNegativeMoney, moneyComparator, subtractMoney, sumMoney, sumMoneyByCurrency };
104
+ //# sourceMappingURL=money.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["moneyPattern","scaleMoney","raw","match","exec","whole","fraction","Error","JSON","stringify","magnitude","BigInt","units","scale","length","atScale","money","renderScaled","negative","digits","toString","padStart","split","slice","isMoneyString","addMoney","a","b","x","y","Math","max","subtractMoney","sumMoney","values","scaled","map","reduce","widest","m","total","sumMoneyByCurrency","rows","amountOf","currencyOf","totals","row","amount","code","running","compareMoney","delta","moneyComparator","left","right","isNegativeMoney","trimStart","startsWith","formatMoney","currency","locale","value","Number","isFinite","toLocaleString","minimumFractionDigits","style"],"sources":["../../../src/utils/money.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,129 @@
1
+ var moneyPattern = /^\s*([+-]?)(\d*)(?:\.(\d*))?\s*$/;
2
+ function scaleMoney(raw) {
3
+ var _ref, _ref1;
4
+ var match = moneyPattern.exec(raw);
5
+ var whole = (_ref = match === null || match === void 0 ? void 0 : match[2]) !== null && _ref !== void 0 ? _ref : "";
6
+ var fraction = (_ref1 = match === null || match === void 0 ? void 0 : match[3]) !== null && _ref1 !== void 0 ? _ref1 : "";
7
+ if (!match || whole === "" && fraction === "") {
8
+ throw new Error(`money: not a decimal string: ${JSON.stringify(raw)}`);
9
+ }
10
+ var magnitude = BigInt((whole || "0") + fraction);
11
+ return {
12
+ units: match[1] === "-" ? -magnitude : magnitude,
13
+ scale: fraction.length
14
+ };
15
+ }
16
+ function atScale(money, scale) {
17
+ return money.units * Math.pow(BigInt(10), BigInt(scale - money.scale));
18
+ }
19
+ function renderScaled(units, scale) {
20
+ var negative = units < BigInt(0);
21
+ var digits = (negative ? -units : units).toString().padStart(scale + 1, "0");
22
+ var split = digits.length - scale;
23
+ var whole = digits.slice(0, split);
24
+ var fraction = digits.slice(split);
25
+ return `${negative ? "-" : ""}${whole}${scale > 0 ? `.${fraction}` : ""}`;
26
+ }
27
+ function isMoneyString(raw) {
28
+ var _match_;
29
+ if (typeof raw !== "string") return false;
30
+ var match = moneyPattern.exec(raw);
31
+ return !!match && !(match[2] === "" && ((_match_ = match[3]) !== null && _match_ !== void 0 ? _match_ : "") === "");
32
+ }
33
+ function addMoney(a, b) {
34
+ var x = scaleMoney(a);
35
+ var y = scaleMoney(b);
36
+ var scale = Math.max(x.scale, y.scale);
37
+ return renderScaled(atScale(x, scale) + atScale(y, scale), scale);
38
+ }
39
+ function subtractMoney(a, b) {
40
+ var x = scaleMoney(a);
41
+ var y = scaleMoney(b);
42
+ var scale = Math.max(x.scale, y.scale);
43
+ return renderScaled(atScale(x, scale) - atScale(y, scale), scale);
44
+ }
45
+ function sumMoney(values) {
46
+ if (values.length === 0) return "0";
47
+ var scaled = values.map(scaleMoney);
48
+ var scale = scaled.reduce(function (widest, m) {
49
+ return Math.max(widest, m.scale);
50
+ }, 0);
51
+ return renderScaled(scaled.reduce(function (total, m) {
52
+ return total + atScale(m, scale);
53
+ }, BigInt(0)), scale);
54
+ }
55
+ function sumMoneyByCurrency(rows, amountOf, currencyOf) {
56
+ var totals = {};
57
+ var _iteratorNormalCompletion = true,
58
+ _didIteratorError = false,
59
+ _iteratorError = void 0;
60
+ try {
61
+ for (var _iterator = rows[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
62
+ var row = _step.value;
63
+ var amount = amountOf(row);
64
+ if (!isMoneyString(amount)) continue;
65
+ var raw = currencyOf(row);
66
+ var code = typeof raw === "string" && raw ? raw : "\u2014";
67
+ var running = totals[code];
68
+ totals[code] = running ? addMoney(running, amount) : amount;
69
+ }
70
+ } catch (err) {
71
+ _didIteratorError = true;
72
+ _iteratorError = err;
73
+ } finally {
74
+ try {
75
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
76
+ _iterator.return();
77
+ }
78
+ } finally {
79
+ if (_didIteratorError) {
80
+ throw _iteratorError;
81
+ }
82
+ }
83
+ }
84
+ return totals;
85
+ }
86
+ function compareMoney(a, b) {
87
+ var x = scaleMoney(a);
88
+ var y = scaleMoney(b);
89
+ var scale = Math.max(x.scale, y.scale);
90
+ var delta = atScale(x, scale) - atScale(y, scale);
91
+ if (delta < BigInt(0)) return -1;
92
+ if (delta > BigInt(0)) return 1;
93
+ return 0;
94
+ }
95
+ function moneyComparator(a, b) {
96
+ var left = isMoneyString(a) ? a : null;
97
+ var right = isMoneyString(b) ? b : null;
98
+ if (left === null && right === null) return 0;
99
+ if (left === null) return -1;
100
+ if (right === null) return 1;
101
+ return compareMoney(left, right);
102
+ }
103
+ function isNegativeMoney(raw) {
104
+ return typeof raw === "string" && raw.trimStart().startsWith("-");
105
+ }
106
+ function formatMoney(raw, currency, locale) {
107
+ if (typeof raw !== "string" || raw === "") return "";
108
+ if (!isMoneyString(raw)) return raw;
109
+ var value = Number(raw);
110
+ if (!Number.isFinite(value)) return raw;
111
+ if (!currency) {
112
+ return value.toLocaleString(locale, {
113
+ minimumFractionDigits: 2
114
+ });
115
+ }
116
+ try {
117
+ return value.toLocaleString(locale, {
118
+ style: "currency",
119
+ currency,
120
+ minimumFractionDigits: 2
121
+ });
122
+ } catch (unused) {
123
+ return `${currency} ${value.toLocaleString(locale, {
124
+ minimumFractionDigits: 2
125
+ })}`;
126
+ }
127
+ }
128
+ export { addMoney, compareMoney, formatMoney, isMoneyString, isNegativeMoney, moneyComparator, subtractMoney, sumMoney, sumMoneyByCurrency };
129
+ //# sourceMappingURL=money.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["moneyPattern","scaleMoney","raw","_ref","_ref1","match","exec","whole","fraction","Error","JSON","stringify","magnitude","BigInt","units","scale","length","atScale","money","Math","pow","renderScaled","negative","digits","toString","padStart","split","slice","isMoneyString","_match_","addMoney","a","b","x","y","max","subtractMoney","sumMoney","values","scaled","map","reduce","widest","m","total","sumMoneyByCurrency","rows","amountOf","currencyOf","totals","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","next","done","row","value","amount","code","running","err","return","compareMoney","delta","moneyComparator","left"],"sources":["../../../src/utils/money.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ function accumulateRows(data, accumulator) {
2
+ if (!accumulator) return {
3
+ rows: data,
4
+ total: void 0
5
+ };
6
+ const ordered = accumulator.order ? [...data].sort(accumulator.order) : data;
7
+ let carried = typeof accumulator.initial === "function" ? accumulator.initial() : accumulator.initial;
8
+ const rows = ordered.map((row, index) => {
9
+ carried = accumulator.reduce(carried, row, index);
10
+ const derived = accumulator.derive(carried, row, index);
11
+ if (!derived) return row;
12
+ return {
13
+ ...row,
14
+ ...derived
15
+ };
16
+ });
17
+ return {
18
+ rows,
19
+ total: accumulator.total ? accumulator.total(carried, rows.length) : void 0
20
+ };
21
+ }
22
+ export { accumulateRows };
23
+ //# sourceMappingURL=rowAccumulator.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["accumulateRows","data","accumulator","rows","total","ordered","order","sort","carried","initial","map","row","index","reduce","derived","derive","length"],"sources":["../../../src/utils/rowAccumulator.ts"],"sourcesContent":[null],"mappings":"AA6GO,SAASA,eACdC,IAAA,EACAC,WAAA,EAC6B;EAC7B,IAAI,CAACA,WAAA,EAAa,OAAO;IAAEC,IAAA,EAAMF,IAAA;IAAMG,KAAA,EAAO;EAAU;EAExD,MAAMC,OAAA,GAAUH,WAAA,CAAYI,KAAA,GAAQ,CAAC,GAAGL,IAAI,EAAEM,IAAA,CAAKL,WAAA,CAAYI,KAAK,IAAIL,IAAA;EAExE,IAAIO,OAAA,GACF,OAAON,WAAA,CAAYO,OAAA,KAAY,aAC1BP,WAAA,CAAYO,OAAA,CAA0B,IACvCP,WAAA,CAAYO,OAAA;EAElB,MAAMN,IAAA,GAAOE,OAAA,CAAQK,GAAA,CAAI,CAACC,GAAA,EAAKC,KAAA,KAAU;IACvCJ,OAAA,GAAUN,WAAA,CAAYW,MAAA,CAAOL,OAAA,EAASG,GAAA,EAAKC,KAAK;IAChD,MAAME,OAAA,GAAUZ,WAAA,CAAYa,MAAA,CAAOP,OAAA,EAASG,GAAA,EAAKC,KAAK;IAGtD,IAAI,CAACE,OAAA,EAAS,OAAOH,GAAA;IACrB,OAAO;MAAE,GAAGA,GAAA;MAAK,GAAGG;IAAQ;EAC9B,CAAC;EAED,OAAO;IACLX,IAAA;IACAC,KAAA,EAAOF,WAAA,CAAYE,KAAA,GAAQF,WAAA,CAAYE,KAAA,CAAMI,OAAA,EAASL,IAAA,CAAKa,MAAM,IAAI;EACvE;AACF","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ function accumulateRows(data, accumulator) {
2
+ if (!accumulator) return {
3
+ rows: data,
4
+ total: void 0
5
+ };
6
+ var ordered = accumulator.order ? [...data].sort(accumulator.order) : data;
7
+ var carried = typeof accumulator.initial === "function" ? accumulator.initial() : accumulator.initial;
8
+ var rows = ordered.map(function (row, index) {
9
+ carried = accumulator.reduce(carried, row, index);
10
+ var derived = accumulator.derive(carried, row, index);
11
+ if (!derived) return row;
12
+ return {
13
+ ...row,
14
+ ...derived
15
+ };
16
+ });
17
+ return {
18
+ rows,
19
+ total: accumulator.total ? accumulator.total(carried, rows.length) : void 0
20
+ };
21
+ }
22
+ export { accumulateRows };
23
+ //# sourceMappingURL=rowAccumulator.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["accumulateRows","data","accumulator","rows","total","ordered","order","sort","carried","initial","map","row","index","reduce","derived","derive"],"sources":["../../../src/utils/rowAccumulator.ts"],"sourcesContent":[null],"mappings":"AA6GO,SAASA,eACdC,IAAA,EACAC,WAAA,EAC6B;EAC7B,IAAI,CAACA,WAAA,EAAa,OAAO;IAEzBC,IAAM,EAAAF,IAAA;IAENG,KAAI,OACF;EAIF;EACE,IAAAC,OAAA,GAAUH,WAAY,CAAAI,KAAO,IAC7B,GAAAL,IAAM,CAGN,CAAAM,IAAI,CAACL,WAAS,CAAAI,KAAO,IAAAL,IAAA;EACrB,IAAAO,OAAS,GAAG,OAAKN,WAAW,CAAAO,OAAA,kBAAAP,WAAA,CAAAO,OAAA,KAAAP,WAAA,CAAAO,OAAA;EAC9B,IAACN,IAAA,GAAAE,OAAA,CAAAK,GAAA,WAAAC,GAAA,EAAAC,KAAA;IAEDJ,OAAO,GAAAN,WAAA,CAAAW,MAAA,CAAAL,OAAA,EAAAG,GAAA,EAAAC,KAAA;IACL,IAAAE,OAAA,GAAAZ,WAAA,CAAAa,MAAA,CAAAP,OAAA,EAAAG,GAAA,EAAAC,KAAA;IACA,KAAAE,OAAO,SAAYH,GAAA;IACrB;MACF,GAAAA,GAAA","ignoreList":[]}
@@ -1,12 +1,12 @@
1
1
  import { FunnelIcon } from "@phosphor-icons/react";
2
2
  import { Button } from "@multiplatform.one/forms";
3
- import { MIN_PRESS_TARGET, pressTargetHitSlop, pressTargetStyle, useResolvedKnobs } from "@multiplatform.one/theme";
4
- import { useState } from "react";
3
+ import { ensureCompositeFocusRing, MIN_PRESS_TARGET, pressTargetHitSlop, pressTargetStyle, useAccentOnSurface, useResolvedKnobs, useGlyphColor } from "@multiplatform.one/theme";
4
+ import { useId, useRef, useState } from "react";
5
5
  import { Tooltip } from "@multiplatform.one/components";
6
- import { Popover, Text, View, XStack, YStack } from "tamagui";
6
+ import { Popover, Text, View, XStack, YStack, isWeb } from "tamagui";
7
7
  import { t } from "../../shared/t.mjs";
8
8
  import { iconSizeForToken } from "../../utils/chromeIcons.mjs";
9
- import { operatorNeedsNoValue } from "../../utils/filterFields.mjs";
9
+ import { defaultOperatorForFilterType, operatorNeedsNoValue } from "../../utils/filterFields.mjs";
10
10
  import { FilterOperatorValueEditor } from "../FilterOperatorValueEditor/index.mjs";
11
11
  import { jsx, jsxs } from "react/jsx-runtime";
12
12
  const FILTER_TRIGGER_VISUAL = 22;
@@ -15,7 +15,7 @@ function ColumnHeaderFilter({
15
15
  columnId: _columnId,
16
16
  columnLabel,
17
17
  columnType,
18
- filterValue: _filterValue,
18
+ filterValue,
19
19
  onFilterChange,
20
20
  options,
21
21
  isFiltered
@@ -23,10 +23,24 @@ function ColumnHeaderFilter({
23
23
  const {
24
24
  knobProps
25
25
  } = useResolvedKnobs();
26
+ const idleColor = useGlyphColor("$color11");
27
+ const activeColor = useAccentOnSurface();
28
+ const glyphColor = isFiltered ? activeColor : idleColor;
29
+ const popoverScope = useId();
30
+ const triggerRef = useRef(null);
31
+ const returnFocusRef = useRef(true);
32
+ ensureCompositeFocusRing();
26
33
  const iconPx = iconSizeForToken(String(knobProps.sizeToken));
27
34
  const [open, setOpen] = useState(false);
28
- const [operator, setOperator] = useState("contains");
35
+ const [operator, setOperator] = useState(() => defaultOperatorForFilterType(columnType));
29
36
  const [value, setValue] = useState("");
37
+ const handleOpenChange = next => {
38
+ if (next && !open) {
39
+ setOperator(filterValue?.operator ?? defaultOperatorForFilterType(columnType));
40
+ setValue(filterValue?.value == null ? "" : String(filterValue.value));
41
+ }
42
+ setOpen(next);
43
+ };
30
44
  const handleApply = () => {
31
45
  if (operatorNeedsNoValue(operator)) {
32
46
  onFilterChange({
@@ -43,54 +57,76 @@ function ColumnHeaderFilter({
43
57
  };
44
58
  const handleClear = () => {
45
59
  setValue("");
46
- setOperator("contains");
60
+ setOperator(defaultOperatorForFilterType(columnType));
47
61
  onFilterChange(void 0);
48
62
  };
49
63
  return /* @__PURE__ */jsxs(Popover, {
64
+ scope: popoverScope,
50
65
  open,
51
- onOpenChange: setOpen,
52
- children: [/* @__PURE__ */jsx(Tooltip, {
53
- content: isFiltered ? t("Edit filter") : t("Filter this column"),
54
- children: /* @__PURE__ */jsx(Popover.Trigger, {
55
- asChild: true,
56
- children: /* @__PURE__ */jsx(View, {
57
- cursor: "pointer",
58
- ...pressTargetStyle(),
59
- alignItems: "center",
60
- justifyContent: "center",
61
- marginVertical: -FILTER_TRIGGER_OUTSET,
62
- marginHorizontal: -FILTER_TRIGGER_OUTSET,
63
- hitSlop: pressTargetHitSlop(FILTER_TRIGGER_VISUAL),
64
- opacity: isFiltered ? 1 : 0.7,
65
- hoverStyle: {
66
- opacity: 1
67
- },
68
- pressStyle: {
69
- opacity: 0.9
70
- },
71
- onPress: e => {
72
- e.stopPropagation();
73
- setOpen(true);
74
- },
75
- role: "button",
76
- "aria-label": `Filter column ${columnLabel}`,
66
+ onOpenChange: handleOpenChange,
67
+ disableFocus: true,
68
+ children: [/* @__PURE__ */jsx(Popover.Anchor, {
69
+ children: /* @__PURE__ */jsx(Tooltip, {
70
+ content: isFiltered ? t("Edit filter") : t("Filter this column"),
71
+ children: /* @__PURE__ */jsx(Popover.Trigger, {
72
+ scope: popoverScope,
73
+ asChild: true,
77
74
  children: /* @__PURE__ */jsx(View, {
78
- padding: "$1",
79
- borderRadius: "$2",
75
+ ref: triggerRef,
76
+ cursor: "pointer",
77
+ ...pressTargetStyle(),
80
78
  alignItems: "center",
81
79
  justifyContent: "center",
82
- hoverStyle: {
83
- backgroundColor: "$color4"
80
+ marginVertical: -FILTER_TRIGGER_OUTSET,
81
+ marginHorizontal: -FILTER_TRIGGER_OUTSET,
82
+ hitSlop: pressTargetHitSlop(FILTER_TRIGGER_VISUAL),
83
+ className: "mp-chip-dismiss",
84
+ tabIndex: 0,
85
+ onKeyDown: event => {
86
+ if (event.key !== "Enter" && event.key !== " ") return;
87
+ event.preventDefault();
88
+ event.stopPropagation();
89
+ handleOpenChange(true);
90
+ },
91
+ onPress: e => {
92
+ e.stopPropagation();
93
+ handleOpenChange(true);
84
94
  },
85
- children: /* @__PURE__ */jsx(FunnelIcon, {
86
- size: iconPx,
87
- color: isFiltered ? "var(--accentColor)" : "var(--color10)",
88
- weight: isFiltered ? "fill" : "regular"
95
+ role: "button",
96
+ "aria-label": `Filter column ${columnLabel}`,
97
+ children: /* @__PURE__ */jsx(View, {
98
+ className: "mp-chip-dismiss-ring",
99
+ padding: "$1",
100
+ borderRadius: "$2",
101
+ alignItems: "center",
102
+ justifyContent: "center",
103
+ hoverStyle: {
104
+ backgroundColor: "$color4"
105
+ },
106
+ pressStyle: {
107
+ backgroundColor: "$color5"
108
+ },
109
+ children: /* @__PURE__ */jsx(FunnelIcon, {
110
+ size: iconPx,
111
+ color: glyphColor,
112
+ weight: isFiltered ? "fill" : "regular"
113
+ })
89
114
  })
90
115
  })
91
116
  })
92
117
  })
93
118
  }), /* @__PURE__ */jsxs(Popover.Content, {
119
+ scope: popoverScope,
120
+ onPointerDownOutside: () => {
121
+ returnFocusRef.current = false;
122
+ },
123
+ onCloseAutoFocus: event => {
124
+ event.preventDefault();
125
+ if (isWeb && returnFocusRef.current) {
126
+ triggerRef.current?.focus();
127
+ }
128
+ returnFocusRef.current = true;
129
+ },
94
130
  ...knobProps.elevatedSurface,
95
131
  ...knobProps.panelPadding,
96
132
  minWidth: 240,
@@ -104,6 +140,7 @@ function ColumnHeaderFilter({
104
140
  opacity: 0
105
141
  },
106
142
  children: [/* @__PURE__ */jsx(Popover.Arrow, {
143
+ scope: popoverScope,
107
144
  borderColor: "$borderColor",
108
145
  backgroundColor: "$color1"
109
146
  }), /* @__PURE__ */jsxs(YStack, {
@@ -127,7 +164,6 @@ function ColumnHeaderFilter({
127
164
  justifyContent: "flex-end",
128
165
  children: [isFiltered && /* @__PURE__ */jsx(Button, {
129
166
  size: knobProps.sizeToken,
130
- variant: "outlined",
131
167
  onPress: handleClear,
132
168
  children: t("Clear")
133
169
  }), /* @__PURE__ */jsx(Button, {
@@ -1 +1 @@
1
- {"version":3,"names":["FunnelIcon","Button","MIN_PRESS_TARGET","pressTargetHitSlop","pressTargetStyle","useResolvedKnobs","useState","Tooltip","Popover","Text","View","XStack","YStack","t","iconSizeForToken","operatorNeedsNoValue","FilterOperatorValueEditor","jsx","jsxs","FILTER_TRIGGER_VISUAL","FILTER_TRIGGER_OUTSET","Math","max","ceil","ColumnHeaderFilter","columnId","_columnId","columnLabel","columnType","filterValue","_filterValue","onFilterChange","options","isFiltered","knobProps","iconPx","String","sizeToken","open","setOpen","operator","setOperator","value","setValue","handleApply","handleClear","onOpenChange","children","content","Trigger","asChild","cursor","alignItems","justifyContent","marginVertical","marginHorizontal","hitSlop","opacity","hoverStyle","pressStyle","onPress","e","stopPropagation","role","padding","borderRadius","backgroundColor","size","color","weight","Content","elevatedSurface","panelPadding","minWidth","transition","enterStyle","y","exitStyle","Arrow","borderColor","gap","label","fontWeight","column","fieldType","onOperatorChange","onValueChange","variant"],"sources":["../../../../src/components/ColumnHeaderFilter/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["FunnelIcon","Button","ensureCompositeFocusRing","MIN_PRESS_TARGET","pressTargetHitSlop","pressTargetStyle","useAccentOnSurface","useResolvedKnobs","useGlyphColor","useId","useRef","useState","Tooltip","Popover","Text","View","XStack","YStack","isWeb","t","iconSizeForToken","defaultOperatorForFilterType","operatorNeedsNoValue","FilterOperatorValueEditor","jsx","jsxs","FILTER_TRIGGER_VISUAL","FILTER_TRIGGER_OUTSET","Math","max","ceil","ColumnHeaderFilter","columnId","_columnId","columnLabel","columnType","filterValue","onFilterChange","options","isFiltered","knobProps","idleColor","activeColor","glyphColor","popoverScope","triggerRef","returnFocusRef","iconPx","String","sizeToken","open","setOpen","operator","setOperator","value","setValue","handleOpenChange","next","handleApply","handleClear","scope","onOpenChange","disableFocus","children","Anchor","content","Trigger","asChild","ref","cursor","alignItems","justifyContent","marginVertical","marginHorizontal","hitSlop","className","tabIndex","onKeyDown","event","key","preventDefault","stopPropagation","onPress","e","role","padding","borderRadius","hoverStyle","backgroundColor","pressStyle","size","color","weight","Content","onPointerDownOutside","current","onCloseAutoFocus","focus","elevatedSurface","panelPadding","minWidth","transition","enterStyle","y","opacity","exitStyle","Arrow","borderColor","gap","label","fontWeight","column","fieldType","onOperatorChange","onValueChange"],"sources":["../../../../src/components/ColumnHeaderFilter/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}