@multiplatform.one/table 7.7.4 → 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 (359) 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 +51 -15
  31. package/dist/cjs/components/DataTablePagination/index.native.js +54 -16
  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 +54 -18
  116. package/dist/esm/components/DataTablePagination/index.mjs.map +1 -1
  117. package/dist/esm/components/DataTablePagination/index.native.js +57 -19
  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 +54 -18
  216. package/dist/jsx/components/DataTablePagination/index.mjs.map +1 -1
  217. package/dist/jsx/components/DataTablePagination/index.native.js +54 -16
  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.spec.tsx +9 -2
  300. package/src/components/DataTablePagination/DataTablePagination.stories.tsx +32 -0
  301. package/src/components/DataTablePagination/DataTablePagination.width.spec.tsx +109 -0
  302. package/src/components/DataTablePagination/index.tsx +100 -20
  303. package/src/components/DataTableSearch/index.tsx +2 -3
  304. package/src/components/DataTableToolbar/DataTableToolbar.stories.tsx +2 -4
  305. package/src/components/DataTableToolbar/index.tsx +1 -5
  306. package/src/components/DataTableViewOptions/index.tsx +2 -13
  307. package/src/components/FilterManager.tsx +1 -3
  308. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.spec.tsx +1 -1
  309. package/src/components/FilterOperatorValueEditor/FilterOperatorValueEditor.stories.tsx +1 -0
  310. package/src/components/FilterOperatorValueEditor/index.tsx +10 -2
  311. package/src/components/TableInput/index.native.tsx +3 -2
  312. package/src/components/TableInput/index.tsx +3 -2
  313. package/src/hooks/useDataTable.ts +43 -7
  314. package/src/index.ts +13 -0
  315. package/src/shared/devWarn.ts +97 -0
  316. package/src/types.ts +71 -2
  317. package/src/utils/columnAlign.ts +9 -1
  318. package/src/utils/filterFields.ts +23 -1
  319. package/src/utils/filterUtils.ts +50 -1
  320. package/src/utils/money.spec.ts +156 -0
  321. package/src/utils/money.ts +202 -0
  322. package/src/utils/rowAccumulator.ts +136 -0
  323. package/types/components/ColumnHeaderFilter/index.d.ts +9 -2
  324. package/types/components/ColumnHeaderFilter/index.d.ts.map +1 -1
  325. package/types/components/DataTable/DataTableCardControls.d.ts.map +1 -1
  326. package/types/components/DataTable/DataTableRoot.d.ts +1 -1
  327. package/types/components/DataTable/DataTableRoot.d.ts.map +1 -1
  328. package/types/components/DataTable/DataTableStateContext.d.ts +7 -0
  329. package/types/components/DataTable/DataTableStateContext.d.ts.map +1 -1
  330. package/types/components/DataTableBulkActions/index.d.ts.map +1 -1
  331. package/types/components/DataTableCell/index.d.ts.map +1 -1
  332. package/types/components/DataTableDateFilter/index.d.ts.map +1 -1
  333. package/types/components/DataTableFilterChips/FilterChip.d.ts.map +1 -1
  334. package/types/components/DataTableGrouping/index.d.ts.map +1 -1
  335. package/types/components/DataTablePagination/index.d.ts +1 -1
  336. package/types/components/DataTablePagination/index.d.ts.map +1 -1
  337. package/types/components/DataTableSearch/index.d.ts.map +1 -1
  338. package/types/components/DataTableToolbar/index.d.ts.map +1 -1
  339. package/types/components/DataTableViewOptions/index.d.ts.map +1 -1
  340. package/types/components/FilterManager.d.ts.map +1 -1
  341. package/types/components/FilterOperatorValueEditor/index.d.ts.map +1 -1
  342. package/types/components/TableInput/index.d.ts.map +1 -1
  343. package/types/components/TableInput/index.native.d.ts.map +1 -1
  344. package/types/hooks/useDataTable.d.ts +1 -1
  345. package/types/hooks/useDataTable.d.ts.map +1 -1
  346. package/types/index.d.ts +3 -0
  347. package/types/index.d.ts.map +1 -1
  348. package/types/shared/devWarn.d.ts +50 -0
  349. package/types/shared/devWarn.d.ts.map +1 -0
  350. package/types/types.d.ts +71 -3
  351. package/types/types.d.ts.map +1 -1
  352. package/types/utils/columnAlign.d.ts.map +1 -1
  353. package/types/utils/filterFields.d.ts.map +1 -1
  354. package/types/utils/filterUtils.d.ts +1 -1
  355. package/types/utils/filterUtils.d.ts.map +1 -1
  356. package/types/utils/money.d.ts +94 -0
  357. package/types/utils/money.d.ts.map +1 -0
  358. package/types/utils/rowAccumulator.d.ts +107 -0
  359. package/types/utils/rowAccumulator.d.ts.map +1 -0
@@ -1,4 +1,5 @@
1
1
  import { parseCalendarDate } from "@multiplatform.one/theme";
2
+ import { isMoneyString, moneyComparator } from "./money.native.js";
2
3
  import { t } from "../shared/t.native.js";
3
4
  function _instanceof(left, right) {
4
5
  "@swc/helpers - instanceof";
@@ -34,6 +35,11 @@ function deserializeFilters(filterString) {
34
35
  return [];
35
36
  }
36
37
  }
38
+ function compareMoneyValues(value, filterValue, ordered) {
39
+ var right = typeof filterValue === "number" ? String(filterValue) : filterValue;
40
+ if (!isMoneyString(value) || !isMoneyString(right)) return false;
41
+ return ordered(moneyComparator(value, right));
42
+ }
37
43
  function applyFilterToValue(value, filterValue) {
38
44
  var columnType = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "text";
39
45
  var {
@@ -62,6 +68,11 @@ function applyFilterToValue(value, filterValue) {
62
68
  return value !== "" && value != null;
63
69
  // Equality operators - handle different types
64
70
  case "is":
71
+ if (columnType === "money") {
72
+ return compareMoneyValues(value, filterVal, function (delta) {
73
+ return delta === 0;
74
+ });
75
+ }
65
76
  if (columnType === "number") {
66
77
  return Number(value) === Number(filterVal);
67
78
  }
@@ -70,21 +81,53 @@ function applyFilterToValue(value, filterValue) {
70
81
  }
71
82
  return stringValue === filterStringValue;
72
83
  case "isNot":
84
+ if (columnType === "money") {
85
+ return !compareMoneyValues(value, filterVal, function (delta) {
86
+ return delta === 0;
87
+ });
88
+ }
73
89
  if (columnType === "number") {
74
90
  return Number(value) !== Number(filterVal);
75
91
  }
76
92
  return stringValue !== filterStringValue;
77
93
  // Number/Date Filters
78
94
  case "isLessThan":
95
+ if (columnType === "money") {
96
+ return compareMoneyValues(value, filterVal, function (delta) {
97
+ return delta < 0;
98
+ });
99
+ }
79
100
  return columnType === "number" ? Number(value) < Number(filterVal) : stringValue < filterStringValue;
80
101
  case "isGreaterThan":
102
+ if (columnType === "money") {
103
+ return compareMoneyValues(value, filterVal, function (delta) {
104
+ return delta > 0;
105
+ });
106
+ }
81
107
  return columnType === "number" ? Number(value) > Number(filterVal) : stringValue > filterStringValue;
82
108
  case "isLessThanOrEqual":
109
+ if (columnType === "money") {
110
+ return compareMoneyValues(value, filterVal, function (delta) {
111
+ return delta <= 0;
112
+ });
113
+ }
83
114
  return columnType === "number" ? Number(value) <= Number(filterVal) : stringValue <= filterStringValue;
84
115
  case "isGreaterThanOrEqual":
116
+ if (columnType === "money") {
117
+ return compareMoneyValues(value, filterVal, function (delta) {
118
+ return delta >= 0;
119
+ });
120
+ }
85
121
  return columnType === "number" ? Number(value) >= Number(filterVal) : stringValue >= filterStringValue;
86
122
  case "isBetween":
87
123
  if (values && values.length >= 2) {
124
+ if (columnType === "money") {
125
+ return compareMoneyValues(value, values[0], function (delta) {
126
+ return delta >= 0;
127
+ }) && compareMoneyValues(value, values[1], function (delta) {
128
+ return delta <= 0;
129
+ });
130
+ }
88
131
  var numValue = Number(value);
89
132
  var min = Number(values[0]);
90
133
  var max = Number(values[1]);
@@ -93,6 +136,13 @@ function applyFilterToValue(value, filterValue) {
93
136
  return false;
94
137
  case "isNotBetween":
95
138
  if (values && values.length >= 2) {
139
+ if (columnType === "money") {
140
+ return compareMoneyValues(value, values[0], function (delta) {
141
+ return delta < 0;
142
+ }) || compareMoneyValues(value, values[1], function (delta) {
143
+ return delta > 0;
144
+ });
145
+ }
96
146
  var numValue1 = Number(value);
97
147
  var min1 = Number(values[0]);
98
148
  var max1 = Number(values[1]);
@@ -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":"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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":[]}