@multiplatform.one/backoffice 7.7.6 → 7.10.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 (262) 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.native.js +1 -1
  25. package/dist/cjs/config/BackofficeProvider.native.js.map +1 -1
  26. package/dist/cjs/config/capabilities.native.js.map +1 -1
  27. package/dist/cjs/config/events.native.js.map +1 -1
  28. package/dist/cjs/config/slots.native.js.map +1 -1
  29. package/dist/cjs/desk/Desk.cjs +1 -1
  30. package/dist/cjs/desk/Desk.native.js +2 -1
  31. package/dist/cjs/desk/Desk.native.js.map +1 -1
  32. package/dist/cjs/desk/DeskSurface.native.js.map +1 -1
  33. package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -1
  34. package/dist/cjs/desk/scope.native.js.map +1 -1
  35. package/dist/cjs/desk/target.native.js.map +1 -1
  36. package/dist/cjs/form/DocFormScreen.native.js +1 -1
  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.native.js.map +1 -1
  74. package/dist/cjs/i18n/index.native.js.map +1 -1
  75. package/dist/cjs/index.native.js +1 -1
  76. package/dist/cjs/index.native.js.map +1 -1
  77. package/dist/cjs/list/AddTagsDialog.native.js +1 -1
  78. package/dist/cjs/list/AddTagsDialog.native.js.map +1 -1
  79. package/dist/cjs/list/AssignToDialog.native.js +1 -1
  80. package/dist/cjs/list/AssignToDialog.native.js.map +1 -1
  81. package/dist/cjs/list/DoctypeListScreen.native.js +1 -1
  82. package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
  83. package/dist/cjs/list/ListBulkActionsBar.native.js +1 -1
  84. package/dist/cjs/list/ListBulkActionsBar.native.js.map +1 -1
  85. package/dist/cjs/list/ListFilterBar.native.js +1 -1
  86. package/dist/cjs/list/ListFilterBar.native.js.map +1 -1
  87. package/dist/cjs/list/ListSidebar.native.js +1 -1
  88. package/dist/cjs/list/ListSidebar.native.js.map +1 -1
  89. package/dist/cjs/list/bulk-edit-dialog.native.js +1 -1
  90. package/dist/cjs/list/bulk-edit-dialog.native.js.map +1 -1
  91. package/dist/cjs/list/bulk-export.native.js.map +1 -1
  92. package/dist/cjs/list/bulk-submit-cancel.native.js.map +1 -1
  93. package/dist/cjs/list/bulkActions.native.js.map +1 -1
  94. package/dist/cjs/list/filter-chips.native.js +1 -1
  95. package/dist/cjs/list/filter-chips.native.js.map +1 -1
  96. package/dist/cjs/list/filter-editor.native.js +1 -1
  97. package/dist/cjs/list/filter-editor.native.js.map +1 -1
  98. package/dist/cjs/list/filter-fields.native.js.map +1 -1
  99. package/dist/cjs/list/filter-saved.native.js +1 -1
  100. package/dist/cjs/list/filter-saved.native.js.map +1 -1
  101. package/dist/cjs/list/filter-sort.native.js +1 -1
  102. package/dist/cjs/list/filter-sort.native.js.map +1 -1
  103. package/dist/cjs/list/filter-standard.native.js.map +1 -1
  104. package/dist/cjs/list/filterConversion.native.js.map +1 -1
  105. package/dist/cjs/list/list-tools-sheet.native.js +1 -1
  106. package/dist/cjs/list/list-tools-sheet.native.js.map +1 -1
  107. package/dist/cjs/list/listColumns.native.js.map +1 -1
  108. package/dist/cjs/list/listFields.native.js.map +1 -1
  109. package/dist/cjs/list/listFormat.native.js.map +1 -1
  110. package/dist/cjs/list/listUrlState.native.js.map +1 -1
  111. package/dist/cjs/list/sidebar-section.native.js +1 -1
  112. package/dist/cjs/list/sidebar-section.native.js.map +1 -1
  113. package/dist/cjs/list/sidebar-stats.native.js.map +1 -1
  114. package/dist/cjs/list/statusColors.native.js.map +1 -1
  115. package/dist/cjs/navigation/navigator.native.js.map +1 -1
  116. package/dist/cjs/navigation/paths.native.js.map +1 -1
  117. package/dist/cjs/oneAdapter/index.native.js.map +1 -1
  118. package/dist/cjs/quickEntry/QuickEntryDialog.native.js +1 -1
  119. package/dist/cjs/quickEntry/QuickEntryDialog.native.js.map +1 -1
  120. package/dist/cjs/quickEntry/quickEntryPlan.native.js.map +1 -1
  121. package/dist/cjs/report/DoctypeReportView.native.js +1 -1
  122. package/dist/cjs/report/DoctypeReportView.native.js.map +1 -1
  123. package/dist/cjs/report/QueryReportScreen.native.js +1 -1
  124. package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
  125. package/dist/cjs/report/queryReportColumns.native.js.map +1 -1
  126. package/dist/cjs/report/queryReportFilterBar.native.js +1 -1
  127. package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
  128. package/dist/cjs/report/queryReportUrlState.native.js.map +1 -1
  129. package/dist/cjs/report/report-grid.native.js +1 -1
  130. package/dist/cjs/report/report-grid.native.js.map +1 -1
  131. package/dist/cjs/report/report-toolbar.native.js +1 -1
  132. package/dist/cjs/report/report-toolbar.native.js.map +1 -1
  133. package/dist/cjs/report/reportShapes.native.js.map +1 -1
  134. package/dist/cjs/report/reportViewModel.native.js.map +1 -1
  135. package/dist/cjs/report/savedReports.native.js.map +1 -1
  136. package/dist/cjs/report/useQueryReport.native.js.map +1 -1
  137. package/dist/cjs/shared/deskLinks.native.js.map +1 -1
  138. package/dist/cjs/shared/listNavContext.native.js.map +1 -1
  139. package/dist/cjs/shared/types.native.js.map +1 -1
  140. package/dist/cjs/shared/useDocinfo.native.js.map +1 -1
  141. package/dist/cjs/shared/useDoctypeMeta.native.js.map +1 -1
  142. package/dist/cjs/shared/useFrappeApp.native.js.map +1 -1
  143. package/dist/cjs/shared/useRecentVisit.native.js.map +1 -1
  144. package/dist/cjs/shared/useSessionUserId.cjs +5 -4
  145. package/dist/cjs/shared/useSessionUserId.native.js +5 -4
  146. package/dist/cjs/shared/useSessionUserId.native.js.map +1 -1
  147. package/dist/cjs/shared/useSlugTarget.native.js.map +1 -1
  148. package/dist/cjs/shared/useUserRoles.native.js.map +1 -1
  149. package/dist/cjs/shell/BackofficeShell.native.js +1 -1
  150. package/dist/cjs/shell/BackofficeShell.native.js.map +1 -1
  151. package/dist/cjs/shell/HomeRedirect.native.js +1 -1
  152. package/dist/cjs/shell/HomeRedirect.native.js.map +1 -1
  153. package/dist/cjs/shell/NotFoundScreen.native.js +1 -1
  154. package/dist/cjs/shell/NotFoundScreen.native.js.map +1 -1
  155. package/dist/cjs/shell/SlugScreen.native.js +1 -1
  156. package/dist/cjs/shell/SlugScreen.native.js.map +1 -1
  157. package/dist/cjs/shell/WorkspaceSidebar.native.js +1 -1
  158. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
  159. package/dist/cjs/shell/useWorkspaces.native.js.map +1 -1
  160. package/dist/cjs/shell/workspaceIcons.native.js.map +1 -1
  161. package/dist/cjs/views/CalendarView.native.js +1 -1
  162. package/dist/cjs/views/CalendarView.native.js.map +1 -1
  163. package/dist/cjs/views/DashboardView.native.js +1 -1
  164. package/dist/cjs/views/DashboardView.native.js.map +1 -1
  165. package/dist/cjs/views/DoctypeViewScreen.native.js.map +1 -1
  166. package/dist/cjs/views/ImageView.native.js +1 -1
  167. package/dist/cjs/views/ImageView.native.js.map +1 -1
  168. package/dist/cjs/views/KanbanView.native.js +1 -1
  169. package/dist/cjs/views/KanbanView.native.js.map +1 -1
  170. package/dist/cjs/views/ReportView.native.js +1 -1
  171. package/dist/cjs/views/ReportView.native.js.map +1 -1
  172. package/dist/cjs/views/TreeView.native.js +1 -1
  173. package/dist/cjs/views/TreeView.native.js.map +1 -1
  174. package/dist/cjs/views/ViewHeader.native.js +1 -1
  175. package/dist/cjs/views/ViewHeader.native.js.map +1 -1
  176. package/dist/cjs/views/ViewStates.native.js +1 -1
  177. package/dist/cjs/views/ViewStates.native.js.map +1 -1
  178. package/dist/cjs/views/ViewSwitcherMenu.native.js +1 -1
  179. package/dist/cjs/views/ViewSwitcherMenu.native.js.map +1 -1
  180. package/dist/cjs/views/calendar-field-selector.native.js +1 -1
  181. package/dist/cjs/views/calendar-field-selector.native.js.map +1 -1
  182. package/dist/cjs/views/connection.native.js.map +1 -1
  183. package/dist/cjs/views/dashboard-data.native.js.map +1 -1
  184. package/dist/cjs/views/deskViewConfigs.native.js.map +1 -1
  185. package/dist/cjs/views/kanban-board-controls.native.js +1 -1
  186. package/dist/cjs/views/kanban-board-controls.native.js.map +1 -1
  187. package/dist/cjs/views/kanban-field-picker.native.js +1 -1
  188. package/dist/cjs/views/kanban-field-picker.native.js.map +1 -1
  189. package/dist/cjs/views/kanbanBoardOps.native.js.map +1 -1
  190. package/dist/cjs/views/report-controls.native.js +1 -1
  191. package/dist/cjs/views/report-controls.native.js.map +1 -1
  192. package/dist/cjs/views/viewAvailability.native.js.map +1 -1
  193. package/dist/cjs/views/viewMeta.native.js.map +1 -1
  194. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +1 -1
  195. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -1
  196. package/dist/cjs/workspace/WorkspaceGrid.native.js.map +1 -1
  197. package/dist/cjs/workspace/WorkspaceLinkCard.native.js +1 -1
  198. package/dist/cjs/workspace/WorkspaceLinkCard.native.js.map +1 -1
  199. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +1 -1
  200. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  201. package/dist/cjs/workspace/WorkspaceNumberCard.native.js +1 -1
  202. package/dist/cjs/workspace/WorkspaceNumberCard.native.js.map +1 -1
  203. package/dist/cjs/workspace/WorkspaceQuickList.native.js +1 -1
  204. package/dist/cjs/workspace/WorkspaceQuickList.native.js.map +1 -1
  205. package/dist/cjs/workspace/WorkspaceRecents.native.js +1 -1
  206. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -1
  207. package/dist/cjs/workspace/WorkspaceScreen.native.js +1 -1
  208. package/dist/cjs/workspace/WorkspaceScreen.native.js.map +1 -1
  209. package/dist/cjs/workspace/WorkspaceShortcut.native.js +1 -1
  210. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -1
  211. package/dist/cjs/workspace/parseContent.native.js.map +1 -1
  212. package/dist/cjs/workspace/types.native.js.map +1 -1
  213. package/dist/cjs/workspace/useDashboardChart.cjs +8 -8
  214. package/dist/cjs/workspace/useDashboardChart.native.js +8 -9
  215. package/dist/cjs/workspace/useDashboardChart.native.js.map +1 -1
  216. package/dist/cjs/workspace/useWorkspaceDoc.cjs +8 -8
  217. package/dist/cjs/workspace/useWorkspaceDoc.native.js +8 -9
  218. package/dist/cjs/workspace/useWorkspaceDoc.native.js.map +1 -1
  219. package/dist/esm/desk/Desk.mjs +1 -1
  220. package/dist/esm/desk/Desk.mjs.map +1 -1
  221. package/dist/esm/desk/Desk.native.js +2 -1
  222. package/dist/esm/desk/Desk.native.js.map +1 -1
  223. package/dist/esm/shared/useSessionUserId.mjs +5 -4
  224. package/dist/esm/shared/useSessionUserId.mjs.map +1 -1
  225. package/dist/esm/shared/useSessionUserId.native.js +5 -4
  226. package/dist/esm/shared/useSessionUserId.native.js.map +1 -1
  227. package/dist/esm/workspace/useDashboardChart.mjs +8 -8
  228. package/dist/esm/workspace/useDashboardChart.mjs.map +1 -1
  229. package/dist/esm/workspace/useDashboardChart.native.js +8 -9
  230. package/dist/esm/workspace/useDashboardChart.native.js.map +1 -1
  231. package/dist/esm/workspace/useWorkspaceDoc.mjs +8 -8
  232. package/dist/esm/workspace/useWorkspaceDoc.mjs.map +1 -1
  233. package/dist/esm/workspace/useWorkspaceDoc.native.js +8 -9
  234. package/dist/esm/workspace/useWorkspaceDoc.native.js.map +1 -1
  235. package/dist/jsx/desk/Desk.mjs +1 -1
  236. package/dist/jsx/desk/Desk.mjs.map +1 -1
  237. package/dist/jsx/desk/Desk.native.js +2 -1
  238. package/dist/jsx/desk/Desk.native.js.map +1 -1
  239. package/dist/jsx/shared/useSessionUserId.mjs +5 -4
  240. package/dist/jsx/shared/useSessionUserId.mjs.map +1 -1
  241. package/dist/jsx/shared/useSessionUserId.native.js +5 -4
  242. package/dist/jsx/shared/useSessionUserId.native.js.map +1 -1
  243. package/dist/jsx/workspace/useDashboardChart.mjs +8 -8
  244. package/dist/jsx/workspace/useDashboardChart.mjs.map +1 -1
  245. package/dist/jsx/workspace/useDashboardChart.native.js +8 -9
  246. package/dist/jsx/workspace/useDashboardChart.native.js.map +1 -1
  247. package/dist/jsx/workspace/useWorkspaceDoc.mjs +8 -8
  248. package/dist/jsx/workspace/useWorkspaceDoc.mjs.map +1 -1
  249. package/dist/jsx/workspace/useWorkspaceDoc.native.js +8 -9
  250. package/dist/jsx/workspace/useWorkspaceDoc.native.js.map +1 -1
  251. package/package.json +12 -12
  252. package/src/chrome/HelpMenu.spec.tsx +23 -0
  253. package/src/chrome/help-about-dialog.spec.tsx +14 -0
  254. package/src/chrome/help-shortcuts-dialog.spec.tsx +16 -0
  255. package/src/desk/Desk.tsx +3 -1
  256. package/src/shared/useSessionUserId.ts +5 -4
  257. package/src/workspace/useDashboardChart.ts +10 -8
  258. package/src/workspace/useWorkspaceDoc.ts +11 -8
  259. package/types/desk/Desk.d.ts.map +1 -1
  260. package/types/shared/useSessionUserId.d.ts.map +1 -1
  261. package/types/workspace/useDashboardChart.d.ts.map +1 -1
  262. package/types/workspace/useWorkspaceDoc.d.ts.map +1 -1
@@ -40,18 +40,17 @@ function _instanceof(left, right) {
40
40
  }
41
41
  }
42
42
  var callCache = /* @__PURE__ */new Map();
43
- function getCall(config) {
43
+ function getCall(baseURL, auth) {
44
44
  var _ref, _ref1;
45
- var _config_auth, _config_auth1;
46
- var key = `${config.baseURL}:${(_ref = (_config_auth = config.auth) === null || _config_auth === void 0 ? void 0 : _config_auth.token) !== null && _ref !== void 0 ? _ref : ""}:${(_ref1 = (_config_auth1 = config.auth) === null || _config_auth1 === void 0 ? void 0 : _config_auth1.type) !== null && _ref1 !== void 0 ? _ref1 : ""}`;
45
+ var key = `${baseURL}:${(_ref = auth === null || auth === void 0 ? void 0 : auth.token) !== null && _ref !== void 0 ? _ref : ""}:${(_ref1 = auth === null || auth === void 0 ? void 0 : auth.type) !== null && _ref1 !== void 0 ? _ref1 : ""}`;
47
46
  var call = callCache.get(key);
48
47
  if (!call) {
49
- var authConfig = config.auth ? {
50
- useToken: config.auth.useToken,
51
- token: config.auth.token,
52
- type: config.auth.type
48
+ var authConfig = auth ? {
49
+ useToken: auth.useToken,
50
+ token: auth.token,
51
+ type: auth.type
53
52
  } : void 0;
54
- call = new import_frappe.CallModule(new import_frappe.HttpClient(config.baseURL, authConfig));
53
+ call = new import_frappe.CallModule(new import_frappe.HttpClient(baseURL, authConfig));
55
54
  callCache.set(key, call);
56
55
  }
57
56
  return call;
@@ -76,7 +75,7 @@ function useDashboardChartData(chartName) {
76
75
  if (!(conn === null || conn === void 0 ? void 0 : conn.baseURL)) {
77
76
  throw new Error("useDashboardChartData requires a FrappeProvider with baseURL");
78
77
  }
79
- var res = await getCall(conn).post(CHART_GET_METHOD, {
78
+ var res = await getCall(conn.baseURL, conn.auth).post(CHART_GET_METHOD, {
80
79
  chart_name: name,
81
80
  refresh: 1
82
81
  });
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useDashboardChart_exports","useDashboardChartData","module","exports","import_frappe","require","import_frappe_ui","import_react","_instanceof","left","right","Symbol","hasInstance","callCache","Map","getCall","config","_ref","_ref1","_config_auth","_config_auth1","baseURL","auth","token","type","authConfig","useToken","CallModule","HttpClient","set","CHART_GET_METHOD","chartName","useFrappeConfig","series","setSeries","useState","isLoading","setIsLoading","fixtures","error","setError","fetchSeq","useRef","configRef","current","unsupported","runFetch","useCallback","conn"],"sources":["../../../src/workspace/useDashboardChart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useDashboardChart_exports","useDashboardChartData","module","exports","import_frappe","require","import_frappe_ui","import_react","_instanceof","left","right","Symbol","hasInstance","callCache","Map","getCall","baseURL","auth","_ref","_ref1","token","type","authConfig","useToken","CallModule","HttpClient","set","CHART_GET_METHOD","chartName","config","useFrappeConfig","series","setSeries","useState","isLoading","setIsLoading","fixtures","error","setError","fetchSeq","useRef","configRef","current","unsupported","runFetch","useCallback","conn"],"sources":["../../../src/workspace/useDashboardChart.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,16 +2,16 @@ import { DbModule, HttpClient } from "@multiplatform.one/frappe";
2
2
  import { useFrappeConfig } from "@multiplatform.one/frappe-ui";
3
3
  import { useCallback, useEffect, useRef, useState } from "react";
4
4
  const dbCache = /* @__PURE__ */new Map();
5
- function getDb(config) {
6
- const key = `${config.baseURL}:${config.auth?.token ?? ""}:${config.auth?.type ?? ""}`;
5
+ function getDb(baseURL, auth) {
6
+ const key = `${baseURL}:${auth?.token ?? ""}:${auth?.type ?? ""}`;
7
7
  let db = dbCache.get(key);
8
8
  if (!db) {
9
- const authConfig = config.auth ? {
10
- useToken: config.auth.useToken,
11
- token: config.auth.token,
12
- type: config.auth.type
9
+ const authConfig = auth ? {
10
+ useToken: auth.useToken,
11
+ token: auth.token,
12
+ type: auth.type
13
13
  } : void 0;
14
- db = new DbModule(new HttpClient(config.baseURL, authConfig));
14
+ db = new DbModule(new HttpClient(baseURL, authConfig));
15
15
  dbCache.set(key, db);
16
16
  }
17
17
  return db;
@@ -36,7 +36,7 @@ function useFrappeDoc(doctype, name) {
36
36
  if (!fixtureDoc) throw new Error(`${doctype} ${docName} not found`);
37
37
  result = fixtureDoc;
38
38
  } else if (conn?.baseURL) {
39
- result = await getDb(conn).getDoc(doctype, docName);
39
+ result = await getDb(conn.baseURL, conn.auth).getDoc(doctype, docName);
40
40
  } else {
41
41
  throw new Error("useFrappeDoc requires a FrappeProvider with baseURL or fixtures");
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"names":["DbModule","HttpClient","useFrappeConfig","useCallback","useEffect","useRef","useState","dbCache","Map","getDb","config","key","baseURL","auth","token","type","db","get","authConfig","useToken","set","useFrappeDoc","doctype","name","doc","setDoc","isLoading","setIsLoading","error","setError","fetchSeq","configRef","current","runFetch","docName","conn","seq","result","fixtures","fixtureDoc","getDoc","Error","err","String","refresh","isPermissionError","status","useWorkspaceDoc","workspace"],"sources":["../../../src/workspace/useWorkspaceDoc.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["DbModule","HttpClient","useFrappeConfig","useCallback","useEffect","useRef","useState","dbCache","Map","getDb","baseURL","auth","key","token","type","db","get","authConfig","useToken","set","useFrappeDoc","doctype","name","config","doc","setDoc","isLoading","setIsLoading","error","setError","fetchSeq","configRef","current","runFetch","docName","conn","seq","result","fixtures","fixtureDoc","getDoc","Error","err","String","refresh","isPermissionError","status","useWorkspaceDoc","workspace"],"sources":["../../../src/workspace/useWorkspaceDoc.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -41,18 +41,17 @@ function _instanceof(left, right) {
41
41
  }
42
42
  }
43
43
  var dbCache = /* @__PURE__ */new Map();
44
- function getDb(config) {
44
+ function getDb(baseURL, auth) {
45
45
  var _ref, _ref1;
46
- var _config_auth, _config_auth1;
47
- var key = `${config.baseURL}:${(_ref = (_config_auth = config.auth) === null || _config_auth === void 0 ? void 0 : _config_auth.token) !== null && _ref !== void 0 ? _ref : ""}:${(_ref1 = (_config_auth1 = config.auth) === null || _config_auth1 === void 0 ? void 0 : _config_auth1.type) !== null && _ref1 !== void 0 ? _ref1 : ""}`;
46
+ var key = `${baseURL}:${(_ref = auth === null || auth === void 0 ? void 0 : auth.token) !== null && _ref !== void 0 ? _ref : ""}:${(_ref1 = auth === null || auth === void 0 ? void 0 : auth.type) !== null && _ref1 !== void 0 ? _ref1 : ""}`;
48
47
  var db = dbCache.get(key);
49
48
  if (!db) {
50
- var authConfig = config.auth ? {
51
- useToken: config.auth.useToken,
52
- token: config.auth.token,
53
- type: config.auth.type
49
+ var authConfig = auth ? {
50
+ useToken: auth.useToken,
51
+ token: auth.token,
52
+ type: auth.type
54
53
  } : void 0;
55
- db = new import_frappe.DbModule(new import_frappe.HttpClient(config.baseURL, authConfig));
54
+ db = new import_frappe.DbModule(new import_frappe.HttpClient(baseURL, authConfig));
56
55
  dbCache.set(key, db);
57
56
  }
58
57
  return db;
@@ -77,7 +76,7 @@ function useFrappeDoc(doctype, name) {
77
76
  if (!fixtureDoc) throw new Error(`${doctype} ${docName} not found`);
78
77
  result = fixtureDoc;
79
78
  } else if (conn === null || conn === void 0 ? void 0 : conn.baseURL) {
80
- result = await getDb(conn).getDoc(doctype, docName);
79
+ result = await getDb(conn.baseURL, conn.auth).getDoc(doctype, docName);
81
80
  } else {
82
81
  throw new Error("useFrappeDoc requires a FrappeProvider with baseURL or fixtures");
83
82
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useWorkspaceDoc_exports","useFrappeDoc","useWorkspaceDoc","module","exports","import_frappe","require","import_frappe_ui","import_react","_instanceof","left","right","Symbol","hasInstance","dbCache","Map","getDb","config","_ref","_ref1","_config_auth","_config_auth1","baseURL","auth","token","type","db","authConfig","useToken","DbModule","HttpClient","set","doctype","useFrappeConfig","doc","setDoc","useState","isLoading","setIsLoading","error","setError","fetchSeq","useRef","configRef","current","runFetch","useCallback","docName","conn","seq","result","fixtures","fixtureDoc","getDoc","Error"],"sources":["../../../src/workspace/useWorkspaceDoc.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__defProp","Object","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toCommonJS","mod","value","useWorkspaceDoc_exports","useFrappeDoc","useWorkspaceDoc","module","exports","import_frappe","require","import_frappe_ui","import_react","_instanceof","left","right","Symbol","hasInstance","dbCache","Map","getDb","baseURL","auth","_ref","_ref1","token","type","db","authConfig","useToken","DbModule","HttpClient","set","doctype","config","useFrappeConfig","doc","setDoc","useState","isLoading","setIsLoading","error","setError","fetchSeq","useRef","configRef","current","runFetch","useCallback","docName","conn","seq","result","fixtures","fixtureDoc","getDoc","Error"],"sources":["../../../src/workspace/useWorkspaceDoc.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@multiplatform.one/backoffice",
3
- "version": "7.7.6",
3
+ "version": "7.10.0",
4
4
  "description": "Embeddable Frappe desk recreation (backoffice) for the multiplatform.one stack",
5
5
  "keywords": [
6
6
  "backoffice",
@@ -73,15 +73,15 @@
73
73
  "dependencies": {
74
74
  "@phosphor-icons/react": "^2.1.10",
75
75
  "tamagui": "2.7.6",
76
- "@multiplatform.one/components": "7.7.6",
77
- "@multiplatform.one/forms": "7.7.6",
78
- "@multiplatform.one/frappe": "7.7.6",
79
- "@multiplatform.one/frappe-ui": "7.7.6",
80
- "@multiplatform.one/i18n": "7.7.6",
81
- "@multiplatform.one/store": "7.7.6",
82
- "@multiplatform.one/platform": "7.7.6",
83
- "@multiplatform.one/table": "7.7.6",
84
- "@multiplatform.one/theme": "7.7.6"
76
+ "@multiplatform.one/forms": "7.10.0",
77
+ "@multiplatform.one/frappe": "7.10.0",
78
+ "@multiplatform.one/components": "7.10.0",
79
+ "@multiplatform.one/frappe-ui": "7.10.0",
80
+ "@multiplatform.one/platform": "7.10.0",
81
+ "@multiplatform.one/i18n": "7.10.0",
82
+ "@multiplatform.one/store": "7.10.0",
83
+ "@multiplatform.one/table": "7.10.0",
84
+ "@multiplatform.one/theme": "7.10.0"
85
85
  },
86
86
  "devDependencies": {
87
87
  "@tamagui/build": "2.7.6",
@@ -95,8 +95,8 @@
95
95
  "react-dom": "19.2.5",
96
96
  "react-i18next": "^16.6.6",
97
97
  "vitest": "^4.1.5",
98
- "@multiplatform.one/config": "7.7.6",
99
- "@multiplatform.one/test-utils": "7.7.6"
98
+ "@multiplatform.one/config": "7.10.0",
99
+ "@multiplatform.one/test-utils": "7.10.0"
100
100
  },
101
101
  "peerDependencies": {
102
102
  "i18next": "^25.0.0",
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
3
+ import { screen } from "@testing-library/react";
4
+ import userEvent from "@testing-library/user-event";
5
+ import { describe, expect, it } from "vitest";
6
+ import { HelpMenu } from "./HelpMenu";
7
+
8
+ describe("HelpMenu", () => {
9
+ it("renders the help trigger", () => {
10
+ renderWithProviders(<HelpMenu />);
11
+ expect(screen.getByTestId("backoffice-help-trigger")).toBeTruthy();
12
+ expect(screen.getByLabelText("Help")).toBeTruthy();
13
+ });
14
+
15
+ it("opens the desk help items from the trigger", async () => {
16
+ const user = userEvent.setup();
17
+ renderWithProviders(<HelpMenu />);
18
+ await user.click(screen.getByTestId("backoffice-help-trigger"));
19
+ expect(await screen.findByTestId("backoffice-help-documentation")).toBeTruthy();
20
+ expect(screen.getByTestId("backoffice-help-forum")).toBeTruthy();
21
+ expect(screen.getByTestId("backoffice-help-report-issue")).toBeTruthy();
22
+ });
23
+ });
@@ -0,0 +1,14 @@
1
+ import React from "react";
2
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
3
+ import { screen } from "@testing-library/react";
4
+ import { describe, expect, it, vi } from "vitest";
5
+ import { HelpAboutDialog } from "./help-about-dialog";
6
+
7
+ describe("HelpAboutDialog", () => {
8
+ it("renders the About surface without a bench", () => {
9
+ renderWithProviders(<HelpAboutDialog open onOpenChange={vi.fn()} />);
10
+ expect(screen.getByTestId("backoffice-help-about-dialog")).toBeTruthy();
11
+ expect(screen.getByText("About")).toBeTruthy();
12
+ expect(screen.getByText("Version information is unavailable.")).toBeTruthy();
13
+ });
14
+ });
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { renderWithProviders } from "@multiplatform.one/test-utils";
3
+ import { screen } from "@testing-library/react";
4
+ import { describe, expect, it, vi } from "vitest";
5
+ import { HelpShortcutsDialog } from "./help-shortcuts-dialog";
6
+
7
+ describe("HelpShortcutsDialog", () => {
8
+ it("lists the shortcuts the backoffice actually implements", () => {
9
+ renderWithProviders(<HelpShortcutsDialog open onOpenChange={vi.fn()} />);
10
+ expect(screen.getByTestId("backoffice-help-shortcuts-dialog")).toBeTruthy();
11
+ expect(screen.getByText("Keyboard Shortcuts")).toBeTruthy();
12
+ expect(screen.getByText("Open the command palette")).toBeTruthy();
13
+ expect(screen.getByText("Save the open document")).toBeTruthy();
14
+ expect(screen.getByText("Close dialogs and menus")).toBeTruthy();
15
+ });
16
+ });
package/src/desk/Desk.tsx CHANGED
@@ -179,7 +179,9 @@ export function Desk(props: DeskProps) {
179
179
  }
180
180
  const frappe = useMemo<BackofficeFrappeConfig>(() => {
181
181
  if (ambient) {
182
- return { baseURL: ambient.baseURL, auth: ambient.auth, fixtures: ambient.fixtures };
182
+ // A fixtures-only provider carries no baseURL; "" is this config's
183
+ // existing "no bench" value (see the prop fallback below).
184
+ return { baseURL: ambient.baseURL ?? "", auth: ambient.auth, fixtures: ambient.fixtures };
183
185
  }
184
186
  return props.frappe ?? { baseURL: "" };
185
187
  }, [ambient, props.frappe]);
@@ -18,13 +18,14 @@ export function useSessionUserId(): string | undefined {
18
18
  const [user, setUser] = useState<string | undefined>(undefined);
19
19
 
20
20
  useEffect(() => {
21
- if (!app || fixtureMode || !config?.baseURL) return;
21
+ const baseURL = config?.baseURL;
22
+ if (!app || fixtureMode || !baseURL) return;
22
23
  let cancelled = false;
23
- let promise = userCache.get(config.baseURL);
24
+ let promise = userCache.get(baseURL);
24
25
  if (!promise) {
25
26
  promise = app.auth().getLoggedInUser();
26
- userCache.set(config.baseURL, promise);
27
- promise.catch(() => userCache.delete(config.baseURL));
27
+ userCache.set(baseURL, promise);
28
+ promise.catch(() => userCache.delete(baseURL));
28
29
  }
29
30
  promise
30
31
  .then((value) => {
@@ -43,18 +43,18 @@ export interface UseDashboardChartDataResult {
43
43
 
44
44
  const callCache = new Map<string, CallModule>();
45
45
 
46
- function getCall(config: FrappeConfig): CallModule {
47
- const key = `${config.baseURL}:${config.auth?.token ?? ""}:${config.auth?.type ?? ""}`;
46
+ function getCall(baseURL: string, auth: FrappeConfig["auth"]): CallModule {
47
+ const key = `${baseURL}:${auth?.token ?? ""}:${auth?.type ?? ""}`;
48
48
  let call = callCache.get(key);
49
49
  if (!call) {
50
- const authConfig: AuthConfig | undefined = config.auth
50
+ const authConfig: AuthConfig | undefined = auth
51
51
  ? {
52
- useToken: config.auth.useToken,
53
- token: config.auth.token,
54
- type: config.auth.type as AuthConfig["type"],
52
+ useToken: auth.useToken,
53
+ token: auth.token,
54
+ type: auth.type as AuthConfig["type"],
55
55
  }
56
56
  : undefined;
57
- call = new CallModule(new HttpClient(config.baseURL, authConfig));
57
+ call = new CallModule(new HttpClient(baseURL, authConfig));
58
58
  callCache.set(key, call);
59
59
  }
60
60
  return call;
@@ -85,7 +85,9 @@ export function useDashboardChartData(chartName: string | undefined): UseDashboa
85
85
  if (!conn?.baseURL) {
86
86
  throw new Error("useDashboardChartData requires a FrappeProvider with baseURL");
87
87
  }
88
- const res = await getCall(conn).post<{ message: DashboardChartSeries }>(CHART_GET_METHOD, {
88
+ const res = await getCall(conn.baseURL, conn.auth).post<{
89
+ message: DashboardChartSeries;
90
+ }>(CHART_GET_METHOD, {
89
91
  chart_name: name,
90
92
  refresh: 1,
91
93
  });
@@ -14,18 +14,18 @@ import type { WorkspaceDoc } from "./types";
14
14
  // One REST client per connection — screens sharing a bench share it.
15
15
  const dbCache = new Map<string, DbModule>();
16
16
 
17
- function getDb(config: FrappeConfig): DbModule {
18
- const key = `${config.baseURL}:${config.auth?.token ?? ""}:${config.auth?.type ?? ""}`;
17
+ function getDb(baseURL: string, auth: FrappeConfig["auth"]): DbModule {
18
+ const key = `${baseURL}:${auth?.token ?? ""}:${auth?.type ?? ""}`;
19
19
  let db = dbCache.get(key);
20
20
  if (!db) {
21
- const authConfig: AuthConfig | undefined = config.auth
21
+ const authConfig: AuthConfig | undefined = auth
22
22
  ? {
23
- useToken: config.auth.useToken,
24
- token: config.auth.token,
25
- type: config.auth.type as AuthConfig["type"],
23
+ useToken: auth.useToken,
24
+ token: auth.token,
25
+ type: auth.type as AuthConfig["type"],
26
26
  }
27
27
  : undefined;
28
- db = new DbModule(new HttpClient(config.baseURL, authConfig));
28
+ db = new DbModule(new HttpClient(baseURL, authConfig));
29
29
  dbCache.set(key, db);
30
30
  }
31
31
  return db;
@@ -68,7 +68,10 @@ export function useFrappeDoc<TDoc extends { name: string; doctype: string }>(
68
68
  if (!fixtureDoc) throw new Error(`${doctype} ${docName} not found`);
69
69
  result = fixtureDoc as unknown as TDoc;
70
70
  } else if (conn?.baseURL) {
71
- result = (await getDb(conn).getDoc(doctype, docName)) as unknown as TDoc;
71
+ result = (await getDb(conn.baseURL, conn.auth).getDoc(
72
+ doctype,
73
+ docName,
74
+ )) as unknown as TDoc;
72
75
  } else {
73
76
  throw new Error("useFrappeDoc requires a FrappeProvider with baseURL or fixtures");
74
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Desk.d.ts","sourceRoot":"","sources":["../../src/desk/Desk.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAmB,KAAK,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,KAAK,sBAAsB,EAC5B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAC7F,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1F,OAAO,EAA0C,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErD,OAAO,EAAmC,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAE3F,OAAO,EAKL,KAAK,UAAU,EAChB,MAAM,UAAU,CAAC;AAElB,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;AAErD,MAAM,WAAW,SAAS;IAExB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAGhC,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kDAAkD;IAClD,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,0EAA0E;IAC1E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;;;OAGG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,2EAA2E;IAC3E,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAGlC,sEAAsE;IACtE,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,0EAA0E;IAC1E,KAAK,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAClC,4DAA4D;IAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;IAGnB;;;OAGG;IACH,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yDAAyD;IACzD,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,wDAAwD;IACxD,YAAY,CAAC,EAAE,sBAAsB,CAAC;IAGtC;;;OAGG;IACH,UAAU,CAAC,EAAE,mBAAmB,CAAC;IACjC,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,CAAC;IAClE,6EAA6E;IAC7E,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;IAG9C,qEAAqE;IACrE,QAAQ,CAAC,EAAE,oBAAoB,CAAC;IAChC,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC;IACzD,sEAAsE;IACtE,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+DAA+D;IAC/D,OAAO,CAAC,EAAE,sBAAsB,CAAC;CAClC;AAoBD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,2CAwGpC"}
1
+ {"version":3,"file":"Desk.d.ts","sourceRoot":"","sources":["../../src/desk/Desk.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useSessionUserId.d.ts","sourceRoot":"","sources":["../../src/shared/useSessionUserId.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CA4BrD"}
1
+ {"version":3,"file":"useSessionUserId.d.ts","sourceRoot":"","sources":["../../src/shared/useSessionUserId.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CA6BrD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDashboardChart.d.ts","sourceRoot":"","sources":["../../src/workspace/useDashboardChart.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,sEAAsE;IACtE,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAuBD,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,2BAA2B,CAiDhG"}
1
+ {"version":3,"file":"useDashboardChart.d.ts","sourceRoot":"","sources":["../../src/workspace/useDashboardChart.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACtD;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC;IACzC,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,sEAAsE;IACtE,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAuBD,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,2BAA2B,CAmDhG"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWorkspaceDoc.d.ts","sourceRoot":"","sources":["../../src/workspace/useWorkspaceDoc.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAsB5C,MAAM,WAAW,kBAAkB,CAAC,IAAI;IACtC,GAAG,EAAE,IAAI,GAAG,SAAS,CAAC;IACtB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACzE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,kBAAkB,CAAC,IAAI,CAAC,CA0D1B;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAEnF"}
1
+ {"version":3,"file":"useWorkspaceDoc.d.ts","sourceRoot":"","sources":["../../src/workspace/useWorkspaceDoc.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAsB5C,MAAM,WAAW,kBAAkB,CAAC,IAAI;IACtC,GAAG,EAAE,IAAI,GAAG,SAAS,CAAC;IACtB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,yDAAyD;IACzD,iBAAiB,EAAE,OAAO,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,6EAA6E;AAC7E,wBAAgB,YAAY,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EACzE,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GAAG,SAAS,GACvB,kBAAkB,CAAC,IAAI,CAAC,CA6D1B;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAEnF"}