@multiplatform.one/backoffice 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 (759) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/chrome/BackofficeAwesomebar.native.js +1 -1
  3. package/dist/cjs/chrome/BackofficeAwesomebar.native.js.map +1 -1
  4. package/dist/cjs/chrome/CommandPalette.native.js +1 -1
  5. package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
  6. package/dist/cjs/chrome/HelpMenu.native.js +1 -1
  7. package/dist/cjs/chrome/HelpMenu.native.js.map +1 -1
  8. package/dist/cjs/chrome/NotificationsButton.native.js +1 -1
  9. package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -1
  10. package/dist/cjs/chrome/UserMenu.native.js +1 -1
  11. package/dist/cjs/chrome/UserMenu.native.js.map +1 -1
  12. package/dist/cjs/chrome/awesomebar-data.native.js.map +1 -1
  13. package/dist/cjs/chrome/command-palette-model.native.js +1 -1
  14. package/dist/cjs/chrome/command-palette-model.native.js.map +1 -1
  15. package/dist/cjs/chrome/help-about-dialog.native.js +1 -1
  16. package/dist/cjs/chrome/help-about-dialog.native.js.map +1 -1
  17. package/dist/cjs/chrome/help-shortcuts-dialog.native.js +1 -1
  18. package/dist/cjs/chrome/help-shortcuts-dialog.native.js.map +1 -1
  19. package/dist/cjs/chrome/notifications-data.native.js.map +1 -1
  20. package/dist/cjs/chrome/notifications-panel.native.js +1 -1
  21. package/dist/cjs/chrome/notifications-panel.native.js.map +1 -1
  22. package/dist/cjs/chrome/notifications-utils.native.js.map +1 -1
  23. package/dist/cjs/chrome/shortcuts.native.js.map +1 -1
  24. package/dist/cjs/chrome/user-session.native.js.map +1 -1
  25. package/dist/cjs/config/BackofficeProvider.native.js +1 -1
  26. package/dist/cjs/config/BackofficeProvider.native.js.map +1 -1
  27. package/dist/cjs/config/capabilities.native.js.map +1 -1
  28. package/dist/cjs/config/events.native.js.map +1 -1
  29. package/dist/cjs/config/slots.native.js.map +1 -1
  30. package/dist/cjs/desk/Desk.native.js.map +1 -1
  31. package/dist/cjs/desk/DeskSurface.native.js.map +1 -1
  32. package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -1
  33. package/dist/cjs/desk/scope.native.js.map +1 -1
  34. package/dist/cjs/desk/target.native.js.map +1 -1
  35. package/dist/cjs/form/DocFormScreen.cjs +167 -224
  36. package/dist/cjs/form/DocFormScreen.native.js +183 -260
  37. package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
  38. package/dist/cjs/form/FormConnections.native.js +1 -1
  39. package/dist/cjs/form/FormConnections.native.js.map +1 -1
  40. package/dist/cjs/form/FormDialogs.native.js +1 -1
  41. package/dist/cjs/form/FormDialogs.native.js.map +1 -1
  42. package/dist/cjs/form/FormErrorBoundary.native.js +1 -1
  43. package/dist/cjs/form/FormErrorBoundary.native.js.map +1 -1
  44. package/dist/cjs/form/FormHeaderCluster.native.js +1 -1
  45. package/dist/cjs/form/FormHeaderCluster.native.js.map +1 -1
  46. package/dist/cjs/form/FormSidebarPanel.native.js +1 -1
  47. package/dist/cjs/form/FormSidebarPanel.native.js.map +1 -1
  48. package/dist/cjs/form/FormTimeline.native.js +1 -1
  49. package/dist/cjs/form/FormTimeline.native.js.map +1 -1
  50. package/dist/cjs/form/FormToolbar.native.js +1 -1
  51. package/dist/cjs/form/FormToolbar.native.js.map +1 -1
  52. package/dist/cjs/form/connections-data.native.js.map +1 -1
  53. package/dist/cjs/form/createPrefill.native.js.map +1 -1
  54. package/dist/cjs/form/dependsOn.native.js.map +1 -1
  55. package/dist/cjs/form/dirtyTracking.native.js.map +1 -1
  56. package/dist/cjs/form/docinfo.native.js.map +1 -1
  57. package/dist/cjs/form/fetchFrom.native.js.map +1 -1
  58. package/dist/cjs/form/fieldPermissions.native.js.map +1 -1
  59. package/dist/cjs/form/formActions.native.js.map +1 -1
  60. package/dist/cjs/form/formLayout.native.js.map +1 -1
  61. package/dist/cjs/form/platformHooks.native.js.map +1 -1
  62. package/dist/cjs/form/sidebar-attachments.native.js +1 -1
  63. package/dist/cjs/form/sidebar-attachments.native.js.map +1 -1
  64. package/dist/cjs/form/sidebar-dialogs.native.js +1 -1
  65. package/dist/cjs/form/sidebar-dialogs.native.js.map +1 -1
  66. package/dist/cjs/form/sidebar-people.native.js +1 -1
  67. package/dist/cjs/form/sidebar-people.native.js.map +1 -1
  68. package/dist/cjs/form/sidebar-rpc.native.js.map +1 -1
  69. package/dist/cjs/form/sidebar-utils.native.js.map +1 -1
  70. package/dist/cjs/form/timeline-entries.native.js.map +1 -1
  71. package/dist/cjs/form/timeline-utils.native.js.map +1 -1
  72. package/dist/cjs/form/useFormEngine.native.js.map +1 -1
  73. package/dist/cjs/i18n/en.cjs +1 -0
  74. package/dist/cjs/i18n/en.native.js +1 -0
  75. package/dist/cjs/i18n/en.native.js.map +1 -1
  76. package/dist/cjs/i18n/index.native.js.map +1 -1
  77. package/dist/cjs/index.native.js +1 -1
  78. package/dist/cjs/index.native.js.map +1 -1
  79. package/dist/cjs/list/AddTagsDialog.native.js +1 -1
  80. package/dist/cjs/list/AddTagsDialog.native.js.map +1 -1
  81. package/dist/cjs/list/AssignToDialog.native.js +1 -1
  82. package/dist/cjs/list/AssignToDialog.native.js.map +1 -1
  83. package/dist/cjs/list/DoctypeListScreen.native.js +1 -1
  84. package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
  85. package/dist/cjs/list/ListBulkActionsBar.cjs +30 -18
  86. package/dist/cjs/list/ListBulkActionsBar.native.js +44 -32
  87. package/dist/cjs/list/ListBulkActionsBar.native.js.map +1 -1
  88. package/dist/cjs/list/ListFilterBar.native.js +1 -1
  89. package/dist/cjs/list/ListFilterBar.native.js.map +1 -1
  90. package/dist/cjs/list/ListSidebar.native.js +1 -1
  91. package/dist/cjs/list/ListSidebar.native.js.map +1 -1
  92. package/dist/cjs/list/bulk-edit-dialog.native.js +1 -1
  93. package/dist/cjs/list/bulk-edit-dialog.native.js.map +1 -1
  94. package/dist/cjs/list/bulk-export.native.js.map +1 -1
  95. package/dist/cjs/list/bulk-submit-cancel.native.js.map +1 -1
  96. package/dist/cjs/list/bulkActions.native.js.map +1 -1
  97. package/dist/cjs/list/filter-chips.native.js +1 -1
  98. package/dist/cjs/list/filter-chips.native.js.map +1 -1
  99. package/dist/cjs/list/filter-editor.native.js +1 -1
  100. package/dist/cjs/list/filter-editor.native.js.map +1 -1
  101. package/dist/cjs/list/filter-fields.native.js.map +1 -1
  102. package/dist/cjs/list/filter-saved.native.js +1 -1
  103. package/dist/cjs/list/filter-saved.native.js.map +1 -1
  104. package/dist/cjs/list/filter-sort.native.js +1 -1
  105. package/dist/cjs/list/filter-sort.native.js.map +1 -1
  106. package/dist/cjs/list/filter-standard.native.js.map +1 -1
  107. package/dist/cjs/list/filterConversion.native.js.map +1 -1
  108. package/dist/cjs/list/list-tools-sheet.native.js +1 -1
  109. package/dist/cjs/list/list-tools-sheet.native.js.map +1 -1
  110. package/dist/cjs/list/listColumns.native.js.map +1 -1
  111. package/dist/cjs/list/listFields.native.js.map +1 -1
  112. package/dist/cjs/list/listFormat.native.js.map +1 -1
  113. package/dist/cjs/list/listUrlState.native.js.map +1 -1
  114. package/dist/cjs/list/sidebar-section.cjs +15 -7
  115. package/dist/cjs/list/sidebar-section.native.js +17 -8
  116. package/dist/cjs/list/sidebar-section.native.js.map +1 -1
  117. package/dist/cjs/list/sidebar-stats.native.js.map +1 -1
  118. package/dist/cjs/list/statusColors.native.js.map +1 -1
  119. package/dist/cjs/navigation/navigator.native.js.map +1 -1
  120. package/dist/cjs/navigation/paths.native.js.map +1 -1
  121. package/dist/cjs/oneAdapter/index.native.js.map +1 -1
  122. package/dist/cjs/quickEntry/QuickEntryDialog.native.js +1 -1
  123. package/dist/cjs/quickEntry/QuickEntryDialog.native.js.map +1 -1
  124. package/dist/cjs/quickEntry/quickEntryPlan.native.js.map +1 -1
  125. package/dist/cjs/report/DoctypeReportView.cjs +20 -374
  126. package/dist/cjs/report/DoctypeReportView.native.js +23 -455
  127. package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
  128. package/dist/cjs/report/QueryReportScreen.cjs +33 -23
  129. package/dist/cjs/report/QueryReportScreen.native.js +34 -24
  130. package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
  131. package/dist/cjs/report/queryReportColumns.cjs +3 -105
  132. package/dist/cjs/report/queryReportColumns.native.js +2 -129
  133. package/dist/cjs/report/queryReportColumns.native.js.map +1 -1
  134. package/dist/cjs/report/queryReportFilterBar.cjs +3 -4
  135. package/dist/cjs/report/queryReportFilterBar.native.js +4 -5
  136. package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
  137. package/dist/cjs/report/queryReportUrlState.cjs +2 -2
  138. package/dist/cjs/report/queryReportUrlState.native.js +2 -2
  139. package/dist/cjs/report/queryReportUrlState.native.js.map +1 -1
  140. package/dist/cjs/report/report-grid.cjs +2 -426
  141. package/dist/cjs/report/report-grid.native.js +1 -479
  142. package/dist/cjs/report/report-grid.native.js.map +1 -1
  143. package/dist/cjs/report/report-toolbar.cjs +2 -228
  144. package/dist/cjs/report/report-toolbar.native.js +1 -274
  145. package/dist/cjs/report/report-toolbar.native.js.map +1 -1
  146. package/dist/cjs/report/reportShapes.cjs +12 -383
  147. package/dist/cjs/report/reportShapes.native.js +12 -501
  148. package/dist/cjs/report/reportShapes.native.js.map +1 -1
  149. package/dist/cjs/report/reportViewModel.cjs +20 -360
  150. package/dist/cjs/report/reportViewModel.native.js +19 -627
  151. package/dist/cjs/report/reportViewModel.native.js.map +1 -1
  152. package/dist/cjs/report/savedReports.cjs +2 -106
  153. package/dist/cjs/report/savedReports.native.js +1 -132
  154. package/dist/cjs/report/savedReports.native.js.map +1 -1
  155. package/dist/cjs/report/useQueryReport.cjs +11 -219
  156. package/dist/cjs/report/useQueryReport.native.js +11 -244
  157. package/dist/cjs/report/useQueryReport.native.js.map +1 -1
  158. package/dist/cjs/shared/deskLinks.native.js.map +1 -1
  159. package/dist/cjs/shared/listNavContext.native.js.map +1 -1
  160. package/dist/cjs/shared/measures.cjs +3 -5
  161. package/dist/cjs/shared/measures.native.js +3 -5
  162. package/dist/cjs/shared/measures.native.js.map +1 -1
  163. package/dist/cjs/shared/types.native.js.map +1 -1
  164. package/dist/cjs/shared/useDocinfo.native.js.map +1 -1
  165. package/dist/cjs/shared/useDoctypeMeta.native.js.map +1 -1
  166. package/dist/cjs/shared/useFrappeApp.native.js.map +1 -1
  167. package/dist/cjs/shared/useRecentVisit.native.js.map +1 -1
  168. package/dist/cjs/shared/useSessionUserId.native.js.map +1 -1
  169. package/dist/cjs/shared/useSlugTarget.native.js.map +1 -1
  170. package/dist/cjs/shared/useUserRoles.native.js.map +1 -1
  171. package/dist/cjs/shell/BackofficeShell.native.js +1 -1
  172. package/dist/cjs/shell/BackofficeShell.native.js.map +1 -1
  173. package/dist/cjs/shell/HomeRedirect.native.js +1 -1
  174. package/dist/cjs/shell/HomeRedirect.native.js.map +1 -1
  175. package/dist/cjs/shell/NotFoundScreen.native.js +1 -1
  176. package/dist/cjs/shell/NotFoundScreen.native.js.map +1 -1
  177. package/dist/cjs/shell/SlugScreen.native.js +1 -1
  178. package/dist/cjs/shell/SlugScreen.native.js.map +1 -1
  179. package/dist/cjs/shell/WorkspaceSidebar.native.js +1 -1
  180. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
  181. package/dist/cjs/shell/useWorkspaces.native.js.map +1 -1
  182. package/dist/cjs/shell/workspaceIcons.native.js.map +1 -1
  183. package/dist/cjs/views/CalendarView.native.js +1 -1
  184. package/dist/cjs/views/CalendarView.native.js.map +1 -1
  185. package/dist/cjs/views/DashboardView.native.js +1 -1
  186. package/dist/cjs/views/DashboardView.native.js.map +1 -1
  187. package/dist/cjs/views/DoctypeViewScreen.native.js.map +1 -1
  188. package/dist/cjs/views/ImageView.native.js +1 -1
  189. package/dist/cjs/views/ImageView.native.js.map +1 -1
  190. package/dist/cjs/views/KanbanView.native.js +1 -1
  191. package/dist/cjs/views/KanbanView.native.js.map +1 -1
  192. package/dist/cjs/views/ReportView.cjs +3 -256
  193. package/dist/cjs/views/ReportView.native.js +3 -382
  194. package/dist/cjs/views/ReportView.native.js.map +1 -1
  195. package/dist/cjs/views/TreeView.native.js +1 -1
  196. package/dist/cjs/views/TreeView.native.js.map +1 -1
  197. package/dist/cjs/views/ViewHeader.native.js +1 -1
  198. package/dist/cjs/views/ViewHeader.native.js.map +1 -1
  199. package/dist/cjs/views/ViewStates.native.js +1 -1
  200. package/dist/cjs/views/ViewStates.native.js.map +1 -1
  201. package/dist/cjs/views/ViewSwitcherMenu.native.js +1 -1
  202. package/dist/cjs/views/ViewSwitcherMenu.native.js.map +1 -1
  203. package/dist/cjs/views/calendar-field-selector.native.js +1 -1
  204. package/dist/cjs/views/calendar-field-selector.native.js.map +1 -1
  205. package/dist/cjs/views/connection.native.js.map +1 -1
  206. package/dist/cjs/views/dashboard-data.native.js.map +1 -1
  207. package/dist/cjs/views/deskViewConfigs.native.js.map +1 -1
  208. package/dist/cjs/views/kanban-board-controls.native.js +1 -1
  209. package/dist/cjs/views/kanban-board-controls.native.js.map +1 -1
  210. package/dist/cjs/views/kanban-field-picker.native.js +1 -1
  211. package/dist/cjs/views/kanban-field-picker.native.js.map +1 -1
  212. package/dist/cjs/views/kanbanBoardOps.native.js.map +1 -1
  213. package/dist/cjs/views/report-controls.cjs +6 -6
  214. package/dist/cjs/views/report-controls.native.js +7 -7
  215. package/dist/cjs/views/report-controls.native.js.map +1 -1
  216. package/dist/cjs/views/viewAvailability.native.js.map +1 -1
  217. package/dist/cjs/views/viewMeta.native.js.map +1 -1
  218. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +1 -1
  219. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -1
  220. package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -1
  221. package/dist/cjs/workspace/WorkspaceLinkCard.native.js +1 -1
  222. package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -1
  223. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +1 -1
  224. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  225. package/dist/cjs/workspace/WorkspaceNumberCard.native.js +1 -1
  226. package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -1
  227. package/dist/cjs/workspace/WorkspaceQuickList.native.js +1 -1
  228. package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -1
  229. package/dist/cjs/workspace/WorkspaceRecents.native.js +1 -1
  230. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -1
  231. package/dist/cjs/workspace/WorkspaceScreen.native.js +1 -1
  232. package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -1
  233. package/dist/cjs/workspace/WorkspaceShortcut.native.js +1 -1
  234. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -1
  235. package/dist/cjs/workspace/parseContent.native.js.map +1 -1
  236. package/dist/cjs/workspace/types.native.js.map +1 -1
  237. package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -1
  238. package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -1
  239. package/dist/esm/chrome/BackofficeAwesomebar.native.js.map +1 -1
  240. package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
  241. package/dist/esm/chrome/HelpMenu.native.js.map +1 -1
  242. package/dist/esm/chrome/NotificationsButton.native.js.map +1 -1
  243. package/dist/esm/chrome/UserMenu.native.js.map +1 -1
  244. package/dist/esm/chrome/awesomebar-data.native.js.map +1 -1
  245. package/dist/esm/chrome/command-palette-model.native.js.map +1 -1
  246. package/dist/esm/chrome/help-about-dialog.native.js.map +1 -1
  247. package/dist/esm/chrome/help-shortcuts-dialog.native.js.map +1 -1
  248. package/dist/esm/chrome/notifications-data.native.js.map +1 -1
  249. package/dist/esm/chrome/notifications-panel.native.js.map +1 -1
  250. package/dist/esm/chrome/notifications-utils.native.js.map +1 -1
  251. package/dist/esm/chrome/shortcuts.native.js.map +1 -1
  252. package/dist/esm/chrome/user-session.native.js.map +1 -1
  253. package/dist/esm/config/BackofficeProvider.native.js.map +1 -1
  254. package/dist/esm/config/capabilities.native.js.map +1 -1
  255. package/dist/esm/config/events.native.js.map +1 -1
  256. package/dist/esm/config/slots.native.js.map +1 -1
  257. package/dist/esm/desk/Desk.native.js.map +1 -1
  258. package/dist/esm/desk/DeskSurface.mjs.map +1 -1
  259. package/dist/esm/desk/DeskSurface.native.js.map +1 -1
  260. package/dist/esm/desk/resolveDeskPath.native.js.map +1 -1
  261. package/dist/esm/desk/scope.native.js.map +1 -1
  262. package/dist/esm/desk/target.native.js.map +1 -1
  263. package/dist/esm/form/DocFormScreen.mjs +169 -226
  264. package/dist/esm/form/DocFormScreen.mjs.map +1 -1
  265. package/dist/esm/form/DocFormScreen.native.js +184 -261
  266. package/dist/esm/form/DocFormScreen.native.js.map +1 -1
  267. package/dist/esm/form/FormConnections.native.js.map +1 -1
  268. package/dist/esm/form/FormDialogs.native.js.map +1 -1
  269. package/dist/esm/form/FormErrorBoundary.native.js.map +1 -1
  270. package/dist/esm/form/FormHeaderCluster.native.js.map +1 -1
  271. package/dist/esm/form/FormSidebarPanel.native.js.map +1 -1
  272. package/dist/esm/form/FormTimeline.native.js.map +1 -1
  273. package/dist/esm/form/FormToolbar.native.js.map +1 -1
  274. package/dist/esm/form/connections-data.native.js.map +1 -1
  275. package/dist/esm/form/createPrefill.native.js.map +1 -1
  276. package/dist/esm/form/dependsOn.native.js.map +1 -1
  277. package/dist/esm/form/dirtyTracking.native.js.map +1 -1
  278. package/dist/esm/form/docinfo.native.js.map +1 -1
  279. package/dist/esm/form/fetchFrom.native.js.map +1 -1
  280. package/dist/esm/form/fieldPermissions.native.js.map +1 -1
  281. package/dist/esm/form/formActions.native.js.map +1 -1
  282. package/dist/esm/form/formLayout.native.js.map +1 -1
  283. package/dist/esm/form/platformHooks.native.js.map +1 -1
  284. package/dist/esm/form/sidebar-attachments.native.js.map +1 -1
  285. package/dist/esm/form/sidebar-dialogs.native.js.map +1 -1
  286. package/dist/esm/form/sidebar-people.native.js.map +1 -1
  287. package/dist/esm/form/sidebar-rpc.native.js.map +1 -1
  288. package/dist/esm/form/sidebar-utils.native.js.map +1 -1
  289. package/dist/esm/form/timeline-entries.native.js.map +1 -1
  290. package/dist/esm/form/timeline-utils.native.js.map +1 -1
  291. package/dist/esm/form/useFormEngine.native.js.map +1 -1
  292. package/dist/esm/i18n/en.mjs +1 -0
  293. package/dist/esm/i18n/en.mjs.map +1 -1
  294. package/dist/esm/i18n/en.native.js +1 -0
  295. package/dist/esm/i18n/en.native.js.map +1 -1
  296. package/dist/esm/i18n/index.native.js.map +1 -1
  297. package/dist/esm/index.native.js.map +1 -1
  298. package/dist/esm/list/AddTagsDialog.native.js.map +1 -1
  299. package/dist/esm/list/AssignToDialog.native.js.map +1 -1
  300. package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
  301. package/dist/esm/list/ListBulkActionsBar.mjs +31 -19
  302. package/dist/esm/list/ListBulkActionsBar.mjs.map +1 -1
  303. package/dist/esm/list/ListBulkActionsBar.native.js +37 -25
  304. package/dist/esm/list/ListBulkActionsBar.native.js.map +1 -1
  305. package/dist/esm/list/ListFilterBar.native.js.map +1 -1
  306. package/dist/esm/list/ListSidebar.native.js.map +1 -1
  307. package/dist/esm/list/bulk-edit-dialog.native.js.map +1 -1
  308. package/dist/esm/list/bulk-export.native.js.map +1 -1
  309. package/dist/esm/list/bulk-submit-cancel.native.js.map +1 -1
  310. package/dist/esm/list/bulkActions.native.js.map +1 -1
  311. package/dist/esm/list/filter-chips.native.js.map +1 -1
  312. package/dist/esm/list/filter-editor.native.js.map +1 -1
  313. package/dist/esm/list/filter-fields.native.js.map +1 -1
  314. package/dist/esm/list/filter-saved.native.js.map +1 -1
  315. package/dist/esm/list/filter-sort.native.js.map +1 -1
  316. package/dist/esm/list/filter-standard.native.js.map +1 -1
  317. package/dist/esm/list/filterConversion.native.js.map +1 -1
  318. package/dist/esm/list/list-tools-sheet.native.js.map +1 -1
  319. package/dist/esm/list/listColumns.native.js.map +1 -1
  320. package/dist/esm/list/listFields.native.js.map +1 -1
  321. package/dist/esm/list/listFormat.native.js.map +1 -1
  322. package/dist/esm/list/listUrlState.native.js.map +1 -1
  323. package/dist/esm/list/sidebar-section.mjs +16 -8
  324. package/dist/esm/list/sidebar-section.mjs.map +1 -1
  325. package/dist/esm/list/sidebar-section.native.js +17 -8
  326. package/dist/esm/list/sidebar-section.native.js.map +1 -1
  327. package/dist/esm/list/sidebar-stats.native.js.map +1 -1
  328. package/dist/esm/list/statusColors.native.js.map +1 -1
  329. package/dist/esm/navigation/navigator.native.js.map +1 -1
  330. package/dist/esm/navigation/paths.native.js.map +1 -1
  331. package/dist/esm/oneAdapter/index.native.js.map +1 -1
  332. package/dist/esm/quickEntry/QuickEntryDialog.native.js.map +1 -1
  333. package/dist/esm/quickEntry/quickEntryPlan.native.js.map +1 -1
  334. package/dist/esm/report/DoctypeReportView.mjs +21 -375
  335. package/dist/esm/report/DoctypeReportView.mjs.map +1 -1
  336. package/dist/esm/report/DoctypeReportView.native.js +24 -456
  337. package/dist/esm/report/DoctypeReportView.native.js.map +1 -1
  338. package/dist/esm/report/QueryReportScreen.mjs +26 -16
  339. package/dist/esm/report/QueryReportScreen.mjs.map +1 -1
  340. package/dist/esm/report/QueryReportScreen.native.js +26 -16
  341. package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
  342. package/dist/esm/report/queryReportColumns.mjs +1 -103
  343. package/dist/esm/report/queryReportColumns.mjs.map +1 -1
  344. package/dist/esm/report/queryReportColumns.native.js +1 -117
  345. package/dist/esm/report/queryReportColumns.native.js.map +1 -1
  346. package/dist/esm/report/queryReportFilterBar.mjs +1 -2
  347. package/dist/esm/report/queryReportFilterBar.mjs.map +1 -1
  348. package/dist/esm/report/queryReportFilterBar.native.js +1 -2
  349. package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
  350. package/dist/esm/report/queryReportUrlState.mjs +1 -1
  351. package/dist/esm/report/queryReportUrlState.native.js +1 -1
  352. package/dist/esm/report/queryReportUrlState.native.js.map +1 -1
  353. package/dist/esm/report/report-grid.mjs +1 -425
  354. package/dist/esm/report/report-grid.mjs.map +1 -1
  355. package/dist/esm/report/report-grid.native.js +1 -468
  356. package/dist/esm/report/report-grid.native.js.map +1 -1
  357. package/dist/esm/report/report-toolbar.mjs +2 -228
  358. package/dist/esm/report/report-toolbar.mjs.map +1 -1
  359. package/dist/esm/report/report-toolbar.native.js +2 -264
  360. package/dist/esm/report/report-toolbar.native.js.map +1 -1
  361. package/dist/esm/report/reportShapes.mjs +2 -373
  362. package/dist/esm/report/reportShapes.mjs.map +1 -1
  363. package/dist/esm/report/reportShapes.native.js +2 -491
  364. package/dist/esm/report/reportShapes.native.js.map +1 -1
  365. package/dist/esm/report/reportViewModel.mjs +2 -342
  366. package/dist/esm/report/reportViewModel.mjs.map +1 -1
  367. package/dist/esm/report/reportViewModel.native.js +2 -610
  368. package/dist/esm/report/reportViewModel.native.js.map +1 -1
  369. package/dist/esm/report/savedReports.mjs +1 -105
  370. package/dist/esm/report/savedReports.mjs.map +1 -1
  371. package/dist/esm/report/savedReports.native.js +1 -132
  372. package/dist/esm/report/savedReports.native.js.map +1 -1
  373. package/dist/esm/report/useQueryReport.mjs +2 -210
  374. package/dist/esm/report/useQueryReport.mjs.map +1 -1
  375. package/dist/esm/report/useQueryReport.native.js +2 -235
  376. package/dist/esm/report/useQueryReport.native.js.map +1 -1
  377. package/dist/esm/shared/deskLinks.native.js.map +1 -1
  378. package/dist/esm/shared/listNavContext.native.js.map +1 -1
  379. package/dist/esm/shared/measures.mjs +1 -3
  380. package/dist/esm/shared/measures.mjs.map +1 -1
  381. package/dist/esm/shared/measures.native.js +1 -3
  382. package/dist/esm/shared/measures.native.js.map +1 -1
  383. package/dist/esm/shared/types.native.js.map +1 -1
  384. package/dist/esm/shared/useDocinfo.native.js.map +1 -1
  385. package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -1
  386. package/dist/esm/shared/useFrappeApp.native.js.map +1 -1
  387. package/dist/esm/shared/useRecentVisit.native.js.map +1 -1
  388. package/dist/esm/shared/useSessionUserId.native.js.map +1 -1
  389. package/dist/esm/shared/useSlugTarget.native.js.map +1 -1
  390. package/dist/esm/shared/useUserRoles.native.js.map +1 -1
  391. package/dist/esm/shell/BackofficeShell.native.js.map +1 -1
  392. package/dist/esm/shell/HomeRedirect.native.js.map +1 -1
  393. package/dist/esm/shell/NotFoundScreen.native.js.map +1 -1
  394. package/dist/esm/shell/SlugScreen.native.js.map +1 -1
  395. package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -1
  396. package/dist/esm/shell/useWorkspaces.native.js.map +1 -1
  397. package/dist/esm/shell/workspaceIcons.native.js.map +1 -1
  398. package/dist/esm/views/CalendarView.native.js.map +1 -1
  399. package/dist/esm/views/DashboardView.native.js.map +1 -1
  400. package/dist/esm/views/DoctypeViewScreen.native.js.map +1 -1
  401. package/dist/esm/views/ImageView.native.js.map +1 -1
  402. package/dist/esm/views/KanbanView.native.js.map +1 -1
  403. package/dist/esm/views/ReportView.mjs +3 -256
  404. package/dist/esm/views/ReportView.mjs.map +1 -1
  405. package/dist/esm/views/ReportView.native.js +3 -382
  406. package/dist/esm/views/ReportView.native.js.map +1 -1
  407. package/dist/esm/views/TreeView.native.js.map +1 -1
  408. package/dist/esm/views/ViewHeader.native.js.map +1 -1
  409. package/dist/esm/views/ViewStates.native.js.map +1 -1
  410. package/dist/esm/views/ViewSwitcherMenu.native.js.map +1 -1
  411. package/dist/esm/views/calendar-field-selector.native.js.map +1 -1
  412. package/dist/esm/views/connection.native.js.map +1 -1
  413. package/dist/esm/views/dashboard-data.native.js.map +1 -1
  414. package/dist/esm/views/deskViewConfigs.native.js.map +1 -1
  415. package/dist/esm/views/kanban-board-controls.native.js.map +1 -1
  416. package/dist/esm/views/kanban-field-picker.native.js.map +1 -1
  417. package/dist/esm/views/kanbanBoardOps.native.js.map +1 -1
  418. package/dist/esm/views/report-controls.mjs +3 -3
  419. package/dist/esm/views/report-controls.mjs.map +1 -1
  420. package/dist/esm/views/report-controls.native.js +3 -3
  421. package/dist/esm/views/report-controls.native.js.map +1 -1
  422. package/dist/esm/views/viewAvailability.native.js.map +1 -1
  423. package/dist/esm/views/viewMeta.native.js.map +1 -1
  424. package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -1
  425. package/dist/esm/workspace/WorkspaceGrid.native.js.map +1 -1
  426. package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -1
  427. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  428. package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -1
  429. package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -1
  430. package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -1
  431. package/dist/esm/workspace/WorkspaceScreen.native.js.map +1 -1
  432. package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -1
  433. package/dist/esm/workspace/parseContent.native.js.map +1 -1
  434. package/dist/esm/workspace/types.native.js.map +1 -1
  435. package/dist/esm/workspace/useDashboardChart.native.js.map +1 -1
  436. package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -1
  437. package/dist/jsx/chrome/BackofficeAwesomebar.native.js +1 -1
  438. package/dist/jsx/chrome/BackofficeAwesomebar.native.js.map +1 -1
  439. package/dist/jsx/chrome/CommandPalette.native.js +1 -1
  440. package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
  441. package/dist/jsx/chrome/HelpMenu.native.js +1 -1
  442. package/dist/jsx/chrome/HelpMenu.native.js.map +1 -1
  443. package/dist/jsx/chrome/NotificationsButton.native.js +1 -1
  444. package/dist/jsx/chrome/NotificationsButton.native.js.map +1 -1
  445. package/dist/jsx/chrome/UserMenu.native.js +1 -1
  446. package/dist/jsx/chrome/UserMenu.native.js.map +1 -1
  447. package/dist/jsx/chrome/awesomebar-data.native.js.map +1 -1
  448. package/dist/jsx/chrome/command-palette-model.native.js +1 -1
  449. package/dist/jsx/chrome/command-palette-model.native.js.map +1 -1
  450. package/dist/jsx/chrome/help-about-dialog.native.js +1 -1
  451. package/dist/jsx/chrome/help-about-dialog.native.js.map +1 -1
  452. package/dist/jsx/chrome/help-shortcuts-dialog.native.js +1 -1
  453. package/dist/jsx/chrome/help-shortcuts-dialog.native.js.map +1 -1
  454. package/dist/jsx/chrome/notifications-data.native.js.map +1 -1
  455. package/dist/jsx/chrome/notifications-panel.native.js +1 -1
  456. package/dist/jsx/chrome/notifications-panel.native.js.map +1 -1
  457. package/dist/jsx/chrome/notifications-utils.native.js.map +1 -1
  458. package/dist/jsx/chrome/shortcuts.native.js.map +1 -1
  459. package/dist/jsx/chrome/user-session.native.js.map +1 -1
  460. package/dist/jsx/config/BackofficeProvider.native.js +1 -1
  461. package/dist/jsx/config/BackofficeProvider.native.js.map +1 -1
  462. package/dist/jsx/config/capabilities.native.js.map +1 -1
  463. package/dist/jsx/config/events.native.js.map +1 -1
  464. package/dist/jsx/config/slots.native.js.map +1 -1
  465. package/dist/jsx/desk/Desk.native.js.map +1 -1
  466. package/dist/jsx/desk/DeskSurface.mjs.map +1 -1
  467. package/dist/jsx/desk/DeskSurface.native.js.map +1 -1
  468. package/dist/jsx/desk/resolveDeskPath.native.js.map +1 -1
  469. package/dist/jsx/desk/scope.native.js.map +1 -1
  470. package/dist/jsx/desk/target.native.js.map +1 -1
  471. package/dist/jsx/form/DocFormScreen.mjs +169 -226
  472. package/dist/jsx/form/DocFormScreen.mjs.map +1 -1
  473. package/dist/jsx/form/DocFormScreen.native.js +183 -260
  474. package/dist/jsx/form/DocFormScreen.native.js.map +1 -1
  475. package/dist/jsx/form/FormConnections.native.js +1 -1
  476. package/dist/jsx/form/FormConnections.native.js.map +1 -1
  477. package/dist/jsx/form/FormDialogs.native.js +1 -1
  478. package/dist/jsx/form/FormDialogs.native.js.map +1 -1
  479. package/dist/jsx/form/FormErrorBoundary.native.js +1 -1
  480. package/dist/jsx/form/FormErrorBoundary.native.js.map +1 -1
  481. package/dist/jsx/form/FormHeaderCluster.native.js +1 -1
  482. package/dist/jsx/form/FormHeaderCluster.native.js.map +1 -1
  483. package/dist/jsx/form/FormSidebarPanel.native.js +1 -1
  484. package/dist/jsx/form/FormSidebarPanel.native.js.map +1 -1
  485. package/dist/jsx/form/FormTimeline.native.js +1 -1
  486. package/dist/jsx/form/FormTimeline.native.js.map +1 -1
  487. package/dist/jsx/form/FormToolbar.native.js +1 -1
  488. package/dist/jsx/form/FormToolbar.native.js.map +1 -1
  489. package/dist/jsx/form/connections-data.native.js.map +1 -1
  490. package/dist/jsx/form/createPrefill.native.js.map +1 -1
  491. package/dist/jsx/form/dependsOn.native.js.map +1 -1
  492. package/dist/jsx/form/dirtyTracking.native.js.map +1 -1
  493. package/dist/jsx/form/docinfo.native.js.map +1 -1
  494. package/dist/jsx/form/fetchFrom.native.js.map +1 -1
  495. package/dist/jsx/form/fieldPermissions.native.js.map +1 -1
  496. package/dist/jsx/form/formActions.native.js.map +1 -1
  497. package/dist/jsx/form/formLayout.native.js.map +1 -1
  498. package/dist/jsx/form/platformHooks.native.js.map +1 -1
  499. package/dist/jsx/form/sidebar-attachments.native.js +1 -1
  500. package/dist/jsx/form/sidebar-attachments.native.js.map +1 -1
  501. package/dist/jsx/form/sidebar-dialogs.native.js +1 -1
  502. package/dist/jsx/form/sidebar-dialogs.native.js.map +1 -1
  503. package/dist/jsx/form/sidebar-people.native.js +1 -1
  504. package/dist/jsx/form/sidebar-people.native.js.map +1 -1
  505. package/dist/jsx/form/sidebar-rpc.native.js.map +1 -1
  506. package/dist/jsx/form/sidebar-utils.native.js.map +1 -1
  507. package/dist/jsx/form/timeline-entries.native.js.map +1 -1
  508. package/dist/jsx/form/timeline-utils.native.js.map +1 -1
  509. package/dist/jsx/form/useFormEngine.native.js.map +1 -1
  510. package/dist/jsx/i18n/en.mjs +1 -0
  511. package/dist/jsx/i18n/en.mjs.map +1 -1
  512. package/dist/jsx/i18n/en.native.js +1 -0
  513. package/dist/jsx/i18n/en.native.js.map +1 -1
  514. package/dist/jsx/i18n/index.native.js.map +1 -1
  515. package/dist/jsx/index.native.js +1 -1
  516. package/dist/jsx/index.native.js.map +1 -1
  517. package/dist/jsx/list/AddTagsDialog.native.js +1 -1
  518. package/dist/jsx/list/AddTagsDialog.native.js.map +1 -1
  519. package/dist/jsx/list/AssignToDialog.native.js +1 -1
  520. package/dist/jsx/list/AssignToDialog.native.js.map +1 -1
  521. package/dist/jsx/list/DoctypeListScreen.native.js +1 -1
  522. package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
  523. package/dist/jsx/list/ListBulkActionsBar.mjs +31 -19
  524. package/dist/jsx/list/ListBulkActionsBar.mjs.map +1 -1
  525. package/dist/jsx/list/ListBulkActionsBar.native.js +44 -32
  526. package/dist/jsx/list/ListBulkActionsBar.native.js.map +1 -1
  527. package/dist/jsx/list/ListFilterBar.native.js +1 -1
  528. package/dist/jsx/list/ListFilterBar.native.js.map +1 -1
  529. package/dist/jsx/list/ListSidebar.native.js +1 -1
  530. package/dist/jsx/list/ListSidebar.native.js.map +1 -1
  531. package/dist/jsx/list/bulk-edit-dialog.native.js +1 -1
  532. package/dist/jsx/list/bulk-edit-dialog.native.js.map +1 -1
  533. package/dist/jsx/list/bulk-export.native.js.map +1 -1
  534. package/dist/jsx/list/bulk-submit-cancel.native.js.map +1 -1
  535. package/dist/jsx/list/bulkActions.native.js.map +1 -1
  536. package/dist/jsx/list/filter-chips.native.js +1 -1
  537. package/dist/jsx/list/filter-chips.native.js.map +1 -1
  538. package/dist/jsx/list/filter-editor.native.js +1 -1
  539. package/dist/jsx/list/filter-editor.native.js.map +1 -1
  540. package/dist/jsx/list/filter-fields.native.js.map +1 -1
  541. package/dist/jsx/list/filter-saved.native.js +1 -1
  542. package/dist/jsx/list/filter-saved.native.js.map +1 -1
  543. package/dist/jsx/list/filter-sort.native.js +1 -1
  544. package/dist/jsx/list/filter-sort.native.js.map +1 -1
  545. package/dist/jsx/list/filter-standard.native.js.map +1 -1
  546. package/dist/jsx/list/filterConversion.native.js.map +1 -1
  547. package/dist/jsx/list/list-tools-sheet.native.js +1 -1
  548. package/dist/jsx/list/list-tools-sheet.native.js.map +1 -1
  549. package/dist/jsx/list/listColumns.native.js.map +1 -1
  550. package/dist/jsx/list/listFields.native.js.map +1 -1
  551. package/dist/jsx/list/listFormat.native.js.map +1 -1
  552. package/dist/jsx/list/listUrlState.native.js.map +1 -1
  553. package/dist/jsx/list/sidebar-section.mjs +16 -8
  554. package/dist/jsx/list/sidebar-section.mjs.map +1 -1
  555. package/dist/jsx/list/sidebar-section.native.js +17 -8
  556. package/dist/jsx/list/sidebar-section.native.js.map +1 -1
  557. package/dist/jsx/list/sidebar-stats.native.js.map +1 -1
  558. package/dist/jsx/list/statusColors.native.js.map +1 -1
  559. package/dist/jsx/navigation/navigator.native.js.map +1 -1
  560. package/dist/jsx/navigation/paths.native.js.map +1 -1
  561. package/dist/jsx/oneAdapter/index.native.js.map +1 -1
  562. package/dist/jsx/quickEntry/QuickEntryDialog.native.js +1 -1
  563. package/dist/jsx/quickEntry/QuickEntryDialog.native.js.map +1 -1
  564. package/dist/jsx/quickEntry/quickEntryPlan.native.js.map +1 -1
  565. package/dist/jsx/report/DoctypeReportView.mjs +21 -375
  566. package/dist/jsx/report/DoctypeReportView.mjs.map +1 -1
  567. package/dist/jsx/report/DoctypeReportView.native.js +23 -455
  568. package/dist/jsx/report/DoctypeReportView.native.js.map +1 -1
  569. package/dist/jsx/report/QueryReportScreen.mjs +26 -16
  570. package/dist/jsx/report/QueryReportScreen.mjs.map +1 -1
  571. package/dist/jsx/report/QueryReportScreen.native.js +34 -24
  572. package/dist/jsx/report/QueryReportScreen.native.js.map +1 -1
  573. package/dist/jsx/report/queryReportColumns.mjs +1 -103
  574. package/dist/jsx/report/queryReportColumns.mjs.map +1 -1
  575. package/dist/jsx/report/queryReportColumns.native.js +2 -129
  576. package/dist/jsx/report/queryReportColumns.native.js.map +1 -1
  577. package/dist/jsx/report/queryReportFilterBar.mjs +1 -2
  578. package/dist/jsx/report/queryReportFilterBar.mjs.map +1 -1
  579. package/dist/jsx/report/queryReportFilterBar.native.js +4 -5
  580. package/dist/jsx/report/queryReportFilterBar.native.js.map +1 -1
  581. package/dist/jsx/report/queryReportUrlState.mjs +1 -1
  582. package/dist/jsx/report/queryReportUrlState.native.js +2 -2
  583. package/dist/jsx/report/queryReportUrlState.native.js.map +1 -1
  584. package/dist/jsx/report/report-grid.mjs +1 -425
  585. package/dist/jsx/report/report-grid.mjs.map +1 -1
  586. package/dist/jsx/report/report-grid.native.js +1 -479
  587. package/dist/jsx/report/report-grid.native.js.map +1 -1
  588. package/dist/jsx/report/report-toolbar.mjs +2 -228
  589. package/dist/jsx/report/report-toolbar.mjs.map +1 -1
  590. package/dist/jsx/report/report-toolbar.native.js +1 -274
  591. package/dist/jsx/report/report-toolbar.native.js.map +1 -1
  592. package/dist/jsx/report/reportShapes.mjs +2 -373
  593. package/dist/jsx/report/reportShapes.mjs.map +1 -1
  594. package/dist/jsx/report/reportShapes.native.js +12 -501
  595. package/dist/jsx/report/reportShapes.native.js.map +1 -1
  596. package/dist/jsx/report/reportViewModel.mjs +2 -342
  597. package/dist/jsx/report/reportViewModel.mjs.map +1 -1
  598. package/dist/jsx/report/reportViewModel.native.js +19 -627
  599. package/dist/jsx/report/reportViewModel.native.js.map +1 -1
  600. package/dist/jsx/report/savedReports.mjs +1 -105
  601. package/dist/jsx/report/savedReports.mjs.map +1 -1
  602. package/dist/jsx/report/savedReports.native.js +1 -132
  603. package/dist/jsx/report/savedReports.native.js.map +1 -1
  604. package/dist/jsx/report/useQueryReport.mjs +2 -210
  605. package/dist/jsx/report/useQueryReport.mjs.map +1 -1
  606. package/dist/jsx/report/useQueryReport.native.js +11 -244
  607. package/dist/jsx/report/useQueryReport.native.js.map +1 -1
  608. package/dist/jsx/shared/deskLinks.native.js.map +1 -1
  609. package/dist/jsx/shared/listNavContext.native.js.map +1 -1
  610. package/dist/jsx/shared/measures.mjs +1 -3
  611. package/dist/jsx/shared/measures.mjs.map +1 -1
  612. package/dist/jsx/shared/measures.native.js +3 -5
  613. package/dist/jsx/shared/measures.native.js.map +1 -1
  614. package/dist/jsx/shared/types.native.js.map +1 -1
  615. package/dist/jsx/shared/useDocinfo.native.js.map +1 -1
  616. package/dist/jsx/shared/useDoctypeMeta.native.js.map +1 -1
  617. package/dist/jsx/shared/useFrappeApp.native.js.map +1 -1
  618. package/dist/jsx/shared/useRecentVisit.native.js.map +1 -1
  619. package/dist/jsx/shared/useSessionUserId.native.js.map +1 -1
  620. package/dist/jsx/shared/useSlugTarget.native.js.map +1 -1
  621. package/dist/jsx/shared/useUserRoles.native.js.map +1 -1
  622. package/dist/jsx/shell/BackofficeShell.native.js +1 -1
  623. package/dist/jsx/shell/BackofficeShell.native.js.map +1 -1
  624. package/dist/jsx/shell/HomeRedirect.native.js +1 -1
  625. package/dist/jsx/shell/HomeRedirect.native.js.map +1 -1
  626. package/dist/jsx/shell/NotFoundScreen.native.js +1 -1
  627. package/dist/jsx/shell/NotFoundScreen.native.js.map +1 -1
  628. package/dist/jsx/shell/SlugScreen.native.js +1 -1
  629. package/dist/jsx/shell/SlugScreen.native.js.map +1 -1
  630. package/dist/jsx/shell/WorkspaceSidebar.native.js +1 -1
  631. package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -1
  632. package/dist/jsx/shell/useWorkspaces.native.js.map +1 -1
  633. package/dist/jsx/shell/workspaceIcons.native.js.map +1 -1
  634. package/dist/jsx/views/CalendarView.native.js +1 -1
  635. package/dist/jsx/views/CalendarView.native.js.map +1 -1
  636. package/dist/jsx/views/DashboardView.native.js +1 -1
  637. package/dist/jsx/views/DashboardView.native.js.map +1 -1
  638. package/dist/jsx/views/DoctypeViewScreen.native.js.map +1 -1
  639. package/dist/jsx/views/ImageView.native.js +1 -1
  640. package/dist/jsx/views/ImageView.native.js.map +1 -1
  641. package/dist/jsx/views/KanbanView.native.js +1 -1
  642. package/dist/jsx/views/KanbanView.native.js.map +1 -1
  643. package/dist/jsx/views/ReportView.mjs +3 -256
  644. package/dist/jsx/views/ReportView.mjs.map +1 -1
  645. package/dist/jsx/views/ReportView.native.js +3 -382
  646. package/dist/jsx/views/ReportView.native.js.map +1 -1
  647. package/dist/jsx/views/TreeView.native.js +1 -1
  648. package/dist/jsx/views/TreeView.native.js.map +1 -1
  649. package/dist/jsx/views/ViewHeader.native.js +1 -1
  650. package/dist/jsx/views/ViewHeader.native.js.map +1 -1
  651. package/dist/jsx/views/ViewStates.native.js +1 -1
  652. package/dist/jsx/views/ViewStates.native.js.map +1 -1
  653. package/dist/jsx/views/ViewSwitcherMenu.native.js +1 -1
  654. package/dist/jsx/views/ViewSwitcherMenu.native.js.map +1 -1
  655. package/dist/jsx/views/calendar-field-selector.native.js +1 -1
  656. package/dist/jsx/views/calendar-field-selector.native.js.map +1 -1
  657. package/dist/jsx/views/connection.native.js.map +1 -1
  658. package/dist/jsx/views/dashboard-data.native.js.map +1 -1
  659. package/dist/jsx/views/deskViewConfigs.native.js.map +1 -1
  660. package/dist/jsx/views/kanban-board-controls.native.js +1 -1
  661. package/dist/jsx/views/kanban-board-controls.native.js.map +1 -1
  662. package/dist/jsx/views/kanban-field-picker.native.js +1 -1
  663. package/dist/jsx/views/kanban-field-picker.native.js.map +1 -1
  664. package/dist/jsx/views/kanbanBoardOps.native.js.map +1 -1
  665. package/dist/jsx/views/report-controls.mjs +3 -3
  666. package/dist/jsx/views/report-controls.mjs.map +1 -1
  667. package/dist/jsx/views/report-controls.native.js +7 -7
  668. package/dist/jsx/views/report-controls.native.js.map +1 -1
  669. package/dist/jsx/views/viewAvailability.native.js.map +1 -1
  670. package/dist/jsx/views/viewMeta.native.js.map +1 -1
  671. package/dist/jsx/workspace/WorkspaceChartBlock.native.js +1 -1
  672. package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -1
  673. package/dist/jsx/workspace/WorkspaceGrid.native.js.map +1 -1
  674. package/dist/jsx/workspace/WorkspaceLinkCard.native.js +1 -1
  675. package/dist/jsx/workspace/WorkspaceLinkCard.native.js.map +1 -1
  676. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +1 -1
  677. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  678. package/dist/jsx/workspace/WorkspaceNumberCard.native.js +1 -1
  679. package/dist/jsx/workspace/WorkspaceNumberCard.native.js.map +1 -1
  680. package/dist/jsx/workspace/WorkspaceQuickList.native.js +1 -1
  681. package/dist/jsx/workspace/WorkspaceQuickList.native.js.map +1 -1
  682. package/dist/jsx/workspace/WorkspaceRecents.native.js +1 -1
  683. package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -1
  684. package/dist/jsx/workspace/WorkspaceScreen.native.js +1 -1
  685. package/dist/jsx/workspace/WorkspaceScreen.native.js.map +1 -1
  686. package/dist/jsx/workspace/WorkspaceShortcut.native.js +1 -1
  687. package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -1
  688. package/dist/jsx/workspace/parseContent.native.js.map +1 -1
  689. package/dist/jsx/workspace/types.native.js.map +1 -1
  690. package/dist/jsx/workspace/useDashboardChart.native.js.map +1 -1
  691. package/dist/jsx/workspace/useWorkspaceDoc.native.js.map +1 -1
  692. package/package.json +12 -12
  693. package/src/backofficeScreens.designLaw.spec.ts +0 -5
  694. package/src/desk/DeskSurface.tsx +4 -7
  695. package/src/form/DocFormScreen.chrome.spec.ts +77 -0
  696. package/src/form/DocFormScreen.guest.screen.spec.tsx +175 -0
  697. package/src/form/DocFormScreen.rights.spec.tsx +7 -3
  698. package/src/form/DocFormScreen.tsx +214 -315
  699. package/src/i18n/en.ts +1 -0
  700. package/src/list/ListBulkActionsBar.rights.spec.tsx +134 -0
  701. package/src/list/ListBulkActionsBar.screen.spec.tsx +7 -1
  702. package/src/list/ListBulkActionsBar.tsx +76 -57
  703. package/src/list/ListFilterBar.screen.spec.tsx +14 -13
  704. package/src/list/sidebar-section.tsx +11 -3
  705. package/src/report/DoctypeReportView.tsx +28 -550
  706. package/src/report/QueryReportScreen.spec.tsx +75 -1
  707. package/src/report/QueryReportScreen.tsx +38 -22
  708. package/src/report/queryReportColumns.tsx +4 -123
  709. package/src/report/queryReportFilterBar.tsx +3 -5
  710. package/src/report/queryReportUrlState.ts +1 -1
  711. package/src/report/report-grid.tsx +4 -529
  712. package/src/report/report-toolbar.tsx +4 -308
  713. package/src/report/reportShapes.ts +25 -613
  714. package/src/report/reportShim.spec.ts +162 -0
  715. package/src/report/reportViewModel.ts +32 -605
  716. package/src/report/savedReports.ts +4 -161
  717. package/src/report/useQueryReport.ts +9 -347
  718. package/src/shared/measures.ts +3 -11
  719. package/src/views/ReportView.screen.spec.tsx +25 -20
  720. package/src/views/ReportView.tsx +7 -439
  721. package/src/views/report-controls.tsx +12 -20
  722. package/types/desk/DeskSurface.d.ts.map +1 -1
  723. package/types/form/DocFormScreen.d.ts +2 -2
  724. package/types/form/DocFormScreen.d.ts.map +1 -1
  725. package/types/i18n/en.d.ts +1 -0
  726. package/types/i18n/en.d.ts.map +1 -1
  727. package/types/list/ListBulkActionsBar.d.ts.map +1 -1
  728. package/types/list/sidebar-section.d.ts.map +1 -1
  729. package/types/report/DoctypeReportView.d.ts.map +1 -1
  730. package/types/report/QueryReportScreen.d.ts +1 -1
  731. package/types/report/QueryReportScreen.d.ts.map +1 -1
  732. package/types/report/queryReportColumns.d.ts +2 -11
  733. package/types/report/queryReportColumns.d.ts.map +1 -1
  734. package/types/report/queryReportFilterBar.d.ts +1 -1
  735. package/types/report/queryReportFilterBar.d.ts.map +1 -1
  736. package/types/report/queryReportUrlState.d.ts +1 -1
  737. package/types/report/queryReportUrlState.d.ts.map +1 -1
  738. package/types/report/report-grid.d.ts +2 -19
  739. package/types/report/report-grid.d.ts.map +1 -1
  740. package/types/report/report-toolbar.d.ts +2 -29
  741. package/types/report/report-toolbar.d.ts.map +1 -1
  742. package/types/report/reportShapes.d.ts +2 -115
  743. package/types/report/reportShapes.d.ts.map +1 -1
  744. package/types/report/reportViewModel.d.ts +2 -135
  745. package/types/report/reportViewModel.d.ts.map +1 -1
  746. package/types/report/savedReports.d.ts +2 -18
  747. package/types/report/savedReports.d.ts.map +1 -1
  748. package/types/report/useQueryReport.d.ts +2 -35
  749. package/types/report/useQueryReport.d.ts.map +1 -1
  750. package/types/shared/measures.d.ts +1 -2
  751. package/types/shared/measures.d.ts.map +1 -1
  752. package/types/views/ReportView.d.ts +3 -22
  753. package/types/views/ReportView.d.ts.map +1 -1
  754. package/types/views/report-controls.d.ts +2 -5
  755. package/types/views/report-controls.d.ts.map +1 -1
  756. package/src/report/report-grid.spec.tsx +0 -175
  757. package/src/report/report-toolbar.spec.tsx +0 -90
  758. package/src/report/reportShapes.spec.ts +0 -391
  759. package/src/report/reportViewModel.spec.ts +0 -393
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import React from "react";
3
- import { AsyncSkeleton, Button, ConfirmDialog, EmptyState, ScrollView, Tabs, Text, XStack, YStack, notify } from "@multiplatform.one/components";
4
- import { Input } from "@multiplatform.one/forms";
5
- import { SchemaForm, sessionDocRights, useFrappeConfig } from "@multiplatform.one/frappe-ui";
3
+ import { AsyncBoundary, AsyncSkeleton, Button, ConfirmDialog, EmptyState, ScrollView, Text, XStack, YStack, notify } from "@multiplatform.one/components";
4
+ import { FrappeForm, docinfoRights, fixtureDocRights, isPermissionError, refusalReason, useFrappeConfig, useFrappeForm } from "@multiplatform.one/frappe-ui";
6
5
  import { useLayoutSizeClass, useResolvedKnobs } from "@multiplatform.one/theme";
7
6
  import { ListBulletsIcon } from "@phosphor-icons/react";
8
7
  import { useCallback, useEffect, useMemo, useRef, useState } from "react";
@@ -14,14 +13,11 @@ import { getListNavNeighbors } from "../shared/listNavContext.native.js";
14
13
  import { invalidateDocinfo, useDocinfo } from "../shared/useDocinfo.native.js";
15
14
  import { useRecentVisit } from "../shared/useRecentVisit.native.js";
16
15
  import { useDoctypeMeta } from "../shared/useDoctypeMeta.native.js";
17
- import { useUserRoles } from "../shared/useUserRoles.native.js";
16
+ import { groupConnectionLinks } from "./connections-data.native.js";
18
17
  import { setCreatePrefill } from "./createPrefill.native.js";
19
- import { normalizeDocPermissions } from "./docinfo.native.js";
20
- import { buildPermLevelMatrix } from "./fieldPermissions.native.js";
21
18
  import { createHttpClient, renameDoc, sendEmail } from "./formActions.native.js";
22
19
  import { EmailDialog, JumpToFieldDialog, RenameDialog } from "./FormDialogs.native.js";
23
20
  import { FormErrorBoundary, wrapFieldWithErrorBoundary } from "./FormErrorBoundary.native.js";
24
- import { buildCopyValues, buildFormTabs, isPromptNamed } from "./formLayout.native.js";
25
21
  import { FormConnections } from "./FormConnections.native.js";
26
22
  import { FormHeaderCluster } from "./FormHeaderCluster.native.js";
27
23
  import { FormSidebarPanel } from "./FormSidebarPanel.native.js";
@@ -29,7 +25,6 @@ import { FormTimeline } from "./FormTimeline.native.js";
29
25
  import { FormToolbar, resolveIndicator } from "./FormToolbar.native.js";
30
26
  import { htmlToText } from "./timeline-utils.native.js";
31
27
  import { canOpenNewTab, openInNewTab, useBeforeUnloadGuard, useDocPagerShortcuts, useJumpToFieldShortcut, useNavigationDirtyGuard, useSaveShortcut } from "./platformHooks.native.js";
32
- import { useFormEngine } from "./useFormEngine.native.js";
33
28
  var CONNECTIONS_TAB = "__connections";
34
29
  function DocFormScreen(param) {
35
30
  var {
@@ -43,8 +38,8 @@ function DocFormScreen(param) {
43
38
  onDeleted,
44
39
  actionOverrides
45
40
  } = param;
46
- var _ref, _ref1;
47
- var _engine_baseline, _engine_baseline1, _meta_links, _bodyTabs_, _bodyTabs_1;
41
+ var _form_user;
42
+ var _form_baseline;
48
43
  var {
49
44
  t
50
45
  } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
@@ -80,31 +75,20 @@ function DocFormScreen(param) {
80
75
  name
81
76
  });
82
77
  }, [isCreate, doctype, name, emitEvent]);
83
- var connection = useMemo(function () {
84
- return (config === null || config === void 0 ? void 0 : config.baseURL) ? {
85
- baseURL: config.baseURL,
86
- socketPort: config.socketPort,
87
- siteName: config.siteName,
88
- socketBaseURL: config.socketBaseURL,
89
- auth: config.auth,
90
- syncOptions: config.syncOptions,
91
- fixtures: config.fixtures
92
- } : void 0;
93
- }, [config]);
94
78
  var {
95
79
  meta,
96
80
  loading: isMetaLoading,
97
81
  error: metaError,
98
82
  reload: refetchMeta
99
83
  } = useDoctypeMeta(doctype);
100
- var engine = useFormEngine(connection, doctype, docName, meta, t);
101
- useEffect(function () {
102
- if (metaError && !meta) emitEvent({
103
- type: "error",
104
- error: metaError,
105
- context: "form-meta"
106
- });
107
- }, [metaError, meta, emitEvent]);
84
+ var metaSource = useMemo(function () {
85
+ return {
86
+ meta,
87
+ isLoading: isMetaLoading,
88
+ error: metaError
89
+ };
90
+ }, [meta, isMetaLoading, metaError]);
91
+ var metaRefused = !meta && metaError !== void 0 && isPermissionError(metaError);
108
92
  var {
109
93
  docinfo,
110
94
  reload: reloadDocinfo
@@ -113,7 +97,35 @@ function DocFormScreen(param) {
113
97
  if (docName) invalidateDocinfo(doctype, docName);
114
98
  reloadDocinfo();
115
99
  }, [doctype, docName, reloadDocinfo]);
116
- var modifiedStamp = typeof ((_engine_baseline = engine.baseline) === null || _engine_baseline === void 0 ? void 0 : _engine_baseline.modified) === "string" ? engine.baseline.modified : void 0;
100
+ var fixtureMode = Boolean(config === null || config === void 0 ? void 0 : config.fixtures);
101
+ var rights = useMemo(function () {
102
+ var _docinfoRights;
103
+ return (_docinfoRights = docinfoRights(docinfo === null || docinfo === void 0 ? void 0 : docinfo.permissions)) !== null && _docinfoRights !== void 0 ? _docinfoRights : fixtureMode ? fixtureDocRights(meta) : void 0;
104
+ }, [docinfo === null || docinfo === void 0 ? void 0 : docinfo.permissions, fixtureMode, meta]);
105
+ var form = useFrappeForm({
106
+ doctype,
107
+ name: docName,
108
+ meta: metaSource,
109
+ rights,
110
+ shares: docinfo === null || docinfo === void 0 ? void 0 : docinfo.shared,
111
+ readShares: false,
112
+ disabled: readOnly,
113
+ hideFields: hiddenFields,
114
+ hideSections: hiddenSections
115
+ });
116
+ var connection = form.connection;
117
+ var currentUser = (_form_user = form.user) !== null && _form_user !== void 0 ? _form_user : "";
118
+ var perms = form.rights;
119
+ useEffect(function () {
120
+ if (metaError && !meta && !metaRefused) {
121
+ emitEvent({
122
+ type: "error",
123
+ error: metaError,
124
+ context: "form-meta"
125
+ });
126
+ }
127
+ }, [metaError, meta, metaRefused, emitEvent]);
128
+ var modifiedStamp = typeof ((_form_baseline = form.baseline) === null || _form_baseline === void 0 ? void 0 : _form_baseline.modified) === "string" ? form.baseline.modified : void 0;
117
129
  var stampRef = useRef(void 0);
118
130
  useEffect(function () {
119
131
  stampRef.current = void 0;
@@ -128,118 +140,20 @@ function DocFormScreen(param) {
128
140
  reloadDocinfo();
129
141
  }
130
142
  }, [modifiedStamp, docName, doctype, reloadDocinfo]);
131
- var {
132
- roles,
133
- user: sessionUser
134
- } = useUserRoles();
135
- var fixtureMode = Boolean(config === null || config === void 0 ? void 0 : config.fixtures);
136
- var recordOwner = !isCreate && typeof ((_engine_baseline1 = engine.baseline) === null || _engine_baseline1 === void 0 ? void 0 : _engine_baseline1.owner) === "string" ? engine.baseline.owner : void 0;
137
- var perms = useMemo(function () {
138
- var _ref2;
139
- var docPerms = normalizeDocPermissions(docinfo === null || docinfo === void 0 ? void 0 : docinfo.permissions);
140
- if (docPerms) {
141
- return {
142
- write: !!docPerms.write,
143
- create: !!docPerms.create,
144
- delete: !!docPerms.delete,
145
- submit: !!docPerms.submit,
146
- cancel: !!docPerms.cancel,
147
- amend: !!docPerms.amend,
148
- email: !!docPerms.email,
149
- print: !!docPerms.print
150
- };
151
- }
152
- if (!fixtureMode) {
153
- var rights = sessionDocRights({
154
- fixtures: false,
155
- meta,
156
- roles,
157
- user: sessionUser,
158
- owner: recordOwner,
159
- shares: docinfo === null || docinfo === void 0 ? void 0 : docinfo.shared
160
- });
161
- return {
162
- write: rights.write,
163
- create: rights.create,
164
- delete: rights.delete,
165
- submit: rights.submit,
166
- cancel: rights.cancel,
167
- amend: rights.amend,
168
- email: rights.email,
169
- print: rights.print
170
- };
171
- }
172
- var rules = (_ref2 = meta === null || meta === void 0 ? void 0 : meta.permissions) !== null && _ref2 !== void 0 ? _ref2 : [];
173
- var anyRole = function anyRole2(key) {
174
- return rules.some(function (rule) {
175
- return !rule.permlevel && !!rule[key];
176
- });
177
- };
178
- return {
179
- write: rules.length === 0 || anyRole("write"),
180
- create: rules.length === 0 || anyRole("create"),
181
- delete: anyRole("delete"),
182
- submit: anyRole("submit"),
183
- cancel: anyRole("cancel"),
184
- amend: anyRole("amend"),
185
- email: rules.length === 0 || anyRole("email"),
186
- print: rules.length === 0 || anyRole("print")
187
- };
188
- }, [docinfo === null || docinfo === void 0 ? void 0 : docinfo.permissions, docinfo === null || docinfo === void 0 ? void 0 : docinfo.shared, meta, fixtureMode, roles, sessionUser, recordOwner]);
189
- var isSubmittable = !!(meta === null || meta === void 0 ? void 0 : meta.is_submittable);
190
- var formReadOnly = !!readOnly || !!(meta === null || meta === void 0 ? void 0 : meta.read_only) || engine.wasDeleted || !isCreate && !perms.write || isCreate && !perms.create;
191
- var permLevels = useMemo(function () {
192
- return buildPermLevelMatrix(meta === null || meta === void 0 ? void 0 : meta.permissions, roles);
193
- }, [meta === null || meta === void 0 ? void 0 : meta.permissions, roles]);
194
- var formTabs = useMemo(function () {
195
- if (!meta) return [];
196
- return buildFormTabs({
197
- fields: meta.fields,
198
- // depends_on evaluates against the doc plus desk's ambient context:
199
- // __islocal (unsaved doc flag) and the session user behind
200
- // `frappe.session.user` references.
201
- doc: {
202
- ...engine.doc,
203
- __islocal: isCreate ? 1 : 0,
204
- ...(engine.currentUser ? {
205
- __session_user: engine.currentUser
206
- } : {})
207
- },
208
- docstatus: engine.docstatus,
209
- formReadOnly,
210
- isCreate,
211
- detailsLabel: t("detailsTab", "Details"),
212
- permLevels,
213
- hiddenFields,
214
- hiddenSections
215
- });
216
- }, [meta, engine.doc, engine.currentUser, engine.docstatus, formReadOnly, isCreate, permLevels, hiddenFields, hiddenSections, t]);
217
- var jumpTargets = useMemo(function () {
218
- return formTabs.flatMap(function (tab) {
219
- return tab.schema.fields.map(function (field) {
220
- return {
221
- name: field.name,
222
- label: field.label || field.name,
223
- tabKey: tab.key,
224
- tabLabel: tab.label
225
- };
226
- });
227
- });
228
- }, [formTabs]);
229
- var [activeTab, setActiveTab] = useState(void 0);
230
- var showConnections = !isCreate && !!connection && ((_ref = meta === null || meta === void 0 ? void 0 : (_meta_links = meta.links) === null || _meta_links === void 0 ? void 0 : _meta_links.some(function (link) {
231
- return !link.hidden;
232
- })) !== null && _ref !== void 0 ? _ref : false);
143
+ var isSubmittable = form.isSubmittable;
144
+ var formReadOnly = form.readOnly;
145
+ var jumpTargets = form.fieldTargets;
146
+ var showConnections = !isCreate && !!connection && groupConnectionLinks(meta).length > 0;
233
147
  var [pendingNav, setPendingNav] = useState(void 0);
234
148
  var navigate = useCallback(function (href) {
235
- if (engine.isDirty) {
149
+ if (form.isDirty) {
236
150
  setPendingNav(href);
237
151
  return;
238
152
  }
239
153
  navigator.navigate(href);
240
- }, [engine.isDirty, navigator]);
241
- useBeforeUnloadGuard(engine.isDirty);
242
- var backGuard = useNavigationDirtyGuard(engine.isDirty);
154
+ }, [form.isDirty, navigator]);
155
+ useBeforeUnloadGuard(form.isDirty);
156
+ var backGuard = useNavigationDirtyGuard(form.isDirty);
243
157
  var [confirmAction, setConfirmAction] = useState(void 0);
244
158
  var [renameOpen, setRenameOpen] = useState(false);
245
159
  var [emailOpen, setEmailOpen] = useState(false);
@@ -247,15 +161,12 @@ function DocFormScreen(param) {
247
161
  var [pendingJump, setPendingJump] = useState(void 0);
248
162
  var [validationSummary, setValidationSummary] = useState(void 0);
249
163
  var handleSave = useCallback(async function () {
250
- var validationErrors = engine.validate();
164
+ var validationErrors = form.validate();
251
165
  var errorFields = Object.keys(validationErrors);
252
166
  if (errorFields.length > 0) {
253
- var owner = formTabs.find(function (tab) {
254
- return tab.schema.fields.some(function (field) {
255
- return errorFields.includes(field.name);
256
- });
167
+ errorFields.some(function (field) {
168
+ return form.revealField(field);
257
169
  });
258
- if (owner) setActiveTab(owner.key);
259
170
  setValidationSummary(t("validationSummary", {
260
171
  count: errorFields.length,
261
172
  defaultValue_one: "Cannot save \u2014 {{count}} required field is missing.",
@@ -264,7 +175,7 @@ function DocFormScreen(param) {
264
175
  } else {
265
176
  setValidationSummary(void 0);
266
177
  }
267
- var savedName = await engine.save();
178
+ var savedName = await form.save();
268
179
  if (!savedName) return;
269
180
  setValidationSummary(void 0);
270
181
  notify({
@@ -280,7 +191,7 @@ function DocFormScreen(param) {
280
191
  isNew: isCreate
281
192
  });
282
193
  onSaved === null || onSaved === void 0 ? void 0 : onSaved({
283
- ...engine.doc,
194
+ ...form.doc,
284
195
  name: savedName
285
196
  });
286
197
  if (isCreate) {
@@ -288,26 +199,19 @@ function DocFormScreen(param) {
288
199
  } else {
289
200
  reloadDocinfo();
290
201
  }
291
- }, [engine, formTabs, isCreate, navigator, paths, doctype, reloadDocinfo, t, emitEvent, onSaved]);
202
+ }, [form, isCreate, navigator, paths, doctype, reloadDocinfo, t, emitEvent, onSaved]);
292
203
  useSaveShortcut(!formReadOnly, function () {
293
- if (engine.isDirty || isCreate) void handleSave();
204
+ if (form.isDirty || isCreate) void handleSave();
294
205
  });
295
206
  useJumpToFieldShortcut(jumpTargets.length > 0 && !jumpOpen, function () {
296
207
  return setJumpOpen(true);
297
208
  });
298
209
  var handleAmend = useCallback(function () {
299
- if (!meta || !docName) return;
300
- setCreatePrefill(doctype, {
301
- ...buildCopyValues(meta.fields, engine.doc),
302
- amended_from: docName
303
- });
304
- navigator.navigate(paths.newDoc(doctype));
305
- }, [meta, docName, doctype, engine.doc, navigator, paths]);
210
+ if (form.amend()) navigator.navigate(paths.newDoc(doctype));
211
+ }, [form, doctype, navigator, paths]);
306
212
  var handleDuplicate = useCallback(function () {
307
- if (!meta) return;
308
- setCreatePrefill(doctype, buildCopyValues(meta.fields, engine.doc));
309
- navigator.navigate(paths.newDoc(doctype));
310
- }, [meta, doctype, engine.doc, navigator, paths]);
213
+ if (form.duplicate()) navigator.navigate(paths.newDoc(doctype));
214
+ }, [form, doctype, navigator, paths]);
311
215
  var handleRename = useCallback(async function (newName) {
312
216
  if (!connection || !docName) return;
313
217
  try {
@@ -330,11 +234,11 @@ function DocFormScreen(param) {
330
234
  }, function () {
331
235
  return openNeighborDoc(docPager.next);
332
236
  });
333
- var titleFieldValue = (meta === null || meta === void 0 ? void 0 : meta.title_field) && typeof engine.doc[meta.title_field] === "string" ?
237
+ var titleFieldValue = (meta === null || meta === void 0 ? void 0 : meta.title_field) && typeof form.doc[meta.title_field] === "string" ?
334
238
  // Title fields can hold rich text (e.g. ToDo.description = "<p>…</p>");
335
239
  // strip to plain text so the breadcrumb + toolbar heading don't show
336
240
  // literal HTML tags.
337
- htmlToText(engine.doc[meta.title_field]) : void 0;
241
+ htmlToText(form.doc[meta.title_field]) : void 0;
338
242
  var title = isCreate ? t("newDocTitle", "New {{doctype}}", {
339
243
  doctype
340
244
  }) : titleFieldValue || name;
@@ -345,18 +249,21 @@ function DocFormScreen(param) {
345
249
  label: t("menuReload", "Reload"),
346
250
  icon: "reload",
347
251
  onSelect: function onSelect() {
348
- engine.reload();
252
+ form.reset();
349
253
  setValidationSummary(void 0);
350
254
  refetchMeta();
351
255
  invalidateDocinfo(doctype, name);
352
256
  reloadDocinfo();
353
257
  }
354
- }, {
355
- key: "duplicate",
356
- label: t("menuDuplicate", "Duplicate"),
357
- icon: "duplicate",
358
- onSelect: handleDuplicate
359
258
  }];
259
+ if (!metaRefused) {
260
+ items.push({
261
+ key: "duplicate",
262
+ label: t("menuDuplicate", "Duplicate"),
263
+ icon: "duplicate",
264
+ onSelect: handleDuplicate
265
+ });
266
+ }
360
267
  if ((meta === null || meta === void 0 ? void 0 : meta.allow_rename) && perms.write) {
361
268
  items.push({
362
269
  key: "rename",
@@ -394,7 +301,7 @@ function DocFormScreen(param) {
394
301
  label: t("menuLinks", "Links"),
395
302
  icon: "links",
396
303
  onSelect: function onSelect() {
397
- return setActiveTab(CONNECTIONS_TAB);
304
+ return form.setActiveTab(CONNECTIONS_TAB);
398
305
  }
399
306
  });
400
307
  }
@@ -452,12 +359,12 @@ function DocFormScreen(param) {
452
359
  });
453
360
  }
454
361
  return items;
455
- }, [isCreate, t, engine, refetchMeta, reloadDocinfo, handleDuplicate, meta === null || meta === void 0 ? void 0 : meta.allow_rename, perms, connection, doctype, name, showConnections, jumpTargets, navigate, paths, capabilities]);
362
+ }, [isCreate, t, form, refetchMeta, reloadDocinfo, handleDuplicate, metaRefused, meta === null || meta === void 0 ? void 0 : meta.allow_rename, perms, connection, doctype, name, showConnections, jumpTargets, navigate, paths, capabilities]);
456
363
  var effectiveMenuItems = useMemo(function () {
457
- var _ref2;
458
- var hidden = new Set((_ref2 = actionOverrides === null || actionOverrides === void 0 ? void 0 : actionOverrides.hide) !== null && _ref2 !== void 0 ? _ref2 : []);
364
+ var _ref;
365
+ var hiddenKeys = new Set((_ref = actionOverrides === null || actionOverrides === void 0 ? void 0 : actionOverrides.hide) !== null && _ref !== void 0 ? _ref : []);
459
366
  var items = menuItems.filter(function (item) {
460
- return !hidden.has(item.key);
367
+ return !hiddenKeys.has(item.key);
461
368
  });
462
369
  var injected = [...actionsForDoctype(actions.form, doctype), ...actionsForDoctype(actionOverrides === null || actionOverrides === void 0 ? void 0 : actionOverrides.extra, doctype)];
463
370
  var _iteratorNormalCompletion = true,
@@ -498,9 +405,9 @@ function DocFormScreen(param) {
498
405
  }, [menuItems, actions.form, actionOverrides, doctype, docName]);
499
406
  var handleJumpToField = useCallback(function (field) {
500
407
  setJumpOpen(false);
501
- setActiveTab(field.tabKey);
408
+ form.setActiveTab(field.tabKey);
502
409
  setPendingJump(field.name);
503
- }, []);
410
+ }, [form]);
504
411
  useEffect(function () {
505
412
  if (!pendingJump) return;
506
413
  if (typeof document === "undefined") {
@@ -547,18 +454,63 @@ function DocFormScreen(param) {
547
454
  })
548
455
  });
549
456
  }
550
- if (metaError && !meta) {
457
+ if (metaError && !meta && !metaRefused) {
551
458
  return /* @__PURE__ */_jsx(YStack, {
552
459
  flex: 1,
553
- children: /* @__PURE__ */_jsx(EmptyState, {
554
- title: t("metaError", "Could not load {{doctype}}", {
460
+ children: /* @__PURE__ */_jsx(AsyncBoundary, {
461
+ error: metaError,
462
+ errorTitle: t("metaError", "Could not load {{doctype}}", {
555
463
  doctype
556
464
  }),
557
- description: metaError.message
465
+ onRetry: refetchMeta
466
+ })
467
+ });
468
+ }
469
+ if (!isCreate && form.status === "error" && form.docError && isPermissionError(form.docError)) {
470
+ return /* @__PURE__ */_jsx(YStack, {
471
+ flex: 1,
472
+ children: /* @__PURE__ */_jsx(EmptyState, {
473
+ testID: "frappe-form-not-permitted",
474
+ title: t("docNotPermitted", "You can't open {{doctype}} {{name}}", {
475
+ doctype,
476
+ name
477
+ }),
478
+ description: refusalReason(form.docError),
479
+ action: /* @__PURE__ */_jsx(Button, {
480
+ icon: ListBulletsIcon,
481
+ onPress: function onPress() {
482
+ return navigator.navigate(paths.list(doctype));
483
+ },
484
+ children: t("backToList", "Back to {{doctype}} list", {
485
+ doctype
486
+ })
487
+ })
558
488
  })
559
489
  });
560
490
  }
561
- if (!isCreate && engine.notFound) {
491
+ if (!isCreate && form.status === "error" && form.docError) {
492
+ return /* @__PURE__ */_jsx(YStack, {
493
+ flex: 1,
494
+ children: /* @__PURE__ */_jsx(EmptyState, {
495
+ intent: "error",
496
+ title: t("docLoadError", "Could not load {{doctype}} {{name}}", {
497
+ doctype,
498
+ name
499
+ }),
500
+ description: form.docError.message,
501
+ action: /* @__PURE__ */_jsx(Button, {
502
+ icon: ListBulletsIcon,
503
+ onPress: function onPress() {
504
+ return navigator.navigate(paths.list(doctype));
505
+ },
506
+ children: t("backToList", "Back to {{doctype}} list", {
507
+ doctype
508
+ })
509
+ })
510
+ })
511
+ });
512
+ }
513
+ if (!isCreate && form.status === "notFound") {
562
514
  return /* @__PURE__ */_jsx(YStack, {
563
515
  flex: 1,
564
516
  children: /* @__PURE__ */_jsx(EmptyState, {
@@ -579,7 +531,7 @@ function DocFormScreen(param) {
579
531
  })
580
532
  });
581
533
  }
582
- if (!isCreate && engine.isLoading) {
534
+ if (!isCreate && form.status === "loading") {
583
535
  return /* @__PURE__ */_jsx(YStack, {
584
536
  flex: 1,
585
537
  ...knobProps.panelPadding,
@@ -591,16 +543,16 @@ function DocFormScreen(param) {
591
543
  }
592
544
  var indicator = resolveIndicator({
593
545
  isCreate,
594
- isDirty: engine.isDirty,
595
- docstatus: engine.docstatus,
546
+ isDirty: form.isDirty,
547
+ docstatus: form.docstatus,
596
548
  isSubmittable,
597
- statusValue: typeof engine.doc.status === "string" ? engine.doc.status : void 0,
549
+ statusValue: typeof form.doc.status === "string" ? form.doc.status : void 0,
598
550
  states: meta === null || meta === void 0 ? void 0 : meta.states
599
551
  });
600
- var canSave = !formReadOnly && (isCreate ? perms.create : perms.write && engine.docstatus === 0);
601
- var canSubmit = !isCreate && isSubmittable && engine.docstatus === 0 && !engine.isDirty && perms.submit && !engine.wasDeleted;
602
- var canCancel = !isCreate && isSubmittable && engine.docstatus === 1 && perms.cancel && !engine.wasDeleted;
603
- var canAmend = !isCreate && isSubmittable && engine.docstatus === 2 && perms.amend && !engine.wasDeleted;
552
+ var canSave = !formReadOnly && (isCreate ? perms.create : perms.write && form.docstatus === 0);
553
+ var canSubmit = !isCreate && isSubmittable && form.docstatus === 0 && !form.isDirty && perms.submit && !form.wasDeleted;
554
+ var canCancel = !isCreate && isSubmittable && form.docstatus === 1 && perms.cancel && !form.wasDeleted;
555
+ var canAmend = !isCreate && isSubmittable && form.docstatus === 2 && perms.amend && !form.wasDeleted;
604
556
  var breadcrumbs = [{
605
557
  label: t("home", "Home"),
606
558
  href: paths.home()
@@ -610,37 +562,8 @@ function DocFormScreen(param) {
610
562
  }, {
611
563
  label: isCreate ? t("newCrumb", "New") : title
612
564
  }];
613
- var promptNamed = isCreate && isPromptNamed(meta === null || meta === void 0 ? void 0 : meta.autoname, meta === null || meta === void 0 ? void 0 : meta.naming_rule);
614
565
  var sidebarStacked = sizeClass === "compact";
615
- var bodyTabs = [...formTabs.map(function (tab) {
616
- return {
617
- value: tab.key,
618
- label: tab.label,
619
- content: /* @__PURE__ */_jsx(YStack, {
620
- ...knobProps.gapLg,
621
- paddingTop: "$3",
622
- children: (
623
- /* Containment at two granularities: each field renders behind its
624
- own boundary (a broken field degrades to an inline error slot;
625
- siblings stay editable), and the whole tab body behind another
626
- (a SchemaForm-level crash costs one tab, not the route). */
627
- /* @__PURE__ */
628
- _jsx(FormErrorBoundary, {
629
- errorTitle: t("formTabRenderError", "This form tab failed to render"),
630
- testID: `form-tab-error-${tab.key}`,
631
- children: /* @__PURE__ */_jsx(SchemaForm, {
632
- schema: tab.schema,
633
- doc: engine.doc,
634
- setValue: engine.setValue,
635
- errors: engine.errors,
636
- disabled: formReadOnly || engine.isSaving,
637
- sectionHeadingLevel: 2,
638
- renderFieldWrapper: wrapFieldWithErrorBoundary
639
- })
640
- }))
641
- })
642
- };
643
- }), ...(showConnections ? [{
566
+ var connectionsTab = showConnections ? [{
644
567
  value: CONNECTIONS_TAB,
645
568
  label: t("connectionsTab", "Connections"),
646
569
  content: /* @__PURE__ */_jsx(YStack, {
@@ -651,42 +574,42 @@ function DocFormScreen(param) {
651
574
  meta
652
575
  })
653
576
  })
654
- }] : [])];
655
- var effectiveTab = activeTab && bodyTabs.some(function (tab) {
656
- return tab.value === activeTab;
657
- }) ? activeTab : (_bodyTabs_ = bodyTabs[0]) === null || _bodyTabs_ === void 0 ? void 0 : _bodyTabs_.value;
577
+ }] : [];
578
+ var renderTab = function renderTab2(tab, content) {
579
+ return /* @__PURE__ */_jsx(YStack, {
580
+ ...knobProps.gapLg,
581
+ paddingTop: "$3",
582
+ children: /* @__PURE__ */_jsx(FormErrorBoundary, {
583
+ errorTitle: t("formTabRenderError", "This form tab failed to render"),
584
+ testID: `form-tab-error-${tab.key}`,
585
+ children: content
586
+ })
587
+ });
588
+ };
658
589
  var formBody =
659
- // No flex here: formBody now lives inside COLUMN containers (both
660
- // branches below), where `flex={1}` means flex-basis:0 — the body would
661
- // stop contributing height and the timeline/sidebar would paint over it.
590
+ // No flex here: formBody lives inside COLUMN containers (both branches
591
+ // below), where `flex={1}` means flex-basis:0 — the body would stop
592
+ // contributing height and the timeline/sidebar would paint over it.
662
593
  /* @__PURE__ */
663
- _jsxs(YStack, {
594
+ _jsx(YStack, {
664
595
  minWidth: 0,
665
- ...knobProps.gapLg,
666
- children: [promptNamed && /* @__PURE__ */_jsx(YStack, {
667
- ...knobProps.gap,
668
- children: /* @__PURE__ */_jsx(Input, {
669
- label: t("namePrompt", "Name"),
670
- value: typeof engine.doc.name === "string" ? engine.doc.name : "",
671
- onChangeText: function onChangeText(value) {
672
- return engine.setValue("name", value);
673
- },
674
- placeholder: t("namePromptPlaceholder", "New document name"),
675
- error: engine.errors.name
676
- })
677
- }), bodyTabs.length > 1 ? /* @__PURE__ */_jsx(Tabs, {
678
- items: bodyTabs,
679
- value: effectiveTab,
680
- onChange: setActiveTab,
681
- lazyMount: true
682
- }) : (_ref1 = (_bodyTabs_1 = bodyTabs[0]) === null || _bodyTabs_1 === void 0 ? void 0 : _bodyTabs_1.content) !== null && _ref1 !== void 0 ? _ref1 : null, engine.errors.general && /* @__PURE__ */_jsx(Text, {
683
- color: "$red10",
684
- fontSize: "$3",
685
- role: "alert",
686
- children: engine.errors.general
687
- })]
596
+ children: /* @__PURE__ */_jsx(FrappeForm, {
597
+ form,
598
+ doctype,
599
+ name: docName,
600
+ disabled: readOnly,
601
+ showToolbar: false,
602
+ showSidebar: false,
603
+ showTimeline: false,
604
+ showConnections: false,
605
+ showBanners: false,
606
+ sectionHeadingLevel: 2,
607
+ renderFieldWrapper: wrapFieldWithErrorBoundary,
608
+ renderTab,
609
+ extraTabs: connectionsTab
610
+ })
688
611
  });
689
- var timeline = capabilities.timeline.enabled && !isCreate && docName ?
612
+ var timeline = capabilities.timeline.enabled && !isCreate && docName && !metaRefused ?
690
613
  // Composed mode: the screen's shared docinfo (and its refresh) feed
691
614
  // the timeline. Self-fetch mode subscribed the timeline to its OWN
692
615
  // cache entry, which the save path's invalidate+reload orphaned — the
@@ -698,16 +621,16 @@ function DocFormScreen(param) {
698
621
  name: docName,
699
622
  docInfo: docinfo,
700
623
  refreshDocInfo: refreshDocinfo,
701
- currentUser: engine.currentUser,
624
+ currentUser,
702
625
  connection
703
626
  }) : null;
704
627
  var sidebar = !isCreate && docName && meta ? /* @__PURE__ */_jsx(FormSidebarPanel, {
705
628
  doctype,
706
629
  name: docName,
707
630
  meta,
708
- doc: engine.doc,
631
+ doc: form.doc,
709
632
  docinfo,
710
- currentUser: engine.currentUser,
633
+ currentUser,
711
634
  onRefresh: refreshDocinfo,
712
635
  stacked: sidebarStacked
713
636
  }) : null;
@@ -717,12 +640,12 @@ function DocFormScreen(param) {
717
640
  title,
718
641
  indicator,
719
642
  showIndicator: !!meta,
720
- isSaving: engine.isSaving,
721
- cluster: !isCreate && docName ? /* @__PURE__ */_jsx(FormHeaderCluster, {
643
+ isSaving: form.isSubmitting,
644
+ cluster: !isCreate && docName && !metaRefused ? /* @__PURE__ */_jsx(FormHeaderCluster, {
722
645
  doctype,
723
646
  name: docName,
724
647
  docinfo,
725
- currentUser: engine.currentUser,
648
+ currentUser,
726
649
  onRefresh: refreshDocinfo
727
650
  }) : void 0,
728
651
  canSave,
@@ -762,9 +685,9 @@ function DocFormScreen(param) {
762
685
  name: docName
763
686
  } : {}),
764
687
  defaultContent: toolbar
765
- }) : toolbar, (engine.wasDeleted || validationSummary || engine.conflict) && /* @__PURE__ */_jsxs(YStack, {
688
+ }) : toolbar, (form.wasDeleted || validationSummary || form.conflict) && /* @__PURE__ */_jsxs(YStack, {
766
689
  paddingHorizontal: "$3",
767
- children: [engine.wasDeleted && /* @__PURE__ */_jsx(XStack, {
690
+ children: [form.wasDeleted && /* @__PURE__ */_jsx(XStack, {
768
691
  role: "alert",
769
692
  ...knobProps.containerRadius,
770
693
  ...knobProps.panelPadding,
@@ -774,7 +697,7 @@ function DocFormScreen(param) {
774
697
  fontSize: "$3",
775
698
  children: t("deletedBanner", "This document was deleted on the server. Fields are read-only.")
776
699
  })
777
- }), validationSummary && !engine.wasDeleted && /* @__PURE__ */_jsx(XStack, {
700
+ }), validationSummary && !form.wasDeleted && /* @__PURE__ */_jsx(XStack, {
778
701
  role: "alert",
779
702
  ...knobProps.containerRadius,
780
703
  ...knobProps.panelPadding,
@@ -785,7 +708,7 @@ function DocFormScreen(param) {
785
708
  fontSize: "$3",
786
709
  children: validationSummary
787
710
  })
788
- }), engine.conflict && !engine.wasDeleted && /* @__PURE__ */_jsxs(XStack, {
711
+ }), form.conflict && !form.wasDeleted && /* @__PURE__ */_jsxs(XStack, {
789
712
  role: "status",
790
713
  alignItems: "center",
791
714
  justifyContent: "space-between",
@@ -802,7 +725,7 @@ function DocFormScreen(param) {
802
725
  size: "$2",
803
726
  outlined: true,
804
727
  "aria-label": t("reloadDoc", "Reload"),
805
- onPress: engine.reload,
728
+ onPress: form.reset,
806
729
  children: t("reloadDoc", "Reload")
807
730
  })]
808
731
  })]
@@ -845,7 +768,7 @@ function DocFormScreen(param) {
845
768
  warning: true,
846
769
  onConfirm: function onConfirm() {
847
770
  setConfirmAction(void 0);
848
- void engine.submit().then(function (ok) {
771
+ void form.submitDocument().then(function (ok) {
849
772
  if (ok) {
850
773
  notify({
851
774
  severity: "success",
@@ -869,7 +792,7 @@ function DocFormScreen(param) {
869
792
  destructive: true,
870
793
  onConfirm: function onConfirm() {
871
794
  setConfirmAction(void 0);
872
- void engine.cancel().then(function (ok) {
795
+ void form.cancelDocument().then(function (ok) {
873
796
  if (ok) {
874
797
  notify({
875
798
  severity: "success",
@@ -894,7 +817,7 @@ function DocFormScreen(param) {
894
817
  destructive: true,
895
818
  onConfirm: function onConfirm() {
896
819
  setConfirmAction(void 0);
897
- void engine.remove().then(function (ok) {
820
+ void form.remove().then(function (ok) {
898
821
  if (ok) {
899
822
  invalidateDocinfo(doctype, name);
900
823
  emitEvent({