@multiplatform.one/backoffice 7.34.3 → 7.35.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 (867) hide show
  1. package/dist/cjs/chrome/BackofficeAwesomebar.cjs +14 -7
  2. package/dist/cjs/chrome/BackofficeAwesomebar.native.js +14 -7
  3. package/dist/cjs/chrome/BackofficeAwesomebar.native.js.map +1 -1
  4. package/dist/cjs/chrome/CommandPalette.cjs +23 -17
  5. package/dist/cjs/chrome/CommandPalette.native.js +25 -17
  6. package/dist/cjs/chrome/CommandPalette.native.js.map +1 -1
  7. package/dist/cjs/chrome/NotificationsButton.cjs +3 -1
  8. package/dist/cjs/chrome/NotificationsButton.native.js +3 -1
  9. package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -1
  10. package/dist/cjs/chrome/UserMenu.cjs +144 -78
  11. package/dist/cjs/chrome/UserMenu.native.js +158 -91
  12. package/dist/cjs/chrome/UserMenu.native.js.map +1 -1
  13. package/dist/cjs/chrome/awesomebar-data.cjs +45 -18
  14. package/dist/cjs/chrome/awesomebar-data.native.js +45 -17
  15. package/dist/cjs/chrome/awesomebar-data.native.js.map +1 -1
  16. package/dist/cjs/chrome/command-palette-model.cjs +8 -7
  17. package/dist/cjs/chrome/command-palette-model.native.js +10 -7
  18. package/dist/cjs/chrome/command-palette-model.native.js.map +1 -1
  19. package/dist/cjs/chrome/notifications-data.cjs +2 -38
  20. package/dist/cjs/chrome/notifications-data.native.js +2 -39
  21. package/dist/cjs/chrome/notifications-data.native.js.map +1 -1
  22. package/dist/cjs/chrome/notifications-panel.cjs +3 -4
  23. package/dist/cjs/chrome/notifications-panel.native.js +3 -4
  24. package/dist/cjs/chrome/notifications-panel.native.js.map +1 -1
  25. package/dist/cjs/chrome/user-session.cjs +20 -11
  26. package/dist/cjs/chrome/user-session.native.js +21 -13
  27. package/dist/cjs/chrome/user-session.native.js.map +1 -1
  28. package/dist/cjs/config/BackofficeProvider.cjs +3 -1
  29. package/dist/cjs/config/BackofficeProvider.native.js +3 -1
  30. package/dist/cjs/config/BackofficeProvider.native.js.map +1 -1
  31. package/dist/cjs/config/capabilities.cjs +3 -0
  32. package/dist/cjs/config/capabilities.native.js +3 -0
  33. package/dist/cjs/config/capabilities.native.js.map +1 -1
  34. package/dist/cjs/desk/Desk.cjs +17 -0
  35. package/dist/cjs/desk/Desk.native.js +17 -0
  36. package/dist/cjs/desk/Desk.native.js.map +1 -1
  37. package/dist/cjs/desk/DeskSurface.cjs +10 -0
  38. package/dist/cjs/desk/DeskSurface.native.js +10 -0
  39. package/dist/cjs/desk/DeskSurface.native.js.map +1 -1
  40. package/dist/cjs/desk/resolveDeskPath.cjs +6 -0
  41. package/dist/cjs/desk/resolveDeskPath.native.js +6 -0
  42. package/dist/cjs/desk/resolveDeskPath.native.js.map +1 -1
  43. package/dist/cjs/desk/target.cjs +5 -0
  44. package/dist/cjs/desk/target.native.js +5 -0
  45. package/dist/cjs/desk/target.native.js.map +1 -1
  46. package/dist/cjs/form/DocFormScreen.cjs +24 -3
  47. package/dist/cjs/form/DocFormScreen.native.js +27 -6
  48. package/dist/cjs/form/DocFormScreen.native.js.map +1 -1
  49. package/dist/cjs/form/FormConnections.cjs +2 -2
  50. package/dist/cjs/form/FormConnections.native.js +2 -2
  51. package/dist/cjs/form/FormConnections.native.js.map +1 -1
  52. package/dist/cjs/form/FormErrorBoundary.cjs +1 -1
  53. package/dist/cjs/form/FormErrorBoundary.native.js +1 -1
  54. package/dist/cjs/form/FormErrorBoundary.native.js.map +1 -1
  55. package/dist/cjs/form/FormSidebarPanel.cjs +1 -1
  56. package/dist/cjs/form/FormSidebarPanel.native.js +1 -1
  57. package/dist/cjs/form/FormSidebarPanel.native.js.map +1 -1
  58. package/dist/cjs/form/FormTimeline.cjs +1 -2
  59. package/dist/cjs/form/FormTimeline.native.js +1 -2
  60. package/dist/cjs/form/FormTimeline.native.js.map +1 -1
  61. package/dist/cjs/form/FormToolbar.cjs +97 -87
  62. package/dist/cjs/form/FormToolbar.native.js +98 -94
  63. package/dist/cjs/form/FormToolbar.native.js.map +1 -1
  64. package/dist/cjs/formBuilder/DoctypePicker.cjs +89 -0
  65. package/dist/cjs/formBuilder/DoctypePicker.native.js +98 -0
  66. package/dist/cjs/formBuilder/DoctypePicker.native.js.map +1 -0
  67. package/dist/cjs/formBuilder/FieldPalette.cjs +148 -0
  68. package/dist/cjs/formBuilder/FieldPalette.native.js +165 -0
  69. package/dist/cjs/formBuilder/FieldPalette.native.js.map +1 -0
  70. package/dist/cjs/formBuilder/FieldPropertiesPanel.cjs +186 -0
  71. package/dist/cjs/formBuilder/FieldPropertiesPanel.native.js +237 -0
  72. package/dist/cjs/formBuilder/FieldPropertiesPanel.native.js.map +1 -0
  73. package/dist/cjs/formBuilder/FormBuilderCanvas.cjs +407 -0
  74. package/dist/cjs/formBuilder/FormBuilderCanvas.native.js +472 -0
  75. package/dist/cjs/formBuilder/FormBuilderCanvas.native.js.map +1 -0
  76. package/dist/cjs/formBuilder/FormBuilderScreen.cjs +448 -0
  77. package/dist/cjs/formBuilder/FormBuilderScreen.native.js +537 -0
  78. package/dist/cjs/formBuilder/FormBuilderScreen.native.js.map +1 -0
  79. package/dist/cjs/formBuilder/api.cjs +160 -0
  80. package/dist/cjs/formBuilder/api.native.js +193 -0
  81. package/dist/cjs/formBuilder/api.native.js.map +1 -0
  82. package/dist/cjs/formBuilder/fieldtypes.cjs +114 -0
  83. package/dist/cjs/formBuilder/fieldtypes.native.js +133 -0
  84. package/dist/cjs/formBuilder/fieldtypes.native.js.map +1 -0
  85. package/dist/cjs/formBuilder/index.cjs +68 -0
  86. package/dist/cjs/formBuilder/index.native.js +71 -0
  87. package/dist/cjs/formBuilder/index.native.js.map +1 -0
  88. package/dist/cjs/formBuilder/model.cjs +466 -0
  89. package/dist/cjs/formBuilder/model.native.js +714 -0
  90. package/dist/cjs/formBuilder/model.native.js.map +1 -0
  91. package/dist/cjs/formBuilder/useFormBuilderDrag.cjs +399 -0
  92. package/dist/cjs/formBuilder/useFormBuilderDrag.native.js +434 -0
  93. package/dist/cjs/formBuilder/useFormBuilderDrag.native.js.map +1 -0
  94. package/dist/cjs/i18n/en.cjs +294 -4
  95. package/dist/cjs/i18n/en.native.js +294 -4
  96. package/dist/cjs/i18n/en.native.js.map +1 -1
  97. package/dist/cjs/index.cjs +41 -1
  98. package/dist/cjs/index.native.js +40 -0
  99. package/dist/cjs/index.native.js.map +1 -1
  100. package/dist/cjs/list/DoctypeListScreen.cjs +147 -43
  101. package/dist/cjs/list/DoctypeListScreen.native.js +164 -56
  102. package/dist/cjs/list/DoctypeListScreen.native.js.map +1 -1
  103. package/dist/cjs/list/ListFilterBar.cjs +8 -4
  104. package/dist/cjs/list/ListFilterBar.native.js +8 -4
  105. package/dist/cjs/list/ListFilterBar.native.js.map +1 -1
  106. package/dist/cjs/list/ListSidebar.cjs +4 -3
  107. package/dist/cjs/list/ListSidebar.native.js +4 -3
  108. package/dist/cjs/list/ListSidebar.native.js.map +1 -1
  109. package/dist/cjs/list/filter-chips.cjs +10 -4
  110. package/dist/cjs/list/filter-chips.native.js +10 -4
  111. package/dist/cjs/list/filter-chips.native.js.map +1 -1
  112. package/dist/cjs/list/filter-editor.cjs +1 -10
  113. package/dist/cjs/list/filter-editor.native.js +1 -10
  114. package/dist/cjs/list/filter-editor.native.js.map +1 -1
  115. package/dist/cjs/list/filter-saved.cjs +0 -1
  116. package/dist/cjs/list/filter-saved.native.js +0 -1
  117. package/dist/cjs/list/filter-saved.native.js.map +1 -1
  118. package/dist/cjs/list/filter-sort.cjs +0 -1
  119. package/dist/cjs/list/filter-sort.native.js +0 -1
  120. package/dist/cjs/list/filter-sort.native.js.map +1 -1
  121. package/dist/cjs/list/filter-standard.cjs +1 -3
  122. package/dist/cjs/list/filter-standard.native.js +1 -3
  123. package/dist/cjs/list/filter-standard.native.js.map +1 -1
  124. package/dist/cjs/list/list-tools-sheet.cjs +10 -3
  125. package/dist/cjs/list/list-tools-sheet.native.js +12 -3
  126. package/dist/cjs/list/list-tools-sheet.native.js.map +1 -1
  127. package/dist/cjs/navigation/paths.cjs +5 -0
  128. package/dist/cjs/navigation/paths.native.js +7 -0
  129. package/dist/cjs/navigation/paths.native.js.map +1 -1
  130. package/dist/cjs/report/QueryReportScreen.cjs +1 -1
  131. package/dist/cjs/report/QueryReportScreen.native.js +1 -1
  132. package/dist/cjs/report/QueryReportScreen.native.js.map +1 -1
  133. package/dist/cjs/report/queryReportFilterBar.cjs +3 -8
  134. package/dist/cjs/report/queryReportFilterBar.native.js +3 -8
  135. package/dist/cjs/report/queryReportFilterBar.native.js.map +1 -1
  136. package/dist/cjs/shared/sessionUser.cjs +107 -0
  137. package/dist/cjs/shared/sessionUser.native.js +137 -0
  138. package/dist/cjs/shared/sessionUser.native.js.map +1 -0
  139. package/dist/cjs/shared/useSessionUserId.cjs +2 -26
  140. package/dist/cjs/shared/useSessionUserId.native.js +2 -28
  141. package/dist/cjs/shared/useSessionUserId.native.js.map +1 -1
  142. package/dist/cjs/shell/BackofficeShell.cjs +129 -86
  143. package/dist/cjs/shell/BackofficeShell.native.js +146 -99
  144. package/dist/cjs/shell/BackofficeShell.native.js.map +1 -1
  145. package/dist/cjs/shell/HomeRedirect.cjs +17 -21
  146. package/dist/cjs/shell/HomeRedirect.native.js +17 -20
  147. package/dist/cjs/shell/HomeRedirect.native.js.map +1 -1
  148. package/dist/cjs/shell/WorkspaceSidebar.cjs +53 -25
  149. package/dist/cjs/shell/WorkspaceSidebar.native.js +55 -25
  150. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -1
  151. package/dist/cjs/shell/shellSidebarSlot.cjs +31 -0
  152. package/dist/cjs/shell/shellSidebarSlot.native.js +34 -0
  153. package/dist/cjs/shell/shellSidebarSlot.native.js.map +1 -0
  154. package/dist/cjs/shell/useWorkspaces.cjs +25 -37
  155. package/dist/cjs/shell/useWorkspaces.native.js +27 -41
  156. package/dist/cjs/shell/useWorkspaces.native.js.map +1 -1
  157. package/dist/cjs/views/DashboardView.cjs +2 -2
  158. package/dist/cjs/views/DashboardView.native.js +2 -2
  159. package/dist/cjs/views/DashboardView.native.js.map +1 -1
  160. package/dist/cjs/views/ImageView.cjs +14 -5
  161. package/dist/cjs/views/ImageView.native.js +14 -5
  162. package/dist/cjs/views/ImageView.native.js.map +1 -1
  163. package/dist/cjs/views/ViewHeader.cjs +17 -6
  164. package/dist/cjs/views/ViewHeader.native.js +17 -6
  165. package/dist/cjs/views/ViewHeader.native.js.map +1 -1
  166. package/dist/cjs/views/ViewSwitcherMenu.cjs +10 -9
  167. package/dist/cjs/views/ViewSwitcherMenu.native.js +10 -9
  168. package/dist/cjs/views/ViewSwitcherMenu.native.js.map +1 -1
  169. package/dist/cjs/views/viewAvailability.cjs +17 -9
  170. package/dist/cjs/views/viewAvailability.native.js +18 -8
  171. package/dist/cjs/views/viewAvailability.native.js.map +1 -1
  172. package/dist/cjs/views/viewMeta.cjs +24 -1
  173. package/dist/cjs/views/viewMeta.native.js +30 -1
  174. package/dist/cjs/views/viewMeta.native.js.map +1 -1
  175. package/dist/cjs/workspace/WorkspaceChartBlock.cjs +1 -1
  176. package/dist/cjs/workspace/WorkspaceChartBlock.native.js +1 -1
  177. package/dist/cjs/workspace/WorkspaceChartBlock.native.js.map +1 -1
  178. package/dist/cjs/workspace/WorkspaceLinkDirectory.cjs +2 -2
  179. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js +2 -2
  180. package/dist/cjs/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  181. package/dist/cjs/workspace/WorkspaceRecents.cjs +1 -1
  182. package/dist/cjs/workspace/WorkspaceRecents.native.js +1 -1
  183. package/dist/cjs/workspace/WorkspaceRecents.native.js.map +1 -1
  184. package/dist/cjs/workspace/WorkspaceShortcut.cjs +1 -1
  185. package/dist/cjs/workspace/WorkspaceShortcut.native.js +1 -1
  186. package/dist/cjs/workspace/WorkspaceShortcut.native.js.map +1 -1
  187. package/dist/esm/chrome/BackofficeAwesomebar.mjs +15 -8
  188. package/dist/esm/chrome/BackofficeAwesomebar.mjs.map +1 -1
  189. package/dist/esm/chrome/BackofficeAwesomebar.native.js +15 -8
  190. package/dist/esm/chrome/BackofficeAwesomebar.native.js.map +1 -1
  191. package/dist/esm/chrome/CommandPalette.mjs +25 -19
  192. package/dist/esm/chrome/CommandPalette.mjs.map +1 -1
  193. package/dist/esm/chrome/CommandPalette.native.js +27 -19
  194. package/dist/esm/chrome/CommandPalette.native.js.map +1 -1
  195. package/dist/esm/chrome/NotificationsButton.mjs +4 -2
  196. package/dist/esm/chrome/NotificationsButton.mjs.map +1 -1
  197. package/dist/esm/chrome/NotificationsButton.native.js +4 -2
  198. package/dist/esm/chrome/NotificationsButton.native.js.map +1 -1
  199. package/dist/esm/chrome/UserMenu.mjs +146 -80
  200. package/dist/esm/chrome/UserMenu.mjs.map +1 -1
  201. package/dist/esm/chrome/UserMenu.native.js +160 -93
  202. package/dist/esm/chrome/UserMenu.native.js.map +1 -1
  203. package/dist/esm/chrome/awesomebar-data.mjs +45 -18
  204. package/dist/esm/chrome/awesomebar-data.mjs.map +1 -1
  205. package/dist/esm/chrome/awesomebar-data.native.js +45 -17
  206. package/dist/esm/chrome/awesomebar-data.native.js.map +1 -1
  207. package/dist/esm/chrome/command-palette-model.mjs +8 -7
  208. package/dist/esm/chrome/command-palette-model.mjs.map +1 -1
  209. package/dist/esm/chrome/command-palette-model.native.js +10 -7
  210. package/dist/esm/chrome/command-palette-model.native.js.map +1 -1
  211. package/dist/esm/chrome/notifications-data.mjs +3 -39
  212. package/dist/esm/chrome/notifications-data.mjs.map +1 -1
  213. package/dist/esm/chrome/notifications-data.native.js +3 -40
  214. package/dist/esm/chrome/notifications-data.native.js.map +1 -1
  215. package/dist/esm/chrome/notifications-panel.mjs +4 -5
  216. package/dist/esm/chrome/notifications-panel.mjs.map +1 -1
  217. package/dist/esm/chrome/notifications-panel.native.js +4 -5
  218. package/dist/esm/chrome/notifications-panel.native.js.map +1 -1
  219. package/dist/esm/chrome/user-session.mjs +20 -11
  220. package/dist/esm/chrome/user-session.mjs.map +1 -1
  221. package/dist/esm/chrome/user-session.native.js +21 -13
  222. package/dist/esm/chrome/user-session.native.js.map +1 -1
  223. package/dist/esm/config/BackofficeProvider.mjs +3 -1
  224. package/dist/esm/config/BackofficeProvider.mjs.map +1 -1
  225. package/dist/esm/config/BackofficeProvider.native.js +3 -1
  226. package/dist/esm/config/BackofficeProvider.native.js.map +1 -1
  227. package/dist/esm/config/capabilities.mjs +3 -0
  228. package/dist/esm/config/capabilities.mjs.map +1 -1
  229. package/dist/esm/config/capabilities.native.js +3 -0
  230. package/dist/esm/config/capabilities.native.js.map +1 -1
  231. package/dist/esm/desk/Desk.mjs +17 -0
  232. package/dist/esm/desk/Desk.mjs.map +1 -1
  233. package/dist/esm/desk/Desk.native.js +17 -0
  234. package/dist/esm/desk/Desk.native.js.map +1 -1
  235. package/dist/esm/desk/DeskSurface.mjs +10 -0
  236. package/dist/esm/desk/DeskSurface.mjs.map +1 -1
  237. package/dist/esm/desk/DeskSurface.native.js +10 -0
  238. package/dist/esm/desk/DeskSurface.native.js.map +1 -1
  239. package/dist/esm/desk/resolveDeskPath.mjs +6 -0
  240. package/dist/esm/desk/resolveDeskPath.mjs.map +1 -1
  241. package/dist/esm/desk/resolveDeskPath.native.js +6 -0
  242. package/dist/esm/desk/resolveDeskPath.native.js.map +1 -1
  243. package/dist/esm/desk/target.mjs +5 -0
  244. package/dist/esm/desk/target.mjs.map +1 -1
  245. package/dist/esm/desk/target.native.js +5 -0
  246. package/dist/esm/desk/target.native.js.map +1 -1
  247. package/dist/esm/form/DocFormScreen.mjs +24 -3
  248. package/dist/esm/form/DocFormScreen.mjs.map +1 -1
  249. package/dist/esm/form/DocFormScreen.native.js +27 -6
  250. package/dist/esm/form/DocFormScreen.native.js.map +1 -1
  251. package/dist/esm/form/FormConnections.mjs +2 -2
  252. package/dist/esm/form/FormConnections.mjs.map +1 -1
  253. package/dist/esm/form/FormConnections.native.js +2 -2
  254. package/dist/esm/form/FormConnections.native.js.map +1 -1
  255. package/dist/esm/form/FormErrorBoundary.mjs +1 -1
  256. package/dist/esm/form/FormErrorBoundary.mjs.map +1 -1
  257. package/dist/esm/form/FormErrorBoundary.native.js +1 -1
  258. package/dist/esm/form/FormErrorBoundary.native.js.map +1 -1
  259. package/dist/esm/form/FormSidebarPanel.mjs +1 -1
  260. package/dist/esm/form/FormSidebarPanel.mjs.map +1 -1
  261. package/dist/esm/form/FormSidebarPanel.native.js +1 -1
  262. package/dist/esm/form/FormSidebarPanel.native.js.map +1 -1
  263. package/dist/esm/form/FormTimeline.mjs +1 -2
  264. package/dist/esm/form/FormTimeline.mjs.map +1 -1
  265. package/dist/esm/form/FormTimeline.native.js +1 -2
  266. package/dist/esm/form/FormTimeline.native.js.map +1 -1
  267. package/dist/esm/form/FormToolbar.mjs +99 -89
  268. package/dist/esm/form/FormToolbar.mjs.map +1 -1
  269. package/dist/esm/form/FormToolbar.native.js +100 -96
  270. package/dist/esm/form/FormToolbar.native.js.map +1 -1
  271. package/dist/esm/formBuilder/DoctypePicker.mjs +64 -0
  272. package/dist/esm/formBuilder/DoctypePicker.mjs.map +1 -0
  273. package/dist/esm/formBuilder/DoctypePicker.native.js +70 -0
  274. package/dist/esm/formBuilder/DoctypePicker.native.js.map +1 -0
  275. package/dist/esm/formBuilder/FieldPalette.mjs +123 -0
  276. package/dist/esm/formBuilder/FieldPalette.mjs.map +1 -0
  277. package/dist/esm/formBuilder/FieldPalette.native.js +137 -0
  278. package/dist/esm/formBuilder/FieldPalette.native.js.map +1 -0
  279. package/dist/esm/formBuilder/FieldPropertiesPanel.mjs +161 -0
  280. package/dist/esm/formBuilder/FieldPropertiesPanel.mjs.map +1 -0
  281. package/dist/esm/formBuilder/FieldPropertiesPanel.native.js +209 -0
  282. package/dist/esm/formBuilder/FieldPropertiesPanel.native.js.map +1 -0
  283. package/dist/esm/formBuilder/FormBuilderCanvas.mjs +382 -0
  284. package/dist/esm/formBuilder/FormBuilderCanvas.mjs.map +1 -0
  285. package/dist/esm/formBuilder/FormBuilderCanvas.native.js +444 -0
  286. package/dist/esm/formBuilder/FormBuilderCanvas.native.js.map +1 -0
  287. package/dist/esm/formBuilder/FormBuilderScreen.mjs +423 -0
  288. package/dist/esm/formBuilder/FormBuilderScreen.mjs.map +1 -0
  289. package/dist/esm/formBuilder/FormBuilderScreen.native.js +509 -0
  290. package/dist/esm/formBuilder/FormBuilderScreen.native.js.map +1 -0
  291. package/dist/esm/formBuilder/api.mjs +129 -0
  292. package/dist/esm/formBuilder/api.mjs.map +1 -0
  293. package/dist/esm/formBuilder/api.native.js +159 -0
  294. package/dist/esm/formBuilder/api.native.js.map +1 -0
  295. package/dist/esm/formBuilder/fieldtypes.mjs +82 -0
  296. package/dist/esm/formBuilder/fieldtypes.mjs.map +1 -0
  297. package/dist/esm/formBuilder/fieldtypes.native.js +98 -0
  298. package/dist/esm/formBuilder/fieldtypes.native.js.map +1 -0
  299. package/dist/esm/formBuilder/index.mjs +6 -0
  300. package/dist/esm/formBuilder/index.mjs.map +1 -0
  301. package/dist/esm/formBuilder/index.native.js +6 -0
  302. package/dist/esm/formBuilder/index.native.js.map +1 -0
  303. package/dist/esm/formBuilder/model.mjs +420 -0
  304. package/dist/esm/formBuilder/model.mjs.map +1 -0
  305. package/dist/esm/formBuilder/model.native.js +665 -0
  306. package/dist/esm/formBuilder/model.native.js.map +1 -0
  307. package/dist/esm/formBuilder/useFormBuilderDrag.mjs +374 -0
  308. package/dist/esm/formBuilder/useFormBuilderDrag.mjs.map +1 -0
  309. package/dist/esm/formBuilder/useFormBuilderDrag.native.js +406 -0
  310. package/dist/esm/formBuilder/useFormBuilderDrag.native.js.map +1 -0
  311. package/dist/esm/i18n/en.mjs +294 -4
  312. package/dist/esm/i18n/en.mjs.map +1 -1
  313. package/dist/esm/i18n/en.native.js +294 -4
  314. package/dist/esm/i18n/en.native.js.map +1 -1
  315. package/dist/esm/index.mjs +3 -2
  316. package/dist/esm/index.mjs.map +1 -1
  317. package/dist/esm/index.native.js +3 -2
  318. package/dist/esm/index.native.js.map +1 -1
  319. package/dist/esm/list/DoctypeListScreen.mjs +150 -46
  320. package/dist/esm/list/DoctypeListScreen.mjs.map +1 -1
  321. package/dist/esm/list/DoctypeListScreen.native.js +167 -59
  322. package/dist/esm/list/DoctypeListScreen.native.js.map +1 -1
  323. package/dist/esm/list/ListFilterBar.mjs +9 -5
  324. package/dist/esm/list/ListFilterBar.mjs.map +1 -1
  325. package/dist/esm/list/ListFilterBar.native.js +9 -5
  326. package/dist/esm/list/ListFilterBar.native.js.map +1 -1
  327. package/dist/esm/list/ListSidebar.mjs +4 -3
  328. package/dist/esm/list/ListSidebar.mjs.map +1 -1
  329. package/dist/esm/list/ListSidebar.native.js +4 -3
  330. package/dist/esm/list/ListSidebar.native.js.map +1 -1
  331. package/dist/esm/list/filter-chips.mjs +10 -4
  332. package/dist/esm/list/filter-chips.mjs.map +1 -1
  333. package/dist/esm/list/filter-chips.native.js +10 -4
  334. package/dist/esm/list/filter-chips.native.js.map +1 -1
  335. package/dist/esm/list/filter-editor.mjs +1 -10
  336. package/dist/esm/list/filter-editor.mjs.map +1 -1
  337. package/dist/esm/list/filter-editor.native.js +1 -10
  338. package/dist/esm/list/filter-editor.native.js.map +1 -1
  339. package/dist/esm/list/filter-saved.mjs +0 -1
  340. package/dist/esm/list/filter-saved.mjs.map +1 -1
  341. package/dist/esm/list/filter-saved.native.js +0 -1
  342. package/dist/esm/list/filter-saved.native.js.map +1 -1
  343. package/dist/esm/list/filter-sort.mjs +0 -1
  344. package/dist/esm/list/filter-sort.mjs.map +1 -1
  345. package/dist/esm/list/filter-sort.native.js +0 -1
  346. package/dist/esm/list/filter-sort.native.js.map +1 -1
  347. package/dist/esm/list/filter-standard.mjs +1 -3
  348. package/dist/esm/list/filter-standard.mjs.map +1 -1
  349. package/dist/esm/list/filter-standard.native.js +1 -3
  350. package/dist/esm/list/filter-standard.native.js.map +1 -1
  351. package/dist/esm/list/list-tools-sheet.mjs +10 -3
  352. package/dist/esm/list/list-tools-sheet.mjs.map +1 -1
  353. package/dist/esm/list/list-tools-sheet.native.js +12 -3
  354. package/dist/esm/list/list-tools-sheet.native.js.map +1 -1
  355. package/dist/esm/navigation/paths.mjs +5 -1
  356. package/dist/esm/navigation/paths.mjs.map +1 -1
  357. package/dist/esm/navigation/paths.native.js +7 -1
  358. package/dist/esm/navigation/paths.native.js.map +1 -1
  359. package/dist/esm/report/QueryReportScreen.mjs +1 -1
  360. package/dist/esm/report/QueryReportScreen.mjs.map +1 -1
  361. package/dist/esm/report/QueryReportScreen.native.js +1 -1
  362. package/dist/esm/report/QueryReportScreen.native.js.map +1 -1
  363. package/dist/esm/report/queryReportFilterBar.mjs +3 -8
  364. package/dist/esm/report/queryReportFilterBar.mjs.map +1 -1
  365. package/dist/esm/report/queryReportFilterBar.native.js +3 -8
  366. package/dist/esm/report/queryReportFilterBar.native.js.map +1 -1
  367. package/dist/esm/shared/sessionUser.mjs +78 -0
  368. package/dist/esm/shared/sessionUser.mjs.map +1 -0
  369. package/dist/esm/shared/sessionUser.native.js +105 -0
  370. package/dist/esm/shared/sessionUser.native.js.map +1 -0
  371. package/dist/esm/shared/useSessionUserId.mjs +2 -26
  372. package/dist/esm/shared/useSessionUserId.mjs.map +1 -1
  373. package/dist/esm/shared/useSessionUserId.native.js +2 -28
  374. package/dist/esm/shared/useSessionUserId.native.js.map +1 -1
  375. package/dist/esm/shell/BackofficeShell.mjs +132 -89
  376. package/dist/esm/shell/BackofficeShell.mjs.map +1 -1
  377. package/dist/esm/shell/BackofficeShell.native.js +149 -102
  378. package/dist/esm/shell/BackofficeShell.native.js.map +1 -1
  379. package/dist/esm/shell/HomeRedirect.mjs +20 -24
  380. package/dist/esm/shell/HomeRedirect.mjs.map +1 -1
  381. package/dist/esm/shell/HomeRedirect.native.js +20 -23
  382. package/dist/esm/shell/HomeRedirect.native.js.map +1 -1
  383. package/dist/esm/shell/WorkspaceSidebar.mjs +55 -27
  384. package/dist/esm/shell/WorkspaceSidebar.mjs.map +1 -1
  385. package/dist/esm/shell/WorkspaceSidebar.native.js +57 -27
  386. package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -1
  387. package/dist/esm/shell/shellSidebarSlot.mjs +3 -0
  388. package/dist/esm/shell/shellSidebarSlot.mjs.map +1 -0
  389. package/dist/esm/shell/shellSidebarSlot.native.js +3 -0
  390. package/dist/esm/shell/shellSidebarSlot.native.js.map +1 -0
  391. package/dist/esm/shell/useWorkspaces.mjs +28 -40
  392. package/dist/esm/shell/useWorkspaces.mjs.map +1 -1
  393. package/dist/esm/shell/useWorkspaces.native.js +30 -44
  394. package/dist/esm/shell/useWorkspaces.native.js.map +1 -1
  395. package/dist/esm/views/DashboardView.mjs +2 -2
  396. package/dist/esm/views/DashboardView.mjs.map +1 -1
  397. package/dist/esm/views/DashboardView.native.js +2 -2
  398. package/dist/esm/views/DashboardView.native.js.map +1 -1
  399. package/dist/esm/views/ImageView.mjs +15 -6
  400. package/dist/esm/views/ImageView.mjs.map +1 -1
  401. package/dist/esm/views/ImageView.native.js +15 -6
  402. package/dist/esm/views/ImageView.native.js.map +1 -1
  403. package/dist/esm/views/ViewHeader.mjs +18 -7
  404. package/dist/esm/views/ViewHeader.mjs.map +1 -1
  405. package/dist/esm/views/ViewHeader.native.js +18 -7
  406. package/dist/esm/views/ViewHeader.native.js.map +1 -1
  407. package/dist/esm/views/ViewSwitcherMenu.mjs +11 -10
  408. package/dist/esm/views/ViewSwitcherMenu.mjs.map +1 -1
  409. package/dist/esm/views/ViewSwitcherMenu.native.js +11 -10
  410. package/dist/esm/views/ViewSwitcherMenu.native.js.map +1 -1
  411. package/dist/esm/views/viewAvailability.mjs +17 -9
  412. package/dist/esm/views/viewAvailability.mjs.map +1 -1
  413. package/dist/esm/views/viewAvailability.native.js +18 -8
  414. package/dist/esm/views/viewAvailability.native.js.map +1 -1
  415. package/dist/esm/views/viewMeta.mjs +23 -1
  416. package/dist/esm/views/viewMeta.mjs.map +1 -1
  417. package/dist/esm/views/viewMeta.native.js +29 -1
  418. package/dist/esm/views/viewMeta.native.js.map +1 -1
  419. package/dist/esm/workspace/WorkspaceChartBlock.mjs +1 -1
  420. package/dist/esm/workspace/WorkspaceChartBlock.mjs.map +1 -1
  421. package/dist/esm/workspace/WorkspaceChartBlock.native.js +1 -1
  422. package/dist/esm/workspace/WorkspaceChartBlock.native.js.map +1 -1
  423. package/dist/esm/workspace/WorkspaceLinkDirectory.mjs +2 -2
  424. package/dist/esm/workspace/WorkspaceLinkDirectory.mjs.map +1 -1
  425. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js +2 -2
  426. package/dist/esm/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  427. package/dist/esm/workspace/WorkspaceRecents.mjs +2 -2
  428. package/dist/esm/workspace/WorkspaceRecents.mjs.map +1 -1
  429. package/dist/esm/workspace/WorkspaceRecents.native.js +2 -2
  430. package/dist/esm/workspace/WorkspaceRecents.native.js.map +1 -1
  431. package/dist/esm/workspace/WorkspaceShortcut.mjs +2 -2
  432. package/dist/esm/workspace/WorkspaceShortcut.mjs.map +1 -1
  433. package/dist/esm/workspace/WorkspaceShortcut.native.js +2 -2
  434. package/dist/esm/workspace/WorkspaceShortcut.native.js.map +1 -1
  435. package/dist/jsx/chrome/BackofficeAwesomebar.mjs +15 -8
  436. package/dist/jsx/chrome/BackofficeAwesomebar.mjs.map +1 -1
  437. package/dist/jsx/chrome/BackofficeAwesomebar.native.js +14 -7
  438. package/dist/jsx/chrome/BackofficeAwesomebar.native.js.map +1 -1
  439. package/dist/jsx/chrome/CommandPalette.mjs +25 -19
  440. package/dist/jsx/chrome/CommandPalette.mjs.map +1 -1
  441. package/dist/jsx/chrome/CommandPalette.native.js +25 -17
  442. package/dist/jsx/chrome/CommandPalette.native.js.map +1 -1
  443. package/dist/jsx/chrome/NotificationsButton.mjs +4 -2
  444. package/dist/jsx/chrome/NotificationsButton.mjs.map +1 -1
  445. package/dist/jsx/chrome/NotificationsButton.native.js +3 -1
  446. package/dist/jsx/chrome/NotificationsButton.native.js.map +1 -1
  447. package/dist/jsx/chrome/UserMenu.mjs +146 -80
  448. package/dist/jsx/chrome/UserMenu.mjs.map +1 -1
  449. package/dist/jsx/chrome/UserMenu.native.js +158 -91
  450. package/dist/jsx/chrome/UserMenu.native.js.map +1 -1
  451. package/dist/jsx/chrome/awesomebar-data.mjs +45 -18
  452. package/dist/jsx/chrome/awesomebar-data.mjs.map +1 -1
  453. package/dist/jsx/chrome/awesomebar-data.native.js +45 -17
  454. package/dist/jsx/chrome/awesomebar-data.native.js.map +1 -1
  455. package/dist/jsx/chrome/command-palette-model.mjs +8 -7
  456. package/dist/jsx/chrome/command-palette-model.mjs.map +1 -1
  457. package/dist/jsx/chrome/command-palette-model.native.js +10 -7
  458. package/dist/jsx/chrome/command-palette-model.native.js.map +1 -1
  459. package/dist/jsx/chrome/notifications-data.mjs +3 -39
  460. package/dist/jsx/chrome/notifications-data.mjs.map +1 -1
  461. package/dist/jsx/chrome/notifications-data.native.js +2 -39
  462. package/dist/jsx/chrome/notifications-data.native.js.map +1 -1
  463. package/dist/jsx/chrome/notifications-panel.mjs +4 -5
  464. package/dist/jsx/chrome/notifications-panel.mjs.map +1 -1
  465. package/dist/jsx/chrome/notifications-panel.native.js +3 -4
  466. package/dist/jsx/chrome/notifications-panel.native.js.map +1 -1
  467. package/dist/jsx/chrome/user-session.mjs +20 -11
  468. package/dist/jsx/chrome/user-session.mjs.map +1 -1
  469. package/dist/jsx/chrome/user-session.native.js +21 -13
  470. package/dist/jsx/chrome/user-session.native.js.map +1 -1
  471. package/dist/jsx/config/BackofficeProvider.mjs +3 -1
  472. package/dist/jsx/config/BackofficeProvider.mjs.map +1 -1
  473. package/dist/jsx/config/BackofficeProvider.native.js +3 -1
  474. package/dist/jsx/config/BackofficeProvider.native.js.map +1 -1
  475. package/dist/jsx/config/capabilities.mjs +3 -0
  476. package/dist/jsx/config/capabilities.mjs.map +1 -1
  477. package/dist/jsx/config/capabilities.native.js +3 -0
  478. package/dist/jsx/config/capabilities.native.js.map +1 -1
  479. package/dist/jsx/desk/Desk.mjs +17 -0
  480. package/dist/jsx/desk/Desk.mjs.map +1 -1
  481. package/dist/jsx/desk/Desk.native.js +17 -0
  482. package/dist/jsx/desk/Desk.native.js.map +1 -1
  483. package/dist/jsx/desk/DeskSurface.mjs +10 -0
  484. package/dist/jsx/desk/DeskSurface.mjs.map +1 -1
  485. package/dist/jsx/desk/DeskSurface.native.js +10 -0
  486. package/dist/jsx/desk/DeskSurface.native.js.map +1 -1
  487. package/dist/jsx/desk/resolveDeskPath.mjs +6 -0
  488. package/dist/jsx/desk/resolveDeskPath.mjs.map +1 -1
  489. package/dist/jsx/desk/resolveDeskPath.native.js +6 -0
  490. package/dist/jsx/desk/resolveDeskPath.native.js.map +1 -1
  491. package/dist/jsx/desk/target.mjs +5 -0
  492. package/dist/jsx/desk/target.mjs.map +1 -1
  493. package/dist/jsx/desk/target.native.js +5 -0
  494. package/dist/jsx/desk/target.native.js.map +1 -1
  495. package/dist/jsx/form/DocFormScreen.mjs +24 -3
  496. package/dist/jsx/form/DocFormScreen.mjs.map +1 -1
  497. package/dist/jsx/form/DocFormScreen.native.js +27 -6
  498. package/dist/jsx/form/DocFormScreen.native.js.map +1 -1
  499. package/dist/jsx/form/FormConnections.mjs +2 -2
  500. package/dist/jsx/form/FormConnections.mjs.map +1 -1
  501. package/dist/jsx/form/FormConnections.native.js +2 -2
  502. package/dist/jsx/form/FormConnections.native.js.map +1 -1
  503. package/dist/jsx/form/FormErrorBoundary.mjs +1 -1
  504. package/dist/jsx/form/FormErrorBoundary.mjs.map +1 -1
  505. package/dist/jsx/form/FormErrorBoundary.native.js +1 -1
  506. package/dist/jsx/form/FormErrorBoundary.native.js.map +1 -1
  507. package/dist/jsx/form/FormSidebarPanel.mjs +1 -1
  508. package/dist/jsx/form/FormSidebarPanel.mjs.map +1 -1
  509. package/dist/jsx/form/FormSidebarPanel.native.js +1 -1
  510. package/dist/jsx/form/FormSidebarPanel.native.js.map +1 -1
  511. package/dist/jsx/form/FormTimeline.mjs +1 -2
  512. package/dist/jsx/form/FormTimeline.mjs.map +1 -1
  513. package/dist/jsx/form/FormTimeline.native.js +1 -2
  514. package/dist/jsx/form/FormTimeline.native.js.map +1 -1
  515. package/dist/jsx/form/FormToolbar.mjs +99 -89
  516. package/dist/jsx/form/FormToolbar.mjs.map +1 -1
  517. package/dist/jsx/form/FormToolbar.native.js +98 -94
  518. package/dist/jsx/form/FormToolbar.native.js.map +1 -1
  519. package/dist/jsx/formBuilder/DoctypePicker.mjs +64 -0
  520. package/dist/jsx/formBuilder/DoctypePicker.mjs.map +1 -0
  521. package/dist/jsx/formBuilder/DoctypePicker.native.js +98 -0
  522. package/dist/jsx/formBuilder/DoctypePicker.native.js.map +1 -0
  523. package/dist/jsx/formBuilder/FieldPalette.mjs +123 -0
  524. package/dist/jsx/formBuilder/FieldPalette.mjs.map +1 -0
  525. package/dist/jsx/formBuilder/FieldPalette.native.js +165 -0
  526. package/dist/jsx/formBuilder/FieldPalette.native.js.map +1 -0
  527. package/dist/jsx/formBuilder/FieldPropertiesPanel.mjs +161 -0
  528. package/dist/jsx/formBuilder/FieldPropertiesPanel.mjs.map +1 -0
  529. package/dist/jsx/formBuilder/FieldPropertiesPanel.native.js +237 -0
  530. package/dist/jsx/formBuilder/FieldPropertiesPanel.native.js.map +1 -0
  531. package/dist/jsx/formBuilder/FormBuilderCanvas.mjs +382 -0
  532. package/dist/jsx/formBuilder/FormBuilderCanvas.mjs.map +1 -0
  533. package/dist/jsx/formBuilder/FormBuilderCanvas.native.js +472 -0
  534. package/dist/jsx/formBuilder/FormBuilderCanvas.native.js.map +1 -0
  535. package/dist/jsx/formBuilder/FormBuilderScreen.mjs +423 -0
  536. package/dist/jsx/formBuilder/FormBuilderScreen.mjs.map +1 -0
  537. package/dist/jsx/formBuilder/FormBuilderScreen.native.js +537 -0
  538. package/dist/jsx/formBuilder/FormBuilderScreen.native.js.map +1 -0
  539. package/dist/jsx/formBuilder/api.mjs +129 -0
  540. package/dist/jsx/formBuilder/api.mjs.map +1 -0
  541. package/dist/jsx/formBuilder/api.native.js +193 -0
  542. package/dist/jsx/formBuilder/api.native.js.map +1 -0
  543. package/dist/jsx/formBuilder/fieldtypes.mjs +82 -0
  544. package/dist/jsx/formBuilder/fieldtypes.mjs.map +1 -0
  545. package/dist/jsx/formBuilder/fieldtypes.native.js +133 -0
  546. package/dist/jsx/formBuilder/fieldtypes.native.js.map +1 -0
  547. package/dist/jsx/formBuilder/index.mjs +6 -0
  548. package/dist/jsx/formBuilder/index.mjs.map +1 -0
  549. package/dist/jsx/formBuilder/index.native.js +71 -0
  550. package/dist/jsx/formBuilder/index.native.js.map +1 -0
  551. package/dist/jsx/formBuilder/model.mjs +420 -0
  552. package/dist/jsx/formBuilder/model.mjs.map +1 -0
  553. package/dist/jsx/formBuilder/model.native.js +714 -0
  554. package/dist/jsx/formBuilder/model.native.js.map +1 -0
  555. package/dist/jsx/formBuilder/useFormBuilderDrag.mjs +374 -0
  556. package/dist/jsx/formBuilder/useFormBuilderDrag.mjs.map +1 -0
  557. package/dist/jsx/formBuilder/useFormBuilderDrag.native.js +434 -0
  558. package/dist/jsx/formBuilder/useFormBuilderDrag.native.js.map +1 -0
  559. package/dist/jsx/i18n/en.mjs +294 -4
  560. package/dist/jsx/i18n/en.mjs.map +1 -1
  561. package/dist/jsx/i18n/en.native.js +294 -4
  562. package/dist/jsx/i18n/en.native.js.map +1 -1
  563. package/dist/jsx/index.js +3 -2
  564. package/dist/jsx/index.js.map +1 -1
  565. package/dist/jsx/index.mjs +3 -2
  566. package/dist/jsx/index.mjs.map +1 -1
  567. package/dist/jsx/index.native.js +40 -0
  568. package/dist/jsx/index.native.js.map +1 -1
  569. package/dist/jsx/list/DoctypeListScreen.mjs +150 -46
  570. package/dist/jsx/list/DoctypeListScreen.mjs.map +1 -1
  571. package/dist/jsx/list/DoctypeListScreen.native.js +164 -56
  572. package/dist/jsx/list/DoctypeListScreen.native.js.map +1 -1
  573. package/dist/jsx/list/ListFilterBar.mjs +9 -5
  574. package/dist/jsx/list/ListFilterBar.mjs.map +1 -1
  575. package/dist/jsx/list/ListFilterBar.native.js +8 -4
  576. package/dist/jsx/list/ListFilterBar.native.js.map +1 -1
  577. package/dist/jsx/list/ListSidebar.mjs +4 -3
  578. package/dist/jsx/list/ListSidebar.mjs.map +1 -1
  579. package/dist/jsx/list/ListSidebar.native.js +4 -3
  580. package/dist/jsx/list/ListSidebar.native.js.map +1 -1
  581. package/dist/jsx/list/filter-chips.mjs +10 -4
  582. package/dist/jsx/list/filter-chips.mjs.map +1 -1
  583. package/dist/jsx/list/filter-chips.native.js +10 -4
  584. package/dist/jsx/list/filter-chips.native.js.map +1 -1
  585. package/dist/jsx/list/filter-editor.mjs +1 -10
  586. package/dist/jsx/list/filter-editor.mjs.map +1 -1
  587. package/dist/jsx/list/filter-editor.native.js +1 -10
  588. package/dist/jsx/list/filter-editor.native.js.map +1 -1
  589. package/dist/jsx/list/filter-saved.mjs +0 -1
  590. package/dist/jsx/list/filter-saved.mjs.map +1 -1
  591. package/dist/jsx/list/filter-saved.native.js +0 -1
  592. package/dist/jsx/list/filter-saved.native.js.map +1 -1
  593. package/dist/jsx/list/filter-sort.mjs +0 -1
  594. package/dist/jsx/list/filter-sort.mjs.map +1 -1
  595. package/dist/jsx/list/filter-sort.native.js +0 -1
  596. package/dist/jsx/list/filter-sort.native.js.map +1 -1
  597. package/dist/jsx/list/filter-standard.mjs +1 -3
  598. package/dist/jsx/list/filter-standard.mjs.map +1 -1
  599. package/dist/jsx/list/filter-standard.native.js +1 -3
  600. package/dist/jsx/list/filter-standard.native.js.map +1 -1
  601. package/dist/jsx/list/list-tools-sheet.mjs +10 -3
  602. package/dist/jsx/list/list-tools-sheet.mjs.map +1 -1
  603. package/dist/jsx/list/list-tools-sheet.native.js +12 -3
  604. package/dist/jsx/list/list-tools-sheet.native.js.map +1 -1
  605. package/dist/jsx/navigation/paths.mjs +5 -1
  606. package/dist/jsx/navigation/paths.mjs.map +1 -1
  607. package/dist/jsx/navigation/paths.native.js +7 -0
  608. package/dist/jsx/navigation/paths.native.js.map +1 -1
  609. package/dist/jsx/report/QueryReportScreen.mjs +1 -1
  610. package/dist/jsx/report/QueryReportScreen.mjs.map +1 -1
  611. package/dist/jsx/report/QueryReportScreen.native.js +1 -1
  612. package/dist/jsx/report/QueryReportScreen.native.js.map +1 -1
  613. package/dist/jsx/report/queryReportFilterBar.mjs +3 -8
  614. package/dist/jsx/report/queryReportFilterBar.mjs.map +1 -1
  615. package/dist/jsx/report/queryReportFilterBar.native.js +3 -8
  616. package/dist/jsx/report/queryReportFilterBar.native.js.map +1 -1
  617. package/dist/jsx/shared/sessionUser.mjs +78 -0
  618. package/dist/jsx/shared/sessionUser.mjs.map +1 -0
  619. package/dist/jsx/shared/sessionUser.native.js +137 -0
  620. package/dist/jsx/shared/sessionUser.native.js.map +1 -0
  621. package/dist/jsx/shared/useSessionUserId.mjs +2 -26
  622. package/dist/jsx/shared/useSessionUserId.mjs.map +1 -1
  623. package/dist/jsx/shared/useSessionUserId.native.js +2 -28
  624. package/dist/jsx/shared/useSessionUserId.native.js.map +1 -1
  625. package/dist/jsx/shell/BackofficeShell.mjs +132 -89
  626. package/dist/jsx/shell/BackofficeShell.mjs.map +1 -1
  627. package/dist/jsx/shell/BackofficeShell.native.js +146 -99
  628. package/dist/jsx/shell/BackofficeShell.native.js.map +1 -1
  629. package/dist/jsx/shell/HomeRedirect.mjs +20 -24
  630. package/dist/jsx/shell/HomeRedirect.mjs.map +1 -1
  631. package/dist/jsx/shell/HomeRedirect.native.js +17 -20
  632. package/dist/jsx/shell/HomeRedirect.native.js.map +1 -1
  633. package/dist/jsx/shell/WorkspaceSidebar.mjs +55 -27
  634. package/dist/jsx/shell/WorkspaceSidebar.mjs.map +1 -1
  635. package/dist/jsx/shell/WorkspaceSidebar.native.js +55 -25
  636. package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -1
  637. package/dist/jsx/shell/shellSidebarSlot.mjs +3 -0
  638. package/dist/jsx/shell/shellSidebarSlot.mjs.map +1 -0
  639. package/dist/jsx/shell/shellSidebarSlot.native.js +34 -0
  640. package/dist/jsx/shell/shellSidebarSlot.native.js.map +1 -0
  641. package/dist/jsx/shell/useWorkspaces.mjs +28 -40
  642. package/dist/jsx/shell/useWorkspaces.mjs.map +1 -1
  643. package/dist/jsx/shell/useWorkspaces.native.js +27 -41
  644. package/dist/jsx/shell/useWorkspaces.native.js.map +1 -1
  645. package/dist/jsx/views/DashboardView.mjs +2 -2
  646. package/dist/jsx/views/DashboardView.mjs.map +1 -1
  647. package/dist/jsx/views/DashboardView.native.js +2 -2
  648. package/dist/jsx/views/DashboardView.native.js.map +1 -1
  649. package/dist/jsx/views/ImageView.mjs +15 -6
  650. package/dist/jsx/views/ImageView.mjs.map +1 -1
  651. package/dist/jsx/views/ImageView.native.js +14 -5
  652. package/dist/jsx/views/ImageView.native.js.map +1 -1
  653. package/dist/jsx/views/ViewHeader.mjs +18 -7
  654. package/dist/jsx/views/ViewHeader.mjs.map +1 -1
  655. package/dist/jsx/views/ViewHeader.native.js +17 -6
  656. package/dist/jsx/views/ViewHeader.native.js.map +1 -1
  657. package/dist/jsx/views/ViewSwitcherMenu.mjs +11 -10
  658. package/dist/jsx/views/ViewSwitcherMenu.mjs.map +1 -1
  659. package/dist/jsx/views/ViewSwitcherMenu.native.js +10 -9
  660. package/dist/jsx/views/ViewSwitcherMenu.native.js.map +1 -1
  661. package/dist/jsx/views/viewAvailability.mjs +17 -9
  662. package/dist/jsx/views/viewAvailability.mjs.map +1 -1
  663. package/dist/jsx/views/viewAvailability.native.js +18 -8
  664. package/dist/jsx/views/viewAvailability.native.js.map +1 -1
  665. package/dist/jsx/views/viewMeta.mjs +23 -1
  666. package/dist/jsx/views/viewMeta.mjs.map +1 -1
  667. package/dist/jsx/views/viewMeta.native.js +30 -1
  668. package/dist/jsx/views/viewMeta.native.js.map +1 -1
  669. package/dist/jsx/workspace/WorkspaceChartBlock.mjs +1 -1
  670. package/dist/jsx/workspace/WorkspaceChartBlock.mjs.map +1 -1
  671. package/dist/jsx/workspace/WorkspaceChartBlock.native.js +1 -1
  672. package/dist/jsx/workspace/WorkspaceChartBlock.native.js.map +1 -1
  673. package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs +2 -2
  674. package/dist/jsx/workspace/WorkspaceLinkDirectory.mjs.map +1 -1
  675. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js +2 -2
  676. package/dist/jsx/workspace/WorkspaceLinkDirectory.native.js.map +1 -1
  677. package/dist/jsx/workspace/WorkspaceRecents.mjs +2 -2
  678. package/dist/jsx/workspace/WorkspaceRecents.mjs.map +1 -1
  679. package/dist/jsx/workspace/WorkspaceRecents.native.js +1 -1
  680. package/dist/jsx/workspace/WorkspaceRecents.native.js.map +1 -1
  681. package/dist/jsx/workspace/WorkspaceShortcut.mjs +2 -2
  682. package/dist/jsx/workspace/WorkspaceShortcut.mjs.map +1 -1
  683. package/dist/jsx/workspace/WorkspaceShortcut.native.js +1 -1
  684. package/dist/jsx/workspace/WorkspaceShortcut.native.js.map +1 -1
  685. package/package.json +12 -12
  686. package/src/backofficeScreens.designLaw.spec.ts +27 -0
  687. package/src/chrome/BackofficeAwesomebar.tsx +18 -9
  688. package/src/chrome/CommandPalette.spec.tsx +31 -0
  689. package/src/chrome/CommandPalette.tsx +47 -31
  690. package/src/chrome/NotificationsButton.screen.spec.tsx +1 -0
  691. package/src/chrome/NotificationsButton.tsx +4 -2
  692. package/src/chrome/UserMenu.screen.spec.tsx +76 -6
  693. package/src/chrome/UserMenu.tsx +174 -110
  694. package/src/chrome/awesomebar-data.tsx +28 -19
  695. package/src/chrome/command-palette-model.spec.tsx +148 -0
  696. package/src/chrome/command-palette-model.ts +13 -5
  697. package/src/chrome/notifications-data.tsx +3 -50
  698. package/src/chrome/notifications-panel.tsx +3 -6
  699. package/src/chrome/user-session.tsx +26 -15
  700. package/src/config/BackofficeProvider.spec.tsx +6 -2
  701. package/src/config/BackofficeProvider.tsx +10 -0
  702. package/src/config/capabilities.spec.ts +13 -0
  703. package/src/config/capabilities.ts +4 -0
  704. package/src/desk/Desk.spec.tsx +48 -0
  705. package/src/desk/Desk.tsx +25 -1
  706. package/src/desk/DeskSurface.spec.tsx +2 -0
  707. package/src/desk/DeskSurface.tsx +8 -0
  708. package/src/desk/resolveDeskPath.spec.ts +20 -0
  709. package/src/desk/resolveDeskPath.ts +6 -1
  710. package/src/desk/target.ts +3 -0
  711. package/src/form/DocFormScreen.guest.screen.spec.tsx +7 -3
  712. package/src/form/DocFormScreen.rights.spec.tsx +113 -8
  713. package/src/form/DocFormScreen.tsx +65 -44
  714. package/src/form/FormConnections.tsx +2 -2
  715. package/src/form/FormErrorBoundary.spec.tsx +2 -3
  716. package/src/form/FormErrorBoundary.tsx +1 -1
  717. package/src/form/FormSidebarPanel.tsx +1 -1
  718. package/src/form/FormTimeline.tsx +0 -1
  719. package/src/form/FormToolbar.screen.spec.tsx +90 -29
  720. package/src/form/FormToolbar.tsx +98 -132
  721. package/src/formBuilder/DoctypePicker.tsx +72 -0
  722. package/src/formBuilder/FieldPalette.tsx +119 -0
  723. package/src/formBuilder/FieldPropertiesPanel.tsx +213 -0
  724. package/src/formBuilder/FormBuilderCanvas.tsx +468 -0
  725. package/src/formBuilder/FormBuilderScreen.screen.spec.tsx +392 -0
  726. package/src/formBuilder/FormBuilderScreen.stories.tsx +122 -0
  727. package/src/formBuilder/FormBuilderScreen.tsx +491 -0
  728. package/src/formBuilder/api.spec.ts +301 -0
  729. package/src/formBuilder/api.ts +198 -0
  730. package/src/formBuilder/fieldtypes.ts +140 -0
  731. package/src/formBuilder/index.ts +58 -0
  732. package/src/formBuilder/model.spec.ts +401 -0
  733. package/src/formBuilder/model.ts +522 -0
  734. package/src/formBuilder/useFormBuilderDrag.spec.tsx +170 -0
  735. package/src/formBuilder/useFormBuilderDrag.ts +498 -0
  736. package/src/i18n/en.ts +293 -3
  737. package/src/index.ts +58 -1
  738. package/src/list/DoctypeListScreen.guest.screen.spec.tsx +144 -4
  739. package/src/list/DoctypeListScreen.tsx +213 -88
  740. package/src/list/ListFilterBar.screen.spec.tsx +1 -1
  741. package/src/list/ListFilterBar.tsx +16 -6
  742. package/src/list/ListSidebar.tsx +11 -2
  743. package/src/list/filter-chips.tsx +19 -4
  744. package/src/list/filter-editor.tsx +1 -10
  745. package/src/list/filter-saved.tsx +0 -1
  746. package/src/list/filter-sort.tsx +0 -1
  747. package/src/list/filter-standard.tsx +1 -3
  748. package/src/list/list-tools-sheet.tsx +32 -13
  749. package/src/navigation/paths.spec.ts +19 -0
  750. package/src/navigation/paths.ts +8 -0
  751. package/src/report/DoctypeReportView.screen.spec.tsx +12 -0
  752. package/src/report/QueryReportScreen.tsx +1 -1
  753. package/src/report/queryReportFilterBar.tsx +0 -5
  754. package/src/shared/sessionUser.spec.tsx +119 -0
  755. package/src/shared/sessionUser.ts +80 -0
  756. package/src/shared/useSessionUserId.ts +2 -40
  757. package/src/shell/BackofficeShell.spec.tsx +115 -3
  758. package/src/shell/BackofficeShell.tsx +186 -116
  759. package/src/shell/HomeRedirect.spec.tsx +89 -0
  760. package/src/shell/HomeRedirect.tsx +31 -20
  761. package/src/shell/WorkspaceSidebar.spec.tsx +15 -0
  762. package/src/shell/WorkspaceSidebar.tsx +58 -29
  763. package/src/shell/shellSidebarSlot.spec.tsx +178 -0
  764. package/src/shell/shellSidebarSlot.tsx +7 -0
  765. package/src/shell/useWorkspaces.spec.tsx +45 -0
  766. package/src/shell/useWorkspaces.ts +27 -62
  767. package/src/views/DashboardView.tsx +2 -2
  768. package/src/views/ImageView.tsx +19 -3
  769. package/src/views/ViewHeader.tsx +13 -14
  770. package/src/views/ViewSwitcherMenu.spec.tsx +3 -0
  771. package/src/views/ViewSwitcherMenu.tsx +11 -10
  772. package/src/views/viewAvailability.spec.ts +45 -12
  773. package/src/views/viewAvailability.ts +27 -24
  774. package/src/views/viewMeta.ts +30 -0
  775. package/src/workspace/WorkspaceChartBlock.tsx +1 -1
  776. package/src/workspace/WorkspaceLinkDirectory.tsx +2 -2
  777. package/src/workspace/WorkspaceRecents.tsx +9 -2
  778. package/src/workspace/WorkspaceShortcut.tsx +12 -2
  779. package/types/chrome/BackofficeAwesomebar.d.ts.map +1 -1
  780. package/types/chrome/CommandPalette.d.ts +7 -1
  781. package/types/chrome/CommandPalette.d.ts.map +1 -1
  782. package/types/chrome/NotificationsButton.d.ts.map +1 -1
  783. package/types/chrome/UserMenu.d.ts.map +1 -1
  784. package/types/chrome/awesomebar-data.d.ts +4 -3
  785. package/types/chrome/awesomebar-data.d.ts.map +1 -1
  786. package/types/chrome/command-palette-model.d.ts +1 -0
  787. package/types/chrome/command-palette-model.d.ts.map +1 -1
  788. package/types/chrome/notifications-data.d.ts.map +1 -1
  789. package/types/chrome/notifications-panel.d.ts.map +1 -1
  790. package/types/chrome/user-session.d.ts.map +1 -1
  791. package/types/config/BackofficeProvider.d.ts +7 -1
  792. package/types/config/BackofficeProvider.d.ts.map +1 -1
  793. package/types/config/capabilities.d.ts +3 -0
  794. package/types/config/capabilities.d.ts.map +1 -1
  795. package/types/desk/Desk.d.ts +2 -1
  796. package/types/desk/Desk.d.ts.map +1 -1
  797. package/types/desk/DeskSurface.d.ts.map +1 -1
  798. package/types/desk/resolveDeskPath.d.ts +4 -1
  799. package/types/desk/resolveDeskPath.d.ts.map +1 -1
  800. package/types/desk/target.d.ts +3 -0
  801. package/types/desk/target.d.ts.map +1 -1
  802. package/types/form/DocFormScreen.d.ts +1 -1
  803. package/types/form/DocFormScreen.d.ts.map +1 -1
  804. package/types/form/FormTimeline.d.ts.map +1 -1
  805. package/types/form/FormToolbar.d.ts +5 -32
  806. package/types/form/FormToolbar.d.ts.map +1 -1
  807. package/types/formBuilder/DoctypePicker.d.ts +2 -0
  808. package/types/formBuilder/DoctypePicker.d.ts.map +1 -0
  809. package/types/formBuilder/FieldPalette.d.ts +6 -0
  810. package/types/formBuilder/FieldPalette.d.ts.map +1 -0
  811. package/types/formBuilder/FieldPropertiesPanel.d.ts +10 -0
  812. package/types/formBuilder/FieldPropertiesPanel.d.ts.map +1 -0
  813. package/types/formBuilder/FormBuilderCanvas.d.ts +17 -0
  814. package/types/formBuilder/FormBuilderCanvas.d.ts.map +1 -0
  815. package/types/formBuilder/FormBuilderScreen.d.ts +7 -0
  816. package/types/formBuilder/FormBuilderScreen.d.ts.map +1 -0
  817. package/types/formBuilder/api.d.ts +32 -0
  818. package/types/formBuilder/api.d.ts.map +1 -0
  819. package/types/formBuilder/fieldtypes.d.ts +21 -0
  820. package/types/formBuilder/fieldtypes.d.ts.map +1 -0
  821. package/types/formBuilder/index.d.ts +5 -0
  822. package/types/formBuilder/index.d.ts.map +1 -0
  823. package/types/formBuilder/model.d.ts +76 -0
  824. package/types/formBuilder/model.d.ts.map +1 -0
  825. package/types/formBuilder/useFormBuilderDrag.d.ts +44 -0
  826. package/types/formBuilder/useFormBuilderDrag.d.ts.map +1 -0
  827. package/types/i18n/en.d.ts +293 -3
  828. package/types/i18n/en.d.ts.map +1 -1
  829. package/types/index.d.ts +4 -3
  830. package/types/index.d.ts.map +1 -1
  831. package/types/list/DoctypeListScreen.d.ts.map +1 -1
  832. package/types/list/ListFilterBar.d.ts +10 -4
  833. package/types/list/ListFilterBar.d.ts.map +1 -1
  834. package/types/list/ListSidebar.d.ts +7 -1
  835. package/types/list/ListSidebar.d.ts.map +1 -1
  836. package/types/list/filter-chips.d.ts +9 -1
  837. package/types/list/filter-chips.d.ts.map +1 -1
  838. package/types/list/filter-saved.d.ts.map +1 -1
  839. package/types/list/filter-sort.d.ts.map +1 -1
  840. package/types/list/list-tools-sheet.d.ts +9 -1
  841. package/types/list/list-tools-sheet.d.ts.map +1 -1
  842. package/types/navigation/paths.d.ts +3 -0
  843. package/types/navigation/paths.d.ts.map +1 -1
  844. package/types/report/queryReportFilterBar.d.ts.map +1 -1
  845. package/types/shared/sessionUser.d.ts +10 -0
  846. package/types/shared/sessionUser.d.ts.map +1 -0
  847. package/types/shared/useSessionUserId.d.ts +0 -4
  848. package/types/shared/useSessionUserId.d.ts.map +1 -1
  849. package/types/shell/BackofficeShell.d.ts +6 -1
  850. package/types/shell/BackofficeShell.d.ts.map +1 -1
  851. package/types/shell/HomeRedirect.d.ts +3 -1
  852. package/types/shell/HomeRedirect.d.ts.map +1 -1
  853. package/types/shell/WorkspaceSidebar.d.ts.map +1 -1
  854. package/types/shell/shellSidebarSlot.d.ts +2 -0
  855. package/types/shell/shellSidebarSlot.d.ts.map +1 -0
  856. package/types/shell/useWorkspaces.d.ts +4 -5
  857. package/types/shell/useWorkspaces.d.ts.map +1 -1
  858. package/types/views/ImageView.d.ts.map +1 -1
  859. package/types/views/ViewHeader.d.ts +1 -10
  860. package/types/views/ViewHeader.d.ts.map +1 -1
  861. package/types/views/ViewSwitcherMenu.d.ts.map +1 -1
  862. package/types/views/viewAvailability.d.ts +12 -15
  863. package/types/views/viewAvailability.d.ts.map +1 -1
  864. package/types/views/viewMeta.d.ts +10 -0
  865. package/types/views/viewMeta.d.ts.map +1 -1
  866. package/types/workspace/WorkspaceRecents.d.ts.map +1 -1
  867. package/types/workspace/WorkspaceShortcut.d.ts.map +1 -1
@@ -10,15 +10,11 @@
10
10
  * BackofficeProvider) — without one the hook settles on an empty, non-loading
11
11
  * result so isolated mounts stay deterministic.
12
12
  */
13
- import {
14
- HttpClient,
15
- useFrappeCollection,
16
- useLiveQuery,
17
- type AuthConfig,
18
- type FixtureProvider,
19
- } from "@multiplatform.one/frappe";
20
- import { useFrappeConfig, type FrappeConfig } from "@multiplatform.one/frappe-ui";
21
- import { useEffect, useMemo, useState } from "react";
13
+ import { useFrappeCollection, useLiveQuery, type FixtureProvider } from "@multiplatform.one/frappe";
14
+ import { isPermissionError, useFrappeConfig } from "@multiplatform.one/frappe-ui";
15
+ import { useMemo, useState } from "react";
16
+ import { useSessionIdentity } from "../shared/sessionUser";
17
+ import { useSessionUserId } from "../shared/useSessionUserId";
22
18
 
23
19
  export interface WorkspaceDoc {
24
20
  name: string;
@@ -49,54 +45,8 @@ const WORKSPACE_FIELDS = [
49
45
  // Session user (module cache — one fetch per session)
50
46
  // ---------------------------------------------------------------------------
51
47
 
52
- const sessionUserCache = new Map<string, Promise<string | undefined>>();
53
-
54
- async function fetchSessionUser(
55
- baseURL: string,
56
- auth?: FrappeConfig["auth"],
57
- ): Promise<string | undefined> {
58
- const client = new HttpClient(baseURL, auth as AuthConfig | undefined);
59
- const res = await client.get<{ message?: string }>("/api/method/frappe.auth.get_logged_user");
60
- const user = res.payload?.message;
61
- return user && user !== "Guest" ? user : undefined;
62
- }
63
-
64
- /**
65
- * The frappe session user ("Administrator", …), or undefined while loading,
66
- * for Guest sessions, in fixture mode, without a provider, or when the
67
- * endpoint is unreachable.
68
- */
69
48
  export function useSessionUser(): string | undefined {
70
- const config = useFrappeConfig();
71
- const baseURL = config?.baseURL;
72
- const auth = config?.auth;
73
- const fixtures = config?.fixtures;
74
- const [user, setUser] = useState<string | undefined>(undefined);
75
-
76
- useEffect(() => {
77
- // Fixture mode has no session endpoint; keep the private section off.
78
- // No provider config → no bench to ask.
79
- if (fixtures || !baseURL) return;
80
- let cancelled = false;
81
- let promise = sessionUserCache.get(baseURL);
82
- if (!promise) {
83
- promise = fetchSessionUser(baseURL, auth).catch(() => {
84
- sessionUserCache.delete(baseURL);
85
- return undefined;
86
- });
87
- sessionUserCache.set(baseURL, promise);
88
- }
89
- promise.then((value) => {
90
- if (!cancelled) setUser(value);
91
- });
92
- return () => {
93
- cancelled = true;
94
- };
95
- // `auth` is session-stable; the cache is keyed by baseURL.
96
- // oxlint-disable-next-line exhaustive-deps
97
- }, [baseURL, fixtures]);
98
-
99
- return user;
49
+ return useSessionUserId();
100
50
  }
101
51
 
102
52
  // ---------------------------------------------------------------------------
@@ -104,6 +54,8 @@ export function useSessionUser(): string | undefined {
104
54
  // ---------------------------------------------------------------------------
105
55
 
106
56
  export interface WorkspacesResult {
57
+ error?: unknown;
58
+ refused: boolean;
107
59
  /** All visible workspaces, sorted by sequence_id. */
108
60
  workspaces: WorkspaceDoc[];
109
61
  /** Session user's private workspaces (desk shows these on top). */
@@ -127,7 +79,8 @@ function bySequence(a: WorkspaceDoc, b: WorkspaceDoc): number {
127
79
 
128
80
  export function useWorkspaces(): WorkspacesResult {
129
81
  const config = useFrappeConfig();
130
- const sessionUser = useSessionUser();
82
+ const { user: sessionUser, resolved: sessionResolved } = useSessionIdentity();
83
+ const [failure, setFailure] = useState<{ connection: unknown; error: unknown }>();
131
84
 
132
85
  // Stable connection config: a fresh object identity per render would
133
86
  // re-run the collection hook's internal effects (DeskSidebar precedent).
@@ -150,7 +103,9 @@ export function useWorkspaces(): WorkspacesResult {
150
103
 
151
104
  const collection = useFrappeCollection<WorkspaceDoc>(connectionConfig, "Workspace", {
152
105
  fields: WORKSPACE_FIELDS as unknown as (keyof WorkspaceDoc & string)[],
106
+ onSyncError: (error) => setFailure({ connection: connectionConfig, error }),
153
107
  });
108
+ const error = failure?.connection === connectionConfig ? failure?.error : undefined;
154
109
  const { data: rawData, isLoading } = useLiveQuery(
155
110
  (q) => (collection ? q.from({ _workspace: collection }) : null),
156
111
  [collection],
@@ -181,15 +136,20 @@ export function useWorkspaces(): WorkspacesResult {
181
136
  }
182
137
 
183
138
  return {
139
+ error,
140
+ refused: isPermissionError(error),
184
141
  workspaces: all,
185
142
  privateWorkspaces,
186
143
  publicRoots,
187
144
  childrenByParent,
188
145
  // No provider config → settle empty instead of skeleting forever.
189
- isLoading: connectionConfig ? Boolean(isLoading) || collection === undefined : false,
146
+ // A refused sync settles, but only once the session identity is known.
147
+ isLoading: connectionConfig
148
+ ? !sessionResolved || (!error && (Boolean(isLoading) || collection === undefined))
149
+ : false,
190
150
  sessionUser,
191
151
  };
192
- }, [rawData, isLoading, collection, connectionConfig, sessionUser]);
152
+ }, [rawData, isLoading, collection, connectionConfig, sessionUser, sessionResolved, error]);
193
153
  }
194
154
 
195
155
  /**
@@ -197,8 +157,13 @@ export function useWorkspaces(): WorkspacesResult {
197
157
  * user's first private workspace, else the first public workspace by
198
158
  * sequence order.
199
159
  */
200
- export function useDefaultWorkspace(): { workspace?: string; isLoading: boolean } {
201
- const { privateWorkspaces, publicRoots, isLoading } = useWorkspaces();
160
+ export function useDefaultWorkspace(): {
161
+ workspace?: string;
162
+ isLoading: boolean;
163
+ error?: unknown;
164
+ refused: boolean;
165
+ } {
166
+ const { privateWorkspaces, publicRoots, isLoading, error, refused } = useWorkspaces();
202
167
  const workspace = privateWorkspaces[0]?.name ?? publicRoots[0]?.name;
203
- return { workspace, isLoading };
168
+ return { workspace, isLoading, error, refused };
204
169
  }
@@ -178,14 +178,14 @@ export function DashboardView({ doctype }: DashboardViewProps) {
178
178
  <ChartSkeletonCard height={CHART_HEIGHT} />
179
179
  ) : weekly.error ? (
180
180
  <AsyncBoundary
181
- compact
181
+ size="$3"
182
182
  error={weekly.error}
183
183
  errorTitle={t("views.weeklyChartFailed", "Couldn't load weekly activity")}
184
184
  onRetry={weekly.refresh}
185
185
  />
186
186
  ) : weekly.isEmpty ? (
187
187
  <AsyncBoundary
188
- compact
188
+ size="$3"
189
189
  empty
190
190
  emptyTitle={t("views.weeklyChartEmpty", "No recent activity")}
191
191
  emptyDescription={t(
@@ -8,7 +8,7 @@ import { useTranslation } from "react-i18next";
8
8
  import { useBackofficeNavigator, useBackofficePaths } from "../config/BackofficeProvider";
9
9
  import { BACKOFFICE_I18N_NAMESPACE } from "../i18n";
10
10
  import { useDeskScope } from "../desk/scope";
11
- import { detectCardFields, detectImageField, useViewMeta, type AnyDoc } from "./viewMeta";
11
+ import { detectCardFields, detectImageField, useViewSource, type AnyDoc } from "./viewMeta";
12
12
  import { ViewError, ViewLoading, ViewUnsupported } from "./ViewStates";
13
13
 
14
14
  // The `one` compiler breaks explicit JSX generics — instantiate once.
@@ -24,9 +24,25 @@ export function ImageView({ doctype }: ImageViewProps) {
24
24
  const deskScope = useDeskScope();
25
25
  const navigator = useBackofficeNavigator();
26
26
  const paths = useBackofficePaths();
27
- const { meta, isLoading: isMetaLoading, error: metaError } = useViewMeta(doctype);
27
+ const {
28
+ layoutMeta: meta,
29
+ loading: isMetaLoading,
30
+ error: metaError,
31
+ metaRefused,
32
+ recordShape,
33
+ } = useViewSource(doctype);
28
34
 
29
- if (isMetaLoading) return <ViewLoading />;
35
+ if (isMetaLoading || (metaRefused && recordShape.status === "pending")) return <ViewLoading />;
36
+ if (metaRefused && !meta)
37
+ return (
38
+ <ViewUnsupported
39
+ doctype={doctype}
40
+ title={t("views.imageNotPermitted", "You can't open the {{doctype}} image view", {
41
+ doctype,
42
+ })}
43
+ description={metaError?.message}
44
+ />
45
+ );
30
46
  if (metaError && !meta) return <ViewError doctype={doctype} error={metaError} />;
31
47
  if (!meta) return <ViewLoading />;
32
48
 
@@ -20,24 +20,23 @@ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n";
20
20
  import type { BackofficeView } from "../navigation/paths";
21
21
  import { deskViewUrl } from "../shared/deskLinks";
22
22
  import { deriveAvailableViews } from "./viewAvailability";
23
- import { useViewMeta } from "./viewMeta";
23
+ import { useViewMeta, useViewSource } from "./viewMeta";
24
24
  import { ViewSwitcherMenu } from "./ViewSwitcherMenu";
25
25
 
26
26
  export { useViewLabels } from "./ViewSwitcherMenu";
27
27
 
28
- /**
29
- * Views this doctype can actually render, derived from meta by
30
- * `deriveAvailableViews` (viewAvailability.ts documents each view's desk
31
- * precondition). The provider's `capabilities.views.allow` gates the offer
32
- * list too. Conditional views stay hidden until meta confirms them;
33
- * `current` is always included so the switcher stays honest about where you
34
- * are (e.g. a deep link to /view/tree on a flat doctype, which renders its
35
- * own unsupported state).
36
- */
37
- export function useAvailableViews(doctype: string, current?: BackofficeView): BackofficeView[] {
38
- const { meta } = useViewMeta(doctype);
28
+ export function useAvailableViews(doctype: string, _current?: BackofficeView): BackofficeView[] {
29
+ const { meta, metaRefused, recordShape } = useViewSource(doctype);
30
+ const { rights } = useDocRights(useFrappeConfig(), meta);
39
31
  const { views } = useBackofficeCapabilities();
40
- return deriveAvailableViews(meta, { current, allow: views.enabled ? views.allow : [] });
32
+ return deriveAvailableViews(
33
+ meta
34
+ ? { kind: "meta", meta, rights }
35
+ : metaRefused && recordShape.fields
36
+ ? { kind: "record", fields: recordShape.fields }
37
+ : undefined,
38
+ { allow: views.enabled ? views.allow : [] },
39
+ );
41
40
  }
42
41
 
43
42
  export interface ViewHeaderProps {
@@ -53,7 +52,7 @@ export function ViewHeader({ doctype, view }: ViewHeaderProps) {
53
52
  const { frappe } = useBackofficeConfig();
54
53
  const { t } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
55
54
  const { knobProps } = useResolvedKnobs();
56
- const availableViews = useAvailableViews(doctype, view);
55
+ const availableViews = useAvailableViews(doctype);
57
56
  const { meta } = useViewMeta(doctype);
58
57
  const { rights } = useDocRights(useFrappeConfig(), meta);
59
58
  // Desk counterpart of this exact view (fixture mode has no desk).
@@ -20,6 +20,9 @@ describe("ViewSwitcherMenu", () => {
20
20
  />,
21
21
  );
22
22
  expect(getByTestId("list-view-switcher")).toBeTruthy();
23
+ for (const icon of getByTestId("list-view-switcher").querySelectorAll("svg")) {
24
+ expect(icon.getAttribute("fill")).not.toBe("currentColor");
25
+ }
23
26
  // Segments would paint every label in the toolbar. The menu keeps them
24
27
  // inside the dropdown — only the current view is visible at rest.
25
28
  expect(queryByText("Report")).toBeNull();
@@ -6,7 +6,7 @@
6
6
  // (calendar month/week/day, Pokemon image/list); seven doctype views as
7
7
  // segments dominated the toolbar. This is the desk shape: one trigger
8
8
  // showing the current view, the rest inside the menu, current check-marked.
9
- import { DropdownMenu, type DropdownMenuEntry } from "@multiplatform.one/components";
9
+ import { DropdownMenu, themed, type DropdownMenuEntry } from "@multiplatform.one/components";
10
10
  import { Button } from "@multiplatform.one/forms";
11
11
  import {
12
12
  CalendarBlankIcon,
@@ -25,14 +25,15 @@ import type { BackofficeView } from "../navigation/paths";
25
25
 
26
26
  /** Phosphor stand-ins for desk's ListViewSelect icon_map. */
27
27
  const VIEW_ICONS: Record<BackofficeView, Icon> = {
28
- list: ListBulletsIcon,
29
- report: ChartBarIcon,
30
- kanban: KanbanIcon,
31
- calendar: CalendarBlankIcon,
32
- tree: TreeStructureIcon,
33
- image: ImageIcon,
34
- dashboard: SquaresFourIcon,
28
+ list: themed(ListBulletsIcon),
29
+ report: themed(ChartBarIcon),
30
+ kanban: themed(KanbanIcon),
31
+ calendar: themed(CalendarBlankIcon),
32
+ tree: themed(TreeStructureIcon),
33
+ image: themed(ImageIcon),
34
+ dashboard: themed(SquaresFourIcon),
35
35
  };
36
+ const ExpandGlyph = themed(CaretDownIcon);
36
37
 
37
38
  export function useViewLabels(): Record<BackofficeView, string> {
38
39
  const { t } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
@@ -68,7 +69,7 @@ export function ViewSwitcherMenu({ views, current, onViewChange }: ViewSwitcherM
68
69
  return {
69
70
  key: candidate,
70
71
  label: labels[candidate],
71
- icon: <ViewIcon size={16} />,
72
+ icon: <ViewIcon size="$3" />,
72
73
  checked: candidate === current,
73
74
  onSelect: () => {
74
75
  if (candidate !== current) onViewChange(candidate);
@@ -81,7 +82,7 @@ export function ViewSwitcherMenu({ views, current, onViewChange }: ViewSwitcherM
81
82
  <Button
82
83
  size="$3"
83
84
  icon={VIEW_ICONS[current]}
84
- iconAfter={CaretDownIcon}
85
+ iconAfter={ExpandGlyph}
85
86
  aria-label={t("views.switchView", "Switch view")}
86
87
  testID="list-view-switcher"
87
88
  >
@@ -2,9 +2,17 @@
2
2
  // bench doctypes whose desk switcher was observed live (frappe 15.8.1,
3
3
  // p-results/audit-view-switcher-meta.md): ToDo, Test Tree Node, Note, User,
4
4
  // Pokemon, Activity Log.
5
+ import { allDocRights } from "@multiplatform.one/frappe-ui";
5
6
  import { describe, expect, it } from "vitest";
6
7
  import type { DoctypeMeta } from "../shared/useDoctypeMeta";
7
- import { deriveAvailableViews, isViewSupported } from "./viewAvailability";
8
+ import { deriveAvailableViews as derive, isViewSupported } from "./viewAvailability";
9
+
10
+ function deriveAvailableViews(
11
+ meta: DoctypeMeta | undefined,
12
+ options: { allow?: readonly import("../navigation/paths").BackofficeView[] } = {},
13
+ ) {
14
+ return derive(meta ? { kind: "meta", meta, rights: allDocRights(true) } : undefined, options);
15
+ }
8
16
 
9
17
  function makeMeta(overrides: Partial<DoctypeMeta> = {}): DoctypeMeta {
10
18
  return { name: "QaDoc", fields: [], ...overrides };
@@ -142,26 +150,51 @@ describe("deriveAvailableViews", () => {
142
150
  expect(deriveAvailableViews(meta)).not.toContain("kanban");
143
151
  });
144
152
 
145
- it("offers only the unconditional views while meta is loading", () => {
146
- expect(deriveAvailableViews(undefined)).toEqual(["list", "report", "dashboard"]);
153
+ it("accepts the published metadata signature without restoring the current-view bypass", () => {
154
+ expect(derive(pokemonLike)).toEqual(["list", "report", "image", "dashboard"]);
155
+ expect(derive(pokemonLike, { current: "tree", allow: ["list", "image"] })).toEqual([
156
+ "list",
157
+ "image",
158
+ ]);
159
+ expect(derive(pokemonLike, { current: "report", allow: [] })).toEqual([]);
160
+ });
161
+
162
+ it("offers nothing until metadata or readable records confirm availability", () => {
163
+ expect(deriveAvailableViews(undefined)).toEqual([]);
147
164
  });
148
165
 
149
- it("always keeps the current view, even when unsupported (honest deep link)", () => {
150
- expect(deriveAvailableViews(noteLike, { current: "tree" })).toEqual([
166
+ it("does not bypass support or the host allowlist for a current route", () => {
167
+ expect(deriveAvailableViews(noteLike)).not.toContain("tree");
168
+ expect(deriveAvailableViews(todoLike, { allow: [] })).toEqual([]);
169
+ expect(deriveAvailableViews(todoLike, { allow: ["list", "kanban"] })).toEqual([
170
+ "list",
171
+ "kanban",
172
+ ]);
173
+ });
174
+
175
+ it("offers the same record-backed views without metadata or desk permissions", () => {
176
+ expect(derive({ kind: "record", fields: pokemonLike.fields })).toEqual([
151
177
  "list",
152
178
  "report",
153
- "tree",
154
- "dashboard",
179
+ "image",
155
180
  ]);
156
- expect(deriveAvailableViews(undefined, { current: "kanban" })).toContain("kanban");
181
+ expect(derive({ kind: "record", fields: noteLike.fields })).toEqual(["list", "report"]);
182
+ expect(
183
+ derive({ kind: "record", fields: pokemonLike.fields }, { allow: ["list", "report"] }),
184
+ ).toEqual(["list", "report"]);
157
185
  });
158
186
 
159
- it("intersects with the host allowlist (current view still wins)", () => {
160
- expect(deriveAvailableViews(todoLike, { allow: ["list", "kanban"] })).toEqual([
187
+ it("withholds views without read rights and reports without report rights", () => {
188
+ const rights = { ...allDocRights(true), report: false };
189
+ expect(derive({ kind: "meta", meta: pokemonLike, rights })).toEqual([
161
190
  "list",
162
- "kanban",
191
+ "image",
192
+ "dashboard",
163
193
  ]);
164
- expect(deriveAvailableViews(todoLike, { allow: [], current: "report" })).toEqual(["report"]);
194
+ expect(derive({ kind: "meta", meta: pokemonLike, rights: { ...rights, read: false } })).toEqual(
195
+ [],
196
+ );
197
+ expect(derive({ kind: "meta", meta: pokemonLike, rights: allDocRights(false) })).toEqual([]);
165
198
  });
166
199
  });
167
200
 
@@ -5,7 +5,8 @@
5
5
  // Desk's per-view conditions, verified against the live bench (getdoctype
6
6
  // RPC payloads + the desk switcher itself — see
7
7
  // p-results/audit-view-switcher-meta.md):
8
- // List / Report / Dashboard — unconditional.
8
+ // List / Report / Dashboard — supported with metadata; session rights
9
+ // and the host allowlist still gate availability.
9
10
  // Tree — frappe.treeview_settings[doctype] (registered by the meta's
10
11
  // `__tree_js` asset) OR meta.is_tree.
11
12
  // Image — meta.image_field only (desk `list_view.meta.image_field`).
@@ -26,11 +27,10 @@
26
27
  // File manager) are out of scope — BACKOFFICE_VIEWS does not contain them.
27
28
  import { BACKOFFICE_VIEWS, type BackofficeView } from "../navigation/paths";
28
29
  import type { DoctypeMeta } from "../shared/useDoctypeMeta";
30
+ import type { DocRights } from "@multiplatform.one/frappe-ui";
31
+ import type { DocFieldMeta } from "../shared/useDoctypeMeta";
29
32
  import { detectSelectField } from "./viewMeta";
30
33
 
31
- /** Views offered for every doctype (desk parity: condition literally true). */
32
- const UNCONDITIONAL_VIEWS: ReadonlySet<BackofficeView> = new Set(["list", "report", "dashboard"]);
33
-
34
34
  /**
35
35
  * Can this doctype render `view` at all? (The meta preconditions above.)
36
36
  * "Supported but unconfigured" — e.g. a Select field but no Kanban Board
@@ -53,33 +53,36 @@ export function isViewSupported(view: BackofficeView, meta: DoctypeMeta): boolea
53
53
  }
54
54
  }
55
55
 
56
+ export type ViewSource =
57
+ | { kind: "meta"; meta: DoctypeMeta; rights: Pick<DocRights, "read" | "report"> }
58
+ | { kind: "record"; fields: readonly DocFieldMeta[] };
59
+
56
60
  export interface DeriveAvailableViewsOptions {
57
- /**
58
- * The view being rendered right now — always kept in the result so the
59
- * switcher stays honest about where you are (e.g. a deep link to
60
- * /view/tree on a flat doctype, which renders its own unsupported state).
61
- */
62
- current?: BackofficeView;
63
- /** Host allowlist (capabilities.views.allow ∩ any per-screen allowlist). */
64
61
  allow?: readonly BackofficeView[];
62
+ current?: BackofficeView;
65
63
  }
66
64
 
67
- /**
68
- * The views a doctype's switcher offers, in canonical BACKOFFICE_VIEWS
69
- * order. Pure: fixture meta in, view list out. While meta is still loading
70
- * (`undefined`), only the unconditional views are offered — conditional
71
- * views stay hidden until meta confirms them rather than flashing in and
72
- * out.
73
- */
74
65
  export function deriveAvailableViews(
75
- meta: DoctypeMeta | undefined,
76
- options: DeriveAvailableViewsOptions = {},
66
+ input: ViewSource | DoctypeMeta | undefined,
67
+ { allow }: DeriveAvailableViewsOptions = {},
77
68
  ): BackofficeView[] {
78
- const { current, allow } = options;
69
+ const source: ViewSource | undefined =
70
+ input &&
71
+ ("kind" in input
72
+ ? (input as ViewSource)
73
+ : { kind: "meta", meta: input, rights: { read: true, report: true } });
74
+ if (!source || (source.kind === "meta" && !source.rights.read)) return [];
79
75
  return BACKOFFICE_VIEWS.filter((candidate) => {
80
- if (candidate === current) return true;
81
76
  if (allow && !allow.includes(candidate)) return false;
82
- if (!meta) return UNCONDITIONAL_VIEWS.has(candidate);
83
- return isViewSupported(candidate, meta);
77
+ if (source.kind === "record") {
78
+ return (
79
+ candidate === "list" ||
80
+ candidate === "report" ||
81
+ (candidate === "image" &&
82
+ source.fields.some((field) => field.fieldtype === "Attach Image" && !field.hidden))
83
+ );
84
+ }
85
+ if (candidate === "report" && !source.rights.report) return false;
86
+ return isViewSupported(candidate, source.meta);
84
87
  });
85
88
  }
@@ -2,6 +2,8 @@
2
2
  // sanctioned backoffice meta loader (shared/useDoctypeMeta: getdoctype RPC,
3
3
  // module-wide cache, fixture branch for stories) — every backoffice surface
4
4
  // shares one meta fetch per doctype per session.
5
+ import { useMemo } from "react";
6
+ import { isPermissionError, useFrappeConfig, useRecordShape } from "@multiplatform.one/frappe-ui";
5
7
  import { useDoctypeMeta, type DocFieldMeta, type DoctypeMeta } from "../shared/useDoctypeMeta";
6
8
 
7
9
  export function useViewMeta(doctype: string): {
@@ -14,6 +16,34 @@ export function useViewMeta(doctype: string): {
14
16
  return { meta, isLoading: loading, error: error ?? null, refetch: reload };
15
17
  }
16
18
 
19
+ export function useViewSource(doctype: string, metaOverride?: DoctypeMeta) {
20
+ const loaded = useDoctypeMeta(metaOverride ? undefined : doctype);
21
+ const meta = metaOverride ?? loaded.meta;
22
+ const metaRefused = !meta && Boolean(loaded.error && isPermissionError(loaded.error));
23
+ const recordShape = useRecordShape(useFrappeConfig(), doctype, metaRefused);
24
+ const layoutMeta = useMemo<DoctypeMeta | undefined>(
25
+ () =>
26
+ meta ??
27
+ (recordShape.fields
28
+ ? {
29
+ name: doctype,
30
+ fields: [...recordShape.fields]
31
+ .sort(
32
+ (a, b) =>
33
+ Number(b.fieldname === "title" || b.fieldname === "name") -
34
+ Number(a.fieldname === "title" || a.fieldname === "name"),
35
+ )
36
+ .map((field, index) => ({
37
+ ...field,
38
+ in_list_view: index < 6 ? (1 as const) : (0 as const),
39
+ })),
40
+ }
41
+ : undefined),
42
+ [meta, recordShape.fields, doctype],
43
+ );
44
+ return { ...loaded, meta, metaRefused, recordShape, layoutMeta };
45
+ }
46
+
17
47
  const DATE_FIELD_TYPES = new Set(["Date", "Datetime"]);
18
48
 
19
49
  function isDateField(field: DocFieldMeta): boolean {
@@ -110,7 +110,7 @@ export function WorkspaceChartBlock({ row }: WorkspaceChartBlockProps) {
110
110
  if (error || !config) {
111
111
  return (
112
112
  <AsyncBoundary
113
- compact
113
+ size="$3"
114
114
  error={error ?? true}
115
115
  errorTitle={t("workspaceChartError", "Couldn't load chart {{title}}", {
116
116
  title,
@@ -108,7 +108,7 @@ export function WorkspaceLinkDirectory({ items }: WorkspaceLinkDirectoryProps) {
108
108
  value={filter}
109
109
  onChange={setFilter}
110
110
  debounceMs={0}
111
- compact
111
+ size="$3"
112
112
  placeholder={t("workspaceFilterLinks", "Filter links...")}
113
113
  aria-label={t("workspaceFilterLinks", "Filter links...")}
114
114
  inputProps={{
@@ -121,7 +121,7 @@ export function WorkspaceLinkDirectory({ items }: WorkspaceLinkDirectoryProps) {
121
121
  </YStack>
122
122
  {filteredItems.length === 0 ? (
123
123
  <EmptyState
124
- compact
124
+ size="$3"
125
125
  title={t("workspaceFilterNoMatch", 'No links match "{{query}}"', {
126
126
  query: filter.trim(),
127
127
  })}
@@ -12,7 +12,14 @@
12
12
  * too) are filtered out so every chip stays navigable in this app.
13
13
  */
14
14
  import { ClockCounterClockwiseIcon } from "@phosphor-icons/react";
15
- import { Card, PageSection, Text, XStack, useTheme } from "@multiplatform.one/components";
15
+ import {
16
+ componentColors,
17
+ Card,
18
+ PageSection,
19
+ Text,
20
+ XStack,
21
+ useTheme,
22
+ } from "@multiplatform.one/components";
16
23
  import {
17
24
  TOUCH_HEIGHT_FLOOR,
18
25
  ensureFocusVisibleRing,
@@ -83,7 +90,7 @@ export function WorkspaceRecents() {
83
90
  padding={0}
84
91
  onPress={() => navigator.navigate(item.path)}
85
92
  cursor="pointer"
86
- hoverStyle={{ borderColor: "$accentBackground" }}
93
+ hoverStyle={{ borderColor: componentColors.selection.ring }}
87
94
  pressStyle={{ scale: 0.98 }}
88
95
  role="link"
89
96
  aria-label={item.label}
@@ -23,7 +23,15 @@ import {
23
23
  SquaresFourIcon,
24
24
  type Icon,
25
25
  } from "@phosphor-icons/react";
26
- import { Card, Chip, Skeleton, Text, XStack, useTheme } from "@multiplatform.one/components";
26
+ import {
27
+ componentColors,
28
+ Card,
29
+ Chip,
30
+ Skeleton,
31
+ Text,
32
+ XStack,
33
+ useTheme,
34
+ } from "@multiplatform.one/components";
27
35
  import { useFrappeAggregate, useFrappeConfig } from "@multiplatform.one/frappe-ui";
28
36
  import { openUrl } from "@multiplatform.one/platform";
29
37
  import {
@@ -208,7 +216,9 @@ export function WorkspaceShortcut({ row, onPress }: WorkspaceShortcutProps) {
208
216
  disabled={target.disabled && !onPress}
209
217
  opacity={target.disabled && !onPress ? 0.5 : 1}
210
218
  cursor={target.disabled && !onPress ? "default" : "pointer"}
211
- hoverStyle={target.disabled && !onPress ? undefined : { borderColor: "$accentBackground" }}
219
+ hoverStyle={
220
+ target.disabled && !onPress ? undefined : { borderColor: componentColors.selection.ring }
221
+ }
212
222
  pressStyle={target.disabled && !onPress ? undefined : { scale: 0.98 }}
213
223
  role="button"
214
224
  aria-label={row.label}
@@ -1 +1 @@
1
- {"version":3,"file":"BackofficeAwesomebar.d.ts","sourceRoot":"","sources":["../../src/chrome/BackofficeAwesomebar.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAMjC,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC,yEAAyE;IACzE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,GAAG,CAAC,0BAA0B,CAAC,CAAC;CAC5C;AAaD,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,GAAE,yBAA8B,2CA+ChF"}
1
+ {"version":3,"file":"BackofficeAwesomebar.d.ts","sourceRoot":"","sources":["../../src/chrome/BackofficeAwesomebar.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAQjC,2EAA2E;AAC3E,MAAM,WAAW,0BAA0B;IACzC,yEAAyE;IACzE,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,MAAM,WAAW,yBAAyB;IACxC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,GAAG,CAAC,0BAA0B,CAAC,CAAC;CAC5C;AAaD,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,GAAE,yBAA8B,2CAqDhF"}
@@ -2,5 +2,11 @@ export interface CommandPaletteProps {
2
2
  open: boolean;
3
3
  onOpenChange: (open: boolean) => void;
4
4
  }
5
- export declare function CommandPalette({ open, onOpenChange }: CommandPaletteProps): import("react/jsx-runtime").JSX.Element;
5
+ /**
6
+ * The palette is a modal of its own, not a part of the top bar it opens
7
+ * from: it resets the Surface ceiling the bar sets (`bar.sizeToken`, `$3`)
8
+ * so its rows keep the default menuRow pitch shared with DropdownMenu and
9
+ * Select (LC-78 bounds nesting, and a modal does not nest in its trigger).
10
+ */
11
+ export declare function CommandPalette(props: CommandPaletteProps): import("react/jsx-runtime").JSX.Element;
6
12
  //# sourceMappingURL=CommandPalette.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../src/chrome/CommandPalette.tsx"],"names":[],"mappings":"AAgEA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,mBAAmB,2CA4SzE"}
1
+ {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../src/chrome/CommandPalette.tsx"],"names":[],"mappings":"AAgEA,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACvC;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAMxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationsButton.d.ts","sourceRoot":"","sources":["../../src/chrome/NotificationsButton.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,mBAAmB,4CAmElC"}
1
+ {"version":3,"file":"NotificationsButton.d.ts","sourceRoot":"","sources":["../../src/chrome/NotificationsButton.tsx"],"names":[],"mappings":"AAyBA,wBAAgB,mBAAmB,4CAoElC"}
@@ -1 +1 @@
1
- {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../src/chrome/UserMenu.tsx"],"names":[],"mappings":"AAqBA,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAE,aAAkB,2CAuJ3D"}
1
+ {"version":3,"file":"UserMenu.d.ts","sourceRoot":"","sources":["../../src/chrome/UserMenu.tsx"],"names":[],"mappings":"AA+BA,MAAM,WAAW,aAAa;IAC5B,mDAAmD;IACnD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,wBAAgB,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAE,aAAkB,2CA6M3D"}