@multiplatform.one/frappe-ui 7.28.1 → 7.29.1

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 (325) hide show
  1. package/dist/cjs/FrappeCalendar.cjs +3 -2
  2. package/dist/cjs/FrappeCalendar.native.js +3 -2
  3. package/dist/cjs/FrappeCalendar.native.js.map +1 -1
  4. package/dist/cjs/FrappeForm.cjs +148 -464
  5. package/dist/cjs/FrappeForm.native.js +152 -633
  6. package/dist/cjs/FrappeForm.native.js.map +1 -1
  7. package/dist/cjs/FrappeListView.cjs +5 -27
  8. package/dist/cjs/FrappeListView.native.js +11 -32
  9. package/dist/cjs/FrappeListView.native.js.map +1 -1
  10. package/dist/cjs/FrappeReportBuilder.cjs +523 -309
  11. package/dist/cjs/FrappeReportBuilder.native.js +658 -353
  12. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  13. package/dist/cjs/FrappeReportView.cjs +35 -234
  14. package/dist/cjs/FrappeReportView.native.js +39 -283
  15. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  16. package/dist/cjs/dependsOn.cjs +2 -2
  17. package/dist/cjs/dependsOn.native.js +1 -2
  18. package/dist/cjs/dependsOn.native.js.map +1 -1
  19. package/dist/cjs/fields/shared/EditorPreviewPanes.cjs +2 -2
  20. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js +2 -2
  21. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  22. package/dist/cjs/formEngine/docPermissions.cjs +20 -0
  23. package/dist/cjs/formEngine/docPermissions.native.js +69 -0
  24. package/dist/cjs/formEngine/docPermissions.native.js.map +1 -1
  25. package/dist/cjs/formEngine/index.cjs +2 -0
  26. package/dist/cjs/formEngine/index.native.js +2 -0
  27. package/dist/cjs/formEngine/index.native.js.map +1 -1
  28. package/dist/cjs/index.cjs +67 -7
  29. package/dist/cjs/index.native.js +67 -7
  30. package/dist/cjs/index.native.js.map +1 -1
  31. package/dist/cjs/liveErrors.cjs +8 -2
  32. package/dist/cjs/liveErrors.native.js +8 -2
  33. package/dist/cjs/liveErrors.native.js.map +1 -1
  34. package/dist/cjs/measures.cjs +31 -0
  35. package/dist/cjs/measures.native.js +34 -0
  36. package/dist/cjs/measures.native.js.map +1 -0
  37. package/dist/cjs/recordShape.cjs +103 -0
  38. package/dist/cjs/recordShape.native.js +115 -0
  39. package/dist/cjs/recordShape.native.js.map +1 -0
  40. package/dist/cjs/report/ReportGrid.cjs +453 -0
  41. package/dist/cjs/report/ReportGrid.native.js +510 -0
  42. package/dist/cjs/report/ReportGrid.native.js.map +1 -0
  43. package/dist/cjs/report/ReportViewToolbar.cjs +253 -0
  44. package/dist/cjs/report/ReportViewToolbar.native.js +303 -0
  45. package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -0
  46. package/dist/cjs/report/queryReport.cjs +444 -0
  47. package/dist/cjs/report/queryReport.native.js +588 -0
  48. package/dist/cjs/report/queryReport.native.js.map +1 -0
  49. package/dist/cjs/report/queryReportColumns.cjs +131 -0
  50. package/dist/cjs/report/queryReportColumns.native.js +159 -0
  51. package/dist/cjs/report/queryReportColumns.native.js.map +1 -0
  52. package/dist/cjs/report/reportViewModel.cjs +386 -0
  53. package/dist/cjs/report/reportViewModel.native.js +657 -0
  54. package/dist/cjs/report/reportViewModel.native.js.map +1 -0
  55. package/dist/cjs/report/savedReports.cjs +137 -0
  56. package/dist/cjs/report/savedReports.native.js +169 -0
  57. package/dist/cjs/report/savedReports.native.js.map +1 -0
  58. package/dist/cjs/report/useFrappeReport.cjs +184 -0
  59. package/dist/cjs/report/useFrappeReport.native.js +214 -0
  60. package/dist/cjs/report/useFrappeReport.native.js.map +1 -0
  61. package/dist/cjs/report/useQueryReport.cjs +201 -0
  62. package/dist/cjs/report/useQueryReport.native.js +233 -0
  63. package/dist/cjs/report/useQueryReport.native.js.map +1 -0
  64. package/dist/cjs/useFrappeForm.cjs +558 -0
  65. package/dist/cjs/useFrappeForm.native.js +714 -0
  66. package/dist/cjs/useFrappeForm.native.js.map +1 -0
  67. package/dist/esm/FrappeCalendar.mjs +4 -3
  68. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  69. package/dist/esm/FrappeCalendar.native.js +4 -3
  70. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  71. package/dist/esm/FrappeForm.mjs +151 -467
  72. package/dist/esm/FrappeForm.mjs.map +1 -1
  73. package/dist/esm/FrappeForm.native.js +155 -636
  74. package/dist/esm/FrappeForm.native.js.map +1 -1
  75. package/dist/esm/FrappeListView.mjs +6 -28
  76. package/dist/esm/FrappeListView.mjs.map +1 -1
  77. package/dist/esm/FrappeListView.native.js +12 -33
  78. package/dist/esm/FrappeListView.native.js.map +1 -1
  79. package/dist/esm/FrappeReportBuilder.mjs +526 -312
  80. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  81. package/dist/esm/FrappeReportBuilder.native.js +661 -356
  82. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  83. package/dist/esm/FrappeReportView.mjs +30 -229
  84. package/dist/esm/FrappeReportView.mjs.map +1 -1
  85. package/dist/esm/FrappeReportView.native.js +34 -278
  86. package/dist/esm/FrappeReportView.native.js.map +1 -1
  87. package/dist/esm/dependsOn.mjs +2 -2
  88. package/dist/esm/dependsOn.mjs.map +1 -1
  89. package/dist/esm/dependsOn.native.js +1 -2
  90. package/dist/esm/dependsOn.native.js.map +1 -1
  91. package/dist/esm/fields/shared/EditorPreviewPanes.mjs +2 -2
  92. package/dist/esm/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  93. package/dist/esm/fields/shared/EditorPreviewPanes.native.js +2 -2
  94. package/dist/esm/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  95. package/dist/esm/formEngine/docPermissions.mjs +19 -1
  96. package/dist/esm/formEngine/docPermissions.mjs.map +1 -1
  97. package/dist/esm/formEngine/docPermissions.native.js +68 -1
  98. package/dist/esm/formEngine/docPermissions.native.js.map +1 -1
  99. package/dist/esm/formEngine/index.mjs +2 -2
  100. package/dist/esm/formEngine/index.mjs.map +1 -1
  101. package/dist/esm/formEngine/index.native.js +2 -2
  102. package/dist/esm/formEngine/index.native.js.map +1 -1
  103. package/dist/esm/index.mjs +16 -4
  104. package/dist/esm/index.mjs.map +1 -1
  105. package/dist/esm/index.native.js +16 -4
  106. package/dist/esm/index.native.js.map +1 -1
  107. package/dist/esm/liveErrors.mjs +8 -3
  108. package/dist/esm/liveErrors.mjs.map +1 -1
  109. package/dist/esm/liveErrors.native.js +8 -3
  110. package/dist/esm/liveErrors.native.js.map +1 -1
  111. package/dist/esm/measures.mjs +5 -0
  112. package/dist/esm/measures.mjs.map +1 -0
  113. package/dist/esm/measures.native.js +5 -0
  114. package/dist/esm/measures.native.js.map +1 -0
  115. package/dist/esm/recordShape.mjs +74 -0
  116. package/dist/esm/recordShape.mjs.map +1 -0
  117. package/dist/esm/recordShape.native.js +83 -0
  118. package/dist/esm/recordShape.native.js.map +1 -0
  119. package/dist/esm/report/ReportGrid.mjs +428 -0
  120. package/dist/esm/report/ReportGrid.mjs.map +1 -0
  121. package/dist/esm/report/ReportGrid.native.js +471 -0
  122. package/dist/esm/report/ReportGrid.native.js.map +1 -0
  123. package/dist/esm/report/ReportViewToolbar.mjs +228 -0
  124. package/dist/esm/report/ReportViewToolbar.mjs.map +1 -0
  125. package/dist/esm/report/ReportViewToolbar.native.js +264 -0
  126. package/dist/esm/report/ReportViewToolbar.native.js.map +1 -0
  127. package/dist/esm/report/queryReport.mjs +404 -0
  128. package/dist/esm/report/queryReport.mjs.map +1 -0
  129. package/dist/esm/report/queryReport.native.js +545 -0
  130. package/dist/esm/report/queryReport.native.js.map +1 -0
  131. package/dist/esm/report/queryReportColumns.mjs +105 -0
  132. package/dist/esm/report/queryReportColumns.mjs.map +1 -0
  133. package/dist/esm/report/queryReportColumns.native.js +119 -0
  134. package/dist/esm/report/queryReportColumns.native.js.map +1 -0
  135. package/dist/esm/report/reportViewModel.mjs +343 -0
  136. package/dist/esm/report/reportViewModel.mjs.map +1 -0
  137. package/dist/esm/report/reportViewModel.native.js +611 -0
  138. package/dist/esm/report/reportViewModel.native.js.map +1 -0
  139. package/dist/esm/report/savedReports.mjs +112 -0
  140. package/dist/esm/report/savedReports.mjs.map +1 -0
  141. package/dist/esm/report/savedReports.native.js +141 -0
  142. package/dist/esm/report/savedReports.native.js.map +1 -0
  143. package/dist/esm/report/useFrappeReport.mjs +158 -0
  144. package/dist/esm/report/useFrappeReport.mjs.map +1 -0
  145. package/dist/esm/report/useFrappeReport.native.js +185 -0
  146. package/dist/esm/report/useFrappeReport.native.js.map +1 -0
  147. package/dist/esm/report/useQueryReport.mjs +176 -0
  148. package/dist/esm/report/useQueryReport.mjs.map +1 -0
  149. package/dist/esm/report/useQueryReport.native.js +205 -0
  150. package/dist/esm/report/useQueryReport.native.js.map +1 -0
  151. package/dist/esm/useFrappeForm.mjs +533 -0
  152. package/dist/esm/useFrappeForm.mjs.map +1 -0
  153. package/dist/esm/useFrappeForm.native.js +686 -0
  154. package/dist/esm/useFrappeForm.native.js.map +1 -0
  155. package/dist/jsx/FrappeCalendar.mjs +4 -3
  156. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  157. package/dist/jsx/FrappeCalendar.native.js +3 -2
  158. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  159. package/dist/jsx/FrappeForm.mjs +151 -467
  160. package/dist/jsx/FrappeForm.mjs.map +1 -1
  161. package/dist/jsx/FrappeForm.native.js +152 -633
  162. package/dist/jsx/FrappeForm.native.js.map +1 -1
  163. package/dist/jsx/FrappeListView.mjs +6 -28
  164. package/dist/jsx/FrappeListView.mjs.map +1 -1
  165. package/dist/jsx/FrappeListView.native.js +11 -32
  166. package/dist/jsx/FrappeListView.native.js.map +1 -1
  167. package/dist/jsx/FrappeReportBuilder.mjs +526 -312
  168. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  169. package/dist/jsx/FrappeReportBuilder.native.js +658 -353
  170. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  171. package/dist/jsx/FrappeReportView.mjs +30 -229
  172. package/dist/jsx/FrappeReportView.mjs.map +1 -1
  173. package/dist/jsx/FrappeReportView.native.js +39 -283
  174. package/dist/jsx/FrappeReportView.native.js.map +1 -1
  175. package/dist/jsx/dependsOn.mjs +2 -2
  176. package/dist/jsx/dependsOn.mjs.map +1 -1
  177. package/dist/jsx/dependsOn.native.js +1 -2
  178. package/dist/jsx/dependsOn.native.js.map +1 -1
  179. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs +2 -2
  180. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  181. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js +2 -2
  182. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  183. package/dist/jsx/formEngine/docPermissions.mjs +19 -1
  184. package/dist/jsx/formEngine/docPermissions.mjs.map +1 -1
  185. package/dist/jsx/formEngine/docPermissions.native.js +69 -0
  186. package/dist/jsx/formEngine/docPermissions.native.js.map +1 -1
  187. package/dist/jsx/formEngine/index.mjs +2 -2
  188. package/dist/jsx/formEngine/index.mjs.map +1 -1
  189. package/dist/jsx/formEngine/index.native.js +2 -0
  190. package/dist/jsx/formEngine/index.native.js.map +1 -1
  191. package/dist/jsx/index.js +16 -4
  192. package/dist/jsx/index.js.map +1 -1
  193. package/dist/jsx/index.mjs +16 -4
  194. package/dist/jsx/index.mjs.map +1 -1
  195. package/dist/jsx/index.native.js +67 -7
  196. package/dist/jsx/index.native.js.map +1 -1
  197. package/dist/jsx/liveErrors.mjs +8 -3
  198. package/dist/jsx/liveErrors.mjs.map +1 -1
  199. package/dist/jsx/liveErrors.native.js +8 -2
  200. package/dist/jsx/liveErrors.native.js.map +1 -1
  201. package/dist/jsx/measures.mjs +5 -0
  202. package/dist/jsx/measures.mjs.map +1 -0
  203. package/dist/jsx/measures.native.js +34 -0
  204. package/dist/jsx/measures.native.js.map +1 -0
  205. package/dist/jsx/recordShape.mjs +74 -0
  206. package/dist/jsx/recordShape.mjs.map +1 -0
  207. package/dist/jsx/recordShape.native.js +115 -0
  208. package/dist/jsx/recordShape.native.js.map +1 -0
  209. package/dist/jsx/report/ReportGrid.mjs +428 -0
  210. package/dist/jsx/report/ReportGrid.mjs.map +1 -0
  211. package/dist/jsx/report/ReportGrid.native.js +510 -0
  212. package/dist/jsx/report/ReportGrid.native.js.map +1 -0
  213. package/dist/jsx/report/ReportViewToolbar.mjs +228 -0
  214. package/dist/jsx/report/ReportViewToolbar.mjs.map +1 -0
  215. package/dist/jsx/report/ReportViewToolbar.native.js +303 -0
  216. package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -0
  217. package/dist/jsx/report/queryReport.mjs +404 -0
  218. package/dist/jsx/report/queryReport.mjs.map +1 -0
  219. package/dist/jsx/report/queryReport.native.js +588 -0
  220. package/dist/jsx/report/queryReport.native.js.map +1 -0
  221. package/dist/jsx/report/queryReportColumns.mjs +105 -0
  222. package/dist/jsx/report/queryReportColumns.mjs.map +1 -0
  223. package/dist/jsx/report/queryReportColumns.native.js +159 -0
  224. package/dist/jsx/report/queryReportColumns.native.js.map +1 -0
  225. package/dist/jsx/report/reportViewModel.mjs +343 -0
  226. package/dist/jsx/report/reportViewModel.mjs.map +1 -0
  227. package/dist/jsx/report/reportViewModel.native.js +657 -0
  228. package/dist/jsx/report/reportViewModel.native.js.map +1 -0
  229. package/dist/jsx/report/savedReports.mjs +112 -0
  230. package/dist/jsx/report/savedReports.mjs.map +1 -0
  231. package/dist/jsx/report/savedReports.native.js +169 -0
  232. package/dist/jsx/report/savedReports.native.js.map +1 -0
  233. package/dist/jsx/report/useFrappeReport.mjs +158 -0
  234. package/dist/jsx/report/useFrappeReport.mjs.map +1 -0
  235. package/dist/jsx/report/useFrappeReport.native.js +214 -0
  236. package/dist/jsx/report/useFrappeReport.native.js.map +1 -0
  237. package/dist/jsx/report/useQueryReport.mjs +176 -0
  238. package/dist/jsx/report/useQueryReport.mjs.map +1 -0
  239. package/dist/jsx/report/useQueryReport.native.js +233 -0
  240. package/dist/jsx/report/useQueryReport.native.js.map +1 -0
  241. package/dist/jsx/useFrappeForm.mjs +533 -0
  242. package/dist/jsx/useFrappeForm.mjs.map +1 -0
  243. package/dist/jsx/useFrappeForm.native.js +714 -0
  244. package/dist/jsx/useFrappeForm.native.js.map +1 -0
  245. package/package.json +16 -16
  246. package/src/FrappeCalendar.tsx +8 -2
  247. package/src/FrappeForm.stories.tsx +52 -0
  248. package/src/FrappeForm.tsx +176 -565
  249. package/src/FrappeListView.cards.stories.tsx +3 -6
  250. package/src/FrappeListView.tsx +15 -55
  251. package/src/FrappeReportBuilder.stories.tsx +34 -7
  252. package/src/FrappeReportBuilder.tsx +790 -380
  253. package/src/FrappeReportView.spec.tsx +10 -6
  254. package/src/FrappeReportView.stories.tsx +20 -1
  255. package/src/FrappeReportView.tsx +89 -415
  256. package/src/dependsOn.ts +4 -1
  257. package/src/fields/shared/EditorPreviewPanes.tsx +2 -2
  258. package/src/formEngine/docPermissions.spec.ts +36 -1
  259. package/src/formEngine/docPermissions.ts +34 -0
  260. package/src/formEngine/index.ts +8 -1
  261. package/src/frappeRemainder.designLaw.spec.ts +9 -1
  262. package/src/frappeRoutes.spec.tsx +9 -0
  263. package/src/frappeViews.designLaw.spec.ts +15 -2
  264. package/src/guestFallback.spec.tsx +236 -0
  265. package/src/index.ts +117 -16
  266. package/src/liveErrors.spec.ts +10 -0
  267. package/src/liveErrors.ts +16 -3
  268. package/src/measures.ts +11 -0
  269. package/src/recordShape.spec.ts +100 -0
  270. package/src/recordShape.ts +133 -0
  271. package/src/report/ReportGrid.spec.tsx +175 -0
  272. package/src/report/ReportGrid.tsx +530 -0
  273. package/src/report/ReportViewToolbar.spec.tsx +90 -0
  274. package/src/report/ReportViewToolbar.tsx +314 -0
  275. package/src/report/queryReport.spec.ts +483 -0
  276. package/src/report/queryReport.ts +722 -0
  277. package/src/report/queryReportColumns.tsx +123 -0
  278. package/src/report/reportViewModel.spec.ts +393 -0
  279. package/src/report/reportViewModel.ts +617 -0
  280. package/src/report/savedReports.ts +172 -0
  281. package/src/report/seam.spec.ts +216 -0
  282. package/src/report/useFrappeReport.ts +241 -0
  283. package/src/report/useQueryReport.spec.tsx +131 -0
  284. package/src/report/useQueryReport.ts +309 -0
  285. package/src/useFrappeForm.spec.tsx +209 -0
  286. package/src/useFrappeForm.ts +778 -0
  287. package/types/FrappeCalendar.d.ts.map +1 -1
  288. package/types/FrappeForm.d.ts +21 -1
  289. package/types/FrappeForm.d.ts.map +1 -1
  290. package/types/FrappeListView.d.ts.map +1 -1
  291. package/types/FrappeReportBuilder.d.ts +66 -16
  292. package/types/FrappeReportBuilder.d.ts.map +1 -1
  293. package/types/FrappeReportView.d.ts +9 -127
  294. package/types/FrappeReportView.d.ts.map +1 -1
  295. package/types/dependsOn.d.ts.map +1 -1
  296. package/types/formEngine/docPermissions.d.ts +14 -0
  297. package/types/formEngine/docPermissions.d.ts.map +1 -1
  298. package/types/formEngine/index.d.ts +1 -1
  299. package/types/formEngine/index.d.ts.map +1 -1
  300. package/types/index.d.ts +15 -3
  301. package/types/index.d.ts.map +1 -1
  302. package/types/liveErrors.d.ts +9 -1
  303. package/types/liveErrors.d.ts.map +1 -1
  304. package/types/measures.d.ts +3 -0
  305. package/types/measures.d.ts.map +1 -0
  306. package/types/recordShape.d.ts +45 -0
  307. package/types/recordShape.d.ts.map +1 -0
  308. package/types/report/ReportGrid.d.ts +20 -0
  309. package/types/report/ReportGrid.d.ts.map +1 -0
  310. package/types/report/ReportViewToolbar.d.ts +31 -0
  311. package/types/report/ReportViewToolbar.d.ts.map +1 -0
  312. package/types/report/queryReport.d.ts +181 -0
  313. package/types/report/queryReport.d.ts.map +1 -0
  314. package/types/report/queryReportColumns.d.ts +12 -0
  315. package/types/report/queryReportColumns.d.ts.map +1 -0
  316. package/types/report/reportViewModel.d.ts +146 -0
  317. package/types/report/reportViewModel.d.ts.map +1 -0
  318. package/types/report/savedReports.d.ts +27 -0
  319. package/types/report/savedReports.d.ts.map +1 -0
  320. package/types/report/useFrappeReport.d.ts +60 -0
  321. package/types/report/useFrappeReport.d.ts.map +1 -0
  322. package/types/report/useQueryReport.d.ts +37 -0
  323. package/types/report/useQueryReport.d.ts.map +1 -0
  324. package/types/useFrappeForm.d.ts +142 -0
  325. package/types/useFrappeForm.d.ts.map +1 -0
@@ -0,0 +1,510 @@
1
+ "use strict";
2
+
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
18
+ get: () => from[key],
19
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
20
+ });
21
+ }
22
+ return to;
23
+ };
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
30
+ value: mod,
31
+ enumerable: true
32
+ }) : target, mod));
33
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
34
+ value: true
35
+ }), mod);
36
+ var ReportGrid_exports = {};
37
+ __export(ReportGrid_exports, {
38
+ ReportGrid: () => ReportGrid
39
+ });
40
+ module.exports = __toCommonJS(ReportGrid_exports);
41
+ var import_jsx_runtime = require("react/jsx-runtime");
42
+ var import_components = require("@multiplatform.one/components");
43
+ var import_forms = require("@multiplatform.one/forms");
44
+ var import_table = require("@multiplatform.one/table");
45
+ var import_theme = require("@multiplatform.one/theme");
46
+ var import_react = require("@phosphor-icons/react");
47
+ var import_react2 = __toESM(require("react"));
48
+ var import_react_i18next = require("react-i18next");
49
+ var import_listFormat = require("../list/listFormat.native.js");
50
+ var import_reportViewModel = require("./reportViewModel.native.js");
51
+ function _instanceof(left, right) {
52
+ "@swc/helpers - instanceof";
53
+
54
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
55
+ return !!right[Symbol.hasInstance](left);
56
+ } else {
57
+ return left instanceof right;
58
+ }
59
+ }
60
+ var ROW_NUMBER_WIDTH = 56;
61
+ var INTERACTIVE_SELECTOR = ["a[href]", "button", "input", "select", "textarea", "label", '[contenteditable="true"]', '[role="button"]', '[role="checkbox"]', '[role="combobox"]', '[role="link"]', '[role="menuitem"]', '[role="option"]', '[role="radio"]', '[role="slider"]', '[role="spinbutton"]', '[role="switch"]', '[role="textbox"]', "[aria-expanded]"].join(", ");
62
+ function isInteractiveInnerTarget(target, boundary) {
63
+ if (typeof Element === "undefined") return false;
64
+ if (!_instanceof(target, Element)) return false;
65
+ var boundaryEl = _instanceof(boundary, Element) ? boundary : null;
66
+ var node = target;
67
+ while (node && node !== boundaryEl) {
68
+ if (node.matches(INTERACTIVE_SELECTOR)) return true;
69
+ var tabIndex = node.getAttribute("tabindex");
70
+ if (tabIndex != null && Number(tabIndex) >= 0) return true;
71
+ node = node.parentElement;
72
+ }
73
+ return false;
74
+ }
75
+ function alignToJustify(align) {
76
+ return align === "right" ? "flex-end" : align === "center" ? "center" : "flex-start";
77
+ }
78
+ function formatNumericCell(value, fieldtype) {
79
+ switch (fieldtype) {
80
+ case "Currency":
81
+ return (0, import_theme.formatCurrency)(value);
82
+ case "Int":
83
+ return (0, import_theme.formatNumber)(Math.round(value), {
84
+ maximumFractionDigits: 0
85
+ });
86
+ case "Percent":
87
+ return (0, import_theme.formatPercent)(value, {
88
+ precision: 1
89
+ });
90
+ default:
91
+ return (0, import_theme.formatNumber)(value);
92
+ }
93
+ }
94
+ function ReportCellValue(param) {
95
+ var {
96
+ column,
97
+ row,
98
+ onOpenLink
99
+ } = param;
100
+ var raw = row[column.fieldname];
101
+ if (raw === null || raw === void 0 || raw === "") {
102
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
103
+ fontSize: "$3",
104
+ color: "$color8",
105
+ children: "\u2014"
106
+ });
107
+ }
108
+ if (column.fieldtype === "Check") {
109
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
110
+ fontSize: "$3",
111
+ color: raw ? "$green11" : "$color8",
112
+ children: raw ? "\u2713" : "\u2014"
113
+ });
114
+ }
115
+ if (import_reportViewModel.REPORT_NUMERIC_FIELDTYPES.has(column.fieldtype)) {
116
+ var numeric = Number(raw);
117
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
118
+ fontSize: "$3",
119
+ color: "$color12",
120
+ fontFamily: "$mono",
121
+ children: Number.isFinite(numeric) ? formatNumericCell(numeric, column.fieldtype) : String(raw)
122
+ });
123
+ }
124
+ var value = String(raw);
125
+ switch (column.fieldtype) {
126
+ case "Date":
127
+ case "Datetime":
128
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
129
+ fontSize: "$3",
130
+ color: "$color11",
131
+ numberOfLines: 1,
132
+ children: (0, import_listFormat.formatDateCell)(value)
133
+ });
134
+ case "Link":
135
+ {
136
+ var target = column.options;
137
+ if (target && onOpenLink) {
138
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
139
+ fontSize: "$3",
140
+ color: "$color11",
141
+ textDecorationLine: "underline",
142
+ cursor: "pointer",
143
+ numberOfLines: 1,
144
+ role: "link",
145
+ onPress: function onPress(event) {
146
+ var _event_stopPropagation;
147
+ event === null || event === void 0 ? void 0 : (_event_stopPropagation = event.stopPropagation) === null || _event_stopPropagation === void 0 ? void 0 : _event_stopPropagation.call(event);
148
+ onOpenLink(target, value);
149
+ },
150
+ children: value
151
+ });
152
+ }
153
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
154
+ fontSize: "$3",
155
+ color: "$color11",
156
+ numberOfLines: 1,
157
+ children: value
158
+ });
159
+ }
160
+ default:
161
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
162
+ fontSize: "$3",
163
+ color: "$color11",
164
+ numberOfLines: 1,
165
+ children: value
166
+ });
167
+ }
168
+ }
169
+ function ReportGrid(param) {
170
+ var {
171
+ columns,
172
+ rows,
173
+ sort,
174
+ onSortChange,
175
+ columnFilters,
176
+ onColumnFilterChange,
177
+ onOpenRow,
178
+ onOpenLink,
179
+ totals,
180
+ groupByColumn
181
+ } = param;
182
+ var {
183
+ t
184
+ } = (0, import_react_i18next.useTranslation)();
185
+ var handleSortPress = (0, import_react2.useCallback)(function (fieldname) {
186
+ if (sort.field === fieldname) {
187
+ onSortChange({
188
+ field: fieldname,
189
+ order: sort.order === "asc" ? "desc" : "asc"
190
+ });
191
+ } else {
192
+ onSortChange({
193
+ field: fieldname,
194
+ order: "asc"
195
+ });
196
+ }
197
+ }, [sort, onSortChange]);
198
+ var isSSR = typeof window === "undefined";
199
+ var [rowAnchor, setRowAnchor] = (0, import_react2.useState)(0);
200
+ var dataRowCount = rows.reduce(function (count, row) {
201
+ return row.kind === "row" ? count + 1 : count;
202
+ }, 0);
203
+ var effectiveRowAnchor = Math.min(rowAnchor, Math.max(dataRowCount - 1, 0));
204
+ var getRowPressProps = (0, import_react2.useCallback)(function (row, pressIndex) {
205
+ var handlePress = function handlePress2(event) {
206
+ var _ref;
207
+ var _event_nativeEvent;
208
+ if (event === null || event === void 0 ? void 0 : event.defaultPrevented) return;
209
+ var targetEl = (_ref = event === null || event === void 0 ? void 0 : event.target) !== null && _ref !== void 0 ? _ref : event === null || event === void 0 ? void 0 : (_event_nativeEvent = event.nativeEvent) === null || _event_nativeEvent === void 0 ? void 0 : _event_nativeEvent.target;
210
+ if (import_components.isWeb && typeof Element !== "undefined" && _instanceof(targetEl, Element)) {
211
+ var boundary = targetEl.closest('[data-report-row="true"]');
212
+ if (isInteractiveInnerTarget(targetEl, boundary)) return;
213
+ }
214
+ onOpenRow === null || onOpenRow === void 0 ? void 0 : onOpenRow(row.name);
215
+ };
216
+ return {
217
+ // Accessible row name from doc identity (DG-A11Y-06); positional
218
+ // fallback for the defensive empty-name case.
219
+ "aria-label": row.name || t("report.rowLabel", {
220
+ defaultValue: "Row {{row}}",
221
+ row: pressIndex + 1
222
+ }),
223
+ onPress: handlePress,
224
+ cursor: "pointer",
225
+ hoverStyle: {
226
+ backgroundColor: "$color2"
227
+ },
228
+ pressStyle: {
229
+ backgroundColor: "$color4"
230
+ },
231
+ ...(import_components.isWeb && !isSSR ? {
232
+ tabIndex: pressIndex === effectiveRowAnchor ? 0 : -1,
233
+ outlineWidth: 0,
234
+ focusStyle: {
235
+ outlineWidth: 0
236
+ },
237
+ focusVisibleStyle: (0, import_theme.ensureFocusVisibleRing)({
238
+ outlineOffset: -2
239
+ }),
240
+ "data-report-row": "true",
241
+ onFocus: function onFocus(event) {
242
+ if (event.target === event.currentTarget) setRowAnchor(pressIndex);
243
+ },
244
+ onBlur: function onBlur(event) {
245
+ var next = event.relatedTarget;
246
+ if (!_instanceof(next, Element) || !next.closest('[data-report-row="true"]')) {
247
+ setRowAnchor(0);
248
+ }
249
+ },
250
+ onKeyDown: function onKeyDown(event) {
251
+ if (event.defaultPrevented) return;
252
+ if (event.target !== event.currentTarget) return;
253
+ var key = event.key;
254
+ if (key === "Enter" || key === " " || key === "Spacebar") {
255
+ event.preventDefault();
256
+ event.stopPropagation();
257
+ if (event.repeat) return;
258
+ onOpenRow === null || onOpenRow === void 0 ? void 0 : onOpenRow(row.name);
259
+ return;
260
+ }
261
+ if (key === "ArrowDown" || key === "ArrowUp" || key === "Home" || key === "End") {
262
+ var _rowEl_closest;
263
+ var _pressRows_nextIdx;
264
+ event.preventDefault();
265
+ event.stopPropagation();
266
+ var rowEl = event.currentTarget;
267
+ var scope = (_rowEl_closest = rowEl.closest('[data-report-grid="true"]')) !== null && _rowEl_closest !== void 0 ? _rowEl_closest : rowEl.ownerDocument;
268
+ var pressRows = Array.from(scope.querySelectorAll('[data-report-row="true"]'));
269
+ var currentIdx = pressRows.indexOf(rowEl);
270
+ if (currentIdx < 0) return;
271
+ var nextIdx = key === "Home" ? 0 : key === "End" ? pressRows.length - 1 : Math.min(Math.max(currentIdx + (key === "ArrowDown" ? 1 : -1), 0), pressRows.length - 1);
272
+ (_pressRows_nextIdx = pressRows[nextIdx]) === null || _pressRows_nextIdx === void 0 ? void 0 : _pressRows_nextIdx.focus();
273
+ }
274
+ }
275
+ } : {})
276
+ };
277
+ }, [onOpenRow, effectiveRowAnchor, isSSR, t]);
278
+ var totalsByField = new Map(totals.map(function (total) {
279
+ return [total.fieldname, total];
280
+ }));
281
+ var gridWidth = ROW_NUMBER_WIDTH + columns.reduce(function (sum, column) {
282
+ return sum + column.width;
283
+ }, 0);
284
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.ScrollView, {
285
+ horizontal: true,
286
+ showsHorizontalScrollIndicator: true,
287
+ flexGrow: 0,
288
+ flexShrink: 1,
289
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table, {
290
+ minWidth: gridWidth,
291
+ width: gridWidth,
292
+ displayMode: "flex",
293
+ cellHeight: "$3",
294
+ // Roving scope marker: arrow-key navigation queries pressable rows
295
+ // within this container (getRowPressProps).
296
+ ...{
297
+ "data-report-grid": "true"
298
+ },
299
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table.Head, {
300
+ children: [/* Header row: label + sort affordance (aria-sort, Enter/Space). */
301
+ /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table.Row, {
302
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.HeaderCell, {
303
+ cellWidth: ROW_NUMBER_WIDTH,
304
+ "aria-label": t("report.rowNumber", "Row number"),
305
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
306
+ fontSize: "$2",
307
+ color: "$color9",
308
+ children: "#"
309
+ })
310
+ }), columns.map(function (column) {
311
+ var sorted = sort.field === column.fieldname ? sort.order : void 0;
312
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.HeaderCell, {
313
+ cellWidth: column.width,
314
+ justifyContent: alignToJustify(column.align),
315
+ "aria-sort": sorted === "asc" ? "ascending" : sorted === "desc" ? "descending" : "none",
316
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Tooltip, {
317
+ content: sorted === "asc" ? t("report.sortDesc", "Sorted ascending (press to sort descending)") : sorted === "desc" ? t("report.sortAsc", "Sorted descending (press to sort ascending)") : t("report.sortColumn", "Sort by this column"),
318
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
319
+ gap: "$1.5",
320
+ alignItems: "center",
321
+ cursor: "pointer",
322
+ role: "button",
323
+ tabIndex: 0,
324
+ outlineWidth: 0,
325
+ focusStyle: {
326
+ outlineWidth: 0
327
+ },
328
+ focusVisibleStyle: (0, import_theme.ensureFocusVisibleRing)({
329
+ outlineOffset: -2
330
+ }),
331
+ "aria-label": t("report.sortBy", {
332
+ defaultValue: "Sort by {{column}}",
333
+ column: column.label
334
+ }),
335
+ onPress: function onPress() {
336
+ return handleSortPress(column.fieldname);
337
+ },
338
+ onKeyDown: function onKeyDown(event) {
339
+ if (event.key === "Enter" || event.key === " ") {
340
+ var _event_preventDefault;
341
+ (_event_preventDefault = event.preventDefault) === null || _event_preventDefault === void 0 ? void 0 : _event_preventDefault.call(event);
342
+ handleSortPress(column.fieldname);
343
+ }
344
+ },
345
+ hoverStyle: {
346
+ opacity: 0.8
347
+ },
348
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
349
+ fontSize: "$3",
350
+ fontWeight: "400",
351
+ numberOfLines: 1,
352
+ children: column.label
353
+ }),
354
+ /* Caret orientation mirrors DataTable's headers:
355
+ asc = caret-down, desc = rotated 180. */
356
+ /* @__PURE__ */
357
+ (0, import_jsx_runtime.jsx)(import_components.View, {
358
+ "aria-hidden": true,
359
+ role: "presentation",
360
+ children: sorted ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretDownIcon, {
361
+ size: 12,
362
+ color: "var(--color10)",
363
+ style: sorted === "desc" ? {
364
+ transform: "rotate(180deg)"
365
+ } : void 0
366
+ }) : /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_react.CaretUpDownIcon, {
367
+ size: 12,
368
+ color: "var(--color8)"
369
+ })
370
+ })]
371
+ })
372
+ })
373
+ }, column.fieldname);
374
+ })]
375
+ }),
376
+ /* Filter row — desk parity: one input per column, standard filter
377
+ pipeline. Number/date accept comparison prefixes (>, <, >=…). */
378
+ /* @__PURE__ */
379
+ (0, import_jsx_runtime.jsxs)(import_table.Table.Row, {
380
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.HeaderCell, {
381
+ cellWidth: ROW_NUMBER_WIDTH,
382
+ paddingVertical: "$1.5"
383
+ }), columns.map(function (column) {
384
+ var _columnFilters_column_fieldname;
385
+ var placeholder = column.kind === "number" || column.kind === "date" ? t("report.filterComparablePlaceholder", "= > <\u2026") : column.kind === "check" ? t("report.filterCheckPlaceholder", "yes / no") : t("report.filterPlaceholder", "Filter\u2026");
386
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.HeaderCell, {
387
+ cellWidth: column.width,
388
+ paddingVertical: "$1.5",
389
+ overflow: "visible",
390
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.View, {
391
+ flex: 1,
392
+ minWidth: 0,
393
+ overflow: "visible",
394
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.Input, {
395
+ size: "$2",
396
+ compact: true,
397
+ value: (_columnFilters_column_fieldname = columnFilters[column.fieldname]) !== null && _columnFilters_column_fieldname !== void 0 ? _columnFilters_column_fieldname : "",
398
+ onChangeText: function onChangeText(next) {
399
+ return onColumnFilterChange(column.fieldname, next);
400
+ },
401
+ placeholder,
402
+ // inputProps is the eject that reaches the real input
403
+ // element — a top-level aria-label stays on the wrapper.
404
+ inputProps: {
405
+ "aria-label": t("report.filterColumn", {
406
+ defaultValue: "Filter {{column}}",
407
+ column: column.label
408
+ })
409
+ }
410
+ })
411
+ })
412
+ }, column.fieldname);
413
+ })]
414
+ })]
415
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Body, {
416
+ children: function () {
417
+ var pressCursor = -1;
418
+ return rows.map(function (gridRow) {
419
+ if (gridRow.kind === "group") {
420
+ var label = gridRow.value === null || gridRow.value === void 0 || gridRow.value === "" ? t("report.groupEmpty", "(blank)") : String(gridRow.value);
421
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Row, {
422
+ backgroundColor: "$color2",
423
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
424
+ cellWidth: gridWidth,
425
+ paddingVertical: "$1.5",
426
+ role: "rowheader",
427
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
428
+ fontSize: "$2",
429
+ fontWeight: "400",
430
+ color: "$color11",
431
+ numberOfLines: 1,
432
+ children: groupByColumn ? t("report.groupHeader", {
433
+ defaultValue: "{{field}}: {{value}} \xB7 {{count}}",
434
+ field: groupByColumn.label,
435
+ value: label,
436
+ count: gridRow.count
437
+ }) : label
438
+ })
439
+ })
440
+ }, gridRow.key);
441
+ }
442
+ pressCursor += 1;
443
+ return (
444
+ // Spread LAST so the roving tabIndex/handlers stay in
445
+ // charge of this row's interactivity (DataTable precedent).
446
+ /* @__PURE__ */
447
+ (0, import_jsx_runtime.jsxs)(import_table.Table.Row, {
448
+ ...(onOpenRow ? getRowPressProps(gridRow.row, pressCursor) : {
449
+ "aria-label": gridRow.row.name
450
+ }),
451
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
452
+ cellWidth: ROW_NUMBER_WIDTH,
453
+ paddingVertical: "$2",
454
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
455
+ fontSize: "$2",
456
+ color: "$color9",
457
+ fontFamily: "$mono",
458
+ children: gridRow.index
459
+ })
460
+ }), columns.map(function (column) {
461
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
462
+ cellWidth: column.width,
463
+ paddingVertical: "$2",
464
+ justifyContent: alignToJustify(column.align),
465
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(ReportCellValue, {
466
+ column,
467
+ row: gridRow.row,
468
+ onOpenLink
469
+ })
470
+ }, column.fieldname);
471
+ })]
472
+ }, gridRow.key)
473
+ );
474
+ });
475
+ }()
476
+ }), totals.length > 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Foot, {
477
+ borderTopWidth: 1,
478
+ borderTopColor: "$color6",
479
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_table.Table.Row, {
480
+ backgroundColor: "$color2",
481
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
482
+ cellWidth: ROW_NUMBER_WIDTH,
483
+ paddingVertical: "$2",
484
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
485
+ fontSize: "$2",
486
+ fontWeight: "400",
487
+ color: "$color10",
488
+ children: t("report.totals", "Totals")
489
+ })
490
+ }), columns.map(function (column) {
491
+ var total = totalsByField.get(column.fieldname);
492
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_table.Table.Cell, {
493
+ cellWidth: column.width,
494
+ paddingVertical: "$2",
495
+ justifyContent: alignToJustify(column.align),
496
+ children: total ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
497
+ fontSize: "$3",
498
+ fontWeight: "400",
499
+ color: "$color12",
500
+ fontFamily: "$mono",
501
+ children: formatNumericCell(total.value, total.fieldtype)
502
+ }) : null
503
+ }, column.fieldname);
504
+ })]
505
+ })
506
+ })]
507
+ })
508
+ });
509
+ }
510
+ //# sourceMappingURL=ReportGrid.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","ReportGrid_exports","ReportGrid","module","exports","import_jsx_runtime","require","import_components","import_forms","import_table","import_theme","import_react","import_react2","import_react_i18next","import_listFormat","import_reportViewModel","_instanceof","left","right","Symbol","hasInstance","ROW_NUMBER_WIDTH","INTERACTIVE_SELECTOR","join","isInteractiveInnerTarget","boundary","Element","boundaryEl","node","matches","tabIndex","getAttribute","Number","parentElement","alignToJustify","align","formatNumericCell","fieldtype","formatCurrency","formatNumber","Math","round","maximumFractionDigits","formatPercent","precision","ReportCellValue","param","column","row","onOpenLink","raw","fieldname","jsx","Text","fontSize","color","children","REPORT_NUMERIC_FIELDTYPES","has","numeric","fontFamily","isFinite","String","numberOfLines","formatDateCell","options","textDecorationLine","cursor","role","onPress","event","_event_stopPropagation","stopPropagation","columns","rows","sort","onSortChange","columnFilters","onColumnFilterChange","onOpenRow","totals","groupByColumn","t","useTranslation","handleSortPress","useCallback","field","order","isSSR","window","rowAnchor","setRowAnchor","useState","dataRowCount","reduce","count","kind","effectiveRowAnchor","min","max","getRowPressProps","pressIndex","handlePress","handlePress2","_ref","_event_nativeEvent","defaultPrevented","targetEl","nativeEvent","isWeb","closest","defaultValue","hoverStyle","backgroundColor","pressStyle","outlineWidth","focusStyle","focusVisibleStyle","ensureFocusVisibleRing","outlineOffset","onFocus","currentTarget","onBlur","next","relatedTarget","onKeyDown","preventDefault","repeat","_rowEl_closest","_pressRows_nextIdx","rowEl","scope","ownerDocument","pressRows","Array","querySelectorAll","currentIdx","indexOf","nextIdx","length","focus","totalsByField","Map","map","total","gridWidth","sum","width","ScrollView","horizontal","showsHorizontalScrollIndicator","flexGrow","flexShrink","jsxs","Table","minWidth","displayMode","cellHeight","Head","Row","HeaderCell","cellWidth","sorted","justifyContent","Tooltip","content","XStack","gap","alignItems","label","_event_preventDefault","opacity","fontWeight","View","CaretDownIcon","size","style","transform","CaretUpDownIcon"],"sources":["../../../src/report/ReportGrid.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}