@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,545 @@
1
+ import { readServerMessages } from "@multiplatform.one/frappe";
2
+ function _instanceof(left, right) {
3
+ "@swc/helpers - instanceof";
4
+
5
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
6
+ return !!right[Symbol.hasInstance](left);
7
+ } else {
8
+ return left instanceof right;
9
+ }
10
+ }
11
+ function _type_of(obj) {
12
+ "@swc/helpers - typeof";
13
+
14
+ return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
15
+ }
16
+ function scrubFieldname(label) {
17
+ return label.replace(/ /g, "_").replace(/-/g, "_").toLowerCase();
18
+ }
19
+ function stripHtml(value) {
20
+ if (!value.includes("<") && !value.includes("&")) return value;
21
+ return value.replace(/<[^>]*>/g, "").replace(/&nbsp;/g, " ").replace(/&amp;/g, "&").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&quot;/g, '"').replace(/&#39;/g, "'").replace(/\s+/g, " ").trim();
22
+ }
23
+ function parseWidth(raw) {
24
+ if (typeof raw === "number") return raw > 0 ? raw : void 0;
25
+ if (typeof raw === "string" && raw) {
26
+ var parsed = Number.parseInt(raw, 10);
27
+ if (!Number.isNaN(parsed) && parsed > 0) return parsed;
28
+ }
29
+ return void 0;
30
+ }
31
+ function parsePrecision(raw) {
32
+ var parsed = typeof raw === "string" && raw ? Number(raw) : raw;
33
+ return typeof parsed === "number" && Number.isInteger(parsed) && parsed >= 0 ? parsed : void 0;
34
+ }
35
+ function normalizeQueryReportColumns(raw) {
36
+ var used = /* @__PURE__ */new Set();
37
+ var columns = [];
38
+ (raw !== null && raw !== void 0 ? raw : []).forEach(function (entry, index) {
39
+ var label = "";
40
+ var fieldname = "";
41
+ var fieldtype = "";
42
+ var options;
43
+ var width;
44
+ var precision;
45
+ if (typeof entry === "string") {
46
+ var [labelPart = "", typePart = "", widthPart = ""] = entry.split(":");
47
+ label = labelPart.trim();
48
+ var [typeBit = "", optionsBit = ""] = typePart.split("/");
49
+ fieldtype = typeBit.trim();
50
+ options = optionsBit.trim() || void 0;
51
+ width = parseWidth(widthPart.trim());
52
+ } else if (entry && (typeof entry === "undefined" ? "undefined" : _type_of(entry)) === "object") {
53
+ var column = entry;
54
+ label = typeof column.label === "string" ? column.label : "";
55
+ fieldname = typeof column.fieldname === "string" ? column.fieldname : "";
56
+ fieldtype = typeof column.fieldtype === "string" ? column.fieldtype : "";
57
+ options = typeof column.options === "string" && column.options ? column.options : void 0;
58
+ width = parseWidth(column.width);
59
+ precision = parsePrecision(column.precision);
60
+ } else {
61
+ return;
62
+ }
63
+ var id = fieldname || scrubFieldname(label) || `col_${index}`;
64
+ if (used.has(id)) id = `${id}_${index}`;
65
+ used.add(id);
66
+ columns.push({
67
+ fieldname: id,
68
+ label: label || id,
69
+ fieldtype,
70
+ options,
71
+ width,
72
+ precision
73
+ });
74
+ });
75
+ return columns;
76
+ }
77
+ function normalizeQueryReportRows(raw, columns) {
78
+ var rows = [];
79
+ var _iteratorNormalCompletion = true,
80
+ _didIteratorError = false,
81
+ _iteratorError = void 0;
82
+ try {
83
+ var _loop = function () {
84
+ var entry = _step.value;
85
+ if (Array.isArray(entry)) {
86
+ var row = {};
87
+ columns.forEach(function (column, index) {
88
+ row[column.fieldname] = entry[index];
89
+ });
90
+ rows.push(row);
91
+ } else if (entry && (typeof entry === "undefined" ? "undefined" : _type_of(entry)) === "object") {
92
+ rows.push(entry);
93
+ }
94
+ };
95
+ for (var _iterator = (raw !== null && raw !== void 0 ? raw : [])[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) _loop();
96
+ } catch (err) {
97
+ _didIteratorError = true;
98
+ _iteratorError = err;
99
+ } finally {
100
+ try {
101
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
102
+ _iterator.return();
103
+ }
104
+ } finally {
105
+ if (_didIteratorError) {
106
+ throw _iteratorError;
107
+ }
108
+ }
109
+ }
110
+ return rows;
111
+ }
112
+ function coerceFlag(raw) {
113
+ return raw === 1 || raw === "1" || raw === true ? 1 : 0;
114
+ }
115
+ function coerceFilterMetaEntry(row) {
116
+ var fieldname = typeof row.fieldname === "string" && row.fieldname ? row.fieldname : typeof row.label === "string" && row.label ? scrubFieldname(row.label) : "";
117
+ if (!fieldname) return void 0;
118
+ var defaultValue;
119
+ if (typeof row.default === "string" && row.default !== "") defaultValue = row.default;else if (typeof row.default === "number") defaultValue = row.default;else if (typeof row.default === "boolean") defaultValue = row.default ? 1 : 0;
120
+ return {
121
+ fieldname,
122
+ label: typeof row.label === "string" ? row.label : void 0,
123
+ fieldtype: typeof row.fieldtype === "string" ? row.fieldtype : void 0,
124
+ options: typeof row.options === "string" ? row.options : Array.isArray(row.options) && row.options.every(function (entry) {
125
+ return typeof entry === "string";
126
+ }) ? row.options.join("\n") : void 0,
127
+ default: defaultValue,
128
+ mandatory: coerceFlag(row.mandatory) || coerceFlag(row.reqd) ? 1 : 0,
129
+ wildcard_filter: coerceFlag(row.wildcard_filter),
130
+ hidden: coerceFlag(row.hidden),
131
+ read_only: coerceFlag(row.read_only) || coerceFlag(row.readOnly) ? 1 : 0
132
+ };
133
+ }
134
+ function normalizeFilterMeta(raw) {
135
+ if (!Array.isArray(raw)) return [];
136
+ var filters = [];
137
+ var _iteratorNormalCompletion = true,
138
+ _didIteratorError = false,
139
+ _iteratorError = void 0;
140
+ try {
141
+ for (var _iterator = raw[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
142
+ var entry = _step.value;
143
+ if (!entry || (typeof entry === "undefined" ? "undefined" : _type_of(entry)) !== "object") continue;
144
+ var meta = coerceFilterMetaEntry(entry);
145
+ if (meta) filters.push(meta);
146
+ }
147
+ } catch (err) {
148
+ _didIteratorError = true;
149
+ _iteratorError = err;
150
+ } finally {
151
+ try {
152
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
153
+ _iterator.return();
154
+ }
155
+ } finally {
156
+ if (_didIteratorError) {
157
+ throw _iteratorError;
158
+ }
159
+ }
160
+ }
161
+ return filters;
162
+ }
163
+ function isEmptyFilterValue(value) {
164
+ return value === void 0 || value === null || value === "";
165
+ }
166
+ function compactFilterValues(values) {
167
+ var out = {};
168
+ var _iteratorNormalCompletion = true,
169
+ _didIteratorError = false,
170
+ _iteratorError = void 0;
171
+ try {
172
+ for (var _iterator = Object.entries(values !== null && values !== void 0 ? values : {})[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
173
+ var [fieldname, value] = _step.value;
174
+ if (!isEmptyFilterValue(value)) out[fieldname] = value;
175
+ }
176
+ } catch (err) {
177
+ _didIteratorError = true;
178
+ _iteratorError = err;
179
+ } finally {
180
+ try {
181
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
182
+ _iterator.return();
183
+ }
184
+ } finally {
185
+ if (_didIteratorError) {
186
+ throw _iteratorError;
187
+ }
188
+ }
189
+ }
190
+ return out;
191
+ }
192
+ function normalizeQueryReportPayload(raw) {
193
+ var _raw_message;
194
+ var columns = normalizeQueryReportColumns(raw.columns);
195
+ var rows = normalizeQueryReportRows(raw.result, columns);
196
+ var message = Array.isArray(raw.message) ? raw.message.filter(Boolean).join(" ") : (_raw_message = raw.message) !== null && _raw_message !== void 0 ? _raw_message : void 0;
197
+ return {
198
+ columns,
199
+ rows,
200
+ message: message || void 0,
201
+ addTotalRow: Boolean(raw.add_total_row) && !raw.skip_total_row,
202
+ filters: raw.filters,
203
+ raw
204
+ };
205
+ }
206
+ function compactQueryReportFilters(filterMeta, values) {
207
+ var declared = {};
208
+ var _iteratorNormalCompletion = true,
209
+ _didIteratorError = false,
210
+ _iteratorError = void 0;
211
+ try {
212
+ for (var _iterator = filterMeta[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
213
+ var filter = _step.value;
214
+ declared[filter.fieldname] = values[filter.fieldname];
215
+ }
216
+ } catch (err) {
217
+ _didIteratorError = true;
218
+ _iteratorError = err;
219
+ } finally {
220
+ try {
221
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
222
+ _iterator.return();
223
+ }
224
+ } finally {
225
+ if (_didIteratorError) {
226
+ throw _iteratorError;
227
+ }
228
+ }
229
+ }
230
+ return compactFilterValues(declared);
231
+ }
232
+ function defaultFilterValues(filterMeta) {
233
+ var defaults = {};
234
+ var _iteratorNormalCompletion = true,
235
+ _didIteratorError = false,
236
+ _iteratorError = void 0;
237
+ try {
238
+ for (var _iterator = filterMeta[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
239
+ var filter = _step.value;
240
+ if (filter.default !== void 0 && filter.default !== "") defaults[filter.fieldname] = filter.default;
241
+ }
242
+ } catch (err) {
243
+ _didIteratorError = true;
244
+ _iteratorError = err;
245
+ } finally {
246
+ try {
247
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
248
+ _iterator.return();
249
+ }
250
+ } finally {
251
+ if (_didIteratorError) {
252
+ throw _iteratorError;
253
+ }
254
+ }
255
+ }
256
+ return defaults;
257
+ }
258
+ function buildRunFilters(filterMeta, filters) {
259
+ var metaByField = new Map(filterMeta.map(function (filter) {
260
+ return [filter.fieldname, filter];
261
+ }));
262
+ var out = {};
263
+ var _iteratorNormalCompletion = true,
264
+ _didIteratorError = false,
265
+ _iteratorError = void 0;
266
+ try {
267
+ for (var _iterator = Object.entries(filters)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
268
+ var [fieldname, rawValue] = _step.value;
269
+ var value = rawValue === true ? 1 : rawValue;
270
+ if (isEmptyFilterValue(value) || value === false || value === 0) continue;
271
+ var meta = metaByField.get(fieldname);
272
+ if ((meta === null || meta === void 0 ? void 0 : meta.wildcard_filter) === 1 && typeof value === "string" && !value.includes("%")) value = `%${value}%`;
273
+ if ((meta === null || meta === void 0 ? void 0 : meta.fieldtype) !== void 0 && NUMERIC_FILTER_FIELDTYPES.has(meta.fieldtype) && typeof value === "string" && value.trim() !== "" && Number.isFinite(Number(value))) value = Number(value);
274
+ out[fieldname] = value;
275
+ }
276
+ } catch (err) {
277
+ _didIteratorError = true;
278
+ _iteratorError = err;
279
+ } finally {
280
+ try {
281
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
282
+ _iterator.return();
283
+ }
284
+ } finally {
285
+ if (_didIteratorError) {
286
+ throw _iteratorError;
287
+ }
288
+ }
289
+ }
290
+ return out;
291
+ }
292
+ var EMPTY_EXTRACTION = {
293
+ declared: false,
294
+ declaredCount: 0,
295
+ filters: []
296
+ };
297
+ var RENDERABLE_FILTER_FIELDTYPES = /* @__PURE__ */new Set(["Data", "Small Text", "Text", "Int", "Float", "Currency", "Percent", "Date", "Datetime", "Time", "Check", "Select", "Link"]);
298
+ var NUMERIC_FILTER_FIELDTYPES = /* @__PURE__ */new Set(["Int", "Float", "Currency", "Percent"]);
299
+ function scanStringEnd(text, start) {
300
+ var quote = text[start];
301
+ var index = start + 1;
302
+ while (index < text.length) {
303
+ var ch = text[index];
304
+ if (ch === "\\") {
305
+ index += 2;
306
+ continue;
307
+ }
308
+ if (ch === quote) return index + 1;
309
+ index += 1;
310
+ }
311
+ return index;
312
+ }
313
+ function scanCommentEnd(text, start) {
314
+ var next = text[start + 1];
315
+ if (next === "/") {
316
+ var newline = text.indexOf("\n", start);
317
+ return newline === -1 ? text.length : newline + 1;
318
+ }
319
+ if (next === "*") {
320
+ var end = text.indexOf("*/", start + 2);
321
+ return end === -1 ? text.length : end + 2;
322
+ }
323
+ return start + 1;
324
+ }
325
+ function matchBracket(text, open) {
326
+ var openCh = text[open];
327
+ var closeCh = openCh === "[" ? "]" : openCh === "{" ? "}" : openCh === "(" ? ")" : "";
328
+ if (!closeCh) return -1;
329
+ var depth = 0;
330
+ var index = open;
331
+ while (index < text.length) {
332
+ var ch = text[index];
333
+ if (ch === "'" || ch === '"' || ch === "`") {
334
+ index = scanStringEnd(text, index);
335
+ continue;
336
+ }
337
+ if (ch === "/") {
338
+ index = scanCommentEnd(text, index);
339
+ continue;
340
+ }
341
+ if (ch === openCh) depth += 1;else if (ch === closeCh) {
342
+ depth -= 1;
343
+ if (depth === 0) return index;
344
+ }
345
+ index += 1;
346
+ }
347
+ return -1;
348
+ }
349
+ function unescapeStringBody(body) {
350
+ return body.replace(/\\(.)/g, function (_, ch) {
351
+ return ch === "n" ? "\n" : ch === "t" ? " " : ch === "r" ? "\r" : ch;
352
+ });
353
+ }
354
+ function interpretScriptValue(raw) {
355
+ var value = raw.trim();
356
+ if (!value) return void 0;
357
+ var first = value[0];
358
+ if (first === "'" || first === '"' || first === "`") {
359
+ var end = scanStringEnd(value, 0);
360
+ if (end !== value.length) return void 0;
361
+ var body = value.slice(1, -1);
362
+ if (first === "`" && body.includes("${")) return void 0;
363
+ return unescapeStringBody(body);
364
+ }
365
+ if (/^__\s*\(/.test(value)) {
366
+ var parenIndex = value.indexOf("(");
367
+ var rest = value.slice(parenIndex + 1).trim();
368
+ var quote = rest[0];
369
+ if (quote !== "'" && quote !== '"' && quote !== "`") return void 0;
370
+ var quoteIndex = value.indexOf(quote, parenIndex);
371
+ var end1 = scanStringEnd(value, quoteIndex);
372
+ return unescapeStringBody(value.slice(quoteIndex + 1, end1 - 1));
373
+ }
374
+ if (/^-?\d+(\.\d+)?$/.test(value)) return Number(value);
375
+ if (value === "true") return true;
376
+ if (value === "false") return false;
377
+ if (first === "[") {
378
+ var close = matchBracket(value, 0);
379
+ if (close !== value.length - 1) return void 0;
380
+ var entries = [];
381
+ var index = 1;
382
+ while (index < close) {
383
+ var ch = value[index];
384
+ if (ch === "'" || ch === '"' || ch === "`") {
385
+ var end2 = scanStringEnd(value, index);
386
+ var body1 = value.slice(index + 1, end2 - 1);
387
+ if (ch === "`" && body1.includes("${")) return void 0;
388
+ entries.push(unescapeStringBody(body1));
389
+ index = end2;
390
+ continue;
391
+ }
392
+ if (ch === "/" && (value[index + 1] === "/" || value[index + 1] === "*")) {
393
+ index = scanCommentEnd(value, index);
394
+ continue;
395
+ }
396
+ if (ch === "," || ch === " " || ch === " " || ch === "\n" || ch === "\r") {
397
+ index += 1;
398
+ continue;
399
+ }
400
+ return void 0;
401
+ }
402
+ return entries;
403
+ }
404
+ return void 0;
405
+ }
406
+ function parseScriptObject(source) {
407
+ var record = {};
408
+ var index = 1;
409
+ var end = source.length - 1;
410
+ while (index < end) {
411
+ var ch = source[index];
412
+ if (ch === "/" && (source[index + 1] === "/" || source[index + 1] === "*")) {
413
+ index = scanCommentEnd(source, index);
414
+ continue;
415
+ }
416
+ if (/\s|,/.test(ch)) {
417
+ index += 1;
418
+ continue;
419
+ }
420
+ var key = "";
421
+ if (ch === "'" || ch === '"') {
422
+ var keyEnd = scanStringEnd(source, index);
423
+ key = source.slice(index + 1, keyEnd - 1);
424
+ index = keyEnd;
425
+ } else {
426
+ var keyMatch = source.slice(index, index + 64).match(/^[A-Za-z_$][\w$]*/);
427
+ if (!keyMatch) break;
428
+ key = keyMatch[0];
429
+ index += key.length;
430
+ }
431
+ while (index < end && /\s/.test(source[index])) index += 1;
432
+ if (source[index] !== ":") break;
433
+ index += 1;
434
+ var valueRaw = "";
435
+ while (index < end) {
436
+ var valueCh = source[index];
437
+ if (valueCh === "'" || valueCh === '"' || valueCh === "`") {
438
+ var stringEnd = scanStringEnd(source, index);
439
+ valueRaw += source.slice(index, stringEnd);
440
+ index = stringEnd;
441
+ continue;
442
+ }
443
+ if (valueCh === "/" && (source[index + 1] === "/" || source[index + 1] === "*")) {
444
+ index = scanCommentEnd(source, index);
445
+ continue;
446
+ }
447
+ if (valueCh === "{" || valueCh === "[" || valueCh === "(") {
448
+ var close = matchBracket(source, index);
449
+ if (close === -1) return record;
450
+ valueRaw += source.slice(index, close + 1);
451
+ index = close + 1;
452
+ continue;
453
+ }
454
+ if (valueCh === ",") {
455
+ index += 1;
456
+ break;
457
+ }
458
+ valueRaw += valueCh;
459
+ index += 1;
460
+ }
461
+ var interpreted = interpretScriptValue(valueRaw);
462
+ if (interpreted !== void 0) record[key] = interpreted;
463
+ }
464
+ return record;
465
+ }
466
+ function extractScriptFilters(script) {
467
+ if (!script) return EMPTY_EXTRACTION;
468
+ var keyMatch = script.match(/\bfilters\s*:\s*\[/);
469
+ if (!keyMatch || keyMatch.index === void 0) return EMPTY_EXTRACTION;
470
+ var openBracket = keyMatch.index + keyMatch[0].length - 1;
471
+ var closeBracket = matchBracket(script, openBracket);
472
+ if (closeBracket === -1) return EMPTY_EXTRACTION;
473
+ var filters = [];
474
+ var declaredCount = 0;
475
+ var index = openBracket + 1;
476
+ while (index < closeBracket) {
477
+ var ch = script[index];
478
+ if (ch === "{") {
479
+ var _ref, _meta_options;
480
+ var close = matchBracket(script, index);
481
+ if (close === -1 || close > closeBracket) break;
482
+ declaredCount += 1;
483
+ var record = parseScriptObject(script.slice(index, close + 1));
484
+ var meta = coerceFilterMetaEntry(record);
485
+ var fieldtype = (_ref = meta === null || meta === void 0 ? void 0 : meta.fieldtype) !== null && _ref !== void 0 ? _ref : "Data";
486
+ var needsOptions = fieldtype === "Select" || fieldtype === "Link";
487
+ if (meta && RENDERABLE_FILTER_FIELDTYPES.has(fieldtype) && (!needsOptions || ((_meta_options = meta.options) !== null && _meta_options !== void 0 ? _meta_options : "") !== "")) filters.push({
488
+ ...meta,
489
+ fieldtype
490
+ });
491
+ index = close + 1;
492
+ continue;
493
+ }
494
+ if (ch === "'" || ch === '"' || ch === "`") {
495
+ index = scanStringEnd(script, index);
496
+ continue;
497
+ }
498
+ if (ch === "/" && (script[index + 1] === "/" || script[index + 1] === "*")) {
499
+ index = scanCommentEnd(script, index);
500
+ continue;
501
+ }
502
+ index += 1;
503
+ }
504
+ return {
505
+ declared: true,
506
+ declaredCount,
507
+ filters
508
+ };
509
+ }
510
+ function decodeServerMessages(raw) {
511
+ if (typeof raw !== "string" || !raw.startsWith("[")) return void 0;
512
+ var lines = readServerMessages(raw);
513
+ return lines.length > 0 ? lines.join("\n") : void 0;
514
+ }
515
+ function humanizeFrappeError(err) {
516
+ if (_instanceof(err, Error)) {
517
+ var _decodeServerMessages, _source_exc_type;
518
+ var source = err;
519
+ var data = source.data;
520
+ var decoded = (_decodeServerMessages = decodeServerMessages(data === null || data === void 0 ? void 0 : data._server_messages)) !== null && _decodeServerMessages !== void 0 ? _decodeServerMessages : decodeServerMessages(err.message);
521
+ if (!decoded) return err;
522
+ var humanized = new Error(decoded);
523
+ if (source.status !== void 0) humanized.status = source.status;
524
+ var excType = (_source_exc_type = source.exc_type) !== null && _source_exc_type !== void 0 ? _source_exc_type : data === null || data === void 0 ? void 0 : data.exc_type;
525
+ if (excType !== void 0) humanized.exc_type = excType;
526
+ if (source.data !== void 0) humanized.data = source.data;
527
+ if (err.stack) humanized.stack = err.stack;
528
+ return humanized;
529
+ }
530
+ return new Error(String(err));
531
+ }
532
+ var normalizeReportPayload = normalizeQueryReportPayload;
533
+ function normalizeReportColumn(column) {
534
+ var _normalizeQueryReportColumns_;
535
+ return (_normalizeQueryReportColumns_ = normalizeQueryReportColumns([column])[0]) !== null && _normalizeQueryReportColumns_ !== void 0 ? _normalizeQueryReportColumns_ : {
536
+ fieldname: "col_0",
537
+ label: "col_0",
538
+ fieldtype: ""
539
+ };
540
+ }
541
+ function normalizeReportRows(columns, result) {
542
+ return normalizeQueryReportRows(result, columns);
543
+ }
544
+ export { buildRunFilters, compactFilterValues, compactQueryReportFilters, defaultFilterValues, extractScriptFilters, humanizeFrappeError, isEmptyFilterValue, normalizeFilterMeta, normalizeQueryReportColumns, normalizeQueryReportPayload, normalizeQueryReportRows, normalizeReportColumn, normalizeReportPayload, normalizeReportRows, scrubFieldname, stripHtml };
545
+ //# sourceMappingURL=queryReport.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["readServerMessages","_instanceof","left","right","Symbol","hasInstance","_type_of","obj","constructor","scrubFieldname","label","replace","toLowerCase","stripHtml","value","includes","trim","parseWidth","raw","parsed","Number","parseInt","isNaN","parsePrecision","isInteger","normalizeQueryReportColumns","used","Set","columns","forEach","entry","index","fieldname","fieldtype","options","width","precision","labelPart","typePart","widthPart","split","typeBit","optionsBit","column","id","has","add","push","normalizeQueryReportRows","rows","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_loop","_step","Array","isArray","row","_iterator","iterator","next","done","err","return","coerceFlag","coerceFilterMetaEntry","defaultValue","default","every","join","mandatory","reqd","wildcard_filter","hidden","read_only","readOnly","normalizeFilterMeta","filters","meta","isEmptyFilterValue","compactFilterValues","values","out","Object","entries","normalizeQueryReportPayload","_raw_message","result","message","filter","Boolean","addTotalRow","add_total_row","skip_total_row","compactQueryReportFilters","filterMeta","declared","defaultFilterValues","defaults","buildRunFilters","metaByField","Map","map","rawValue","get","NUMERIC_FILTER_FIELDTYPES","isFinite","EMPTY_EXTRACTION","declaredCount","RENDERABLE_FILTER_FIELDTYPES","scanStringEnd","text","start","quote","length","ch","scanCommentEnd","newline","indexOf","end","matchBracket","open","openCh","closeCh","depth","unescapeStringBody","body","_","interpretScriptValue","first","slice","test","parenIndex","rest","quoteIndex","end1","close","end2","body1"],"sources":["../../../src/report/queryReport.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,105 @@
1
+ import { Text } from "@multiplatform.one/components";
2
+ import { formatDateCell } from "../list/listFormat.mjs";
3
+ import { stripHtml } from "./queryReport.mjs";
4
+ import { jsx } from "react/jsx-runtime";
5
+ const NUMERIC_FIELDTYPES = /* @__PURE__ */new Set(["Currency", "Float", "Int", "Percent", "Duration"]);
6
+ function queryReportCell(column, onOpenLink) {
7
+ return ({
8
+ getValue
9
+ }) => {
10
+ const raw = getValue();
11
+ if (raw === null || raw === void 0 || raw === "") {
12
+ return /* @__PURE__ */jsx(Text, {
13
+ fontSize: "$3",
14
+ color: "$color8",
15
+ children: "\u2014"
16
+ });
17
+ }
18
+ if (column.fieldtype === "Check") {
19
+ return /* @__PURE__ */jsx(Text, {
20
+ fontSize: "$3",
21
+ color: raw ? "$green11" : "$color8",
22
+ children: raw ? "\u2713" : "\u2014"
23
+ });
24
+ }
25
+ const value = String(raw);
26
+ if (NUMERIC_FIELDTYPES.has(column.fieldtype)) {
27
+ return /* @__PURE__ */jsx(Text, {
28
+ fontSize: "$3",
29
+ color: "$color12",
30
+ textAlign: "right",
31
+ children: value
32
+ });
33
+ }
34
+ switch (column.fieldtype) {
35
+ case "Date":
36
+ case "Datetime":
37
+ return /* @__PURE__ */jsx(Text, {
38
+ fontSize: "$3",
39
+ color: "$color11",
40
+ children: formatDateCell(value)
41
+ });
42
+ case "Link":
43
+ {
44
+ const doctype = column.options;
45
+ if (doctype && onOpenLink) {
46
+ return /* @__PURE__ */jsx(Text, {
47
+ fontSize: "$3",
48
+ color: "$color11",
49
+ textDecorationLine: "underline",
50
+ cursor: "pointer",
51
+ numberOfLines: 1,
52
+ role: "link",
53
+ onPress: event => {
54
+ event?.stopPropagation?.();
55
+ onOpenLink(doctype, value);
56
+ },
57
+ children: value
58
+ });
59
+ }
60
+ return /* @__PURE__ */jsx(Text, {
61
+ fontSize: "$3",
62
+ color: "$color11",
63
+ numberOfLines: 1,
64
+ children: value
65
+ });
66
+ }
67
+ default:
68
+ return /* @__PURE__ */jsx(Text, {
69
+ fontSize: "$3",
70
+ color: "$color11",
71
+ numberOfLines: 1,
72
+ children: stripHtml(value)
73
+ });
74
+ }
75
+ };
76
+ }
77
+ function buildQueryReportColumns({
78
+ columns,
79
+ onOpenLink
80
+ }) {
81
+ return columns.map(column => ({
82
+ id: column.fieldname,
83
+ header: column.label,
84
+ // accessorFn (not accessorKey): report fieldnames may contain path-y
85
+ // characters like "assigned_to/owner" that key-based access mangles.
86
+ accessorFn: row => row[column.fieldname],
87
+ ...(NUMERIC_FIELDTYPES.has(column.fieldtype) ? {
88
+ align: "right"
89
+ } : {}),
90
+ ...(column.width ? {
91
+ width: column.width
92
+ } : {}),
93
+ cell: queryReportCell(column, onOpenLink)
94
+ }));
95
+ }
96
+ function escapeCsvCell(value) {
97
+ if (value === null || value === void 0) return "";
98
+ const text = stripHtml(String(value));
99
+ return /[",\n]/.test(text) ? `"${text.replace(/"/g, '""')}"` : text;
100
+ }
101
+ function buildQueryReportCsv(columns, rows) {
102
+ return [columns.map(column => escapeCsvCell(column.label)).join(","), ...rows.map(row => columns.map(column => escapeCsvCell(row[column.fieldname])).join(","))].join("\n");
103
+ }
104
+ export { buildQueryReportColumns, buildQueryReportCsv };
105
+ //# sourceMappingURL=queryReportColumns.mjs.map