@multiplatform.one/frappe-ui 7.28.0 → 7.29.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 (618) hide show
  1. package/dist/cjs/ChartCard.native.js.map +1 -1
  2. package/dist/cjs/FileBrowser/AttachLibrary.native.js.map +1 -1
  3. package/dist/cjs/FileBrowser/folderTree.native.js.map +1 -1
  4. package/dist/cjs/FileBrowser/index.cjs +20 -3
  5. package/dist/cjs/FileBrowser/index.native.js +20 -3
  6. package/dist/cjs/FileBrowser/index.native.js.map +1 -1
  7. package/dist/cjs/FileBrowser/types.native.js.map +1 -1
  8. package/dist/cjs/FileBrowser/viewPersistence.native.js.map +1 -1
  9. package/dist/cjs/FormSidebar.native.js.map +1 -1
  10. package/dist/cjs/FrappeAssignment.native.js.map +1 -1
  11. package/dist/cjs/FrappeCalendar.cjs +3 -2
  12. package/dist/cjs/FrappeCalendar.native.js +3 -2
  13. package/dist/cjs/FrappeCalendar.native.js.map +1 -1
  14. package/dist/cjs/FrappeChartCard.native.js.map +1 -1
  15. package/dist/cjs/FrappeConnectionIndicator.native.js.map +1 -1
  16. package/dist/cjs/FrappeDashboard.native.js.map +1 -1
  17. package/dist/cjs/FrappeForm.cjs +148 -464
  18. package/dist/cjs/FrappeForm.native.js +153 -634
  19. package/dist/cjs/FrappeForm.native.js.map +1 -1
  20. package/dist/cjs/FrappeFormActions.native.js.map +1 -1
  21. package/dist/cjs/FrappeFormConnections.native.js.map +1 -1
  22. package/dist/cjs/FrappeGantt.native.js.map +1 -1
  23. package/dist/cjs/FrappeImageView.native.js.map +1 -1
  24. package/dist/cjs/FrappeInsights.native.js.map +1 -1
  25. package/dist/cjs/FrappeKPICard.native.js.map +1 -1
  26. package/dist/cjs/FrappeKanban.native.js.map +1 -1
  27. package/dist/cjs/FrappeLikedBy.native.js.map +1 -1
  28. package/dist/cjs/FrappeList.native.js.map +1 -1
  29. package/dist/cjs/FrappeListView.cjs +5 -27
  30. package/dist/cjs/FrappeListView.native.js +11 -32
  31. package/dist/cjs/FrappeListView.native.js.map +1 -1
  32. package/dist/cjs/FrappeNotConfigured.native.js.map +1 -1
  33. package/dist/cjs/FrappeProvider.native.js.map +1 -1
  34. package/dist/cjs/FrappeReconnectIndicator.native.js.map +1 -1
  35. package/dist/cjs/FrappeRecordView.native.js.map +1 -1
  36. package/dist/cjs/FrappeReportBuilder.cjs +523 -309
  37. package/dist/cjs/FrappeReportBuilder.native.js +658 -353
  38. package/dist/cjs/FrappeReportBuilder.native.js.map +1 -1
  39. package/dist/cjs/FrappeReportView.cjs +35 -234
  40. package/dist/cjs/FrappeReportView.native.js +42 -286
  41. package/dist/cjs/FrappeReportView.native.js.map +1 -1
  42. package/dist/cjs/FrappeRowsReader.native.js.map +1 -1
  43. package/dist/cjs/FrappeTable.native.js.map +1 -1
  44. package/dist/cjs/FrappeTreeView.native.js.map +1 -1
  45. package/dist/cjs/SyncErrorNotice.native.js.map +1 -1
  46. package/dist/cjs/commentActions.native.js.map +1 -1
  47. package/dist/cjs/components/attachments.native.js.map +1 -1
  48. package/dist/cjs/components/tags.native.js.map +1 -1
  49. package/dist/cjs/components/timeline.native.js.map +1 -1
  50. package/dist/cjs/dependsOn.cjs +2 -2
  51. package/dist/cjs/dependsOn.native.js +1 -2
  52. package/dist/cjs/dependsOn.native.js.map +1 -1
  53. package/dist/cjs/desk/DeskFormPage.native.js.map +1 -1
  54. package/dist/cjs/desk/DeskFormSidebar.native.js.map +1 -1
  55. package/dist/cjs/desk/DeskListPage.native.js.map +1 -1
  56. package/dist/cjs/desk/DeskShell.native.js.map +1 -1
  57. package/dist/cjs/desk/DeskSidebar.native.js.map +1 -1
  58. package/dist/cjs/desk/awesomebar.native.js.map +1 -1
  59. package/dist/cjs/fieldOverrides.native.js.map +1 -1
  60. package/dist/cjs/fieldRegistry.native.js +31 -31
  61. package/dist/cjs/fieldRegistry.native.js.map +1 -1
  62. package/dist/cjs/fields/Barcode/index.native.js.map +1 -1
  63. package/dist/cjs/fields/Check/index.native.js.map +1 -1
  64. package/dist/cjs/fields/CodeEditor/index.native.js.map +1 -1
  65. package/dist/cjs/fields/Color/index.native.js.map +1 -1
  66. package/dist/cjs/fields/Data/index.native.js.map +1 -1
  67. package/dist/cjs/fields/Date/sheetKeyboard.native.js.map +1 -1
  68. package/dist/cjs/fields/Date/types.native.js.map +1 -1
  69. package/dist/cjs/fields/Date/wire.native.js.map +1 -1
  70. package/dist/cjs/fields/DateRange/index.native.js.map +1 -1
  71. package/dist/cjs/fields/Duration/index.native.js.map +1 -1
  72. package/dist/cjs/fields/DynamicLink.native.js.map +1 -1
  73. package/dist/cjs/fields/FileUpload.native.js.map +1 -1
  74. package/dist/cjs/fields/FileUploadField/index.native.js.map +1 -1
  75. package/dist/cjs/fields/Geolocation/index.native.js.map +1 -1
  76. package/dist/cjs/fields/HTML/index.native.js.map +1 -1
  77. package/dist/cjs/fields/Heading/index.native.js.map +1 -1
  78. package/dist/cjs/fields/Icon/index.native.js.map +1 -1
  79. package/dist/cjs/fields/Link.native.js.map +1 -1
  80. package/dist/cjs/fields/LinkTree.native.js.map +1 -1
  81. package/dist/cjs/fields/LongText/index.native.js.map +1 -1
  82. package/dist/cjs/fields/MentionInput/index.native.js.map +1 -1
  83. package/dist/cjs/fields/Numeric/index.native.js.map +1 -1
  84. package/dist/cjs/fields/OTPInput/index.native.js.map +1 -1
  85. package/dist/cjs/fields/Password/index.native.js.map +1 -1
  86. package/dist/cjs/fields/Phone/index.native.js.map +1 -1
  87. package/dist/cjs/fields/Progress/index.native.js.map +1 -1
  88. package/dist/cjs/fields/RadioGroup/index.native.js.map +1 -1
  89. package/dist/cjs/fields/Rating/index.native.js.map +1 -1
  90. package/dist/cjs/fields/ReadOnly/index.native.js.map +1 -1
  91. package/dist/cjs/fields/Select/index.native.js.map +1 -1
  92. package/dist/cjs/fields/Signature/index.native.js.map +1 -1
  93. package/dist/cjs/fields/Slider/index.native.js.map +1 -1
  94. package/dist/cjs/fields/SmallText/index.native.js.map +1 -1
  95. package/dist/cjs/fields/Switch/index.native.js.map +1 -1
  96. package/dist/cjs/fields/TableMultiSelect.native.js.map +1 -1
  97. package/dist/cjs/fields/TextEditor/types.native.js.map +1 -1
  98. package/dist/cjs/fields/TimePicker/index.native.js.map +1 -1
  99. package/dist/cjs/fields/ToggleGroup/index.native.js.map +1 -1
  100. package/dist/cjs/fields/shared/EditorPreviewPanes.cjs +2 -2
  101. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js +2 -2
  102. package/dist/cjs/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  103. package/dist/cjs/filterFields.native.js.map +1 -1
  104. package/dist/cjs/formEngine/createPrefill.native.js.map +1 -1
  105. package/dist/cjs/formEngine/dirtyTracking.native.js.map +1 -1
  106. package/dist/cjs/formEngine/docLifecycle.native.js.map +1 -1
  107. package/dist/cjs/formEngine/docPermissions.cjs +20 -0
  108. package/dist/cjs/formEngine/docPermissions.native.js +69 -0
  109. package/dist/cjs/formEngine/docPermissions.native.js.map +1 -1
  110. package/dist/cjs/formEngine/doctypeMeta.native.js.map +1 -1
  111. package/dist/cjs/formEngine/fetchFrom.native.js.map +1 -1
  112. package/dist/cjs/formEngine/fieldPermissions.native.js.map +1 -1
  113. package/dist/cjs/formEngine/formActions.native.js.map +1 -1
  114. package/dist/cjs/formEngine/formLayout.native.js.map +1 -1
  115. package/dist/cjs/formEngine/index.cjs +2 -0
  116. package/dist/cjs/formEngine/index.native.js +2 -0
  117. package/dist/cjs/formEngine/index.native.js.map +1 -1
  118. package/dist/cjs/formEngine/useAmendedAs.native.js.map +1 -1
  119. package/dist/cjs/formEngine/useDocRights.native.js.map +1 -1
  120. package/dist/cjs/formEngine/useFormEngine.native.js.map +1 -1
  121. package/dist/cjs/formEngine/useSessionRoles.native.js.map +1 -1
  122. package/dist/cjs/frappeConnections.native.js.map +1 -1
  123. package/dist/cjs/frappeEventColor.native.js.map +1 -1
  124. package/dist/cjs/frappeNavigation.native.js.map +1 -1
  125. package/dist/cjs/frappeStoryTarget.native.js.map +1 -1
  126. package/dist/cjs/frappeUsers.native.js.map +1 -1
  127. package/dist/cjs/index.cjs +67 -7
  128. package/dist/cjs/index.native.js +101 -41
  129. package/dist/cjs/index.native.js.map +1 -1
  130. package/dist/cjs/insights/InsightsFacetTags.native.js.map +1 -1
  131. package/dist/cjs/insights/InsightsKpiBand.native.js.map +1 -1
  132. package/dist/cjs/insights/InsightsLeaders.native.js.map +1 -1
  133. package/dist/cjs/insights/InsightsRecords.native.js.map +1 -1
  134. package/dist/cjs/insights/InsightsTable.native.js.map +1 -1
  135. package/dist/cjs/insights/insightsData.native.js.map +1 -1
  136. package/dist/cjs/insights/insightsRecord.native.js.map +1 -1
  137. package/dist/cjs/list/FacetBadge.native.js.map +1 -1
  138. package/dist/cjs/list/FacetRail.native.js.map +1 -1
  139. package/dist/cjs/list/ImageWell.native.js.map +1 -1
  140. package/dist/cjs/list/ListControls.native.js.map +1 -1
  141. package/dist/cjs/list/ListToastHost.native.js.map +1 -1
  142. package/dist/cjs/list/RangeFilter.native.js.map +1 -1
  143. package/dist/cjs/list/ShufflePanel.native.js.map +1 -1
  144. package/dist/cjs/list/facetReading.native.js.map +1 -1
  145. package/dist/cjs/list/favorites.native.js.map +1 -1
  146. package/dist/cjs/list/listColumns.native.js.map +1 -1
  147. package/dist/cjs/list/listFields.native.js.map +1 -1
  148. package/dist/cjs/list/listFormat.native.js.map +1 -1
  149. package/dist/cjs/list/listState.native.js.map +1 -1
  150. package/dist/cjs/list/recordLook.native.js.map +1 -1
  151. package/dist/cjs/list/statusColors.native.js.map +1 -1
  152. package/dist/cjs/list/useListControls.native.js.map +1 -1
  153. package/dist/cjs/liveErrors.cjs +8 -2
  154. package/dist/cjs/liveErrors.native.js +8 -2
  155. package/dist/cjs/liveErrors.native.js.map +1 -1
  156. package/dist/cjs/measures.cjs +31 -0
  157. package/dist/cjs/measures.native.js +34 -0
  158. package/dist/cjs/measures.native.js.map +1 -0
  159. package/dist/cjs/record/RecordBars.native.js.map +1 -1
  160. package/dist/cjs/record/RecordGallery.native.js.map +1 -1
  161. package/dist/cjs/record/RecordHero.native.js.map +1 -1
  162. package/dist/cjs/record/RecordPage.native.js.map +1 -1
  163. package/dist/cjs/record/RecordPager.native.js.map +1 -1
  164. package/dist/cjs/record/RecordRows.native.js.map +1 -1
  165. package/dist/cjs/record/recordData.native.js.map +1 -1
  166. package/dist/cjs/record/recordSections.native.js.map +1 -1
  167. package/dist/cjs/recordShape.cjs +103 -0
  168. package/dist/cjs/recordShape.native.js +115 -0
  169. package/dist/cjs/recordShape.native.js.map +1 -0
  170. package/dist/cjs/report/ReportGrid.cjs +453 -0
  171. package/dist/cjs/report/ReportGrid.native.js +510 -0
  172. package/dist/cjs/report/ReportGrid.native.js.map +1 -0
  173. package/dist/cjs/report/ReportViewToolbar.cjs +253 -0
  174. package/dist/cjs/report/ReportViewToolbar.native.js +303 -0
  175. package/dist/cjs/report/ReportViewToolbar.native.js.map +1 -0
  176. package/dist/cjs/report/queryReport.cjs +444 -0
  177. package/dist/cjs/report/queryReport.native.js +588 -0
  178. package/dist/cjs/report/queryReport.native.js.map +1 -0
  179. package/dist/cjs/report/queryReportColumns.cjs +131 -0
  180. package/dist/cjs/report/queryReportColumns.native.js +159 -0
  181. package/dist/cjs/report/queryReportColumns.native.js.map +1 -0
  182. package/dist/cjs/report/reportViewModel.cjs +386 -0
  183. package/dist/cjs/report/reportViewModel.native.js +657 -0
  184. package/dist/cjs/report/reportViewModel.native.js.map +1 -0
  185. package/dist/cjs/report/savedReports.cjs +137 -0
  186. package/dist/cjs/report/savedReports.native.js +169 -0
  187. package/dist/cjs/report/savedReports.native.js.map +1 -0
  188. package/dist/cjs/report/useFrappeReport.cjs +184 -0
  189. package/dist/cjs/report/useFrappeReport.native.js +214 -0
  190. package/dist/cjs/report/useFrappeReport.native.js.map +1 -0
  191. package/dist/cjs/report/useQueryReport.cjs +201 -0
  192. package/dist/cjs/report/useQueryReport.native.js +233 -0
  193. package/dist/cjs/report/useQueryReport.native.js.map +1 -0
  194. package/dist/cjs/resolveControl.native.js.map +1 -1
  195. package/dist/cjs/schemaForm/SchemaWizard.native.js.map +1 -1
  196. package/dist/cjs/schemaForm/applyFieldOrder.native.js.map +1 -1
  197. package/dist/cjs/schemaForm/index.native.js +1 -1
  198. package/dist/cjs/schemaForm/index.native.js.map +1 -1
  199. package/dist/cjs/shared/devWarn.native.js.map +1 -1
  200. package/dist/cjs/shared/useKeyboardInset.native.js.map +1 -1
  201. package/dist/cjs/syncError.native.js.map +1 -1
  202. package/dist/cjs/useConnectionFilters.native.js.map +1 -1
  203. package/dist/cjs/useFrappeAggregate.native.js.map +1 -1
  204. package/dist/cjs/useFrappeFacets.native.js.map +1 -1
  205. package/dist/cjs/useFrappeForm.cjs +558 -0
  206. package/dist/cjs/useFrappeForm.native.js +714 -0
  207. package/dist/cjs/useFrappeForm.native.js.map +1 -0
  208. package/dist/cjs/useFrappePagination.native.js.map +1 -1
  209. package/dist/cjs/useFrappeRows.native.js.map +1 -1
  210. package/dist/esm/ChartCard.native.js.map +1 -1
  211. package/dist/esm/FileBrowser/AttachLibrary.native.js.map +1 -1
  212. package/dist/esm/FileBrowser/folderTree.native.js.map +1 -1
  213. package/dist/esm/FileBrowser/index.mjs +20 -3
  214. package/dist/esm/FileBrowser/index.mjs.map +1 -1
  215. package/dist/esm/FileBrowser/index.native.js +20 -3
  216. package/dist/esm/FileBrowser/index.native.js.map +1 -1
  217. package/dist/esm/FileBrowser/types.native.js.map +1 -1
  218. package/dist/esm/FileBrowser/viewPersistence.native.js.map +1 -1
  219. package/dist/esm/FormSidebar.native.js.map +1 -1
  220. package/dist/esm/FrappeAssignment.native.js.map +1 -1
  221. package/dist/esm/FrappeCalendar.mjs +4 -3
  222. package/dist/esm/FrappeCalendar.mjs.map +1 -1
  223. package/dist/esm/FrappeCalendar.native.js +4 -3
  224. package/dist/esm/FrappeCalendar.native.js.map +1 -1
  225. package/dist/esm/FrappeChartCard.native.js.map +1 -1
  226. package/dist/esm/FrappeConnectionIndicator.native.js.map +1 -1
  227. package/dist/esm/FrappeDashboard.native.js.map +1 -1
  228. package/dist/esm/FrappeForm.mjs +151 -467
  229. package/dist/esm/FrappeForm.mjs.map +1 -1
  230. package/dist/esm/FrappeForm.native.js +155 -636
  231. package/dist/esm/FrappeForm.native.js.map +1 -1
  232. package/dist/esm/FrappeFormActions.native.js.map +1 -1
  233. package/dist/esm/FrappeFormConnections.native.js.map +1 -1
  234. package/dist/esm/FrappeGantt.native.js.map +1 -1
  235. package/dist/esm/FrappeImageView.native.js.map +1 -1
  236. package/dist/esm/FrappeInsights.native.js.map +1 -1
  237. package/dist/esm/FrappeKPICard.native.js.map +1 -1
  238. package/dist/esm/FrappeKanban.native.js.map +1 -1
  239. package/dist/esm/FrappeLikedBy.native.js.map +1 -1
  240. package/dist/esm/FrappeList.native.js.map +1 -1
  241. package/dist/esm/FrappeListView.mjs +6 -28
  242. package/dist/esm/FrappeListView.mjs.map +1 -1
  243. package/dist/esm/FrappeListView.native.js +12 -33
  244. package/dist/esm/FrappeListView.native.js.map +1 -1
  245. package/dist/esm/FrappeNotConfigured.native.js.map +1 -1
  246. package/dist/esm/FrappeProvider.native.js.map +1 -1
  247. package/dist/esm/FrappeReconnectIndicator.native.js.map +1 -1
  248. package/dist/esm/FrappeRecordView.native.js.map +1 -1
  249. package/dist/esm/FrappeReportBuilder.mjs +526 -312
  250. package/dist/esm/FrappeReportBuilder.mjs.map +1 -1
  251. package/dist/esm/FrappeReportBuilder.native.js +661 -356
  252. package/dist/esm/FrappeReportBuilder.native.js.map +1 -1
  253. package/dist/esm/FrappeReportView.mjs +30 -229
  254. package/dist/esm/FrappeReportView.mjs.map +1 -1
  255. package/dist/esm/FrappeReportView.native.js +34 -278
  256. package/dist/esm/FrappeReportView.native.js.map +1 -1
  257. package/dist/esm/FrappeRowsReader.native.js.map +1 -1
  258. package/dist/esm/FrappeTable.native.js.map +1 -1
  259. package/dist/esm/FrappeTreeView.native.js.map +1 -1
  260. package/dist/esm/SyncErrorNotice.native.js.map +1 -1
  261. package/dist/esm/commentActions.native.js.map +1 -1
  262. package/dist/esm/components/attachments.native.js.map +1 -1
  263. package/dist/esm/components/tags.native.js.map +1 -1
  264. package/dist/esm/components/timeline.native.js.map +1 -1
  265. package/dist/esm/dependsOn.mjs +2 -2
  266. package/dist/esm/dependsOn.mjs.map +1 -1
  267. package/dist/esm/dependsOn.native.js +1 -2
  268. package/dist/esm/dependsOn.native.js.map +1 -1
  269. package/dist/esm/desk/DeskFormPage.native.js.map +1 -1
  270. package/dist/esm/desk/DeskFormSidebar.native.js.map +1 -1
  271. package/dist/esm/desk/DeskListPage.native.js.map +1 -1
  272. package/dist/esm/desk/DeskShell.native.js.map +1 -1
  273. package/dist/esm/desk/DeskSidebar.native.js.map +1 -1
  274. package/dist/esm/desk/awesomebar.native.js.map +1 -1
  275. package/dist/esm/fieldOverrides.native.js.map +1 -1
  276. package/dist/esm/fieldRegistry.native.js.map +1 -1
  277. package/dist/esm/fields/Barcode/index.native.js.map +1 -1
  278. package/dist/esm/fields/Check/index.native.js.map +1 -1
  279. package/dist/esm/fields/CodeEditor/index.native.js.map +1 -1
  280. package/dist/esm/fields/Color/index.native.js.map +1 -1
  281. package/dist/esm/fields/Data/index.native.js.map +1 -1
  282. package/dist/esm/fields/Date/sheetKeyboard.native.js.map +1 -1
  283. package/dist/esm/fields/Date/types.native.js.map +1 -1
  284. package/dist/esm/fields/Date/wire.native.js.map +1 -1
  285. package/dist/esm/fields/DateRange/index.native.js.map +1 -1
  286. package/dist/esm/fields/Duration/index.native.js.map +1 -1
  287. package/dist/esm/fields/DynamicLink.native.js.map +1 -1
  288. package/dist/esm/fields/FileUpload.native.js.map +1 -1
  289. package/dist/esm/fields/FileUploadField/index.native.js.map +1 -1
  290. package/dist/esm/fields/Geolocation/index.native.js.map +1 -1
  291. package/dist/esm/fields/HTML/index.native.js.map +1 -1
  292. package/dist/esm/fields/Heading/index.native.js.map +1 -1
  293. package/dist/esm/fields/Icon/index.native.js.map +1 -1
  294. package/dist/esm/fields/Link.native.js.map +1 -1
  295. package/dist/esm/fields/LinkTree.native.js.map +1 -1
  296. package/dist/esm/fields/LongText/index.native.js.map +1 -1
  297. package/dist/esm/fields/MentionInput/index.native.js.map +1 -1
  298. package/dist/esm/fields/Numeric/index.native.js.map +1 -1
  299. package/dist/esm/fields/OTPInput/index.native.js.map +1 -1
  300. package/dist/esm/fields/Password/index.native.js.map +1 -1
  301. package/dist/esm/fields/Phone/index.native.js.map +1 -1
  302. package/dist/esm/fields/Progress/index.native.js.map +1 -1
  303. package/dist/esm/fields/RadioGroup/index.native.js.map +1 -1
  304. package/dist/esm/fields/Rating/index.native.js.map +1 -1
  305. package/dist/esm/fields/ReadOnly/index.native.js.map +1 -1
  306. package/dist/esm/fields/Select/index.native.js.map +1 -1
  307. package/dist/esm/fields/Signature/index.native.js.map +1 -1
  308. package/dist/esm/fields/Slider/index.native.js.map +1 -1
  309. package/dist/esm/fields/SmallText/index.native.js.map +1 -1
  310. package/dist/esm/fields/Switch/index.native.js.map +1 -1
  311. package/dist/esm/fields/TableMultiSelect.native.js.map +1 -1
  312. package/dist/esm/fields/TextEditor/types.native.js.map +1 -1
  313. package/dist/esm/fields/TimePicker/index.native.js.map +1 -1
  314. package/dist/esm/fields/ToggleGroup/index.native.js.map +1 -1
  315. package/dist/esm/fields/shared/EditorPreviewPanes.mjs +2 -2
  316. package/dist/esm/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  317. package/dist/esm/fields/shared/EditorPreviewPanes.native.js +2 -2
  318. package/dist/esm/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  319. package/dist/esm/filterFields.native.js.map +1 -1
  320. package/dist/esm/formEngine/createPrefill.native.js.map +1 -1
  321. package/dist/esm/formEngine/dirtyTracking.native.js.map +1 -1
  322. package/dist/esm/formEngine/docLifecycle.native.js.map +1 -1
  323. package/dist/esm/formEngine/docPermissions.mjs +19 -1
  324. package/dist/esm/formEngine/docPermissions.mjs.map +1 -1
  325. package/dist/esm/formEngine/docPermissions.native.js +68 -1
  326. package/dist/esm/formEngine/docPermissions.native.js.map +1 -1
  327. package/dist/esm/formEngine/doctypeMeta.native.js.map +1 -1
  328. package/dist/esm/formEngine/fetchFrom.native.js.map +1 -1
  329. package/dist/esm/formEngine/fieldPermissions.native.js.map +1 -1
  330. package/dist/esm/formEngine/formActions.native.js.map +1 -1
  331. package/dist/esm/formEngine/formLayout.native.js.map +1 -1
  332. package/dist/esm/formEngine/index.mjs +2 -2
  333. package/dist/esm/formEngine/index.mjs.map +1 -1
  334. package/dist/esm/formEngine/index.native.js +2 -2
  335. package/dist/esm/formEngine/index.native.js.map +1 -1
  336. package/dist/esm/formEngine/useAmendedAs.native.js.map +1 -1
  337. package/dist/esm/formEngine/useDocRights.native.js.map +1 -1
  338. package/dist/esm/formEngine/useFormEngine.native.js.map +1 -1
  339. package/dist/esm/formEngine/useSessionRoles.native.js.map +1 -1
  340. package/dist/esm/frappeConnections.native.js.map +1 -1
  341. package/dist/esm/frappeEventColor.native.js.map +1 -1
  342. package/dist/esm/frappeNavigation.native.js.map +1 -1
  343. package/dist/esm/frappeStoryTarget.native.js.map +1 -1
  344. package/dist/esm/frappeUsers.native.js.map +1 -1
  345. package/dist/esm/index.mjs +16 -4
  346. package/dist/esm/index.mjs.map +1 -1
  347. package/dist/esm/index.native.js +16 -4
  348. package/dist/esm/index.native.js.map +1 -1
  349. package/dist/esm/insights/InsightsFacetTags.native.js.map +1 -1
  350. package/dist/esm/insights/InsightsKpiBand.native.js.map +1 -1
  351. package/dist/esm/insights/InsightsLeaders.native.js.map +1 -1
  352. package/dist/esm/insights/InsightsRecords.native.js.map +1 -1
  353. package/dist/esm/insights/InsightsTable.native.js.map +1 -1
  354. package/dist/esm/insights/insightsData.native.js.map +1 -1
  355. package/dist/esm/insights/insightsRecord.native.js.map +1 -1
  356. package/dist/esm/list/FacetBadge.native.js.map +1 -1
  357. package/dist/esm/list/FacetRail.native.js.map +1 -1
  358. package/dist/esm/list/ImageWell.native.js.map +1 -1
  359. package/dist/esm/list/ListControls.native.js.map +1 -1
  360. package/dist/esm/list/ListToastHost.native.js.map +1 -1
  361. package/dist/esm/list/RangeFilter.native.js.map +1 -1
  362. package/dist/esm/list/ShufflePanel.native.js.map +1 -1
  363. package/dist/esm/list/facetReading.native.js.map +1 -1
  364. package/dist/esm/list/favorites.native.js.map +1 -1
  365. package/dist/esm/list/listColumns.native.js.map +1 -1
  366. package/dist/esm/list/listFields.native.js.map +1 -1
  367. package/dist/esm/list/listFormat.native.js.map +1 -1
  368. package/dist/esm/list/listState.native.js.map +1 -1
  369. package/dist/esm/list/recordLook.native.js.map +1 -1
  370. package/dist/esm/list/statusColors.native.js.map +1 -1
  371. package/dist/esm/list/useListControls.native.js.map +1 -1
  372. package/dist/esm/liveErrors.mjs +8 -3
  373. package/dist/esm/liveErrors.mjs.map +1 -1
  374. package/dist/esm/liveErrors.native.js +8 -3
  375. package/dist/esm/liveErrors.native.js.map +1 -1
  376. package/dist/esm/measures.mjs +5 -0
  377. package/dist/esm/measures.mjs.map +1 -0
  378. package/dist/esm/measures.native.js +5 -0
  379. package/dist/esm/measures.native.js.map +1 -0
  380. package/dist/esm/record/RecordBars.native.js.map +1 -1
  381. package/dist/esm/record/RecordGallery.native.js.map +1 -1
  382. package/dist/esm/record/RecordHero.native.js.map +1 -1
  383. package/dist/esm/record/RecordPage.native.js.map +1 -1
  384. package/dist/esm/record/RecordPager.native.js.map +1 -1
  385. package/dist/esm/record/RecordRows.native.js.map +1 -1
  386. package/dist/esm/record/recordData.native.js.map +1 -1
  387. package/dist/esm/record/recordSections.native.js.map +1 -1
  388. package/dist/esm/recordShape.mjs +74 -0
  389. package/dist/esm/recordShape.mjs.map +1 -0
  390. package/dist/esm/recordShape.native.js +83 -0
  391. package/dist/esm/recordShape.native.js.map +1 -0
  392. package/dist/esm/report/ReportGrid.mjs +428 -0
  393. package/dist/esm/report/ReportGrid.mjs.map +1 -0
  394. package/dist/esm/report/ReportGrid.native.js +471 -0
  395. package/dist/esm/report/ReportGrid.native.js.map +1 -0
  396. package/dist/esm/report/ReportViewToolbar.mjs +228 -0
  397. package/dist/esm/report/ReportViewToolbar.mjs.map +1 -0
  398. package/dist/esm/report/ReportViewToolbar.native.js +264 -0
  399. package/dist/esm/report/ReportViewToolbar.native.js.map +1 -0
  400. package/dist/esm/report/queryReport.mjs +404 -0
  401. package/dist/esm/report/queryReport.mjs.map +1 -0
  402. package/dist/esm/report/queryReport.native.js +545 -0
  403. package/dist/esm/report/queryReport.native.js.map +1 -0
  404. package/dist/esm/report/queryReportColumns.mjs +105 -0
  405. package/dist/esm/report/queryReportColumns.mjs.map +1 -0
  406. package/dist/esm/report/queryReportColumns.native.js +119 -0
  407. package/dist/esm/report/queryReportColumns.native.js.map +1 -0
  408. package/dist/esm/report/reportViewModel.mjs +343 -0
  409. package/dist/esm/report/reportViewModel.mjs.map +1 -0
  410. package/dist/esm/report/reportViewModel.native.js +611 -0
  411. package/dist/esm/report/reportViewModel.native.js.map +1 -0
  412. package/dist/esm/report/savedReports.mjs +112 -0
  413. package/dist/esm/report/savedReports.mjs.map +1 -0
  414. package/dist/esm/report/savedReports.native.js +141 -0
  415. package/dist/esm/report/savedReports.native.js.map +1 -0
  416. package/dist/esm/report/useFrappeReport.mjs +158 -0
  417. package/dist/esm/report/useFrappeReport.mjs.map +1 -0
  418. package/dist/esm/report/useFrappeReport.native.js +185 -0
  419. package/dist/esm/report/useFrappeReport.native.js.map +1 -0
  420. package/dist/esm/report/useQueryReport.mjs +176 -0
  421. package/dist/esm/report/useQueryReport.mjs.map +1 -0
  422. package/dist/esm/report/useQueryReport.native.js +205 -0
  423. package/dist/esm/report/useQueryReport.native.js.map +1 -0
  424. package/dist/esm/resolveControl.native.js.map +1 -1
  425. package/dist/esm/schemaForm/SchemaWizard.native.js.map +1 -1
  426. package/dist/esm/schemaForm/applyFieldOrder.native.js.map +1 -1
  427. package/dist/esm/schemaForm/index.native.js.map +1 -1
  428. package/dist/esm/shared/devWarn.native.js.map +1 -1
  429. package/dist/esm/shared/useKeyboardInset.native.js.map +1 -1
  430. package/dist/esm/syncError.native.js.map +1 -1
  431. package/dist/esm/useConnectionFilters.native.js.map +1 -1
  432. package/dist/esm/useFrappeAggregate.native.js.map +1 -1
  433. package/dist/esm/useFrappeFacets.native.js.map +1 -1
  434. package/dist/esm/useFrappeForm.mjs +533 -0
  435. package/dist/esm/useFrappeForm.mjs.map +1 -0
  436. package/dist/esm/useFrappeForm.native.js +686 -0
  437. package/dist/esm/useFrappeForm.native.js.map +1 -0
  438. package/dist/esm/useFrappePagination.native.js.map +1 -1
  439. package/dist/esm/useFrappeRows.native.js.map +1 -1
  440. package/dist/jsx/FileBrowser/index.mjs +20 -3
  441. package/dist/jsx/FileBrowser/index.mjs.map +1 -1
  442. package/dist/jsx/FileBrowser/index.native.js +20 -3
  443. package/dist/jsx/FileBrowser/index.native.js.map +1 -1
  444. package/dist/jsx/FrappeCalendar.mjs +4 -3
  445. package/dist/jsx/FrappeCalendar.mjs.map +1 -1
  446. package/dist/jsx/FrappeCalendar.native.js +3 -2
  447. package/dist/jsx/FrappeCalendar.native.js.map +1 -1
  448. package/dist/jsx/FrappeForm.mjs +151 -467
  449. package/dist/jsx/FrappeForm.mjs.map +1 -1
  450. package/dist/jsx/FrappeForm.native.js +152 -633
  451. package/dist/jsx/FrappeForm.native.js.map +1 -1
  452. package/dist/jsx/FrappeListView.mjs +6 -28
  453. package/dist/jsx/FrappeListView.mjs.map +1 -1
  454. package/dist/jsx/FrappeListView.native.js +11 -32
  455. package/dist/jsx/FrappeListView.native.js.map +1 -1
  456. package/dist/jsx/FrappeReportBuilder.mjs +526 -312
  457. package/dist/jsx/FrappeReportBuilder.mjs.map +1 -1
  458. package/dist/jsx/FrappeReportBuilder.native.js +658 -353
  459. package/dist/jsx/FrappeReportBuilder.native.js.map +1 -1
  460. package/dist/jsx/FrappeReportView.mjs +30 -229
  461. package/dist/jsx/FrappeReportView.mjs.map +1 -1
  462. package/dist/jsx/FrappeReportView.native.js +39 -283
  463. package/dist/jsx/FrappeReportView.native.js.map +1 -1
  464. package/dist/jsx/dependsOn.mjs +2 -2
  465. package/dist/jsx/dependsOn.mjs.map +1 -1
  466. package/dist/jsx/dependsOn.native.js +1 -2
  467. package/dist/jsx/dependsOn.native.js.map +1 -1
  468. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs +2 -2
  469. package/dist/jsx/fields/shared/EditorPreviewPanes.mjs.map +1 -1
  470. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js +2 -2
  471. package/dist/jsx/fields/shared/EditorPreviewPanes.native.js.map +1 -1
  472. package/dist/jsx/formEngine/docPermissions.mjs +19 -1
  473. package/dist/jsx/formEngine/docPermissions.mjs.map +1 -1
  474. package/dist/jsx/formEngine/docPermissions.native.js +69 -0
  475. package/dist/jsx/formEngine/docPermissions.native.js.map +1 -1
  476. package/dist/jsx/formEngine/index.mjs +2 -2
  477. package/dist/jsx/formEngine/index.mjs.map +1 -1
  478. package/dist/jsx/formEngine/index.native.js +2 -0
  479. package/dist/jsx/formEngine/index.native.js.map +1 -1
  480. package/dist/jsx/index.js +16 -4
  481. package/dist/jsx/index.js.map +1 -1
  482. package/dist/jsx/index.mjs +16 -4
  483. package/dist/jsx/index.mjs.map +1 -1
  484. package/dist/jsx/index.native.js +67 -7
  485. package/dist/jsx/index.native.js.map +1 -1
  486. package/dist/jsx/liveErrors.mjs +8 -3
  487. package/dist/jsx/liveErrors.mjs.map +1 -1
  488. package/dist/jsx/liveErrors.native.js +8 -2
  489. package/dist/jsx/liveErrors.native.js.map +1 -1
  490. package/dist/jsx/measures.mjs +5 -0
  491. package/dist/jsx/measures.mjs.map +1 -0
  492. package/dist/jsx/measures.native.js +34 -0
  493. package/dist/jsx/measures.native.js.map +1 -0
  494. package/dist/jsx/recordShape.mjs +74 -0
  495. package/dist/jsx/recordShape.mjs.map +1 -0
  496. package/dist/jsx/recordShape.native.js +115 -0
  497. package/dist/jsx/recordShape.native.js.map +1 -0
  498. package/dist/jsx/report/ReportGrid.mjs +428 -0
  499. package/dist/jsx/report/ReportGrid.mjs.map +1 -0
  500. package/dist/jsx/report/ReportGrid.native.js +510 -0
  501. package/dist/jsx/report/ReportGrid.native.js.map +1 -0
  502. package/dist/jsx/report/ReportViewToolbar.mjs +228 -0
  503. package/dist/jsx/report/ReportViewToolbar.mjs.map +1 -0
  504. package/dist/jsx/report/ReportViewToolbar.native.js +303 -0
  505. package/dist/jsx/report/ReportViewToolbar.native.js.map +1 -0
  506. package/dist/jsx/report/queryReport.mjs +404 -0
  507. package/dist/jsx/report/queryReport.mjs.map +1 -0
  508. package/dist/jsx/report/queryReport.native.js +588 -0
  509. package/dist/jsx/report/queryReport.native.js.map +1 -0
  510. package/dist/jsx/report/queryReportColumns.mjs +105 -0
  511. package/dist/jsx/report/queryReportColumns.mjs.map +1 -0
  512. package/dist/jsx/report/queryReportColumns.native.js +159 -0
  513. package/dist/jsx/report/queryReportColumns.native.js.map +1 -0
  514. package/dist/jsx/report/reportViewModel.mjs +343 -0
  515. package/dist/jsx/report/reportViewModel.mjs.map +1 -0
  516. package/dist/jsx/report/reportViewModel.native.js +657 -0
  517. package/dist/jsx/report/reportViewModel.native.js.map +1 -0
  518. package/dist/jsx/report/savedReports.mjs +112 -0
  519. package/dist/jsx/report/savedReports.mjs.map +1 -0
  520. package/dist/jsx/report/savedReports.native.js +169 -0
  521. package/dist/jsx/report/savedReports.native.js.map +1 -0
  522. package/dist/jsx/report/useFrappeReport.mjs +158 -0
  523. package/dist/jsx/report/useFrappeReport.mjs.map +1 -0
  524. package/dist/jsx/report/useFrappeReport.native.js +214 -0
  525. package/dist/jsx/report/useFrappeReport.native.js.map +1 -0
  526. package/dist/jsx/report/useQueryReport.mjs +176 -0
  527. package/dist/jsx/report/useQueryReport.mjs.map +1 -0
  528. package/dist/jsx/report/useQueryReport.native.js +233 -0
  529. package/dist/jsx/report/useQueryReport.native.js.map +1 -0
  530. package/dist/jsx/useFrappeForm.mjs +533 -0
  531. package/dist/jsx/useFrappeForm.mjs.map +1 -0
  532. package/dist/jsx/useFrappeForm.native.js +714 -0
  533. package/dist/jsx/useFrappeForm.native.js.map +1 -0
  534. package/package.json +16 -16
  535. package/src/FileBrowser/FileBrowser.spec.tsx +21 -0
  536. package/src/FileBrowser/FileBrowser.stories.tsx +27 -0
  537. package/src/FileBrowser/index.tsx +25 -2
  538. package/src/FrappeCalendar.tsx +8 -2
  539. package/src/FrappeForm.stories.tsx +52 -0
  540. package/src/FrappeForm.tsx +176 -565
  541. package/src/FrappeListView.cards.stories.tsx +3 -6
  542. package/src/FrappeListView.tsx +15 -55
  543. package/src/FrappeReportBuilder.stories.tsx +34 -7
  544. package/src/FrappeReportBuilder.tsx +790 -380
  545. package/src/FrappeReportView.spec.tsx +10 -6
  546. package/src/FrappeReportView.stories.tsx +20 -1
  547. package/src/FrappeReportView.tsx +89 -415
  548. package/src/dependsOn.ts +4 -1
  549. package/src/fields/shared/EditorPreviewPanes.tsx +2 -2
  550. package/src/formEngine/docPermissions.spec.ts +36 -1
  551. package/src/formEngine/docPermissions.ts +34 -0
  552. package/src/formEngine/index.ts +8 -1
  553. package/src/frappeRemainder.designLaw.spec.ts +9 -1
  554. package/src/frappeRoutes.spec.tsx +9 -0
  555. package/src/frappeViews.designLaw.spec.ts +15 -2
  556. package/src/guestFallback.spec.tsx +236 -0
  557. package/src/index.ts +117 -16
  558. package/src/liveErrors.spec.ts +10 -0
  559. package/src/liveErrors.ts +16 -3
  560. package/src/measures.ts +11 -0
  561. package/src/recordShape.spec.ts +100 -0
  562. package/src/recordShape.ts +133 -0
  563. package/src/report/ReportGrid.spec.tsx +175 -0
  564. package/src/report/ReportGrid.tsx +530 -0
  565. package/src/report/ReportViewToolbar.spec.tsx +90 -0
  566. package/src/report/ReportViewToolbar.tsx +314 -0
  567. package/src/report/queryReport.spec.ts +483 -0
  568. package/src/report/queryReport.ts +722 -0
  569. package/src/report/queryReportColumns.tsx +123 -0
  570. package/src/report/reportViewModel.spec.ts +393 -0
  571. package/src/report/reportViewModel.ts +617 -0
  572. package/src/report/savedReports.ts +172 -0
  573. package/src/report/seam.spec.ts +216 -0
  574. package/src/report/useFrappeReport.ts +241 -0
  575. package/src/report/useQueryReport.spec.tsx +131 -0
  576. package/src/report/useQueryReport.ts +309 -0
  577. package/src/useFrappeForm.spec.tsx +209 -0
  578. package/src/useFrappeForm.ts +778 -0
  579. package/types/FileBrowser/index.d.ts.map +1 -1
  580. package/types/FrappeCalendar.d.ts.map +1 -1
  581. package/types/FrappeForm.d.ts +21 -1
  582. package/types/FrappeForm.d.ts.map +1 -1
  583. package/types/FrappeListView.d.ts.map +1 -1
  584. package/types/FrappeReportBuilder.d.ts +66 -16
  585. package/types/FrappeReportBuilder.d.ts.map +1 -1
  586. package/types/FrappeReportView.d.ts +9 -127
  587. package/types/FrappeReportView.d.ts.map +1 -1
  588. package/types/dependsOn.d.ts.map +1 -1
  589. package/types/formEngine/docPermissions.d.ts +14 -0
  590. package/types/formEngine/docPermissions.d.ts.map +1 -1
  591. package/types/formEngine/index.d.ts +1 -1
  592. package/types/formEngine/index.d.ts.map +1 -1
  593. package/types/index.d.ts +15 -3
  594. package/types/index.d.ts.map +1 -1
  595. package/types/liveErrors.d.ts +9 -1
  596. package/types/liveErrors.d.ts.map +1 -1
  597. package/types/measures.d.ts +3 -0
  598. package/types/measures.d.ts.map +1 -0
  599. package/types/recordShape.d.ts +45 -0
  600. package/types/recordShape.d.ts.map +1 -0
  601. package/types/report/ReportGrid.d.ts +20 -0
  602. package/types/report/ReportGrid.d.ts.map +1 -0
  603. package/types/report/ReportViewToolbar.d.ts +31 -0
  604. package/types/report/ReportViewToolbar.d.ts.map +1 -0
  605. package/types/report/queryReport.d.ts +181 -0
  606. package/types/report/queryReport.d.ts.map +1 -0
  607. package/types/report/queryReportColumns.d.ts +12 -0
  608. package/types/report/queryReportColumns.d.ts.map +1 -0
  609. package/types/report/reportViewModel.d.ts +146 -0
  610. package/types/report/reportViewModel.d.ts.map +1 -0
  611. package/types/report/savedReports.d.ts +27 -0
  612. package/types/report/savedReports.d.ts.map +1 -0
  613. package/types/report/useFrappeReport.d.ts +60 -0
  614. package/types/report/useFrappeReport.d.ts.map +1 -0
  615. package/types/report/useQueryReport.d.ts +37 -0
  616. package/types/report/useQueryReport.d.ts.map +1 -0
  617. package/types/useFrappeForm.d.ts +142 -0
  618. 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":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","ReportGrid_exports","__export","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","call","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","name","defaultValue","hoverStyle","backgroundColor","pressStyle","outlineWidth","focusStyle","focusVisibleStyle","ensureFocusVisibleRing","outlineOffset","onFocus","currentTarget","onBlur","next","relatedTarget","onKeyDown","key","preventDefault","repeat","_rowEl_closest","_pressRows_nextIdx","rowEl","scope","ownerDocument","pressRows","Array","from","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":[]}