@multiplatform.one/backoffice 7.2.2 → 7.3.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 (511) hide show
  1. package/dist/cjs/chrome/BackofficeAwesomebar.native.js +1 -1
  2. package/dist/cjs/chrome/BackofficeAwesomebar.native.js.map +1 -1
  3. package/dist/cjs/chrome/CommandPalette.native.js +1 -1
  4. package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
  5. package/dist/cjs/chrome/HelpMenu.native.js +1 -1
  6. package/dist/cjs/chrome/HelpMenu.native.js.map +1 -1
  7. package/dist/cjs/chrome/NotificationsButton.native.js +1 -1
  8. package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -1
  9. package/dist/cjs/chrome/UserMenu.native.js +1 -1
  10. package/dist/cjs/chrome/UserMenu.native.js.map +1 -1
  11. package/dist/cjs/chrome/awesomebar-data.native.js.map +1 -1
  12. package/dist/cjs/chrome/command-palette-model.native.js +1 -1
  13. package/dist/cjs/chrome/command-palette-model.native.js.map +1 -1
  14. package/dist/cjs/chrome/help-about-dialog.native.js +1 -1
  15. package/dist/cjs/chrome/help-about-dialog.native.js.map +1 -1
  16. package/dist/cjs/chrome/help-shortcuts-dialog.native.js +1 -1
  17. package/dist/cjs/chrome/help-shortcuts-dialog.native.js.map +1 -1
  18. package/dist/cjs/chrome/notifications-data.native.js.map +1 -1
  19. package/dist/cjs/chrome/notifications-panel.native.js +1 -1
  20. package/dist/cjs/chrome/notifications-panel.native.js.map +1 -1
  21. package/dist/cjs/chrome/notifications-utils.native.js.map +1 -1
  22. package/dist/cjs/chrome/shortcuts.native.js.map +1 -1
  23. package/dist/cjs/chrome/user-session.native.js.map +1 -1
  24. package/dist/cjs/config/BackofficeProvider.cjs +4 -10
  25. package/dist/cjs/config/BackofficeProvider.native.js +10 -30
  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.cjs +187 -0
  31. package/dist/cjs/desk/Desk.native.js +214 -0
  32. package/dist/cjs/desk/Desk.native.js.map +1 -0
  33. package/dist/cjs/desk/DeskSurface.cjs +123 -0
  34. package/dist/cjs/desk/DeskSurface.native.js +130 -0
  35. package/dist/cjs/desk/DeskSurface.native.js.map +1 -0
  36. package/dist/cjs/desk/resolveDeskPath.cjs +118 -0
  37. package/dist/cjs/desk/resolveDeskPath.native.js +123 -0
  38. package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -0
  39. package/dist/cjs/desk/scope.cjs +54 -0
  40. package/dist/cjs/desk/scope.native.js +61 -0
  41. package/dist/cjs/desk/scope.native.js.map +1 -0
  42. package/dist/cjs/desk/target.cjs +174 -0
  43. package/dist/cjs/desk/target.native.js +178 -0
  44. package/dist/cjs/desk/target.native.js.map +1 -0
  45. package/dist/cjs/form/DocFormScreen.native.js +1 -1
  46. package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
  47. package/dist/cjs/form/FormConnections.native.js +1 -1
  48. package/dist/cjs/form/FormConnections.native.js.map +1 -1
  49. package/dist/cjs/form/FormDialogs.native.js +1 -1
  50. package/dist/cjs/form/FormDialogs.native.js.map +1 -1
  51. package/dist/cjs/form/FormErrorBoundary.native.js +1 -1
  52. package/dist/cjs/form/FormErrorBoundary.native.js.map +1 -1
  53. package/dist/cjs/form/FormHeaderCluster.native.js +1 -1
  54. package/dist/cjs/form/FormHeaderCluster.native.js.map +1 -1
  55. package/dist/cjs/form/FormSidebarPanel.native.js +1 -1
  56. package/dist/cjs/form/FormSidebarPanel.native.js.map +1 -1
  57. package/dist/cjs/form/FormTimeline.native.js +1 -1
  58. package/dist/cjs/form/FormTimeline.native.js.map +1 -1
  59. package/dist/cjs/form/FormToolbar.native.js +1 -1
  60. package/dist/cjs/form/FormToolbar.native.js.map +1 -1
  61. package/dist/cjs/form/connections-data.native.js.map +1 -1
  62. package/dist/cjs/form/createPrefill.native.js.map +1 -1
  63. package/dist/cjs/form/dependsOn.native.js.map +1 -1
  64. package/dist/cjs/form/dirtyTracking.native.js.map +1 -1
  65. package/dist/cjs/form/docinfo.native.js.map +1 -1
  66. package/dist/cjs/form/fetchFrom.native.js.map +1 -1
  67. package/dist/cjs/form/fieldPermissions.native.js.map +1 -1
  68. package/dist/cjs/form/formActions.native.js.map +1 -1
  69. package/dist/cjs/form/formLayout.native.js.map +1 -1
  70. package/dist/cjs/form/platformHooks.native.js.map +1 -1
  71. package/dist/cjs/form/sidebar-attachments.native.js +1 -1
  72. package/dist/cjs/form/sidebar-attachments.native.js.map +1 -1
  73. package/dist/cjs/form/sidebar-dialogs.native.js +1 -1
  74. package/dist/cjs/form/sidebar-dialogs.native.js.map +1 -1
  75. package/dist/cjs/form/sidebar-people.native.js +1 -1
  76. package/dist/cjs/form/sidebar-people.native.js.map +1 -1
  77. package/dist/cjs/form/sidebar-rpc.native.js.map +1 -1
  78. package/dist/cjs/form/sidebar-utils.native.js.map +1 -1
  79. package/dist/cjs/form/timeline-entries.native.js.map +1 -1
  80. package/dist/cjs/form/timeline-utils.native.js.map +1 -1
  81. package/dist/cjs/form/useFormEngine.native.js.map +1 -1
  82. package/dist/cjs/i18n/en.native.js.map +1 -1
  83. package/dist/cjs/i18n/index.native.js.map +1 -1
  84. package/dist/cjs/index.cjs +13 -0
  85. package/dist/cjs/index.native.js +14 -1
  86. package/dist/cjs/index.native.js.map +1 -1
  87. package/dist/cjs/list/AddTagsDialog.native.js +1 -1
  88. package/dist/cjs/list/AddTagsDialog.native.js.map +1 -1
  89. package/dist/cjs/list/AssignToDialog.native.js +1 -1
  90. package/dist/cjs/list/AssignToDialog.native.js.map +1 -1
  91. package/dist/cjs/list/DoctypeListScreen.cjs +3 -1
  92. package/dist/cjs/list/DoctypeListScreen.native.js +4 -2
  93. package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
  94. package/dist/cjs/list/ListBulkActionsBar.native.js +1 -1
  95. package/dist/cjs/list/ListBulkActionsBar.native.js.map +1 -1
  96. package/dist/cjs/list/ListFilterBar.native.js +1 -1
  97. package/dist/cjs/list/ListFilterBar.native.js.map +1 -1
  98. package/dist/cjs/list/ListSidebar.native.js +1 -1
  99. package/dist/cjs/list/ListSidebar.native.js.map +1 -1
  100. package/dist/cjs/list/bulk-edit-dialog.native.js +1 -1
  101. package/dist/cjs/list/bulk-edit-dialog.native.js.map +1 -1
  102. package/dist/cjs/list/bulk-export.native.js.map +1 -1
  103. package/dist/cjs/list/bulk-submit-cancel.native.js.map +1 -1
  104. package/dist/cjs/list/bulkActions.native.js.map +1 -1
  105. package/dist/cjs/list/filter-chips.native.js +1 -1
  106. package/dist/cjs/list/filter-chips.native.js.map +1 -1
  107. package/dist/cjs/list/filter-editor.native.js +1 -1
  108. package/dist/cjs/list/filter-editor.native.js.map +1 -1
  109. package/dist/cjs/list/filter-fields.native.js.map +1 -1
  110. package/dist/cjs/list/filter-saved.native.js +1 -1
  111. package/dist/cjs/list/filter-saved.native.js.map +1 -1
  112. package/dist/cjs/list/filter-sort.native.js +1 -1
  113. package/dist/cjs/list/filter-sort.native.js.map +1 -1
  114. package/dist/cjs/list/filter-standard.native.js.map +1 -1
  115. package/dist/cjs/list/filterConversion.native.js.map +1 -1
  116. package/dist/cjs/list/list-tools-sheet.native.js +1 -1
  117. package/dist/cjs/list/list-tools-sheet.native.js.map +1 -1
  118. package/dist/cjs/list/listColumns.native.js.map +1 -1
  119. package/dist/cjs/list/listFields.native.js.map +1 -1
  120. package/dist/cjs/list/listFormat.native.js.map +1 -1
  121. package/dist/cjs/list/listUrlState.native.js.map +1 -1
  122. package/dist/cjs/list/sidebar-section.native.js +1 -1
  123. package/dist/cjs/list/sidebar-section.native.js.map +1 -1
  124. package/dist/cjs/list/sidebar-stats.native.js.map +1 -1
  125. package/dist/cjs/list/statusColors.native.js.map +1 -1
  126. package/dist/cjs/navigation/navigator.native.js.map +1 -1
  127. package/dist/cjs/navigation/paths.native.js.map +1 -1
  128. package/dist/cjs/oneAdapter/index.native.js.map +1 -1
  129. package/dist/cjs/quickEntry/QuickEntryDialog.native.js +1 -1
  130. package/dist/cjs/quickEntry/QuickEntryDialog.native.js.map +1 -1
  131. package/dist/cjs/quickEntry/quickEntryPlan.native.js.map +1 -1
  132. package/dist/cjs/report/DoctypeReportView.cjs +3 -1
  133. package/dist/cjs/report/DoctypeReportView.native.js +5 -3
  134. package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
  135. package/dist/cjs/report/QueryReportScreen.native.js +1 -1
  136. package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
  137. package/dist/cjs/report/queryReportColumns.native.js.map +1 -1
  138. package/dist/cjs/report/queryReportFilterBar.native.js +1 -1
  139. package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
  140. package/dist/cjs/report/queryReportUrlState.native.js.map +1 -1
  141. package/dist/cjs/report/report-grid.native.js +1 -1
  142. package/dist/cjs/report/report-grid.native.js.map +1 -1
  143. package/dist/cjs/report/report-toolbar.native.js +1 -1
  144. package/dist/cjs/report/report-toolbar.native.js.map +1 -1
  145. package/dist/cjs/report/reportShapes.native.js.map +1 -1
  146. package/dist/cjs/report/reportViewModel.native.js.map +1 -1
  147. package/dist/cjs/report/savedReports.native.js.map +1 -1
  148. package/dist/cjs/report/useQueryReport.native.js.map +1 -1
  149. package/dist/cjs/shared/deskLinks.native.js.map +1 -1
  150. package/dist/cjs/shared/listNavContext.native.js.map +1 -1
  151. package/dist/cjs/shared/types.native.js.map +1 -1
  152. package/dist/cjs/shared/useDocinfo.native.js.map +1 -1
  153. package/dist/cjs/shared/useDoctypeMeta.native.js.map +1 -1
  154. package/dist/cjs/shared/useFrappeApp.native.js.map +1 -1
  155. package/dist/cjs/shared/useRecentVisit.native.js.map +1 -1
  156. package/dist/cjs/shared/useSessionUserId.native.js.map +1 -1
  157. package/dist/cjs/shared/useSlugTarget.native.js.map +1 -1
  158. package/dist/cjs/shared/useUserRoles.native.js.map +1 -1
  159. package/dist/cjs/shell/BackofficeShell.native.js +1 -1
  160. package/dist/cjs/shell/BackofficeShell.native.js.map +1 -1
  161. package/dist/cjs/shell/HomeRedirect.native.js +1 -1
  162. package/dist/cjs/shell/HomeRedirect.native.js.map +1 -1
  163. package/dist/cjs/shell/NotFoundScreen.native.js +1 -1
  164. package/dist/cjs/shell/NotFoundScreen.native.js.map +1 -1
  165. package/dist/cjs/shell/SlugScreen.native.js +1 -1
  166. package/dist/cjs/shell/SlugScreen.native.js.map +1 -1
  167. package/dist/cjs/shell/WorkspaceSidebar.native.js +1 -1
  168. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
  169. package/dist/cjs/shell/useWorkspaces.native.js.map +1 -1
  170. package/dist/cjs/shell/workspaceIcons.native.js.map +1 -1
  171. package/dist/cjs/views/CalendarView.cjs +5 -0
  172. package/dist/cjs/views/CalendarView.native.js +6 -1
  173. package/dist/cjs/views/CalendarView.native.js.map +1 -1
  174. package/dist/cjs/views/DashboardView.cjs +5 -3
  175. package/dist/cjs/views/DashboardView.native.js +6 -4
  176. package/dist/cjs/views/DashboardView.native.js.map +1 -1
  177. package/dist/cjs/views/DoctypeViewScreen.native.js.map +1 -1
  178. package/dist/cjs/views/ImageView.cjs +5 -0
  179. package/dist/cjs/views/ImageView.native.js +6 -1
  180. package/dist/cjs/views/ImageView.native.js.map +1 -1
  181. package/dist/cjs/views/KanbanView.cjs +5 -2
  182. package/dist/cjs/views/KanbanView.native.js +6 -3
  183. package/dist/cjs/views/KanbanView.native.js.map +1 -1
  184. package/dist/cjs/views/ReportView.native.js +1 -1
  185. package/dist/cjs/views/ReportView.native.js.map +1 -1
  186. package/dist/cjs/views/TreeView.cjs +5 -0
  187. package/dist/cjs/views/TreeView.native.js +6 -1
  188. package/dist/cjs/views/TreeView.native.js.map +1 -1
  189. package/dist/cjs/views/ViewHeader.native.js +1 -1
  190. package/dist/cjs/views/ViewHeader.native.js.map +1 -1
  191. package/dist/cjs/views/ViewStates.native.js +1 -1
  192. package/dist/cjs/views/ViewStates.native.js.map +1 -1
  193. package/dist/cjs/views/ViewSwitcherMenu.native.js +1 -1
  194. package/dist/cjs/views/ViewSwitcherMenu.native.js.map +1 -1
  195. package/dist/cjs/views/calendar-field-selector.native.js +1 -1
  196. package/dist/cjs/views/calendar-field-selector.native.js.map +1 -1
  197. package/dist/cjs/views/connection.native.js.map +1 -1
  198. package/dist/cjs/views/dashboard-data.native.js.map +1 -1
  199. package/dist/cjs/views/deskViewConfigs.native.js.map +1 -1
  200. package/dist/cjs/views/kanban-board-controls.native.js +1 -1
  201. package/dist/cjs/views/kanban-board-controls.native.js.map +1 -1
  202. package/dist/cjs/views/kanban-field-picker.native.js +1 -1
  203. package/dist/cjs/views/kanban-field-picker.native.js.map +1 -1
  204. package/dist/cjs/views/kanbanBoardOps.native.js.map +1 -1
  205. package/dist/cjs/views/report-controls.native.js +1 -1
  206. package/dist/cjs/views/report-controls.native.js.map +1 -1
  207. package/dist/cjs/views/viewAvailability.native.js.map +1 -1
  208. package/dist/cjs/views/viewMeta.native.js.map +1 -1
  209. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +1 -1
  210. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -1
  211. package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -1
  212. package/dist/cjs/workspace/WorkspaceLinkCard.native.js +1 -1
  213. package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -1
  214. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +1 -1
  215. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  216. package/dist/cjs/workspace/WorkspaceNumberCard.native.js +1 -1
  217. package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -1
  218. package/dist/cjs/workspace/WorkspaceQuickList.native.js +1 -1
  219. package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -1
  220. package/dist/cjs/workspace/WorkspaceRecents.native.js +1 -1
  221. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -1
  222. package/dist/cjs/workspace/WorkspaceScreen.native.js +1 -1
  223. package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -1
  224. package/dist/cjs/workspace/WorkspaceShortcut.native.js +1 -1
  225. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -1
  226. package/dist/cjs/workspace/parseContent.native.js.map +1 -1
  227. package/dist/cjs/workspace/types.native.js.map +1 -1
  228. package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -1
  229. package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -1
  230. package/dist/esm/chrome/BackofficeAwesomebar.native.js.map +1 -1
  231. package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
  232. package/dist/esm/chrome/HelpMenu.native.js.map +1 -1
  233. package/dist/esm/chrome/NotificationsButton.native.js.map +1 -1
  234. package/dist/esm/chrome/UserMenu.native.js.map +1 -1
  235. package/dist/esm/chrome/awesomebar-data.native.js.map +1 -1
  236. package/dist/esm/chrome/command-palette-model.native.js.map +1 -1
  237. package/dist/esm/chrome/help-about-dialog.native.js.map +1 -1
  238. package/dist/esm/chrome/help-shortcuts-dialog.native.js.map +1 -1
  239. package/dist/esm/chrome/notifications-data.native.js.map +1 -1
  240. package/dist/esm/chrome/notifications-panel.native.js.map +1 -1
  241. package/dist/esm/chrome/notifications-utils.native.js.map +1 -1
  242. package/dist/esm/chrome/shortcuts.native.js.map +1 -1
  243. package/dist/esm/chrome/user-session.native.js.map +1 -1
  244. package/dist/esm/config/BackofficeProvider.mjs +5 -11
  245. package/dist/esm/config/BackofficeProvider.mjs.map +1 -1
  246. package/dist/esm/config/BackofficeProvider.native.js +10 -30
  247. package/dist/esm/config/BackofficeProvider.native.js.map +1 -1
  248. package/dist/esm/config/capabilities.native.js.map +1 -1
  249. package/dist/esm/config/events.native.js.map +1 -1
  250. package/dist/esm/config/slots.native.js.map +1 -1
  251. package/dist/esm/desk/Desk.mjs +162 -0
  252. package/dist/esm/desk/Desk.mjs.map +1 -0
  253. package/dist/esm/desk/Desk.native.js +186 -0
  254. package/dist/esm/desk/Desk.native.js.map +1 -0
  255. package/dist/esm/desk/DeskSurface.mjs +97 -0
  256. package/dist/esm/desk/DeskSurface.mjs.map +1 -0
  257. package/dist/esm/desk/DeskSurface.native.js +101 -0
  258. package/dist/esm/desk/DeskSurface.native.js.map +1 -0
  259. package/dist/esm/desk/resolveDeskPath.mjs +93 -0
  260. package/dist/esm/desk/resolveDeskPath.mjs.map +1 -0
  261. package/dist/esm/desk/resolveDeskPath.native.js +95 -0
  262. package/dist/esm/desk/resolveDeskPath.native.js.map +1 -0
  263. package/dist/esm/desk/scope.mjs +27 -0
  264. package/dist/esm/desk/scope.mjs.map +1 -0
  265. package/dist/esm/desk/scope.native.js +31 -0
  266. package/dist/esm/desk/scope.native.js.map +1 -0
  267. package/dist/esm/desk/target.mjs +147 -0
  268. package/dist/esm/desk/target.mjs.map +1 -0
  269. package/dist/esm/desk/target.native.js +148 -0
  270. package/dist/esm/desk/target.native.js.map +1 -0
  271. package/dist/esm/form/DocFormScreen.native.js.map +1 -1
  272. package/dist/esm/form/FormConnections.native.js.map +1 -1
  273. package/dist/esm/form/FormDialogs.native.js.map +1 -1
  274. package/dist/esm/form/FormErrorBoundary.native.js.map +1 -1
  275. package/dist/esm/form/FormHeaderCluster.native.js.map +1 -1
  276. package/dist/esm/form/FormSidebarPanel.native.js.map +1 -1
  277. package/dist/esm/form/FormTimeline.native.js.map +1 -1
  278. package/dist/esm/form/FormToolbar.native.js.map +1 -1
  279. package/dist/esm/form/connections-data.native.js.map +1 -1
  280. package/dist/esm/form/createPrefill.native.js.map +1 -1
  281. package/dist/esm/form/dependsOn.native.js.map +1 -1
  282. package/dist/esm/form/dirtyTracking.native.js.map +1 -1
  283. package/dist/esm/form/docinfo.native.js.map +1 -1
  284. package/dist/esm/form/fetchFrom.native.js.map +1 -1
  285. package/dist/esm/form/fieldPermissions.native.js.map +1 -1
  286. package/dist/esm/form/formActions.native.js.map +1 -1
  287. package/dist/esm/form/formLayout.native.js.map +1 -1
  288. package/dist/esm/form/platformHooks.native.js.map +1 -1
  289. package/dist/esm/form/sidebar-attachments.native.js.map +1 -1
  290. package/dist/esm/form/sidebar-dialogs.native.js.map +1 -1
  291. package/dist/esm/form/sidebar-people.native.js.map +1 -1
  292. package/dist/esm/form/sidebar-rpc.native.js.map +1 -1
  293. package/dist/esm/form/sidebar-utils.native.js.map +1 -1
  294. package/dist/esm/form/timeline-entries.native.js.map +1 -1
  295. package/dist/esm/form/timeline-utils.native.js.map +1 -1
  296. package/dist/esm/form/useFormEngine.native.js.map +1 -1
  297. package/dist/esm/i18n/en.native.js.map +1 -1
  298. package/dist/esm/i18n/index.native.js.map +1 -1
  299. package/dist/esm/index.mjs +6 -1
  300. package/dist/esm/index.mjs.map +1 -1
  301. package/dist/esm/index.native.js +6 -1
  302. package/dist/esm/index.native.js.map +1 -1
  303. package/dist/esm/list/AddTagsDialog.native.js.map +1 -1
  304. package/dist/esm/list/AssignToDialog.native.js.map +1 -1
  305. package/dist/esm/list/DoctypeListScreen.mjs +3 -1
  306. package/dist/esm/list/DoctypeListScreen.mjs.map +1 -1
  307. package/dist/esm/list/DoctypeListScreen.native.js +3 -1
  308. package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
  309. package/dist/esm/list/ListBulkActionsBar.native.js.map +1 -1
  310. package/dist/esm/list/ListFilterBar.native.js.map +1 -1
  311. package/dist/esm/list/ListSidebar.native.js.map +1 -1
  312. package/dist/esm/list/bulk-edit-dialog.native.js.map +1 -1
  313. package/dist/esm/list/bulk-export.native.js.map +1 -1
  314. package/dist/esm/list/bulk-submit-cancel.native.js.map +1 -1
  315. package/dist/esm/list/bulkActions.native.js.map +1 -1
  316. package/dist/esm/list/filter-chips.native.js.map +1 -1
  317. package/dist/esm/list/filter-editor.native.js.map +1 -1
  318. package/dist/esm/list/filter-fields.native.js.map +1 -1
  319. package/dist/esm/list/filter-saved.native.js.map +1 -1
  320. package/dist/esm/list/filter-sort.native.js.map +1 -1
  321. package/dist/esm/list/filter-standard.native.js.map +1 -1
  322. package/dist/esm/list/filterConversion.native.js.map +1 -1
  323. package/dist/esm/list/list-tools-sheet.native.js.map +1 -1
  324. package/dist/esm/list/listColumns.native.js.map +1 -1
  325. package/dist/esm/list/listFields.native.js.map +1 -1
  326. package/dist/esm/list/listFormat.native.js.map +1 -1
  327. package/dist/esm/list/listUrlState.native.js.map +1 -1
  328. package/dist/esm/list/sidebar-section.native.js.map +1 -1
  329. package/dist/esm/list/sidebar-stats.native.js.map +1 -1
  330. package/dist/esm/list/statusColors.native.js.map +1 -1
  331. package/dist/esm/navigation/navigator.native.js.map +1 -1
  332. package/dist/esm/navigation/paths.native.js.map +1 -1
  333. package/dist/esm/oneAdapter/index.native.js.map +1 -1
  334. package/dist/esm/quickEntry/QuickEntryDialog.native.js.map +1 -1
  335. package/dist/esm/quickEntry/quickEntryPlan.native.js.map +1 -1
  336. package/dist/esm/report/DoctypeReportView.mjs +3 -1
  337. package/dist/esm/report/DoctypeReportView.mjs.map +1 -1
  338. package/dist/esm/report/DoctypeReportView.native.js +4 -2
  339. package/dist/esm/report/DoctypeReportView.native.js.map +1 -1
  340. package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
  341. package/dist/esm/report/queryReportColumns.native.js.map +1 -1
  342. package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
  343. package/dist/esm/report/queryReportUrlState.native.js.map +1 -1
  344. package/dist/esm/report/report-grid.native.js.map +1 -1
  345. package/dist/esm/report/report-toolbar.native.js.map +1 -1
  346. package/dist/esm/report/reportShapes.native.js.map +1 -1
  347. package/dist/esm/report/reportViewModel.native.js.map +1 -1
  348. package/dist/esm/report/savedReports.native.js.map +1 -1
  349. package/dist/esm/report/useQueryReport.native.js.map +1 -1
  350. package/dist/esm/shared/deskLinks.native.js.map +1 -1
  351. package/dist/esm/shared/listNavContext.native.js.map +1 -1
  352. package/dist/esm/shared/types.native.js.map +1 -1
  353. package/dist/esm/shared/useDocinfo.native.js.map +1 -1
  354. package/dist/esm/shared/useDoctypeMeta.native.js.map +1 -1
  355. package/dist/esm/shared/useFrappeApp.native.js.map +1 -1
  356. package/dist/esm/shared/useRecentVisit.native.js.map +1 -1
  357. package/dist/esm/shared/useSessionUserId.native.js.map +1 -1
  358. package/dist/esm/shared/useSlugTarget.native.js.map +1 -1
  359. package/dist/esm/shared/useUserRoles.native.js.map +1 -1
  360. package/dist/esm/shell/BackofficeShell.native.js.map +1 -1
  361. package/dist/esm/shell/HomeRedirect.native.js.map +1 -1
  362. package/dist/esm/shell/NotFoundScreen.native.js.map +1 -1
  363. package/dist/esm/shell/SlugScreen.native.js.map +1 -1
  364. package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -1
  365. package/dist/esm/shell/useWorkspaces.native.js.map +1 -1
  366. package/dist/esm/shell/workspaceIcons.native.js.map +1 -1
  367. package/dist/esm/views/CalendarView.mjs +5 -0
  368. package/dist/esm/views/CalendarView.mjs.map +1 -1
  369. package/dist/esm/views/CalendarView.native.js +5 -0
  370. package/dist/esm/views/CalendarView.native.js.map +1 -1
  371. package/dist/esm/views/DashboardView.mjs +5 -3
  372. package/dist/esm/views/DashboardView.mjs.map +1 -1
  373. package/dist/esm/views/DashboardView.native.js +5 -3
  374. package/dist/esm/views/DashboardView.native.js.map +1 -1
  375. package/dist/esm/views/DoctypeViewScreen.native.js.map +1 -1
  376. package/dist/esm/views/ImageView.mjs +5 -0
  377. package/dist/esm/views/ImageView.mjs.map +1 -1
  378. package/dist/esm/views/ImageView.native.js +5 -0
  379. package/dist/esm/views/ImageView.native.js.map +1 -1
  380. package/dist/esm/views/KanbanView.mjs +5 -2
  381. package/dist/esm/views/KanbanView.mjs.map +1 -1
  382. package/dist/esm/views/KanbanView.native.js +5 -2
  383. package/dist/esm/views/KanbanView.native.js.map +1 -1
  384. package/dist/esm/views/ReportView.native.js.map +1 -1
  385. package/dist/esm/views/TreeView.mjs +5 -0
  386. package/dist/esm/views/TreeView.mjs.map +1 -1
  387. package/dist/esm/views/TreeView.native.js +5 -0
  388. package/dist/esm/views/TreeView.native.js.map +1 -1
  389. package/dist/esm/views/ViewHeader.native.js.map +1 -1
  390. package/dist/esm/views/ViewStates.native.js.map +1 -1
  391. package/dist/esm/views/ViewSwitcherMenu.native.js.map +1 -1
  392. package/dist/esm/views/calendar-field-selector.native.js.map +1 -1
  393. package/dist/esm/views/connection.native.js.map +1 -1
  394. package/dist/esm/views/dashboard-data.native.js.map +1 -1
  395. package/dist/esm/views/deskViewConfigs.native.js.map +1 -1
  396. package/dist/esm/views/kanban-board-controls.native.js.map +1 -1
  397. package/dist/esm/views/kanban-field-picker.native.js.map +1 -1
  398. package/dist/esm/views/kanbanBoardOps.native.js.map +1 -1
  399. package/dist/esm/views/report-controls.native.js.map +1 -1
  400. package/dist/esm/views/viewAvailability.native.js.map +1 -1
  401. package/dist/esm/views/viewMeta.native.js.map +1 -1
  402. package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -1
  403. package/dist/esm/workspace/WorkspaceGrid.native.js.map +1 -1
  404. package/dist/esm/workspace/WorkspaceLinkCard.native.js.map +1 -1
  405. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  406. package/dist/esm/workspace/WorkspaceNumberCard.native.js.map +1 -1
  407. package/dist/esm/workspace/WorkspaceQuickList.native.js.map +1 -1
  408. package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -1
  409. package/dist/esm/workspace/WorkspaceScreen.native.js.map +1 -1
  410. package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -1
  411. package/dist/esm/workspace/parseContent.native.js.map +1 -1
  412. package/dist/esm/workspace/types.native.js.map +1 -1
  413. package/dist/esm/workspace/useDashboardChart.native.js.map +1 -1
  414. package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -1
  415. package/dist/jsx/config/BackofficeProvider.mjs +5 -11
  416. package/dist/jsx/config/BackofficeProvider.mjs.map +1 -1
  417. package/dist/jsx/config/BackofficeProvider.native.js +9 -29
  418. package/dist/jsx/config/BackofficeProvider.native.js.map +1 -1
  419. package/dist/jsx/desk/Desk.mjs +162 -0
  420. package/dist/jsx/desk/Desk.mjs.map +1 -0
  421. package/dist/jsx/desk/Desk.native.js +214 -0
  422. package/dist/jsx/desk/Desk.native.js.map +1 -0
  423. package/dist/jsx/desk/DeskSurface.mjs +97 -0
  424. package/dist/jsx/desk/DeskSurface.mjs.map +1 -0
  425. package/dist/jsx/desk/DeskSurface.native.js +130 -0
  426. package/dist/jsx/desk/DeskSurface.native.js.map +1 -0
  427. package/dist/jsx/desk/resolveDeskPath.mjs +93 -0
  428. package/dist/jsx/desk/resolveDeskPath.mjs.map +1 -0
  429. package/dist/jsx/desk/resolveDeskPath.native.js +123 -0
  430. package/dist/jsx/desk/resolveDeskPath.native.js.map +1 -0
  431. package/dist/jsx/desk/scope.mjs +27 -0
  432. package/dist/jsx/desk/scope.mjs.map +1 -0
  433. package/dist/jsx/desk/scope.native.js +61 -0
  434. package/dist/jsx/desk/scope.native.js.map +1 -0
  435. package/dist/jsx/desk/target.mjs +147 -0
  436. package/dist/jsx/desk/target.mjs.map +1 -0
  437. package/dist/jsx/desk/target.native.js +178 -0
  438. package/dist/jsx/desk/target.native.js.map +1 -0
  439. package/dist/jsx/index.js +6 -1
  440. package/dist/jsx/index.js.map +1 -1
  441. package/dist/jsx/index.mjs +6 -1
  442. package/dist/jsx/index.mjs.map +1 -1
  443. package/dist/jsx/index.native.js +13 -0
  444. package/dist/jsx/index.native.js.map +1 -1
  445. package/dist/jsx/list/DoctypeListScreen.mjs +3 -1
  446. package/dist/jsx/list/DoctypeListScreen.mjs.map +1 -1
  447. package/dist/jsx/list/DoctypeListScreen.native.js +3 -1
  448. package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
  449. package/dist/jsx/report/DoctypeReportView.mjs +3 -1
  450. package/dist/jsx/report/DoctypeReportView.mjs.map +1 -1
  451. package/dist/jsx/report/DoctypeReportView.native.js +4 -2
  452. package/dist/jsx/report/DoctypeReportView.native.js.map +1 -1
  453. package/dist/jsx/views/CalendarView.mjs +5 -0
  454. package/dist/jsx/views/CalendarView.mjs.map +1 -1
  455. package/dist/jsx/views/CalendarView.native.js +5 -0
  456. package/dist/jsx/views/CalendarView.native.js.map +1 -1
  457. package/dist/jsx/views/DashboardView.mjs +5 -3
  458. package/dist/jsx/views/DashboardView.mjs.map +1 -1
  459. package/dist/jsx/views/DashboardView.native.js +5 -3
  460. package/dist/jsx/views/DashboardView.native.js.map +1 -1
  461. package/dist/jsx/views/ImageView.mjs +5 -0
  462. package/dist/jsx/views/ImageView.mjs.map +1 -1
  463. package/dist/jsx/views/ImageView.native.js +5 -0
  464. package/dist/jsx/views/ImageView.native.js.map +1 -1
  465. package/dist/jsx/views/KanbanView.mjs +5 -2
  466. package/dist/jsx/views/KanbanView.mjs.map +1 -1
  467. package/dist/jsx/views/KanbanView.native.js +5 -2
  468. package/dist/jsx/views/KanbanView.native.js.map +1 -1
  469. package/dist/jsx/views/TreeView.mjs +5 -0
  470. package/dist/jsx/views/TreeView.mjs.map +1 -1
  471. package/dist/jsx/views/TreeView.native.js +5 -0
  472. package/dist/jsx/views/TreeView.native.js.map +1 -1
  473. package/package.json +12 -12
  474. package/src/config/BackofficeProvider.tsx +11 -18
  475. package/src/desk/Desk.spec.tsx +287 -0
  476. package/src/desk/Desk.tsx +308 -0
  477. package/src/desk/DeskSurface.tsx +132 -0
  478. package/src/desk/doctrine.spec.ts +48 -0
  479. package/src/desk/resolveDeskPath.spec.ts +174 -0
  480. package/src/desk/resolveDeskPath.ts +111 -0
  481. package/src/desk/scope.tsx +52 -0
  482. package/src/desk/target.ts +169 -0
  483. package/src/index.ts +17 -0
  484. package/src/list/DoctypeListScreen.tsx +4 -1
  485. package/src/report/DoctypeReportView.tsx +6 -2
  486. package/src/views/CalendarView.tsx +3 -0
  487. package/src/views/DashboardView.tsx +5 -3
  488. package/src/views/ImageView.tsx +3 -0
  489. package/src/views/KanbanView.tsx +5 -1
  490. package/src/views/TreeView.tsx +3 -0
  491. package/types/config/BackofficeProvider.d.ts +6 -4
  492. package/types/config/BackofficeProvider.d.ts.map +1 -1
  493. package/types/desk/Desk.d.ts +91 -0
  494. package/types/desk/Desk.d.ts.map +1 -0
  495. package/types/desk/DeskSurface.d.ts +24 -0
  496. package/types/desk/DeskSurface.d.ts.map +1 -0
  497. package/types/desk/resolveDeskPath.d.ts +60 -0
  498. package/types/desk/resolveDeskPath.d.ts.map +1 -0
  499. package/types/desk/scope.d.ts +31 -0
  500. package/types/desk/scope.d.ts.map +1 -0
  501. package/types/desk/target.d.ts +57 -0
  502. package/types/desk/target.d.ts.map +1 -0
  503. package/types/index.d.ts +10 -0
  504. package/types/index.d.ts.map +1 -1
  505. package/types/list/DoctypeListScreen.d.ts.map +1 -1
  506. package/types/report/DoctypeReportView.d.ts.map +1 -1
  507. package/types/views/CalendarView.d.ts.map +1 -1
  508. package/types/views/DashboardView.d.ts.map +1 -1
  509. package/types/views/ImageView.d.ts.map +1 -1
  510. package/types/views/KanbanView.d.ts.map +1 -1
  511. package/types/views/TreeView.d.ts.map +1 -1
@@ -0,0 +1,186 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { YStack } from "@multiplatform.one/components";
3
+ import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
4
+ import { useEffect, useMemo, useRef } from "react";
5
+ import { BackofficeProvider } from "../config/BackofficeProvider.native.js";
6
+ import { createMemoryNavigator } from "../navigation/navigator.native.js";
7
+ import { BACKOFFICE_BASE, createBackofficePaths } from "../navigation/paths.native.js";
8
+ import { BackofficeShell } from "../shell/BackofficeShell.native.js";
9
+ import { DeskSurface, DeskSurfaceLoading } from "./DeskSurface.native.js";
10
+ import { DeskScopeProvider } from "./scope.native.js";
11
+ import { guessDeskTarget, hasDeskPin, useDeskTarget } from "./target.native.js";
12
+ function pinnedPath(pins, basePath) {
13
+ var paths = createBackofficePaths(basePath);
14
+ if (pins.path) {
15
+ var prefix = basePath === "/" ? "" : basePath.replace(/\/+$/, "");
16
+ return `${prefix}${pins.path}`;
17
+ }
18
+ if (pins.doctype) {
19
+ if (pins.name === "new") return paths.newDoc(pins.doctype);
20
+ if (pins.name) return paths.form(pins.doctype, pins.name);
21
+ if (pins.view && pins.view !== "list") return paths.view(pins.doctype, pins.view);
22
+ return paths.list(pins.doctype);
23
+ }
24
+ if (pins.workspace) return paths.workspace(pins.workspace);
25
+ if (pins.report) return paths.queryReport(pins.report);
26
+ return paths.home();
27
+ }
28
+ function Desk(props) {
29
+ var _props_navigation, _props_doctypes;
30
+ var {
31
+ doctype,
32
+ name,
33
+ view,
34
+ workspace,
35
+ report,
36
+ path,
37
+ basePath = BACKOFFICE_BASE,
38
+ chrome: chromeProp,
39
+ embedded,
40
+ onNavigate
41
+ } = props;
42
+ var pins = useMemo(function () {
43
+ return {
44
+ doctype,
45
+ name,
46
+ view,
47
+ workspace,
48
+ report,
49
+ path
50
+ };
51
+ }, [doctype, name, view, workspace, report, path]);
52
+ var ambient = useFrappeConfig();
53
+ var warned = useRef(false);
54
+ if (ambient && props.frappe && !warned.current) {
55
+ warned.current = true;
56
+ console.warn("[backoffice] <Desk frappe> is ignored: an ambient FrappeProvider exists and the SyncModule is cached per baseURL.");
57
+ }
58
+ var frappe = useMemo(function () {
59
+ var _props_frappe;
60
+ if (ambient) {
61
+ return {
62
+ baseURL: ambient.baseURL,
63
+ auth: ambient.auth,
64
+ fixtures: ambient.fixtures
65
+ };
66
+ }
67
+ return (_props_frappe = props.frappe) !== null && _props_frappe !== void 0 ? _props_frappe : {
68
+ baseURL: ""
69
+ };
70
+ }, [ambient, props.frappe]);
71
+ var memoryNavigator = useMemo(function () {
72
+ return props.navigation ? void 0 : createMemoryNavigator(pinnedPath(pins, basePath));
73
+ },
74
+ // The seed is the ENTRY; later pin changes re-enter through useDeskTarget.
75
+ // oxlint-disable-next-line exhaustive-deps
76
+ [props.navigation ? "host" : "memory"]);
77
+ var baseNavigation = (_props_navigation = props.navigation) !== null && _props_navigation !== void 0 ? _props_navigation : memoryNavigator;
78
+ var onNavigateRef = useRef(onNavigate);
79
+ onNavigateRef.current = onNavigate;
80
+ var navigation = useMemo(function () {
81
+ var intercept = function intercept2(path2) {
82
+ var _onNavigateRef_current;
83
+ return ((_onNavigateRef_current = onNavigateRef.current) === null || _onNavigateRef_current === void 0 ? void 0 : _onNavigateRef_current.call(onNavigateRef, guessDeskTarget(path2, basePath), path2)) !== false;
84
+ };
85
+ return {
86
+ ...baseNavigation,
87
+ navigate: function navigate(path2) {
88
+ if (intercept(path2)) baseNavigation.navigate(path2);
89
+ },
90
+ replace: function replace(path2) {
91
+ if (intercept(path2)) baseNavigation.replace(path2);
92
+ },
93
+ back: function back() {
94
+ return baseNavigation.back();
95
+ },
96
+ getLocation: function getLocation() {
97
+ return baseNavigation.getLocation();
98
+ },
99
+ subscribe: function subscribe(listener) {
100
+ return baseNavigation.subscribe(listener);
101
+ },
102
+ ...(baseNavigation.setParams ? {
103
+ setParams: function setParams(params) {
104
+ var _baseNavigation_setParams;
105
+ return (_baseNavigation_setParams = baseNavigation.setParams) === null || _baseNavigation_setParams === void 0 ? void 0 : _baseNavigation_setParams.call(baseNavigation, params);
106
+ }
107
+ } : {})
108
+ };
109
+ }, [baseNavigation, basePath]);
110
+ var chrome = chromeProp !== null && chromeProp !== void 0 ? chromeProp : embedded || hasDeskPin(pins) ? "content" : "full";
111
+ var doctypes = (_props_doctypes = props.doctypes) !== null && _props_doctypes !== void 0 ? _props_doctypes : doctype ? {
112
+ allow: [doctype]
113
+ } : void 0;
114
+ var capabilities = useMemo(function () {
115
+ return chrome === "bare" ? {
116
+ ...props.capabilities,
117
+ sidebar: false
118
+ } : props.capabilities;
119
+ }, [chrome, props.capabilities]);
120
+ return /* @__PURE__ */_jsx(BackofficeProvider, {
121
+ frappe,
122
+ navigation,
123
+ basePath,
124
+ capabilities,
125
+ doctypes,
126
+ fields: props.fields,
127
+ actions: props.actions,
128
+ slots: props.slots,
129
+ appearance: props.appearance,
130
+ integrations: props.integrations,
131
+ onEvent: props.onEvent,
132
+ children: /* @__PURE__ */_jsx(DeskScopeProvider, {
133
+ scope: props.scope,
134
+ children: /* @__PURE__ */_jsx(DeskBody, {
135
+ pins,
136
+ chrome,
137
+ readOnly: props.readOnly,
138
+ surfaces: props.surfaces,
139
+ initialFilters: props.filters,
140
+ views: props.views,
141
+ onTargetChange: props.onTargetChange
142
+ })
143
+ })
144
+ });
145
+ }
146
+ function DeskBody(param) {
147
+ var {
148
+ pins,
149
+ chrome,
150
+ readOnly,
151
+ surfaces,
152
+ initialFilters,
153
+ views,
154
+ onTargetChange
155
+ } = param;
156
+ var target = useDeskTarget(pins);
157
+ var onTargetChangeRef = useRef(onTargetChange);
158
+ onTargetChangeRef.current = onTargetChange;
159
+ var targetKey = target ? JSON.stringify(target) : void 0;
160
+ useEffect(function () {
161
+ var _onTargetChangeRef_current;
162
+ if (target) (_onTargetChangeRef_current = onTargetChangeRef.current) === null || _onTargetChangeRef_current === void 0 ? void 0 : _onTargetChangeRef_current.call(onTargetChangeRef, target);
163
+ },
164
+ // oxlint-disable-next-line exhaustive-deps
165
+ [targetKey]);
166
+ var surface = target ? /* @__PURE__ */_jsx(DeskSurface, {
167
+ target,
168
+ overrides: surfaces,
169
+ readOnly,
170
+ initialFilters,
171
+ views
172
+ }) : /* @__PURE__ */_jsx(DeskSurfaceLoading, {});
173
+ if (chrome === "content") {
174
+ return /* @__PURE__ */_jsx(YStack, {
175
+ flex: 1,
176
+ minHeight: 0,
177
+ minWidth: 0,
178
+ children: surface
179
+ });
180
+ }
181
+ return /* @__PURE__ */_jsx(BackofficeShell, {
182
+ children: surface
183
+ });
184
+ }
185
+ export { Desk };
186
+ //# sourceMappingURL=Desk.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","YStack","useFrappeConfig","useEffect","useMemo","useRef","BackofficeProvider","createMemoryNavigator","BACKOFFICE_BASE","createBackofficePaths","BackofficeShell","DeskSurface","DeskSurfaceLoading","DeskScopeProvider","guessDeskTarget","hasDeskPin","useDeskTarget","pinnedPath","pins","basePath","paths","path","prefix","replace","doctype","name","newDoc","form","view","list","workspace","report","queryReport","home","Desk","props","_props_navigation","_props_doctypes","chrome","chromeProp","embedded","onNavigate","ambient","warned","frappe","current","console","warn","_props_frappe","baseURL","auth","fixtures","memoryNavigator","navigation","baseNavigation","onNavigateRef","intercept","intercept2","path2","_onNavigateRef_current","call","navigate","back","getLocation","subscribe","listener","setParams","params","_baseNavigation_setParams","doctypes","allow","capabilities","sidebar","fields","actions","slots","appearance","integrations","onEvent","children","scope","DeskBody","readOnly","surfaces","initialFilters","filters","views","onTargetChange","param","target","onTargetChangeRef","targetKey","JSON","stringify","_onTargetChangeRef_current","surface","overrides","flex","minHeight","minWidth"],"sources":["Desk.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { YStack } from \"@multiplatform.one/components\";\nimport { useFrappeConfig } from \"@multiplatform.one/frappe-ui\";\nimport { useEffect, useMemo, useRef } from \"react\";\nimport { BackofficeProvider } from \"../config/BackofficeProvider\";\nimport { createMemoryNavigator } from \"../navigation/navigator\";\nimport { BACKOFFICE_BASE, createBackofficePaths } from \"../navigation/paths\";\nimport { BackofficeShell } from \"../shell/BackofficeShell\";\nimport { DeskSurface, DeskSurfaceLoading } from \"./DeskSurface\";\nimport { DeskScopeProvider } from \"./scope\";\nimport { guessDeskTarget, hasDeskPin, useDeskTarget } from \"./target\";\nfunction pinnedPath(pins, basePath) {\n var paths = createBackofficePaths(basePath);\n if (pins.path) {\n var prefix = basePath === \"/\" ? \"\" : basePath.replace(/\\/+$/, \"\");\n return `${prefix}${pins.path}`;\n }\n if (pins.doctype) {\n if (pins.name === \"new\") return paths.newDoc(pins.doctype);\n if (pins.name) return paths.form(pins.doctype, pins.name);\n if (pins.view && pins.view !== \"list\") return paths.view(pins.doctype, pins.view);\n return paths.list(pins.doctype);\n }\n if (pins.workspace) return paths.workspace(pins.workspace);\n if (pins.report) return paths.queryReport(pins.report);\n return paths.home();\n}\nfunction Desk(props) {\n var _props_navigation, _props_doctypes;\n var { doctype, name, view, workspace, report, path, basePath = BACKOFFICE_BASE, chrome: chromeProp, embedded, onNavigate } = props;\n var pins = useMemo(function() {\n return {\n doctype,\n name,\n view,\n workspace,\n report,\n path\n };\n }, [\n doctype,\n name,\n view,\n workspace,\n report,\n path\n ]);\n var ambient = useFrappeConfig();\n var warned = useRef(false);\n if (ambient && props.frappe && !warned.current) {\n warned.current = true;\n console.warn(\"[backoffice] <Desk frappe> is ignored: an ambient FrappeProvider exists and the SyncModule is cached per baseURL.\");\n }\n var frappe = useMemo(function() {\n var _props_frappe;\n if (ambient) {\n return {\n baseURL: ambient.baseURL,\n auth: ambient.auth,\n fixtures: ambient.fixtures\n };\n }\n return (_props_frappe = props.frappe) !== null && _props_frappe !== void 0 ? _props_frappe : {\n baseURL: \"\"\n };\n }, [\n ambient,\n props.frappe\n ]);\n var memoryNavigator = useMemo(\n function() {\n return props.navigation ? void 0 : createMemoryNavigator(pinnedPath(pins, basePath));\n },\n // The seed is the ENTRY; later pin changes re-enter through useDeskTarget.\n // oxlint-disable-next-line exhaustive-deps\n [\n props.navigation ? \"host\" : \"memory\"\n ]\n );\n var baseNavigation = (_props_navigation = props.navigation) !== null && _props_navigation !== void 0 ? _props_navigation : memoryNavigator;\n var onNavigateRef = useRef(onNavigate);\n onNavigateRef.current = onNavigate;\n var navigation = useMemo(function() {\n var intercept = function intercept2(path2) {\n var _onNavigateRef_current;\n return ((_onNavigateRef_current = onNavigateRef.current) === null || _onNavigateRef_current === void 0 ? void 0 : _onNavigateRef_current.call(onNavigateRef, guessDeskTarget(path2, basePath), path2)) !== false;\n };\n return {\n ...baseNavigation,\n navigate: function navigate(path2) {\n if (intercept(path2)) baseNavigation.navigate(path2);\n },\n replace: function replace(path2) {\n if (intercept(path2)) baseNavigation.replace(path2);\n },\n back: function back() {\n return baseNavigation.back();\n },\n getLocation: function getLocation() {\n return baseNavigation.getLocation();\n },\n subscribe: function subscribe(listener) {\n return baseNavigation.subscribe(listener);\n },\n ...baseNavigation.setParams ? {\n setParams: function setParams(params) {\n var _baseNavigation_setParams;\n return (_baseNavigation_setParams = baseNavigation.setParams) === null || _baseNavigation_setParams === void 0 ? void 0 : _baseNavigation_setParams.call(baseNavigation, params);\n }\n } : {}\n };\n }, [\n baseNavigation,\n basePath\n ]);\n var chrome = chromeProp !== null && chromeProp !== void 0 ? chromeProp : embedded || hasDeskPin(pins) ? \"content\" : \"full\";\n var doctypes = (_props_doctypes = props.doctypes) !== null && _props_doctypes !== void 0 ? _props_doctypes : doctype ? {\n allow: [\n doctype\n ]\n } : void 0;\n var capabilities = useMemo(function() {\n return chrome === \"bare\" ? {\n ...props.capabilities,\n sidebar: false\n } : props.capabilities;\n }, [\n chrome,\n props.capabilities\n ]);\n return /* @__PURE__ */ _jsx(BackofficeProvider, {\n frappe,\n navigation,\n basePath,\n capabilities,\n doctypes,\n fields: props.fields,\n actions: props.actions,\n slots: props.slots,\n appearance: props.appearance,\n integrations: props.integrations,\n onEvent: props.onEvent,\n children: /* @__PURE__ */ _jsx(DeskScopeProvider, {\n scope: props.scope,\n children: /* @__PURE__ */ _jsx(DeskBody, {\n pins,\n chrome,\n readOnly: props.readOnly,\n surfaces: props.surfaces,\n initialFilters: props.filters,\n views: props.views,\n onTargetChange: props.onTargetChange\n })\n })\n });\n}\nfunction DeskBody(param) {\n var { pins, chrome, readOnly, surfaces, initialFilters, views, onTargetChange } = param;\n var target = useDeskTarget(pins);\n var onTargetChangeRef = useRef(onTargetChange);\n onTargetChangeRef.current = onTargetChange;\n var targetKey = target ? JSON.stringify(target) : void 0;\n useEffect(\n function() {\n var _onTargetChangeRef_current;\n if (target) (_onTargetChangeRef_current = onTargetChangeRef.current) === null || _onTargetChangeRef_current === void 0 ? void 0 : _onTargetChangeRef_current.call(onTargetChangeRef, target);\n },\n // oxlint-disable-next-line exhaustive-deps\n [\n targetKey\n ]\n );\n var surface = target ? /* @__PURE__ */ _jsx(DeskSurface, {\n target,\n overrides: surfaces,\n readOnly,\n initialFilters,\n views\n }) : /* @__PURE__ */ _jsx(DeskSurfaceLoading, {});\n if (chrome === \"content\") {\n return /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n minHeight: 0,\n minWidth: 0,\n children: surface\n });\n }\n return /* @__PURE__ */ _jsx(BackofficeShell, {\n children: surface\n });\n}\nexport {\n Desk\n};\n//# sourceMappingURL=Desk.js.map\n"],"mappings":"AAAA,SAASA,GAAG,IAAIC,IAAI,QAAQ,mBAAmB;AAC/C,SAASC,MAAM,QAAQ,+BAA+B;AACtD,SAASC,eAAe,QAAQ,8BAA8B;AAC9D,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,OAAO;AAClD,SAASC,kBAAkB,QAAQ,wCAA8B;AACjE,SAASC,qBAAqB,QAAQ,mCAAyB;AAC/D,SAASC,eAAe,EAAEC,qBAAqB,QAAQ,+BAAqB;AAC5E,SAASC,eAAe,QAAQ,oCAA0B;AAC1D,SAASC,WAAW,EAAEC,kBAAkB,QAAQ,yBAAe;AAC/D,SAASC,iBAAiB,QAAQ,mBAAS;AAC3C,SAASC,eAAe,EAAEC,UAAU,EAAEC,aAAa,QAAQ,oBAAU;AACrE,SAASC,UAAUA,CAACC,IAAI,EAAEC,QAAQ,EAAE;EAClC,IAAIC,KAAK,GAAGX,qBAAqB,CAACU,QAAQ,CAAC;EAC3C,IAAID,IAAI,CAACG,IAAI,EAAE;IACb,IAAIC,MAAM,GAAGH,QAAQ,KAAK,GAAG,GAAG,EAAE,GAAGA,QAAQ,CAACI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;IACjE,OAAO,GAAGD,MAAM,GAAGJ,IAAI,CAACG,IAAI,EAAE;EAChC;EACA,IAAIH,IAAI,CAACM,OAAO,EAAE;IAChB,IAAIN,IAAI,CAACO,IAAI,KAAK,KAAK,EAAE,OAAOL,KAAK,CAACM,MAAM,CAACR,IAAI,CAACM,OAAO,CAAC;IAC1D,IAAIN,IAAI,CAACO,IAAI,EAAE,OAAOL,KAAK,CAACO,IAAI,CAACT,IAAI,CAACM,OAAO,EAAEN,IAAI,CAACO,IAAI,CAAC;IACzD,IAAIP,IAAI,CAACU,IAAI,IAAIV,IAAI,CAACU,IAAI,KAAK,MAAM,EAAE,OAAOR,KAAK,CAACQ,IAAI,CAACV,IAAI,CAACM,OAAO,EAAEN,IAAI,CAACU,IAAI,CAAC;IACjF,OAAOR,KAAK,CAACS,IAAI,CAACX,IAAI,CAACM,OAAO,CAAC;EACjC;EACA,IAAIN,IAAI,CAACY,SAAS,EAAE,OAAOV,KAAK,CAACU,SAAS,CAACZ,IAAI,CAACY,SAAS,CAAC;EAC1D,IAAIZ,IAAI,CAACa,MAAM,EAAE,OAAOX,KAAK,CAACY,WAAW,CAACd,IAAI,CAACa,MAAM,CAAC;EACtD,OAAOX,KAAK,CAACa,IAAI,CAAC,CAAC;AACrB;AACA,SAASC,IAAIA,CAACC,KAAK,EAAE;EACnB,IAAIC,iBAAiB,EAAEC,eAAe;EACtC,IAAI;IAAEb,OAAO;IAAEC,IAAI;IAAEG,IAAI;IAAEE,SAAS;IAAEC,MAAM;IAAEV,IAAI;IAAEF,QAAQ,GAAGX,eAAe;IAAE8B,MAAM,EAAEC,UAAU;IAAEC,QAAQ;IAAEC;EAAW,CAAC,GAAGN,KAAK;EAClI,IAAIjB,IAAI,GAAGd,OAAO,CAAC,YAAW;IAC5B,OAAO;MACLoB,OAAO;MACPC,IAAI;MACJG,IAAI;MACJE,SAAS;MACTC,MAAM;MACNV;IACF,CAAC;EACH,CAAC,EAAE,CACDG,OAAO,EACPC,IAAI,EACJG,IAAI,EACJE,SAAS,EACTC,MAAM,EACNV,IAAI,CACL,CAAC;EACF,IAAIqB,OAAO,GAAGxC,eAAe,CAAC,CAAC;EAC/B,IAAIyC,MAAM,GAAGtC,MAAM,CAAC,KAAK,CAAC;EAC1B,IAAIqC,OAAO,IAAIP,KAAK,CAACS,MAAM,IAAI,CAACD,MAAM,CAACE,OAAO,EAAE;IAC9CF,MAAM,CAACE,OAAO,GAAG,IAAI;IACrBC,OAAO,CAACC,IAAI,CAAC,mHAAmH,CAAC;EACnI;EACA,IAAIH,MAAM,GAAGxC,OAAO,CAAC,YAAW;IAC9B,IAAI4C,aAAa;IACjB,IAAIN,OAAO,EAAE;MACX,OAAO;QACLO,OAAO,EAAEP,OAAO,CAACO,OAAO;QACxBC,IAAI,EAAER,OAAO,CAACQ,IAAI;QAClBC,QAAQ,EAAET,OAAO,CAACS;MACpB,CAAC;IACH;IACA,OAAO,CAACH,aAAa,GAAGb,KAAK,CAACS,MAAM,MAAM,IAAI,IAAII,aAAa,KAAK,KAAK,CAAC,GAAGA,aAAa,GAAG;MAC3FC,OAAO,EAAE;IACX,CAAC;EACH,CAAC,EAAE,CACDP,OAAO,EACPP,KAAK,CAACS,MAAM,CACb,CAAC;EACF,IAAIQ,eAAe,GAAGhD,OAAO,CAC3B,YAAW;IACT,OAAO+B,KAAK,CAACkB,UAAU,GAAG,KAAK,CAAC,GAAG9C,qBAAqB,CAACU,UAAU,CAACC,IAAI,EAAEC,QAAQ,CAAC,CAAC;EACtF,CAAC;EACD;EACA;EACA,CACEgB,KAAK,CAACkB,UAAU,GAAG,MAAM,GAAG,QAAQ,CAExC,CAAC;EACD,IAAIC,cAAc,GAAG,CAAClB,iBAAiB,GAAGD,KAAK,CAACkB,UAAU,MAAM,IAAI,IAAIjB,iBAAiB,KAAK,KAAK,CAAC,GAAGA,iBAAiB,GAAGgB,eAAe;EAC1I,IAAIG,aAAa,GAAGlD,MAAM,CAACoC,UAAU,CAAC;EACtCc,aAAa,CAACV,OAAO,GAAGJ,UAAU;EAClC,IAAIY,UAAU,GAAGjD,OAAO,CAAC,YAAW;IAClC,IAAIoD,SAAS,GAAG,SAASC,UAAUA,CAACC,KAAK,EAAE;MACzC,IAAIC,sBAAsB;MAC1B,OAAO,CAAC,CAACA,sBAAsB,GAAGJ,aAAa,CAACV,OAAO,MAAM,IAAI,IAAIc,sBAAsB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,sBAAsB,CAACC,IAAI,CAACL,aAAa,EAAEzC,eAAe,CAAC4C,KAAK,EAAEvC,QAAQ,CAAC,EAAEuC,KAAK,CAAC,MAAM,KAAK;IAClN,CAAC;IACD,OAAO;MACL,GAAGJ,cAAc;MACjBO,QAAQ,EAAE,SAASA,QAAQA,CAACH,KAAK,EAAE;QACjC,IAAIF,SAAS,CAACE,KAAK,CAAC,EAAEJ,cAAc,CAACO,QAAQ,CAACH,KAAK,CAAC;MACtD,CAAC;MACDnC,OAAO,EAAE,SAASA,OAAOA,CAACmC,KAAK,EAAE;QAC/B,IAAIF,SAAS,CAACE,KAAK,CAAC,EAAEJ,cAAc,CAAC/B,OAAO,CAACmC,KAAK,CAAC;MACrD,CAAC;MACDI,IAAI,EAAE,SAASA,IAAIA,CAAA,EAAG;QACpB,OAAOR,cAAc,CAACQ,IAAI,CAAC,CAAC;MAC9B,CAAC;MACDC,WAAW,EAAE,SAASA,WAAWA,CAAA,EAAG;QAClC,OAAOT,cAAc,CAACS,WAAW,CAAC,CAAC;MACrC,CAAC;MACDC,SAAS,EAAE,SAASA,SAASA,CAACC,QAAQ,EAAE;QACtC,OAAOX,cAAc,CAACU,SAAS,CAACC,QAAQ,CAAC;MAC3C,CAAC;MACD,IAAGX,cAAc,CAACY,SAAS,GAAG;QAC5BA,SAAS,EAAE,SAASA,SAASA,CAACC,MAAM,EAAE;UACpC,IAAIC,yBAAyB;UAC7B,OAAO,CAACA,yBAAyB,GAAGd,cAAc,CAACY,SAAS,MAAM,IAAI,IAAIE,yBAAyB,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,yBAAyB,CAACR,IAAI,CAACN,cAAc,EAAEa,MAAM,CAAC;QAClL;MACF,CAAC,GAAG,CAAC,CAAC;IACR,CAAC;EACH,CAAC,EAAE,CACDb,cAAc,EACdnC,QAAQ,CACT,CAAC;EACF,IAAImB,MAAM,GAAGC,UAAU,KAAK,IAAI,IAAIA,UAAU,KAAK,KAAK,CAAC,GAAGA,UAAU,GAAGC,QAAQ,IAAIzB,UAAU,CAACG,IAAI,CAAC,GAAG,SAAS,GAAG,MAAM;EAC1H,IAAImD,QAAQ,GAAG,CAAChC,eAAe,GAAGF,KAAK,CAACkC,QAAQ,MAAM,IAAI,IAAIhC,eAAe,KAAK,KAAK,CAAC,GAAGA,eAAe,GAAGb,OAAO,GAAG;IACrH8C,KAAK,EAAE,CACL9C,OAAO;EAEX,CAAC,GAAG,KAAK,CAAC;EACV,IAAI+C,YAAY,GAAGnE,OAAO,CAAC,YAAW;IACpC,OAAOkC,MAAM,KAAK,MAAM,GAAG;MACzB,GAAGH,KAAK,CAACoC,YAAY;MACrBC,OAAO,EAAE;IACX,CAAC,GAAGrC,KAAK,CAACoC,YAAY;EACxB,CAAC,EAAE,CACDjC,MAAM,EACNH,KAAK,CAACoC,YAAY,CACnB,CAAC;EACF,OAAO,eAAgBvE,IAAI,CAACM,kBAAkB,EAAE;IAC9CsC,MAAM;IACNS,UAAU;IACVlC,QAAQ;IACRoD,YAAY;IACZF,QAAQ;IACRI,MAAM,EAAEtC,KAAK,CAACsC,MAAM;IACpBC,OAAO,EAAEvC,KAAK,CAACuC,OAAO;IACtBC,KAAK,EAAExC,KAAK,CAACwC,KAAK;IAClBC,UAAU,EAAEzC,KAAK,CAACyC,UAAU;IAC5BC,YAAY,EAAE1C,KAAK,CAAC0C,YAAY;IAChCC,OAAO,EAAE3C,KAAK,CAAC2C,OAAO;IACtBC,QAAQ,EAAE,eAAgB/E,IAAI,CAACa,iBAAiB,EAAE;MAChDmE,KAAK,EAAE7C,KAAK,CAAC6C,KAAK;MAClBD,QAAQ,EAAE,eAAgB/E,IAAI,CAACiF,QAAQ,EAAE;QACvC/D,IAAI;QACJoB,MAAM;QACN4C,QAAQ,EAAE/C,KAAK,CAAC+C,QAAQ;QACxBC,QAAQ,EAAEhD,KAAK,CAACgD,QAAQ;QACxBC,cAAc,EAAEjD,KAAK,CAACkD,OAAO;QAC7BC,KAAK,EAAEnD,KAAK,CAACmD,KAAK;QAClBC,cAAc,EAAEpD,KAAK,CAACoD;MACxB,CAAC;IACH,CAAC;EACH,CAAC,CAAC;AACJ;AACA,SAASN,QAAQA,CAACO,KAAK,EAAE;EACvB,IAAI;IAAEtE,IAAI;IAAEoB,MAAM;IAAE4C,QAAQ;IAAEC,QAAQ;IAAEC,cAAc;IAAEE,KAAK;IAAEC;EAAe,CAAC,GAAGC,KAAK;EACvF,IAAIC,MAAM,GAAGzE,aAAa,CAACE,IAAI,CAAC;EAChC,IAAIwE,iBAAiB,GAAGrF,MAAM,CAACkF,cAAc,CAAC;EAC9CG,iBAAiB,CAAC7C,OAAO,GAAG0C,cAAc;EAC1C,IAAII,SAAS,GAAGF,MAAM,GAAGG,IAAI,CAACC,SAAS,CAACJ,MAAM,CAAC,GAAG,KAAK,CAAC;EACxDtF,SAAS,CACP,YAAW;IACT,IAAI2F,0BAA0B;IAC9B,IAAIL,MAAM,EAAE,CAACK,0BAA0B,GAAGJ,iBAAiB,CAAC7C,OAAO,MAAM,IAAI,IAAIiD,0BAA0B,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,GAAGA,0BAA0B,CAAClC,IAAI,CAAC8B,iBAAiB,EAAED,MAAM,CAAC;EAC9L,CAAC;EACD;EACA,CACEE,SAAS,CAEb,CAAC;EACD,IAAII,OAAO,GAAGN,MAAM,GAAG,eAAgBzF,IAAI,CAACW,WAAW,EAAE;IACvD8E,MAAM;IACNO,SAAS,EAAEb,QAAQ;IACnBD,QAAQ;IACRE,cAAc;IACdE;EACF,CAAC,CAAC,GAAG,eAAgBtF,IAAI,CAACY,kBAAkB,EAAE,CAAC,CAAC,CAAC;EACjD,IAAI0B,MAAM,KAAK,SAAS,EAAE;IACxB,OAAO,eAAgBtC,IAAI,CAACC,MAAM,EAAE;MAClCgG,IAAI,EAAE,CAAC;MACPC,SAAS,EAAE,CAAC;MACZC,QAAQ,EAAE,CAAC;MACXpB,QAAQ,EAAEgB;IACZ,CAAC,CAAC;EACJ;EACA,OAAO,eAAgB/F,IAAI,CAACU,eAAe,EAAE;IAC3CqE,QAAQ,EAAEgB;EACZ,CAAC,CAAC;AACJ;AACA,SACE7D,IAAI","ignoreList":[]}
@@ -0,0 +1,97 @@
1
+ import { Spinner, YStack } from "@multiplatform.one/components";
2
+ import { useMemo } from "react";
3
+ import { setCreatePrefill } from "../form/createPrefill.mjs";
4
+ import { DocFormScreen } from "../form/DocFormScreen.mjs";
5
+ import { DoctypeListScreen } from "../list/DoctypeListScreen.mjs";
6
+ import { QueryReportScreen } from "../report/QueryReportScreen.mjs";
7
+ import { HomeRedirect } from "../shell/HomeRedirect.mjs";
8
+ import { NotFoundScreen } from "../shell/NotFoundScreen.mjs";
9
+ import { DoctypeViewScreen } from "../views/DoctypeViewScreen.mjs";
10
+ import { WorkspaceScreen } from "../workspace/WorkspaceScreen.mjs";
11
+ import { jsx } from "react/jsx-runtime";
12
+ function resolveOverride(overrides, target) {
13
+ const entry = overrides?.[target.kind];
14
+ if (!entry) return void 0;
15
+ if (typeof entry === "function") return entry;
16
+ const doctype = "doctype" in target ? target.doctype : void 0;
17
+ return doctype ? entry[doctype] : void 0;
18
+ }
19
+ function NewDocSurface({
20
+ doctype,
21
+ defaults,
22
+ readOnly
23
+ }) {
24
+ const defaultsKey = JSON.stringify(defaults ?? null);
25
+ useMemo(() => {
26
+ if (defaults && Object.keys(defaults).length > 0) setCreatePrefill(doctype, defaults);
27
+ }, [doctype, defaultsKey]);
28
+ return /* @__PURE__ */jsx(DocFormScreen, {
29
+ doctype,
30
+ name: "new",
31
+ readOnly
32
+ }, defaultsKey);
33
+ }
34
+ function DeskSurface({
35
+ target,
36
+ overrides,
37
+ readOnly,
38
+ initialFilters,
39
+ views
40
+ }) {
41
+ const Override = resolveOverride(overrides, target);
42
+ if (Override) return /* @__PURE__ */jsx(Override, {
43
+ target,
44
+ readOnly
45
+ });
46
+ switch (target.kind) {
47
+ case "home":
48
+ return /* @__PURE__ */jsx(HomeRedirect, {});
49
+ case "workspace":
50
+ return /* @__PURE__ */jsx(WorkspaceScreen, {
51
+ workspace: target.workspace
52
+ });
53
+ case "list":
54
+ return /* @__PURE__ */jsx(DoctypeListScreen, {
55
+ doctype: target.doctype,
56
+ filtersParam: target.filtersParam,
57
+ sortParam: target.sortParam,
58
+ initialFilters,
59
+ views
60
+ });
61
+ case "view":
62
+ return /* @__PURE__ */jsx(DoctypeViewScreen, {
63
+ doctype: target.doctype,
64
+ view: target.view
65
+ });
66
+ case "new":
67
+ return /* @__PURE__ */jsx(NewDocSurface, {
68
+ doctype: target.doctype,
69
+ defaults: target.defaults,
70
+ readOnly
71
+ });
72
+ case "form":
73
+ return /* @__PURE__ */jsx(DocFormScreen, {
74
+ doctype: target.doctype,
75
+ name: target.name,
76
+ readOnly
77
+ });
78
+ case "report":
79
+ return /* @__PURE__ */jsx(QueryReportScreen, {
80
+ reportName: target.reportName
81
+ });
82
+ case "not-found":
83
+ return /* @__PURE__ */jsx(NotFoundScreen, {});
84
+ }
85
+ }
86
+ function DeskSurfaceLoading() {
87
+ return /* @__PURE__ */jsx(YStack, {
88
+ flex: 1,
89
+ alignItems: "center",
90
+ justifyContent: "center",
91
+ children: /* @__PURE__ */jsx(Spinner, {
92
+ size: "large"
93
+ })
94
+ });
95
+ }
96
+ export { DeskSurface, DeskSurfaceLoading };
97
+ //# sourceMappingURL=DeskSurface.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Spinner","YStack","useMemo","setCreatePrefill","DocFormScreen","DoctypeListScreen","QueryReportScreen","HomeRedirect","NotFoundScreen","DoctypeViewScreen","WorkspaceScreen","jsx","resolveOverride","overrides","target","entry","kind","doctype","NewDocSurface","defaults","readOnly","defaultsKey","JSON","stringify","Object","keys","length","name","DeskSurface","initialFilters","views","Override","workspace","filtersParam","sortParam","view","reportName","DeskSurfaceLoading","flex","alignItems","justifyContent","children","size"],"sources":["../../../src/desk/DeskSurface.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,101 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Spinner, YStack } from "@multiplatform.one/components";
3
+ import { useMemo } from "react";
4
+ import { setCreatePrefill } from "../form/createPrefill.native.js";
5
+ import { DocFormScreen } from "../form/DocFormScreen.native.js";
6
+ import { DoctypeListScreen } from "../list/DoctypeListScreen.native.js";
7
+ import { QueryReportScreen } from "../report/QueryReportScreen.native.js";
8
+ import { HomeRedirect } from "../shell/HomeRedirect.native.js";
9
+ import { NotFoundScreen } from "../shell/NotFoundScreen.native.js";
10
+ import { DoctypeViewScreen } from "../views/DoctypeViewScreen.native.js";
11
+ import { WorkspaceScreen } from "../workspace/WorkspaceScreen.native.js";
12
+ function resolveOverride(overrides, target) {
13
+ var entry = overrides === null || overrides === void 0 ? void 0 : overrides[target.kind];
14
+ if (!entry) return void 0;
15
+ if (typeof entry === "function") return entry;
16
+ var doctype = "doctype" in target ? target.doctype : void 0;
17
+ return doctype ? entry[doctype] : void 0;
18
+ }
19
+ function NewDocSurface(param) {
20
+ var {
21
+ doctype,
22
+ defaults,
23
+ readOnly
24
+ } = param;
25
+ var defaultsKey = JSON.stringify(defaults !== null && defaults !== void 0 ? defaults : null);
26
+ useMemo(function () {
27
+ if (defaults && Object.keys(defaults).length > 0) setCreatePrefill(doctype, defaults);
28
+ },
29
+ // oxlint-disable-next-line exhaustive-deps
30
+ [doctype, defaultsKey]);
31
+ return /* @__PURE__ */_jsx(DocFormScreen, {
32
+ doctype,
33
+ name: "new",
34
+ readOnly
35
+ }, defaultsKey);
36
+ }
37
+ function DeskSurface(param) {
38
+ var {
39
+ target,
40
+ overrides,
41
+ readOnly,
42
+ initialFilters,
43
+ views
44
+ } = param;
45
+ var Override = resolveOverride(overrides, target);
46
+ if (Override) return /* @__PURE__ */_jsx(Override, {
47
+ target,
48
+ readOnly
49
+ });
50
+ switch (target.kind) {
51
+ case "home":
52
+ return /* @__PURE__ */_jsx(HomeRedirect, {});
53
+ case "workspace":
54
+ return /* @__PURE__ */_jsx(WorkspaceScreen, {
55
+ workspace: target.workspace
56
+ });
57
+ case "list":
58
+ return /* @__PURE__ */_jsx(DoctypeListScreen, {
59
+ doctype: target.doctype,
60
+ filtersParam: target.filtersParam,
61
+ sortParam: target.sortParam,
62
+ initialFilters,
63
+ views
64
+ });
65
+ case "view":
66
+ return /* @__PURE__ */_jsx(DoctypeViewScreen, {
67
+ doctype: target.doctype,
68
+ view: target.view
69
+ });
70
+ case "new":
71
+ return /* @__PURE__ */_jsx(NewDocSurface, {
72
+ doctype: target.doctype,
73
+ defaults: target.defaults,
74
+ readOnly
75
+ });
76
+ case "form":
77
+ return /* @__PURE__ */_jsx(DocFormScreen, {
78
+ doctype: target.doctype,
79
+ name: target.name,
80
+ readOnly
81
+ });
82
+ case "report":
83
+ return /* @__PURE__ */_jsx(QueryReportScreen, {
84
+ reportName: target.reportName
85
+ });
86
+ case "not-found":
87
+ return /* @__PURE__ */_jsx(NotFoundScreen, {});
88
+ }
89
+ }
90
+ function DeskSurfaceLoading() {
91
+ return /* @__PURE__ */_jsx(YStack, {
92
+ flex: 1,
93
+ alignItems: "center",
94
+ justifyContent: "center",
95
+ children: /* @__PURE__ */_jsx(Spinner, {
96
+ size: "large"
97
+ })
98
+ });
99
+ }
100
+ export { DeskSurface, DeskSurfaceLoading };
101
+ //# sourceMappingURL=DeskSurface.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","Spinner","YStack","useMemo","setCreatePrefill","DocFormScreen","DoctypeListScreen","QueryReportScreen","HomeRedirect","NotFoundScreen","DoctypeViewScreen","WorkspaceScreen","resolveOverride","overrides","target","entry","kind","doctype","NewDocSurface","param","defaults","readOnly","defaultsKey","JSON","stringify","Object","keys","length","name","DeskSurface","initialFilters","views","Override","workspace","filtersParam","sortParam","view","reportName","DeskSurfaceLoading","flex","alignItems","justifyContent","children","size"],"sources":["DeskSurface.native.js"],"sourcesContent":["import { jsx as _jsx } from \"react/jsx-runtime\";\nimport { Spinner, YStack } from \"@multiplatform.one/components\";\nimport { useMemo } from \"react\";\nimport { setCreatePrefill } from \"../form/createPrefill\";\nimport { DocFormScreen } from \"../form/DocFormScreen\";\nimport { DoctypeListScreen } from \"../list/DoctypeListScreen\";\nimport { QueryReportScreen } from \"../report/QueryReportScreen\";\nimport { HomeRedirect } from \"../shell/HomeRedirect\";\nimport { NotFoundScreen } from \"../shell/NotFoundScreen\";\nimport { DoctypeViewScreen } from \"../views/DoctypeViewScreen\";\nimport { WorkspaceScreen } from \"../workspace/WorkspaceScreen\";\nfunction resolveOverride(overrides, target) {\n var entry = overrides === null || overrides === void 0 ? void 0 : overrides[target.kind];\n if (!entry) return void 0;\n if (typeof entry === \"function\") return entry;\n var doctype = \"doctype\" in target ? target.doctype : void 0;\n return doctype ? entry[doctype] : void 0;\n}\nfunction NewDocSurface(param) {\n var { doctype, defaults, readOnly } = param;\n var defaultsKey = JSON.stringify(defaults !== null && defaults !== void 0 ? defaults : null);\n useMemo(\n function() {\n if (defaults && Object.keys(defaults).length > 0) setCreatePrefill(doctype, defaults);\n },\n // oxlint-disable-next-line exhaustive-deps\n [\n doctype,\n defaultsKey\n ]\n );\n return /* @__PURE__ */ _jsx(DocFormScreen, {\n doctype,\n name: \"new\",\n readOnly\n }, defaultsKey);\n}\nfunction DeskSurface(param) {\n var { target, overrides, readOnly, initialFilters, views } = param;\n var Override = resolveOverride(overrides, target);\n if (Override) return /* @__PURE__ */ _jsx(Override, {\n target,\n readOnly\n });\n switch (target.kind) {\n case \"home\":\n return /* @__PURE__ */ _jsx(HomeRedirect, {});\n case \"workspace\":\n return /* @__PURE__ */ _jsx(WorkspaceScreen, {\n workspace: target.workspace\n });\n case \"list\":\n return /* @__PURE__ */ _jsx(DoctypeListScreen, {\n doctype: target.doctype,\n filtersParam: target.filtersParam,\n sortParam: target.sortParam,\n initialFilters,\n views\n });\n case \"view\":\n return /* @__PURE__ */ _jsx(DoctypeViewScreen, {\n doctype: target.doctype,\n view: target.view\n });\n case \"new\":\n return /* @__PURE__ */ _jsx(NewDocSurface, {\n doctype: target.doctype,\n defaults: target.defaults,\n readOnly\n });\n case \"form\":\n return /* @__PURE__ */ _jsx(DocFormScreen, {\n doctype: target.doctype,\n name: target.name,\n readOnly\n });\n case \"report\":\n return /* @__PURE__ */ _jsx(QueryReportScreen, {\n reportName: target.reportName\n });\n case \"not-found\":\n return /* @__PURE__ */ _jsx(NotFoundScreen, {});\n }\n}\nfunction DeskSurfaceLoading() {\n return /* @__PURE__ */ _jsx(YStack, {\n flex: 1,\n alignItems: \"center\",\n justifyContent: \"center\",\n children: /* @__PURE__ */ _jsx(Spinner, {\n size: \"large\"\n })\n });\n}\nexport {\n DeskSurface,\n DeskSurfaceLoading\n};\n//# sourceMappingURL=DeskSurface.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,93 @@
1
+ import { BACKOFFICE_BASE, isBackofficeView, parseDocDefaults } from "../navigation/paths.mjs";
2
+ function first(value) {
3
+ return typeof value === "string" ? value : value?.[0];
4
+ }
5
+ function decode(segment) {
6
+ try {
7
+ return decodeURIComponent(segment);
8
+ } catch {
9
+ return segment;
10
+ }
11
+ }
12
+ function resolveDeskPath(path, basePath = BACKOFFICE_BASE, params = {}) {
13
+ const base = basePath.replace(/\/+$/, "") || "/";
14
+ const clean = path.replace(/\/+$/, "") || "/";
15
+ let rest;
16
+ if (base === "/") rest = clean;else if (clean === base) rest = "/";else if (clean.startsWith(`${base}/`)) rest = clean.slice(base.length);else return {
17
+ kind: "not-found",
18
+ path
19
+ };
20
+ const segments = rest.split("/").filter(Boolean).map(decode);
21
+ if (segments.length === 0) return {
22
+ kind: "home"
23
+ };
24
+ if (segments[0] === "query-report") {
25
+ if (segments.length === 2 && segments[1]) {
26
+ return {
27
+ kind: "report",
28
+ reportName: segments[1],
29
+ filtersParam: first(params.filters)
30
+ };
31
+ }
32
+ return {
33
+ kind: "not-found",
34
+ path
35
+ };
36
+ }
37
+ const slug = segments[0];
38
+ if (segments.length === 1) {
39
+ return {
40
+ kind: "slug",
41
+ slug,
42
+ filtersParam: first(params.f),
43
+ sortParam: first(params.sort)
44
+ };
45
+ }
46
+ if (segments.length === 2 && segments[1] === "new") {
47
+ return {
48
+ kind: "slug-new",
49
+ slug,
50
+ defaults: parseDocDefaults(first(params.d))
51
+ };
52
+ }
53
+ if (segments.length === 3 && segments[1] === "view" && isBackofficeView(segments[2])) {
54
+ const view = segments[2];
55
+ if (view === "list") {
56
+ return {
57
+ kind: "slug",
58
+ slug,
59
+ filtersParam: first(params.f),
60
+ sortParam: first(params.sort)
61
+ };
62
+ }
63
+ const board = first(params.board);
64
+ const field = first(params.field);
65
+ const filtersParam = first(params.f);
66
+ const viewParams = board || field || filtersParam ? {
67
+ board,
68
+ field,
69
+ filtersParam
70
+ } : void 0;
71
+ return {
72
+ kind: "slug-view",
73
+ slug,
74
+ view,
75
+ ...(viewParams && {
76
+ params: viewParams
77
+ })
78
+ };
79
+ }
80
+ if (segments.length === 2) {
81
+ return {
82
+ kind: "slug-name",
83
+ slug,
84
+ name: segments[1]
85
+ };
86
+ }
87
+ return {
88
+ kind: "not-found",
89
+ path
90
+ };
91
+ }
92
+ export { resolveDeskPath };
93
+ //# sourceMappingURL=resolveDeskPath.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BACKOFFICE_BASE","isBackofficeView","parseDocDefaults","first","value","decode","segment","decodeURIComponent","resolveDeskPath","path","basePath","params","base","replace","clean","rest","startsWith","slice","length","kind","segments","split","filter","Boolean","map","reportName","filtersParam","filters","slug","f","sortParam","sort","defaults","d","view","board","field","viewParams","name"],"sources":["../../../src/desk/resolveDeskPath.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,95 @@
1
+ import { BACKOFFICE_BASE, isBackofficeView, parseDocDefaults } from "../navigation/paths.native.js";
2
+ function first(value) {
3
+ return typeof value === "string" ? value : value === null || value === void 0 ? void 0 : value[0];
4
+ }
5
+ function decode(segment) {
6
+ try {
7
+ return decodeURIComponent(segment);
8
+ } catch (unused) {
9
+ return segment;
10
+ }
11
+ }
12
+ function resolveDeskPath(path) {
13
+ var basePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BACKOFFICE_BASE,
14
+ params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
15
+ var base = basePath.replace(/\/+$/, "") || "/";
16
+ var clean = path.replace(/\/+$/, "") || "/";
17
+ var rest;
18
+ if (base === "/") rest = clean;else if (clean === base) rest = "/";else if (clean.startsWith(`${base}/`)) rest = clean.slice(base.length);else return {
19
+ kind: "not-found",
20
+ path
21
+ };
22
+ var segments = rest.split("/").filter(Boolean).map(decode);
23
+ if (segments.length === 0) return {
24
+ kind: "home"
25
+ };
26
+ if (segments[0] === "query-report") {
27
+ if (segments.length === 2 && segments[1]) {
28
+ return {
29
+ kind: "report",
30
+ reportName: segments[1],
31
+ filtersParam: first(params.filters)
32
+ };
33
+ }
34
+ return {
35
+ kind: "not-found",
36
+ path
37
+ };
38
+ }
39
+ var slug = segments[0];
40
+ if (segments.length === 1) {
41
+ return {
42
+ kind: "slug",
43
+ slug,
44
+ filtersParam: first(params.f),
45
+ sortParam: first(params.sort)
46
+ };
47
+ }
48
+ if (segments.length === 2 && segments[1] === "new") {
49
+ return {
50
+ kind: "slug-new",
51
+ slug,
52
+ defaults: parseDocDefaults(first(params.d))
53
+ };
54
+ }
55
+ if (segments.length === 3 && segments[1] === "view" && isBackofficeView(segments[2])) {
56
+ var view = segments[2];
57
+ if (view === "list") {
58
+ return {
59
+ kind: "slug",
60
+ slug,
61
+ filtersParam: first(params.f),
62
+ sortParam: first(params.sort)
63
+ };
64
+ }
65
+ var board = first(params.board);
66
+ var field = first(params.field);
67
+ var filtersParam = first(params.f);
68
+ var viewParams = board || field || filtersParam ? {
69
+ board,
70
+ field,
71
+ filtersParam
72
+ } : void 0;
73
+ return {
74
+ kind: "slug-view",
75
+ slug,
76
+ view,
77
+ ...(viewParams && {
78
+ params: viewParams
79
+ })
80
+ };
81
+ }
82
+ if (segments.length === 2) {
83
+ return {
84
+ kind: "slug-name",
85
+ slug,
86
+ name: segments[1]
87
+ };
88
+ }
89
+ return {
90
+ kind: "not-found",
91
+ path
92
+ };
93
+ }
94
+ export { resolveDeskPath };
95
+ //# sourceMappingURL=resolveDeskPath.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["BACKOFFICE_BASE","isBackofficeView","parseDocDefaults","first","value","decode","segment","decodeURIComponent","unused","resolveDeskPath","path","basePath","arguments","length","params","base","replace","clean","rest","startsWith","slice","kind","segments","split","filter","Boolean","map","reportName","filtersParam","filters","slug","f","sortParam","sort","defaults","d","view","board","field","viewParams","name"],"sources":["resolveDeskPath.native.js"],"sourcesContent":["import { BACKOFFICE_BASE, isBackofficeView, parseDocDefaults } from \"../navigation/paths\";\nfunction first(value) {\n return typeof value === \"string\" ? value : value === null || value === void 0 ? void 0 : value[0];\n}\nfunction decode(segment) {\n try {\n return decodeURIComponent(segment);\n } catch (unused) {\n return segment;\n }\n}\nfunction resolveDeskPath(path) {\n var basePath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : BACKOFFICE_BASE, params = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};\n var base = basePath.replace(/\\/+$/, \"\") || \"/\";\n var clean = path.replace(/\\/+$/, \"\") || \"/\";\n var rest;\n if (base === \"/\") rest = clean;\n else if (clean === base) rest = \"/\";\n else if (clean.startsWith(`${base}/`)) rest = clean.slice(base.length);\n else return {\n kind: \"not-found\",\n path\n };\n var segments = rest.split(\"/\").filter(Boolean).map(decode);\n if (segments.length === 0) return {\n kind: \"home\"\n };\n if (segments[0] === \"query-report\") {\n if (segments.length === 2 && segments[1]) {\n return {\n kind: \"report\",\n reportName: segments[1],\n filtersParam: first(params.filters)\n };\n }\n return {\n kind: \"not-found\",\n path\n };\n }\n var slug = segments[0];\n if (segments.length === 1) {\n return {\n kind: \"slug\",\n slug,\n filtersParam: first(params.f),\n sortParam: first(params.sort)\n };\n }\n if (segments.length === 2 && segments[1] === \"new\") {\n return {\n kind: \"slug-new\",\n slug,\n defaults: parseDocDefaults(first(params.d))\n };\n }\n if (segments.length === 3 && segments[1] === \"view\" && isBackofficeView(segments[2])) {\n var view = segments[2];\n if (view === \"list\") {\n return {\n kind: \"slug\",\n slug,\n filtersParam: first(params.f),\n sortParam: first(params.sort)\n };\n }\n var board = first(params.board);\n var field = first(params.field);\n var filtersParam = first(params.f);\n var viewParams = board || field || filtersParam ? {\n board,\n field,\n filtersParam\n } : void 0;\n return {\n kind: \"slug-view\",\n slug,\n view,\n ...viewParams && {\n params: viewParams\n }\n };\n }\n if (segments.length === 2) {\n return {\n kind: \"slug-name\",\n slug,\n name: segments[1]\n };\n }\n return {\n kind: \"not-found\",\n path\n };\n}\nexport {\n resolveDeskPath\n};\n//# sourceMappingURL=resolveDeskPath.js.map\n"],"mappings":"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","ignoreList":[]}