@multiplatform.one/table 7.7.6 → 7.8.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 (357) 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/DataTableRoot.cjs +33 -6
  8. package/dist/cjs/components/DataTable/DataTableRoot.native.js +29 -4
  9. package/dist/cjs/components/DataTable/DataTableRoot.native.js.map +1 -1
  10. package/dist/cjs/components/DataTable/DataTableStateContext.native.js.map +1 -1
  11. package/dist/cjs/components/DataTableBulkActions/index.cjs +0 -4
  12. package/dist/cjs/components/DataTableBulkActions/index.native.js +0 -4
  13. package/dist/cjs/components/DataTableBulkActions/index.native.js.map +1 -1
  14. package/dist/cjs/components/DataTableCell/index.cjs +16 -1
  15. package/dist/cjs/components/DataTableCell/index.native.js +16 -1
  16. package/dist/cjs/components/DataTableCell/index.native.js.map +1 -1
  17. package/dist/cjs/components/DataTableDateFilter/index.cjs +0 -7
  18. package/dist/cjs/components/DataTableDateFilter/index.native.js +0 -7
  19. package/dist/cjs/components/DataTableDateFilter/index.native.js.map +1 -1
  20. package/dist/cjs/components/DataTableFilterButton/index.cjs +0 -1
  21. package/dist/cjs/components/DataTableFilterButton/index.native.js +0 -1
  22. package/dist/cjs/components/DataTableFilterChips/FilterChip.cjs +2 -1
  23. package/dist/cjs/components/DataTableFilterChips/FilterChip.native.js +4 -1
  24. package/dist/cjs/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
  25. package/dist/cjs/components/DataTableFilters/index.cjs +0 -1
  26. package/dist/cjs/components/DataTableFilters/index.native.js +0 -1
  27. package/dist/cjs/components/DataTableGrouping/index.cjs +0 -8
  28. package/dist/cjs/components/DataTableGrouping/index.native.js +0 -8
  29. package/dist/cjs/components/DataTableGrouping/index.native.js.map +1 -1
  30. package/dist/cjs/components/DataTablePagination/index.cjs +29 -13
  31. package/dist/cjs/components/DataTablePagination/index.native.js +30 -14
  32. package/dist/cjs/components/DataTablePagination/index.native.js.map +1 -1
  33. package/dist/cjs/components/DataTableSearch/index.cjs +0 -3
  34. package/dist/cjs/components/DataTableSearch/index.native.js +0 -3
  35. package/dist/cjs/components/DataTableSearch/index.native.js.map +1 -1
  36. package/dist/cjs/components/DataTableToolbar/index.cjs +0 -1
  37. package/dist/cjs/components/DataTableToolbar/index.native.js +0 -1
  38. package/dist/cjs/components/DataTableToolbar/index.native.js.map +1 -1
  39. package/dist/cjs/components/DataTableViewOptions/index.cjs +0 -5
  40. package/dist/cjs/components/DataTableViewOptions/index.native.js +0 -5
  41. package/dist/cjs/components/DataTableViewOptions/index.native.js.map +1 -1
  42. package/dist/cjs/components/FilterManager.cjs +0 -1
  43. package/dist/cjs/components/FilterManager.native.js +0 -1
  44. package/dist/cjs/components/FilterManager.native.js.map +1 -1
  45. package/dist/cjs/components/FilterOperatorValueEditor/index.cjs +2 -2
  46. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js +2 -2
  47. package/dist/cjs/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  48. package/dist/cjs/components/TableInput/index.cjs +2 -1
  49. package/dist/cjs/components/TableInput/index.native.js +4 -2
  50. package/dist/cjs/components/TableInput/index.native.js.map +1 -1
  51. package/dist/cjs/hooks/useDataTable.cjs +24 -8
  52. package/dist/cjs/hooks/useDataTable.native.js +28 -8
  53. package/dist/cjs/hooks/useDataTable.native.js.map +1 -1
  54. package/dist/cjs/index.cjs +12 -0
  55. package/dist/cjs/index.native.js +12 -0
  56. package/dist/cjs/index.native.js.map +1 -1
  57. package/dist/cjs/shared/devWarn.cjs +70 -0
  58. package/dist/cjs/shared/devWarn.native.js +84 -0
  59. package/dist/cjs/shared/devWarn.native.js.map +1 -0
  60. package/dist/cjs/utils/columnAlign.cjs +4 -1
  61. package/dist/cjs/utils/columnAlign.native.js +4 -1
  62. package/dist/cjs/utils/columnAlign.native.js.map +1 -1
  63. package/dist/cjs/utils/filterFields.cjs +5 -0
  64. package/dist/cjs/utils/filterFields.native.js +5 -0
  65. package/dist/cjs/utils/filterFields.native.js.map +1 -1
  66. package/dist/cjs/utils/filterUtils.cjs +30 -0
  67. package/dist/cjs/utils/filterUtils.native.js +50 -0
  68. package/dist/cjs/utils/filterUtils.native.js.map +1 -1
  69. package/dist/cjs/utils/money.cjs +137 -0
  70. package/dist/cjs/utils/money.native.js +165 -0
  71. package/dist/cjs/utils/money.native.js.map +1 -0
  72. package/dist/cjs/utils/rowAccumulator.cjs +48 -0
  73. package/dist/cjs/utils/rowAccumulator.native.js +51 -0
  74. package/dist/cjs/utils/rowAccumulator.native.js.map +1 -0
  75. package/dist/esm/components/ColumnHeaderFilter/index.mjs +78 -42
  76. package/dist/esm/components/ColumnHeaderFilter/index.mjs.map +1 -1
  77. package/dist/esm/components/ColumnHeaderFilter/index.native.js +101 -55
  78. package/dist/esm/components/ColumnHeaderFilter/index.native.js.map +1 -1
  79. package/dist/esm/components/DataTable/DataTableCardControls.mjs +0 -1
  80. package/dist/esm/components/DataTable/DataTableCardControls.mjs.map +1 -1
  81. package/dist/esm/components/DataTable/DataTableCardControls.native.js +0 -1
  82. package/dist/esm/components/DataTable/DataTableCardControls.native.js.map +1 -1
  83. package/dist/esm/components/DataTable/DataTableRoot.mjs +33 -6
  84. package/dist/esm/components/DataTable/DataTableRoot.mjs.map +1 -1
  85. package/dist/esm/components/DataTable/DataTableRoot.native.js +29 -4
  86. package/dist/esm/components/DataTable/DataTableRoot.native.js.map +1 -1
  87. package/dist/esm/components/DataTable/DataTableStateContext.mjs.map +1 -1
  88. package/dist/esm/components/DataTable/DataTableStateContext.native.js.map +1 -1
  89. package/dist/esm/components/DataTableBulkActions/index.mjs +0 -4
  90. package/dist/esm/components/DataTableBulkActions/index.mjs.map +1 -1
  91. package/dist/esm/components/DataTableBulkActions/index.native.js +0 -4
  92. package/dist/esm/components/DataTableBulkActions/index.native.js.map +1 -1
  93. package/dist/esm/components/DataTableCell/index.mjs +17 -2
  94. package/dist/esm/components/DataTableCell/index.mjs.map +1 -1
  95. package/dist/esm/components/DataTableCell/index.native.js +17 -2
  96. package/dist/esm/components/DataTableCell/index.native.js.map +1 -1
  97. package/dist/esm/components/DataTableDateFilter/index.mjs +0 -7
  98. package/dist/esm/components/DataTableDateFilter/index.mjs.map +1 -1
  99. package/dist/esm/components/DataTableDateFilter/index.native.js +0 -7
  100. package/dist/esm/components/DataTableDateFilter/index.native.js.map +1 -1
  101. package/dist/esm/components/DataTableFilterButton/index.mjs +0 -1
  102. package/dist/esm/components/DataTableFilterButton/index.mjs.map +1 -1
  103. package/dist/esm/components/DataTableFilterButton/index.native.js +0 -1
  104. package/dist/esm/components/DataTableFilterChips/FilterChip.mjs +3 -2
  105. package/dist/esm/components/DataTableFilterChips/FilterChip.mjs.map +1 -1
  106. package/dist/esm/components/DataTableFilterChips/FilterChip.native.js +5 -2
  107. package/dist/esm/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
  108. package/dist/esm/components/DataTableFilters/index.mjs +0 -1
  109. package/dist/esm/components/DataTableFilters/index.mjs.map +1 -1
  110. package/dist/esm/components/DataTableFilters/index.native.js +0 -1
  111. package/dist/esm/components/DataTableGrouping/index.mjs +0 -8
  112. package/dist/esm/components/DataTableGrouping/index.mjs.map +1 -1
  113. package/dist/esm/components/DataTableGrouping/index.native.js +0 -8
  114. package/dist/esm/components/DataTableGrouping/index.native.js.map +1 -1
  115. package/dist/esm/components/DataTablePagination/index.mjs +30 -14
  116. package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
  117. package/dist/esm/components/DataTablePagination/index.native.js +31 -15
  118. package/dist/esm/components/DataTablePagination/index.native.js.map +1 -1
  119. package/dist/esm/components/DataTableSearch/index.mjs +0 -3
  120. package/dist/esm/components/DataTableSearch/index.mjs.map +1 -1
  121. package/dist/esm/components/DataTableSearch/index.native.js +0 -3
  122. package/dist/esm/components/DataTableSearch/index.native.js.map +1 -1
  123. package/dist/esm/components/DataTableToolbar/index.mjs +0 -1
  124. package/dist/esm/components/DataTableToolbar/index.mjs.map +1 -1
  125. package/dist/esm/components/DataTableToolbar/index.native.js +0 -1
  126. package/dist/esm/components/DataTableToolbar/index.native.js.map +1 -1
  127. package/dist/esm/components/DataTableViewOptions/index.mjs +0 -5
  128. package/dist/esm/components/DataTableViewOptions/index.mjs.map +1 -1
  129. package/dist/esm/components/DataTableViewOptions/index.native.js +0 -5
  130. package/dist/esm/components/DataTableViewOptions/index.native.js.map +1 -1
  131. package/dist/esm/components/FilterManager.mjs +0 -1
  132. package/dist/esm/components/FilterManager.mjs.map +1 -1
  133. package/dist/esm/components/FilterManager.native.js +0 -1
  134. package/dist/esm/components/FilterManager.native.js.map +1 -1
  135. package/dist/esm/components/FilterOperatorValueEditor/index.mjs +2 -2
  136. package/dist/esm/components/FilterOperatorValueEditor/index.mjs.map +1 -1
  137. package/dist/esm/components/FilterOperatorValueEditor/index.native.js +2 -2
  138. package/dist/esm/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  139. package/dist/esm/components/TableInput/index.mjs +3 -2
  140. package/dist/esm/components/TableInput/index.mjs.map +1 -1
  141. package/dist/esm/components/TableInput/index.native.js +5 -3
  142. package/dist/esm/components/TableInput/index.native.js.map +1 -1
  143. package/dist/esm/hooks/useDataTable.mjs +24 -8
  144. package/dist/esm/hooks/useDataTable.mjs.map +1 -1
  145. package/dist/esm/hooks/useDataTable.native.js +28 -8
  146. package/dist/esm/hooks/useDataTable.native.js.map +1 -1
  147. package/dist/esm/index.mjs +3 -1
  148. package/dist/esm/index.mjs.map +1 -1
  149. package/dist/esm/index.native.js +3 -1
  150. package/dist/esm/index.native.js.map +1 -1
  151. package/dist/esm/shared/devWarn.mjs +43 -0
  152. package/dist/esm/shared/devWarn.mjs.map +1 -0
  153. package/dist/esm/shared/devWarn.native.js +54 -0
  154. package/dist/esm/shared/devWarn.native.js.map +1 -0
  155. package/dist/esm/utils/columnAlign.mjs +4 -1
  156. package/dist/esm/utils/columnAlign.mjs.map +1 -1
  157. package/dist/esm/utils/columnAlign.native.js +4 -1
  158. package/dist/esm/utils/columnAlign.native.js.map +1 -1
  159. package/dist/esm/utils/filterFields.mjs +5 -0
  160. package/dist/esm/utils/filterFields.mjs.map +1 -1
  161. package/dist/esm/utils/filterFields.native.js +5 -0
  162. package/dist/esm/utils/filterFields.native.js.map +1 -1
  163. package/dist/esm/utils/filterUtils.mjs +30 -0
  164. package/dist/esm/utils/filterUtils.mjs.map +1 -1
  165. package/dist/esm/utils/filterUtils.native.js +50 -0
  166. package/dist/esm/utils/filterUtils.native.js.map +1 -1
  167. package/dist/esm/utils/money.mjs +104 -0
  168. package/dist/esm/utils/money.mjs.map +1 -0
  169. package/dist/esm/utils/money.native.js +129 -0
  170. package/dist/esm/utils/money.native.js.map +1 -0
  171. package/dist/esm/utils/rowAccumulator.mjs +23 -0
  172. package/dist/esm/utils/rowAccumulator.mjs.map +1 -0
  173. package/dist/esm/utils/rowAccumulator.native.js +23 -0
  174. package/dist/esm/utils/rowAccumulator.native.js.map +1 -0
  175. package/dist/jsx/components/ColumnHeaderFilter/index.mjs +78 -42
  176. package/dist/jsx/components/ColumnHeaderFilter/index.mjs.map +1 -1
  177. package/dist/jsx/components/ColumnHeaderFilter/index.native.js +97 -51
  178. package/dist/jsx/components/ColumnHeaderFilter/index.native.js.map +1 -1
  179. package/dist/jsx/components/DataTable/DataTableCardControls.mjs +0 -1
  180. package/dist/jsx/components/DataTable/DataTableCardControls.mjs.map +1 -1
  181. package/dist/jsx/components/DataTable/DataTableCardControls.native.js +0 -1
  182. package/dist/jsx/components/DataTable/DataTableCardControls.native.js.map +1 -1
  183. package/dist/jsx/components/DataTable/DataTableRoot.mjs +33 -6
  184. package/dist/jsx/components/DataTable/DataTableRoot.mjs.map +1 -1
  185. package/dist/jsx/components/DataTable/DataTableRoot.native.js +29 -4
  186. package/dist/jsx/components/DataTable/DataTableRoot.native.js.map +1 -1
  187. package/dist/jsx/components/DataTable/DataTableStateContext.mjs.map +1 -1
  188. package/dist/jsx/components/DataTable/DataTableStateContext.native.js.map +1 -1
  189. package/dist/jsx/components/DataTableBulkActions/index.mjs +0 -4
  190. package/dist/jsx/components/DataTableBulkActions/index.mjs.map +1 -1
  191. package/dist/jsx/components/DataTableBulkActions/index.native.js +0 -4
  192. package/dist/jsx/components/DataTableBulkActions/index.native.js.map +1 -1
  193. package/dist/jsx/components/DataTableCell/index.mjs +17 -2
  194. package/dist/jsx/components/DataTableCell/index.mjs.map +1 -1
  195. package/dist/jsx/components/DataTableCell/index.native.js +16 -1
  196. package/dist/jsx/components/DataTableCell/index.native.js.map +1 -1
  197. package/dist/jsx/components/DataTableDateFilter/index.mjs +0 -7
  198. package/dist/jsx/components/DataTableDateFilter/index.mjs.map +1 -1
  199. package/dist/jsx/components/DataTableDateFilter/index.native.js +0 -7
  200. package/dist/jsx/components/DataTableDateFilter/index.native.js.map +1 -1
  201. package/dist/jsx/components/DataTableFilterButton/index.mjs +0 -1
  202. package/dist/jsx/components/DataTableFilterButton/index.mjs.map +1 -1
  203. package/dist/jsx/components/DataTableFilterButton/index.native.js +0 -1
  204. package/dist/jsx/components/DataTableFilterChips/FilterChip.mjs +3 -2
  205. package/dist/jsx/components/DataTableFilterChips/FilterChip.mjs.map +1 -1
  206. package/dist/jsx/components/DataTableFilterChips/FilterChip.native.js +4 -1
  207. package/dist/jsx/components/DataTableFilterChips/FilterChip.native.js.map +1 -1
  208. package/dist/jsx/components/DataTableFilters/index.mjs +0 -1
  209. package/dist/jsx/components/DataTableFilters/index.mjs.map +1 -1
  210. package/dist/jsx/components/DataTableFilters/index.native.js +0 -1
  211. package/dist/jsx/components/DataTableGrouping/index.mjs +0 -8
  212. package/dist/jsx/components/DataTableGrouping/index.mjs.map +1 -1
  213. package/dist/jsx/components/DataTableGrouping/index.native.js +0 -8
  214. package/dist/jsx/components/DataTableGrouping/index.native.js.map +1 -1
  215. package/dist/jsx/components/DataTablePagination/index.mjs +30 -14
  216. package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
  217. package/dist/jsx/components/DataTablePagination/index.native.js +30 -14
  218. package/dist/jsx/components/DataTablePagination/index.native.js.map +1 -1
  219. package/dist/jsx/components/DataTableSearch/index.mjs +0 -3
  220. package/dist/jsx/components/DataTableSearch/index.mjs.map +1 -1
  221. package/dist/jsx/components/DataTableSearch/index.native.js +0 -3
  222. package/dist/jsx/components/DataTableSearch/index.native.js.map +1 -1
  223. package/dist/jsx/components/DataTableToolbar/index.mjs +0 -1
  224. package/dist/jsx/components/DataTableToolbar/index.mjs.map +1 -1
  225. package/dist/jsx/components/DataTableToolbar/index.native.js +0 -1
  226. package/dist/jsx/components/DataTableToolbar/index.native.js.map +1 -1
  227. package/dist/jsx/components/DataTableViewOptions/index.mjs +0 -5
  228. package/dist/jsx/components/DataTableViewOptions/index.mjs.map +1 -1
  229. package/dist/jsx/components/DataTableViewOptions/index.native.js +0 -5
  230. package/dist/jsx/components/DataTableViewOptions/index.native.js.map +1 -1
  231. package/dist/jsx/components/FilterManager.mjs +0 -1
  232. package/dist/jsx/components/FilterManager.mjs.map +1 -1
  233. package/dist/jsx/components/FilterManager.native.js +0 -1
  234. package/dist/jsx/components/FilterManager.native.js.map +1 -1
  235. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs +2 -2
  236. package/dist/jsx/components/FilterOperatorValueEditor/index.mjs.map +1 -1
  237. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js +2 -2
  238. package/dist/jsx/components/FilterOperatorValueEditor/index.native.js.map +1 -1
  239. package/dist/jsx/components/TableInput/index.mjs +3 -2
  240. package/dist/jsx/components/TableInput/index.mjs.map +1 -1
  241. package/dist/jsx/components/TableInput/index.native.js +4 -2
  242. package/dist/jsx/components/TableInput/index.native.js.map +1 -1
  243. package/dist/jsx/hooks/useDataTable.mjs +24 -8
  244. package/dist/jsx/hooks/useDataTable.mjs.map +1 -1
  245. package/dist/jsx/hooks/useDataTable.native.js +28 -8
  246. package/dist/jsx/hooks/useDataTable.native.js.map +1 -1
  247. package/dist/jsx/index.js +3 -1
  248. package/dist/jsx/index.js.map +1 -1
  249. package/dist/jsx/index.mjs +3 -1
  250. package/dist/jsx/index.mjs.map +1 -1
  251. package/dist/jsx/index.native.js +12 -0
  252. package/dist/jsx/index.native.js.map +1 -1
  253. package/dist/jsx/shared/devWarn.mjs +43 -0
  254. package/dist/jsx/shared/devWarn.mjs.map +1 -0
  255. package/dist/jsx/shared/devWarn.native.js +84 -0
  256. package/dist/jsx/shared/devWarn.native.js.map +1 -0
  257. package/dist/jsx/utils/columnAlign.mjs +4 -1
  258. package/dist/jsx/utils/columnAlign.mjs.map +1 -1
  259. package/dist/jsx/utils/columnAlign.native.js +4 -1
  260. package/dist/jsx/utils/columnAlign.native.js.map +1 -1
  261. package/dist/jsx/utils/filterFields.mjs +5 -0
  262. package/dist/jsx/utils/filterFields.mjs.map +1 -1
  263. package/dist/jsx/utils/filterFields.native.js +5 -0
  264. package/dist/jsx/utils/filterFields.native.js.map +1 -1
  265. package/dist/jsx/utils/filterUtils.mjs +30 -0
  266. package/dist/jsx/utils/filterUtils.mjs.map +1 -1
  267. package/dist/jsx/utils/filterUtils.native.js +50 -0
  268. package/dist/jsx/utils/filterUtils.native.js.map +1 -1
  269. package/dist/jsx/utils/money.mjs +104 -0
  270. package/dist/jsx/utils/money.mjs.map +1 -0
  271. package/dist/jsx/utils/money.native.js +165 -0
  272. package/dist/jsx/utils/money.native.js.map +1 -0
  273. package/dist/jsx/utils/rowAccumulator.mjs +23 -0
  274. package/dist/jsx/utils/rowAccumulator.mjs.map +1 -0
  275. package/dist/jsx/utils/rowAccumulator.native.js +51 -0
  276. package/dist/jsx/utils/rowAccumulator.native.js.map +1 -0
  277. package/package.json +12 -12
  278. package/src/components/ColumnHeaderFilter/ColumnHeaderFilter.spec.tsx +142 -7
  279. package/src/components/ColumnHeaderFilter/ColumnHeaderFilter.stories.tsx +46 -9
  280. package/src/components/ColumnHeaderFilter/index.tsx +104 -47
  281. package/src/components/DataTable/DataTable.stories.tsx +186 -14
  282. package/src/components/DataTable/DataTableCardControls.tsx +11 -13
  283. package/src/components/DataTable/DataTableRoot.tsx +40 -14
  284. package/src/components/DataTable/DataTableStateContext.ts +7 -0
  285. package/src/components/DataTable/columnWidthLayout.spec.tsx +195 -0
  286. package/src/components/DataTable/headerSorting.spec.tsx +25 -0
  287. package/src/components/DataTable/moneyColumn.spec.tsx +151 -0
  288. package/src/components/DataTable/rowAccumulator.spec.tsx +171 -0
  289. package/src/components/DataTableBulkActions/index.tsx +0 -4
  290. package/src/components/DataTableCell/index.tsx +28 -2
  291. package/src/components/DataTableColumnPinning/DataTableColumnPinning.stories.tsx +0 -4
  292. package/src/components/DataTableDateFilter/index.tsx +0 -7
  293. package/src/components/DataTableFilterButton/index.tsx +1 -1
  294. package/src/components/DataTableFilterChips/FilterChip.spec.tsx +6 -0
  295. package/src/components/DataTableFilterChips/FilterChip.tsx +3 -2
  296. package/src/components/DataTableFilters/index.tsx +1 -1
  297. package/src/components/DataTableGrouping/DataTableGrouping.stories.tsx +0 -4
  298. package/src/components/DataTableGrouping/index.tsx +1 -13
  299. package/src/components/DataTablePagination/DataTablePagination.stories.tsx +14 -1
  300. package/src/components/DataTablePagination/DataTablePagination.width.spec.tsx +51 -0
  301. package/src/components/DataTablePagination/index.tsx +60 -16
  302. package/src/components/DataTableSearch/index.tsx +2 -3
  303. package/src/components/DataTableToolbar/DataTableToolbar.stories.tsx +2 -4
  304. package/src/components/DataTableToolbar/index.tsx +1 -5
  305. package/src/components/DataTableViewOptions/index.tsx +2 -13
  306. package/src/components/FilterManager.tsx +1 -3
  307. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +1 -1
  308. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.stories.tsx +1 -0
  309. package/src/components/FilterOperatorValueEditor/index.tsx +10 -2
  310. package/src/components/TableInput/index.native.tsx +3 -2
  311. package/src/components/TableInput/index.tsx +3 -2
  312. package/src/hooks/useDataTable.ts +43 -7
  313. package/src/index.ts +13 -0
  314. package/src/shared/devWarn.ts +97 -0
  315. package/src/types.ts +71 -2
  316. package/src/utils/columnAlign.ts +9 -1
  317. package/src/utils/filterFields.ts +23 -1
  318. package/src/utils/filterUtils.ts +50 -1
  319. package/src/utils/money.spec.ts +156 -0
  320. package/src/utils/money.ts +202 -0
  321. package/src/utils/rowAccumulator.ts +136 -0
  322. package/types/components/ColumnHeaderFilter/index.d.ts +9 -2
  323. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
  324. package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
  325. package/types/components/DataTable/DataTableRoot.d.ts +1 -1
  326. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  327. package/types/components/DataTable/DataTableStateContext.d.ts +7 -0
  328. package/types/components/DataTable/DataTableStateContext.d.ts.map +1 -1
  329. package/types/components/DataTableBulkActions/index.d.ts.map +1 -1
  330. package/types/components/DataTableCell/index.d.ts.map +1 -1
  331. package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
  332. package/types/components/DataTableFilterChips/FilterChip.d.ts.map +1 -1
  333. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  334. package/types/components/DataTablePagination/index.d.ts.map +1 -1
  335. package/types/components/DataTableSearch/index.d.ts.map +1 -1
  336. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  337. package/types/components/DataTableViewOptions/index.d.ts.map +1 -1
  338. package/types/components/FilterManager.d.ts.map +1 -1
  339. package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -1
  340. package/types/components/TableInput/index.d.ts.map +1 -1
  341. package/types/components/TableInput/index.native.d.ts.map +1 -1
  342. package/types/hooks/useDataTable.d.ts +1 -1
  343. package/types/hooks/useDataTable.d.ts.map +1 -1
  344. package/types/index.d.ts +3 -0
  345. package/types/index.d.ts.map +1 -1
  346. package/types/shared/devWarn.d.ts +50 -0
  347. package/types/shared/devWarn.d.ts.map +1 -0
  348. package/types/types.d.ts +71 -3
  349. package/types/types.d.ts.map +1 -1
  350. package/types/utils/columnAlign.d.ts.map +1 -1
  351. package/types/utils/filterFields.d.ts.map +1 -1
  352. package/types/utils/filterUtils.d.ts +1 -1
  353. package/types/utils/filterUtils.d.ts.map +1 -1
  354. package/types/utils/money.d.ts +94 -0
  355. package/types/utils/money.d.ts.map +1 -0
  356. package/types/utils/rowAccumulator.d.ts +107 -0
  357. package/types/utils/rowAccumulator.d.ts.map +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["parseCalendarDate","t","_instanceof","left","right","Symbol","hasInstance","compareDates","value","filterValue","ordered","getTime","generateFilterId","Date","now","Math","random","toString","slice","serializeFilters","filters","JSON","stringify","error","console","warn","deserializeFilters","filterString","parsed","parse","Array","isArray","applyFilterToValue","columnType","arguments","length","operator","filterVal","values","stringValue","String","toLowerCase","filterStringValue","includes","startsWith","endsWith","Number","Boolean","numValue","min","max","numValue1","min1","max1","a","b","some","v","validateFilter","filter","_filter_value","errors","columnId","push","isValid","combineFilters","combinationMode","columnFilters","f","every","inferColumnType","isNaN","getFilterDescription","columnLabel","label","opts","column","list","join"],"sources":["../../../src/utils/filterUtils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["parseCalendarDate","isMoneyString","moneyComparator","t","_instanceof","left","right","Symbol","hasInstance","compareDates","value","filterValue","ordered","getTime","generateFilterId","Date","now","Math","random","toString","slice","serializeFilters","filters","JSON","stringify","error","console","warn","deserializeFilters","filterString","parsed","parse","Array","isArray","compareMoneyValues","String","applyFilterToValue","columnType","arguments","length","operator","filterVal","values","stringValue","toLowerCase","filterStringValue","includes","startsWith","endsWith","delta","Number","Boolean","numValue","min","max","numValue1","min1","max1","a","b","some","v","validateFilter","filter","_filter_value","errors","columnId","push","isValid","combineFilters","combinationMode","columnFilters","f","every","inferColumnType","isNaN","getFilterDescription","columnLabel","label","opts","column"],"sources":["../../../src/utils/filterUtils.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -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":"AAgDA,MAAMA,YAAA,GAAe;AAOrB,SAASC,WAAWC,GAAA,EAA0B;EAC5C,MAAMC,KAAA,GAAQH,YAAA,CAAaI,IAAA,CAAKF,GAAG;EACnC,MAAMG,KAAA,GAAQF,KAAA,GAAQ,CAAC,KAAK;EAC5B,MAAMG,QAAA,GAAWH,KAAA,GAAQ,CAAC,KAAK;EAC/B,IAAI,CAACA,KAAA,IAAUE,KAAA,KAAU,MAAMC,QAAA,KAAa,IAAK;IAC/C,MAAM,IAAIC,KAAA,CAAM,gCAAgCC,IAAA,CAAKC,SAAA,CAAUP,GAAG,CAAC,EAAE;EACvE;EACA,MAAMQ,SAAA,GAAYC,MAAA,EAAQN,KAAA,IAAS,OAAOC,QAAQ;EAClD,OAAO;IAAEM,KAAA,EAAOT,KAAA,CAAM,CAAC,MAAM,MAAM,CAACO,SAAA,GAAYA,SAAA;IAAWG,KAAA,EAAOP,QAAA,CAASQ;EAAO;AACpF;AAEA,SAASC,QAAQC,KAAA,EAAoBH,KAAA,EAAuB;EAC1D,OAAOG,KAAA,CAAMJ,KAAA,GAAQD,MAAA,CAAO,EAAE,KAAKA,MAAA,CAAOE,KAAA,GAAQG,KAAA,CAAMH,KAAK;AAC/D;AAEA,SAASI,aAAaL,KAAA,EAAeC,KAAA,EAAuB;EAC1D,MAAMK,QAAA,GAAWN,KAAA,GAAQD,MAAA,CAAO,CAAC;EACjC,MAAMQ,MAAA,IAAUD,QAAA,GAAW,CAACN,KAAA,GAAQA,KAAA,EAAOQ,QAAA,CAAS,EAAEC,QAAA,CAASR,KAAA,GAAQ,GAAG,GAAG;EAC7E,MAAMS,KAAA,GAAQH,MAAA,CAAOL,MAAA,GAASD,KAAA;EAC9B,MAAMR,KAAA,GAAQc,MAAA,CAAOI,KAAA,CAAM,GAAGD,KAAK;EACnC,MAAMhB,QAAA,GAAWa,MAAA,CAAOI,KAAA,CAAMD,KAAK;EACnC,OAAO,GAAGJ,QAAA,GAAW,MAAM,EAAE,GAAGb,KAAK,GAAGQ,KAAA,GAAQ,IAAI,IAAIP,QAAQ,KAAK,EAAE;AACzE;AAGO,SAASkB,cAActB,GAAA,EAA6B;EACzD,IAAI,OAAOA,GAAA,KAAQ,UAAU,OAAO;EACpC,MAAMC,KAAA,GAAQH,YAAA,CAAaI,IAAA,CAAKF,GAAG;EACnC,OAAO,CAAC,CAACC,KAAA,IAAS,EAAEA,KAAA,CAAM,CAAC,MAAM,OAAOA,KAAA,CAAM,CAAC,KAAK,QAAQ;AAC9D;AAGO,SAASsB,SAASC,CAAA,EAAWC,CAAA,EAAmB;EACrD,MAAMC,CAAA,GAAI3B,UAAA,CAAWyB,CAAC;EACtB,MAAMG,CAAA,GAAI5B,UAAA,CAAW0B,CAAC;EACtB,MAAMd,KAAA,GAAQiB,IAAA,CAAKC,GAAA,CAAIH,CAAA,CAAEf,KAAA,EAAOgB,CAAA,CAAEhB,KAAK;EACvC,OAAOI,YAAA,CAAaF,OAAA,CAAQa,CAAA,EAAGf,KAAK,IAAIE,OAAA,CAAQc,CAAA,EAAGhB,KAAK,GAAGA,KAAK;AAClE;AAGO,SAASmB,cAAcN,CAAA,EAAWC,CAAA,EAAmB;EAC1D,MAAMC,CAAA,GAAI3B,UAAA,CAAWyB,CAAC;EACtB,MAAMG,CAAA,GAAI5B,UAAA,CAAW0B,CAAC;EACtB,MAAMd,KAAA,GAAQiB,IAAA,CAAKC,GAAA,CAAIH,CAAA,CAAEf,KAAA,EAAOgB,CAAA,CAAEhB,KAAK;EACvC,OAAOI,YAAA,CAAaF,OAAA,CAAQa,CAAA,EAAGf,KAAK,IAAIE,OAAA,CAAQc,CAAA,EAAGhB,KAAK,GAAGA,KAAK;AAClE;AAMO,SAASoB,SAASC,MAAA,EAAmC;EAC1D,IAAIA,MAAA,CAAOpB,MAAA,KAAW,GAAG,OAAO;EAChC,MAAMqB,MAAA,GAASD,MAAA,CAAOE,GAAA,CAAInC,UAAU;EACpC,MAAMY,KAAA,GAAQsB,MAAA,CAAOE,MAAA,CAAO,CAACC,MAAA,EAAQC,CAAA,KAAMT,IAAA,CAAKC,GAAA,CAAIO,MAAA,EAAQC,CAAA,CAAE1B,KAAK,GAAG,CAAC;EACvE,OAAOI,YAAA,CACLkB,MAAA,CAAOE,MAAA,CAAO,CAACG,KAAA,EAAOD,CAAA,KAAMC,KAAA,GAAQzB,OAAA,CAAQwB,CAAA,EAAG1B,KAAK,GAAGF,MAAA,CAAO,CAAC,CAAC,GAChEE,KACF;AACF;AAaO,SAAS4B,mBACdC,IAAA,EACAC,QAAA,EACAC,UAAA,EACwB;EACxB,MAAMC,MAAA,GAAiC,CAAC;EACxC,WAAWC,GAAA,IAAOJ,IAAA,EAAM;IACtB,MAAMK,MAAA,GAASJ,QAAA,CAASG,GAAG;IAC3B,IAAI,CAACtB,aAAA,CAAcuB,MAAM,GAAG;IAC5B,MAAM7C,GAAA,GAAM0C,UAAA,CAAWE,GAAG;IAC1B,MAAME,IAAA,GAAO,OAAO9C,GAAA,KAAQ,YAAYA,GAAA,GAAMA,GAAA,GAAM;IACpD,MAAM+C,OAAA,GAAUJ,MAAA,CAAOG,IAAI;IAC3BH,MAAA,CAAOG,IAAI,IAAIC,OAAA,GAAUxB,QAAA,CAASwB,OAAA,EAASF,MAAM,IAAIA,MAAA;EACvD;EACA,OAAOF,MAAA;AACT;AAOO,SAASK,aAAaxB,CAAA,EAAWC,CAAA,EAAmB;EACzD,MAAMC,CAAA,GAAI3B,UAAA,CAAWyB,CAAC;EACtB,MAAMG,CAAA,GAAI5B,UAAA,CAAW0B,CAAC;EACtB,MAAMd,KAAA,GAAQiB,IAAA,CAAKC,GAAA,CAAIH,CAAA,CAAEf,KAAA,EAAOgB,CAAA,CAAEhB,KAAK;EACvC,MAAMsC,KAAA,GAAQpC,OAAA,CAAQa,CAAA,EAAGf,KAAK,IAAIE,OAAA,CAAQc,CAAA,EAAGhB,KAAK;EAClD,IAAIsC,KAAA,GAAQxC,MAAA,CAAO,CAAC,GAAG,OAAO;EAC9B,IAAIwC,KAAA,GAAQxC,MAAA,CAAO,CAAC,GAAG,OAAO;EAC9B,OAAO;AACT;AAQO,SAASyC,gBAAgB1B,CAAA,EAAYC,CAAA,EAAoB;EAC9D,MAAM0B,IAAA,GAAO7B,aAAA,CAAcE,CAAC,IAAIA,CAAA,GAAI;EACpC,MAAM4B,KAAA,GAAQ9B,aAAA,CAAcG,CAAC,IAAIA,CAAA,GAAI;EACrC,IAAI0B,IAAA,KAAS,QAAQC,KAAA,KAAU,MAAM,OAAO;EAC5C,IAAID,IAAA,KAAS,MAAM,OAAO;EAC1B,IAAIC,KAAA,KAAU,MAAM,OAAO;EAC3B,OAAOJ,YAAA,CAAaG,IAAA,EAAMC,KAAK;AACjC;AAGO,SAASC,gBAAgBrD,GAAA,EAAuB;EACrD,OAAO,OAAOA,GAAA,KAAQ,YAAYA,GAAA,CAAIsD,SAAA,CAAU,EAAEC,UAAA,CAAW,GAAG;AAClE;AASO,SAASC,YAAYxD,GAAA,EAAcyD,QAAA,EAAmBC,MAAA,EAAyB;EACpF,IAAI,OAAO1D,GAAA,KAAQ,YAAYA,GAAA,KAAQ,IAAI,OAAO;EAClD,IAAI,CAACsB,aAAA,CAActB,GAAG,GAAG,OAAOA,GAAA;EAChC,MAAM2D,KAAA,GAAQC,MAAA,CAAO5D,GAAG;EACxB,IAAI,CAAC4D,MAAA,CAAOC,QAAA,CAASF,KAAK,GAAG,OAAO3D,GAAA;EACpC,IAAI,CAACyD,QAAA,EAAU;IACb,OAAOE,KAAA,CAAMG,cAAA,CAAeJ,MAAA,EAAQ;MAAEK,qBAAA,EAAuB;IAAE,CAAC;EAClE;EACA,IAAI;IACF,OAAOJ,KAAA,CAAMG,cAAA,CAAeJ,MAAA,EAAQ;MAAEM,KAAA,EAAO;MAAYP,QAAA;MAAUM,qBAAA,EAAuB;IAAE,CAAC;EAC/F,QAAQ;IAGN,OAAO,GAAGN,QAAQ,IAAIE,KAAA,CAAMG,cAAA,CAAeJ,MAAA,EAAQ;MAAEK,qBAAA,EAAuB;IAAE,CAAC,CAAC;EAClF;AACF","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":"AAgDA,IAAAA,YAAM,qCAAe;AAOrB,SAASC,WAAWC,GAAA,EAA0B;EAC5C,IAAAC,IAAM,EAAAC,KAAQ;EACd,IAAAC,KAAM,GAAAL,YAAiB,CAAAM,IAAK,CAAAJ,GAAA;EAC5B,IAAAK,KAAM,IAAAJ,IAAW,GAAAE,KAAQ,KAAC,IAAK,IAAAA,KAAA,uBAAAA,KAAA,iBAAAF,IAAA,cAAAA,IAAA;EAC/B,IAAIK,QAAC,GAAU,CAAAJ,KAAA,GAAUC,KAAA,KAAM,QAAAA,KAAkB,uBAAAA,KAAA,iBAAAD,KAAA,cAAAA,KAAA;EAC/C,KAAAC,KAAM,IAAIE,KAAM,WAAAC,QAAA;IAClB,UAAAC,KAAA,iCAAAC,IAAA,CAAAC,SAAA,CAAAT,GAAA;EACA;EACA,IAAAU,SAAS,GAAOC,MAAM,CAAC,CAAAN,KAAM,OAAO,IAAAC,QAAY;EAClD;IAEAM,KAAS,EAAAT,KAAA,CAAQ,OAAoB,OAAuBO,SAAA,GAAAA,SAAA;IAC1DG,KAAO,EAAAP,QAAM,CAAAQ;EACf;AAEA;AACE,SAAMC,QAAAC,KAAW,EAAAH,KAAQ;EACzB,OAAMG,KAAA,CAAAJ,KAAU,GAAAK,IAAA,CAAAC,GAAY,CAAAP,MAAQ,MAAAA,MAAO,CAAAE,KAAW,GAAAG,KAAA,CAASH,KAAA;AAC/D;AACA,SAAMM,YAAQA,CAAAP,KAAO,EAAMC,KAAG;EAC9B,IAAAO,QAAM,GAAAR,KAAW,GAAAD,MAAO,CAAM;EAC9B,IAAAU,MAAU,IAAAD,QAAW,IAAAR,KAAQ,GAAGA,KAAK,EAAGU,QAAQ,GAAIC,QAAI,CAAAV,KAAQ,GAAK,GAAE;EACzE,IAAAW,KAAA,GAAAH,MAAA,CAAAP,MAAA,GAAAD,KAAA;EAGO,IAAAR,KAAS,GAAAgB,MAAA,CAAAI,KAAc,EAA6B,EAAAD,KAAA;EACzD,IAAIlB,QAAO,GAAAe,MAAQ,CAAAI,KAAA,CAAUD,KAAA;EAC7B,OAAM,GAAAJ,QAAQ,SAAa,KAAKf,KAAG,GAAAQ,KAAA,WAAAP,QAAA;AACnC;AACF,SAAAoB,cAAA1B,GAAA;EAGO,IAAA2B,OAAS;EACd,WAAU3B,GAAA,aAAY;EACtB,IAAAG,KAAM,GAAIL,YAAY,CAAAM,IAAA,CAAAJ,GAAA;EACtB,OAAM,EAAAG,KAAQ,MAAKA,KAAM,QAAO,EAAE,IAAK,EAAAwB,OAAA,GAAAxB,KAAA,iBAAAwB,OAAA,cAAAA,OAAA;AACvC;AACF,SAAAC,SAAAC,CAAA,EAAAC,CAAA;EAGO,IAAAC,CAAA,GAAShC,UAAA,CAAA8B,CAAA,CAAc;EAC5B,IAAAG,CAAA,GAAMjC,UAAI,CAAA+B,CAAA,CAAW;EACrB,IAAAjB,KAAM,GAAII,IAAA,CAAAgB,GAAA,CAAWF,CAAC,CAAAlB,KAAA,EAAAmB,CAAA,CAAAnB,KAAA;EACtB,OAAMM,YAAa,CAAAJ,OAAM,CAAAgB,CAAA,EAAAlB,KAAS,IAAKE,OAAA,CAAAiB,CAAA,EAAAnB,KAAA,GAAAA,KAAA;AACvC;AACF,SAAAqB,cAAAL,CAAA,EAAAC,CAAA;EAMO,IAAAC,CAAA,GAAShC,UAAS,CAAA8B,CAAA;EACvB,IAAIG,CAAA,GAAAjC,UAAO,CAAA+B,CAAA;EACX,IAAAjB,KAAM,GAAAI,IAAS,CAAAgB,GAAA,CAAAF,CAAO,CAAAlB,KAAI,EAAAmB,CAAA,CAAAnB,KAAU;EACpC,OAAMM,YAAQ,CAAAJ,OAAO,CAAOgB,CAAC,EAAAlB,KAAA,CAAQ,GAAAE,OAAM,CAAKiB,CAAA,EAAAnB,KAAI,GAAAA,KAAU;AAC9D;AAAO,SACLsB,QAAOA,CAAOC,MAAC,EAAO;EAA0C,IAChEA,MAAA,CAAAtB,MAAA;EACF,IAAAuB,MAAA,GAAAD,MAAA,CAAAE,GAAA,CAAAvC,UAAA;EACF,IAAAc,KAAA,GAAAwB,MAAA,CAAAE,MAAA,WAAAC,MAAA,EAAAC,CAAA;IAaO,OAASxB,IAAA,CAAAgB,GAAA,CAAAO,MAAA,EACdC,CAAA,CAAA5B,KACA;EAGA;EACA,OAAAM,YAAkB,CAAAkB,MAAM,CAAAE,MAAA,WAAAG,KAAA,EAAAD,CAAA;IACtB,OAAMC,KAAA,GAAS3B,OAAA,CAAA0B,CAAS,EAAA5B,KAAG;EAC3B,GAAAF,MAAK,MAAAE,KAAA,CAAc;AACnB;AACA,SAAA8B,kBAAoBA,CAAAC,IAAQ,EAAAC,QAAA,EAAYC,UAAM,EAAM;EACpD,IAAAC,MAAM;EACN,IAAAC,yBAAyB,OAAS;IAAAC,iBAAmB;IAAAC,cAAA;EACvD;IACA,KAAO,IAAAC,SAAA,GAAAP,IAAA,CAAAQ,MAAA,CAAAC,QAAA,KAAAC,KAAA,IAAAN,yBAAA,IAAAM,KAAA,GAAAH,SAAA,CAAAI,IAAA,IAAAC,IAAA,GAAAR,yBAAA;MACT,IAAAS,GAAA,GAAAH,KAAA,CAAAI,KAAA;MAOO,IAASC,MAAA,GAAAd,QAAwB,CAAmBY,GAAA;MACzD,IAAM,CAAA/B,aAAgB,CAAAiC,MAAA;MACtB,IAAM3D,GAAI,GAAA8C,UAAY,CAAAW,GAAA;MACtB,IAAMG,IAAA,GAAQ,OAAK5D,GAAM,aAAS,IAAKA,GAAA,GAAAA,GAAA;MACvC,IAAM6D,OAAQ,GAAAd,MAAQ,CAAGa,IAAA,CAAK;MAC1Bb,MAAA,CAAAa,IAAQ,IAAOC,OAAI,GAAAjC,QAAO,CAAAiC,OAAA,EAAAF,MAAA,IAAAA,MAAA;IAC9B;EACA,SAAOG,GAAA;IACTb,iBAAA;IAQOC,cAAS,GAAAY,GAAA;EACd,UAAM;IACN,IAAM;MACF,KAAAd,yBAA2B,IAAMG,SAAO,CAAAY,MAAA;QACxCZ,SAAS,CAAAY,MAAM;MACf;IACJ,UAAO;MACT,IAAAd,iBAAA;QAGO,MAASC,cAAgB;MAC9B;IACF;EASO;EACL,OAAIH,MAAO;AACX;AACA,SAAMiB,YAAQA,CAAAnC,CAAO,EAAAC,CAAG;EACxB,IAAIC,CAAC,GAAAhC,UAAO,CAAA8B,CAAA,CAAS;EACrB,IAAIG,CAAC,GAAAjC,UAAU,CAAA+B,CAAA;EACb,IAAAjB,KAAO,GAAAI,IAAM,CAAAgB,GAAA,CAAAF,CAAA,CAAAlB,KAAA,EAAemB,CAAA,CAAAnB,KAAA,CAAQ;EACtC,IAAAoD,KAAA,GAAAlD,OAAA,CAAAgB,CAAA,EAAAlB,KAAA,IAAAE,OAAA,CAAAiB,CAAA,EAAAnB,KAAA;EACA,IAAIoD,KAAA,GAAAtD,MAAA;EACF,IAAAsD,KAAO,GAAAtD,MAAM,YAAe;EAC9B,QAAQ;AAGN;AAAgF,SAClFuD,gBAAArC,CAAA,EAAAC,CAAA;EACF,IAAAqC,IAAA,GAAAzC,aAAA,CAAAG,CAAA,IAAAA,CAAA","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":[]}