@multiplatform.one/backoffice 6.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +310 -0
  3. package/dist/cjs/chrome/BackofficeAwesomebar.cjs +95 -0
  4. package/dist/cjs/chrome/BackofficeAwesomebar.native.js +106 -0
  5. package/dist/cjs/chrome/BackofficeAwesomebar.native.js.map +1 -0
  6. package/dist/cjs/chrome/CommandPalette.cjs +453 -0
  7. package/dist/cjs/chrome/CommandPalette.native.js +505 -0
  8. package/dist/cjs/chrome/CommandPalette.native.js.map +1 -0
  9. package/dist/cjs/chrome/HelpMenu.cjs +131 -0
  10. package/dist/cjs/chrome/HelpMenu.native.js +145 -0
  11. package/dist/cjs/chrome/HelpMenu.native.js.map +1 -0
  12. package/dist/cjs/chrome/NotificationsButton.cjs +112 -0
  13. package/dist/cjs/chrome/NotificationsButton.native.js +115 -0
  14. package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -0
  15. package/dist/cjs/chrome/UserMenu.cjs +158 -0
  16. package/dist/cjs/chrome/UserMenu.native.js +186 -0
  17. package/dist/cjs/chrome/UserMenu.native.js.map +1 -0
  18. package/dist/cjs/chrome/awesomebar-data.cjs +173 -0
  19. package/dist/cjs/chrome/awesomebar-data.native.js +233 -0
  20. package/dist/cjs/chrome/awesomebar-data.native.js.map +1 -0
  21. package/dist/cjs/chrome/command-palette-model.cjs +208 -0
  22. package/dist/cjs/chrome/command-palette-model.native.js +301 -0
  23. package/dist/cjs/chrome/command-palette-model.native.js.map +1 -0
  24. package/dist/cjs/chrome/help-about-dialog.cjs +136 -0
  25. package/dist/cjs/chrome/help-about-dialog.native.js +146 -0
  26. package/dist/cjs/chrome/help-about-dialog.native.js.map +1 -0
  27. package/dist/cjs/chrome/help-shortcuts-dialog.cjs +155 -0
  28. package/dist/cjs/chrome/help-shortcuts-dialog.native.js +168 -0
  29. package/dist/cjs/chrome/help-shortcuts-dialog.native.js.map +1 -0
  30. package/dist/cjs/chrome/notifications-data.cjs +190 -0
  31. package/dist/cjs/chrome/notifications-data.native.js +271 -0
  32. package/dist/cjs/chrome/notifications-data.native.js.map +1 -0
  33. package/dist/cjs/chrome/notifications-panel.cjs +171 -0
  34. package/dist/cjs/chrome/notifications-panel.native.js +189 -0
  35. package/dist/cjs/chrome/notifications-panel.native.js.map +1 -0
  36. package/dist/cjs/chrome/notifications-utils.cjs +43 -0
  37. package/dist/cjs/chrome/notifications-utils.native.js +46 -0
  38. package/dist/cjs/chrome/notifications-utils.native.js.map +1 -0
  39. package/dist/cjs/chrome/shortcuts.cjs +58 -0
  40. package/dist/cjs/chrome/shortcuts.native.js +72 -0
  41. package/dist/cjs/chrome/shortcuts.native.js.map +1 -0
  42. package/dist/cjs/chrome/user-session.cjs +100 -0
  43. package/dist/cjs/chrome/user-session.native.js +120 -0
  44. package/dist/cjs/chrome/user-session.native.js.map +1 -0
  45. package/dist/cjs/config/BackofficeProvider.cjs +164 -0
  46. package/dist/cjs/config/BackofficeProvider.native.js +217 -0
  47. package/dist/cjs/config/BackofficeProvider.native.js.map +1 -0
  48. package/dist/cjs/config/capabilities.cjs +123 -0
  49. package/dist/cjs/config/capabilities.native.js +155 -0
  50. package/dist/cjs/config/capabilities.native.js.map +1 -0
  51. package/dist/cjs/config/events.cjs +18 -0
  52. package/dist/cjs/config/events.native.js +21 -0
  53. package/dist/cjs/config/events.native.js.map +1 -0
  54. package/dist/cjs/config/slots.cjs +18 -0
  55. package/dist/cjs/config/slots.native.js +21 -0
  56. package/dist/cjs/config/slots.native.js.map +1 -0
  57. package/dist/cjs/i18n/en.cjs +101 -0
  58. package/dist/cjs/i18n/en.native.js +104 -0
  59. package/dist/cjs/i18n/en.native.js.map +1 -0
  60. package/dist/cjs/i18n/index.cjs +77 -0
  61. package/dist/cjs/i18n/index.native.js +102 -0
  62. package/dist/cjs/i18n/index.native.js.map +1 -0
  63. package/dist/cjs/index.cjs +109 -0
  64. package/dist/cjs/index.native.js +112 -0
  65. package/dist/cjs/index.native.js.map +1 -0
  66. package/dist/cjs/navigation/navigator.cjs +144 -0
  67. package/dist/cjs/navigation/navigator.native.js +307 -0
  68. package/dist/cjs/navigation/navigator.native.js.map +1 -0
  69. package/dist/cjs/navigation/paths.cjs +103 -0
  70. package/dist/cjs/navigation/paths.native.js +143 -0
  71. package/dist/cjs/navigation/paths.native.js.map +1 -0
  72. package/dist/cjs/oneAdapter/index.cjs +53 -0
  73. package/dist/cjs/oneAdapter/index.native.js +64 -0
  74. package/dist/cjs/oneAdapter/index.native.js.map +1 -0
  75. package/dist/cjs/shared/useFrappeApp.cjs +56 -0
  76. package/dist/cjs/shared/useFrappeApp.native.js +60 -0
  77. package/dist/cjs/shared/useFrappeApp.native.js.map +1 -0
  78. package/dist/cjs/shell/BackofficeShell.cjs +194 -0
  79. package/dist/cjs/shell/BackofficeShell.native.js +223 -0
  80. package/dist/cjs/shell/BackofficeShell.native.js.map +1 -0
  81. package/dist/cjs/shell/WorkspaceSidebar.cjs +115 -0
  82. package/dist/cjs/shell/WorkspaceSidebar.native.js +143 -0
  83. package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -0
  84. package/dist/cjs/shell/useWorkspaces.cjs +131 -0
  85. package/dist/cjs/shell/useWorkspaces.native.js +173 -0
  86. package/dist/cjs/shell/useWorkspaces.native.js.map +1 -0
  87. package/dist/cjs/shell/workspaceIcons.cjs +64 -0
  88. package/dist/cjs/shell/workspaceIcons.native.js +67 -0
  89. package/dist/cjs/shell/workspaceIcons.native.js.map +1 -0
  90. package/dist/esm/chrome/BackofficeAwesomebar.mjs +70 -0
  91. package/dist/esm/chrome/BackofficeAwesomebar.mjs.map +1 -0
  92. package/dist/esm/chrome/BackofficeAwesomebar.native.js +78 -0
  93. package/dist/esm/chrome/BackofficeAwesomebar.native.js.map +1 -0
  94. package/dist/esm/chrome/CommandPalette.mjs +428 -0
  95. package/dist/esm/chrome/CommandPalette.mjs.map +1 -0
  96. package/dist/esm/chrome/CommandPalette.native.js +477 -0
  97. package/dist/esm/chrome/CommandPalette.native.js.map +1 -0
  98. package/dist/esm/chrome/HelpMenu.mjs +106 -0
  99. package/dist/esm/chrome/HelpMenu.mjs.map +1 -0
  100. package/dist/esm/chrome/HelpMenu.native.js +117 -0
  101. package/dist/esm/chrome/HelpMenu.native.js.map +1 -0
  102. package/dist/esm/chrome/NotificationsButton.mjs +87 -0
  103. package/dist/esm/chrome/NotificationsButton.mjs.map +1 -0
  104. package/dist/esm/chrome/NotificationsButton.native.js +87 -0
  105. package/dist/esm/chrome/NotificationsButton.native.js.map +1 -0
  106. package/dist/esm/chrome/UserMenu.mjs +133 -0
  107. package/dist/esm/chrome/UserMenu.mjs.map +1 -0
  108. package/dist/esm/chrome/UserMenu.native.js +147 -0
  109. package/dist/esm/chrome/UserMenu.native.js.map +1 -0
  110. package/dist/esm/chrome/awesomebar-data.mjs +144 -0
  111. package/dist/esm/chrome/awesomebar-data.mjs.map +1 -0
  112. package/dist/esm/chrome/awesomebar-data.native.js +190 -0
  113. package/dist/esm/chrome/awesomebar-data.native.js.map +1 -0
  114. package/dist/esm/chrome/command-palette-model.mjs +183 -0
  115. package/dist/esm/chrome/command-palette-model.mjs.map +1 -0
  116. package/dist/esm/chrome/command-palette-model.native.js +273 -0
  117. package/dist/esm/chrome/command-palette-model.native.js.map +1 -0
  118. package/dist/esm/chrome/help-about-dialog.mjs +111 -0
  119. package/dist/esm/chrome/help-about-dialog.mjs.map +1 -0
  120. package/dist/esm/chrome/help-about-dialog.native.js +118 -0
  121. package/dist/esm/chrome/help-about-dialog.native.js.map +1 -0
  122. package/dist/esm/chrome/help-shortcuts-dialog.mjs +130 -0
  123. package/dist/esm/chrome/help-shortcuts-dialog.mjs.map +1 -0
  124. package/dist/esm/chrome/help-shortcuts-dialog.native.js +140 -0
  125. package/dist/esm/chrome/help-shortcuts-dialog.native.js.map +1 -0
  126. package/dist/esm/chrome/notifications-data.mjs +165 -0
  127. package/dist/esm/chrome/notifications-data.mjs.map +1 -0
  128. package/dist/esm/chrome/notifications-data.native.js +232 -0
  129. package/dist/esm/chrome/notifications-data.native.js.map +1 -0
  130. package/dist/esm/chrome/notifications-panel.mjs +146 -0
  131. package/dist/esm/chrome/notifications-panel.mjs.map +1 -0
  132. package/dist/esm/chrome/notifications-panel.native.js +161 -0
  133. package/dist/esm/chrome/notifications-panel.native.js.map +1 -0
  134. package/dist/esm/chrome/notifications-utils.mjs +17 -0
  135. package/dist/esm/chrome/notifications-utils.mjs.map +1 -0
  136. package/dist/esm/chrome/notifications-utils.native.js +17 -0
  137. package/dist/esm/chrome/notifications-utils.native.js.map +1 -0
  138. package/dist/esm/chrome/shortcuts.mjs +33 -0
  139. package/dist/esm/chrome/shortcuts.mjs.map +1 -0
  140. package/dist/esm/chrome/shortcuts.native.js +44 -0
  141. package/dist/esm/chrome/shortcuts.native.js.map +1 -0
  142. package/dist/esm/chrome/user-session.mjs +73 -0
  143. package/dist/esm/chrome/user-session.mjs.map +1 -0
  144. package/dist/esm/chrome/user-session.native.js +79 -0
  145. package/dist/esm/chrome/user-session.native.js.map +1 -0
  146. package/dist/esm/config/BackofficeProvider.mjs +132 -0
  147. package/dist/esm/config/BackofficeProvider.mjs.map +1 -0
  148. package/dist/esm/config/BackofficeProvider.native.js +171 -0
  149. package/dist/esm/config/BackofficeProvider.native.js.map +1 -0
  150. package/dist/esm/config/capabilities.mjs +97 -0
  151. package/dist/esm/config/capabilities.mjs.map +1 -0
  152. package/dist/esm/config/capabilities.native.js +126 -0
  153. package/dist/esm/config/capabilities.native.js.map +1 -0
  154. package/dist/esm/config/events.mjs +2 -0
  155. package/dist/esm/config/events.mjs.map +1 -0
  156. package/dist/esm/config/events.native.js +2 -0
  157. package/dist/esm/config/events.native.js.map +1 -0
  158. package/dist/esm/config/slots.mjs +2 -0
  159. package/dist/esm/config/slots.mjs.map +1 -0
  160. package/dist/esm/config/slots.native.js +2 -0
  161. package/dist/esm/config/slots.native.js.map +1 -0
  162. package/dist/esm/i18n/en.mjs +76 -0
  163. package/dist/esm/i18n/en.mjs.map +1 -0
  164. package/dist/esm/i18n/en.native.js +76 -0
  165. package/dist/esm/i18n/en.native.js.map +1 -0
  166. package/dist/esm/i18n/index.mjs +40 -0
  167. package/dist/esm/i18n/index.mjs.map +1 -0
  168. package/dist/esm/i18n/index.native.js +62 -0
  169. package/dist/esm/i18n/index.native.js.map +1 -0
  170. package/dist/esm/index.mjs +26 -0
  171. package/dist/esm/index.mjs.map +1 -0
  172. package/dist/esm/index.native.js +26 -0
  173. package/dist/esm/index.native.js.map +1 -0
  174. package/dist/esm/navigation/navigator.mjs +115 -0
  175. package/dist/esm/navigation/navigator.mjs.map +1 -0
  176. package/dist/esm/navigation/navigator.native.js +275 -0
  177. package/dist/esm/navigation/navigator.native.js.map +1 -0
  178. package/dist/esm/navigation/paths.mjs +66 -0
  179. package/dist/esm/navigation/paths.mjs.map +1 -0
  180. package/dist/esm/navigation/paths.native.js +103 -0
  181. package/dist/esm/navigation/paths.native.js.map +1 -0
  182. package/dist/esm/oneAdapter/index.mjs +28 -0
  183. package/dist/esm/oneAdapter/index.mjs.map +1 -0
  184. package/dist/esm/oneAdapter/index.native.js +36 -0
  185. package/dist/esm/oneAdapter/index.native.js.map +1 -0
  186. package/dist/esm/shared/useFrappeApp.mjs +31 -0
  187. package/dist/esm/shared/useFrappeApp.mjs.map +1 -0
  188. package/dist/esm/shared/useFrappeApp.native.js +32 -0
  189. package/dist/esm/shared/useFrappeApp.native.js.map +1 -0
  190. package/dist/esm/shell/BackofficeShell.mjs +169 -0
  191. package/dist/esm/shell/BackofficeShell.mjs.map +1 -0
  192. package/dist/esm/shell/BackofficeShell.native.js +195 -0
  193. package/dist/esm/shell/BackofficeShell.native.js.map +1 -0
  194. package/dist/esm/shell/WorkspaceSidebar.mjs +89 -0
  195. package/dist/esm/shell/WorkspaceSidebar.mjs.map +1 -0
  196. package/dist/esm/shell/WorkspaceSidebar.native.js +114 -0
  197. package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -0
  198. package/dist/esm/shell/useWorkspaces.mjs +104 -0
  199. package/dist/esm/shell/useWorkspaces.mjs.map +1 -0
  200. package/dist/esm/shell/useWorkspaces.native.js +143 -0
  201. package/dist/esm/shell/useWorkspaces.native.js.map +1 -0
  202. package/dist/esm/shell/workspaceIcons.mjs +39 -0
  203. package/dist/esm/shell/workspaceIcons.mjs.map +1 -0
  204. package/dist/esm/shell/workspaceIcons.native.js +39 -0
  205. package/dist/esm/shell/workspaceIcons.native.js.map +1 -0
  206. package/dist/jsx/chrome/BackofficeAwesomebar.mjs +70 -0
  207. package/dist/jsx/chrome/BackofficeAwesomebar.mjs.map +1 -0
  208. package/dist/jsx/chrome/BackofficeAwesomebar.native.js +106 -0
  209. package/dist/jsx/chrome/BackofficeAwesomebar.native.js.map +1 -0
  210. package/dist/jsx/chrome/CommandPalette.mjs +428 -0
  211. package/dist/jsx/chrome/CommandPalette.mjs.map +1 -0
  212. package/dist/jsx/chrome/CommandPalette.native.js +505 -0
  213. package/dist/jsx/chrome/CommandPalette.native.js.map +1 -0
  214. package/dist/jsx/chrome/HelpMenu.mjs +106 -0
  215. package/dist/jsx/chrome/HelpMenu.mjs.map +1 -0
  216. package/dist/jsx/chrome/HelpMenu.native.js +145 -0
  217. package/dist/jsx/chrome/HelpMenu.native.js.map +1 -0
  218. package/dist/jsx/chrome/NotificationsButton.mjs +87 -0
  219. package/dist/jsx/chrome/NotificationsButton.mjs.map +1 -0
  220. package/dist/jsx/chrome/NotificationsButton.native.js +115 -0
  221. package/dist/jsx/chrome/NotificationsButton.native.js.map +1 -0
  222. package/dist/jsx/chrome/UserMenu.mjs +133 -0
  223. package/dist/jsx/chrome/UserMenu.mjs.map +1 -0
  224. package/dist/jsx/chrome/UserMenu.native.js +186 -0
  225. package/dist/jsx/chrome/UserMenu.native.js.map +1 -0
  226. package/dist/jsx/chrome/awesomebar-data.mjs +144 -0
  227. package/dist/jsx/chrome/awesomebar-data.mjs.map +1 -0
  228. package/dist/jsx/chrome/awesomebar-data.native.js +233 -0
  229. package/dist/jsx/chrome/awesomebar-data.native.js.map +1 -0
  230. package/dist/jsx/chrome/command-palette-model.mjs +183 -0
  231. package/dist/jsx/chrome/command-palette-model.mjs.map +1 -0
  232. package/dist/jsx/chrome/command-palette-model.native.js +301 -0
  233. package/dist/jsx/chrome/command-palette-model.native.js.map +1 -0
  234. package/dist/jsx/chrome/help-about-dialog.mjs +111 -0
  235. package/dist/jsx/chrome/help-about-dialog.mjs.map +1 -0
  236. package/dist/jsx/chrome/help-about-dialog.native.js +146 -0
  237. package/dist/jsx/chrome/help-about-dialog.native.js.map +1 -0
  238. package/dist/jsx/chrome/help-shortcuts-dialog.mjs +130 -0
  239. package/dist/jsx/chrome/help-shortcuts-dialog.mjs.map +1 -0
  240. package/dist/jsx/chrome/help-shortcuts-dialog.native.js +168 -0
  241. package/dist/jsx/chrome/help-shortcuts-dialog.native.js.map +1 -0
  242. package/dist/jsx/chrome/notifications-data.mjs +165 -0
  243. package/dist/jsx/chrome/notifications-data.mjs.map +1 -0
  244. package/dist/jsx/chrome/notifications-data.native.js +271 -0
  245. package/dist/jsx/chrome/notifications-data.native.js.map +1 -0
  246. package/dist/jsx/chrome/notifications-panel.mjs +146 -0
  247. package/dist/jsx/chrome/notifications-panel.mjs.map +1 -0
  248. package/dist/jsx/chrome/notifications-panel.native.js +189 -0
  249. package/dist/jsx/chrome/notifications-panel.native.js.map +1 -0
  250. package/dist/jsx/chrome/notifications-utils.mjs +17 -0
  251. package/dist/jsx/chrome/notifications-utils.mjs.map +1 -0
  252. package/dist/jsx/chrome/notifications-utils.native.js +46 -0
  253. package/dist/jsx/chrome/notifications-utils.native.js.map +1 -0
  254. package/dist/jsx/chrome/shortcuts.mjs +33 -0
  255. package/dist/jsx/chrome/shortcuts.mjs.map +1 -0
  256. package/dist/jsx/chrome/shortcuts.native.js +72 -0
  257. package/dist/jsx/chrome/shortcuts.native.js.map +1 -0
  258. package/dist/jsx/chrome/user-session.mjs +73 -0
  259. package/dist/jsx/chrome/user-session.mjs.map +1 -0
  260. package/dist/jsx/chrome/user-session.native.js +120 -0
  261. package/dist/jsx/chrome/user-session.native.js.map +1 -0
  262. package/dist/jsx/config/BackofficeProvider.mjs +132 -0
  263. package/dist/jsx/config/BackofficeProvider.mjs.map +1 -0
  264. package/dist/jsx/config/BackofficeProvider.native.js +217 -0
  265. package/dist/jsx/config/BackofficeProvider.native.js.map +1 -0
  266. package/dist/jsx/config/capabilities.mjs +97 -0
  267. package/dist/jsx/config/capabilities.mjs.map +1 -0
  268. package/dist/jsx/config/capabilities.native.js +155 -0
  269. package/dist/jsx/config/capabilities.native.js.map +1 -0
  270. package/dist/jsx/config/events.mjs +2 -0
  271. package/dist/jsx/config/events.mjs.map +1 -0
  272. package/dist/jsx/config/events.native.js +21 -0
  273. package/dist/jsx/config/events.native.js.map +1 -0
  274. package/dist/jsx/config/slots.mjs +2 -0
  275. package/dist/jsx/config/slots.mjs.map +1 -0
  276. package/dist/jsx/config/slots.native.js +21 -0
  277. package/dist/jsx/config/slots.native.js.map +1 -0
  278. package/dist/jsx/i18n/en.mjs +76 -0
  279. package/dist/jsx/i18n/en.mjs.map +1 -0
  280. package/dist/jsx/i18n/en.native.js +104 -0
  281. package/dist/jsx/i18n/en.native.js.map +1 -0
  282. package/dist/jsx/i18n/index.mjs +40 -0
  283. package/dist/jsx/i18n/index.mjs.map +1 -0
  284. package/dist/jsx/i18n/index.native.js +102 -0
  285. package/dist/jsx/i18n/index.native.js.map +1 -0
  286. package/dist/jsx/index.js +26 -0
  287. package/dist/jsx/index.js.map +1 -0
  288. package/dist/jsx/index.mjs +26 -0
  289. package/dist/jsx/index.mjs.map +1 -0
  290. package/dist/jsx/index.native.js +112 -0
  291. package/dist/jsx/index.native.js.map +1 -0
  292. package/dist/jsx/navigation/navigator.mjs +115 -0
  293. package/dist/jsx/navigation/navigator.mjs.map +1 -0
  294. package/dist/jsx/navigation/navigator.native.js +307 -0
  295. package/dist/jsx/navigation/navigator.native.js.map +1 -0
  296. package/dist/jsx/navigation/paths.mjs +66 -0
  297. package/dist/jsx/navigation/paths.mjs.map +1 -0
  298. package/dist/jsx/navigation/paths.native.js +143 -0
  299. package/dist/jsx/navigation/paths.native.js.map +1 -0
  300. package/dist/jsx/oneAdapter/index.mjs +28 -0
  301. package/dist/jsx/oneAdapter/index.mjs.map +1 -0
  302. package/dist/jsx/oneAdapter/index.native.js +64 -0
  303. package/dist/jsx/oneAdapter/index.native.js.map +1 -0
  304. package/dist/jsx/shared/useFrappeApp.mjs +31 -0
  305. package/dist/jsx/shared/useFrappeApp.mjs.map +1 -0
  306. package/dist/jsx/shared/useFrappeApp.native.js +60 -0
  307. package/dist/jsx/shared/useFrappeApp.native.js.map +1 -0
  308. package/dist/jsx/shell/BackofficeShell.mjs +169 -0
  309. package/dist/jsx/shell/BackofficeShell.mjs.map +1 -0
  310. package/dist/jsx/shell/BackofficeShell.native.js +223 -0
  311. package/dist/jsx/shell/BackofficeShell.native.js.map +1 -0
  312. package/dist/jsx/shell/WorkspaceSidebar.mjs +89 -0
  313. package/dist/jsx/shell/WorkspaceSidebar.mjs.map +1 -0
  314. package/dist/jsx/shell/WorkspaceSidebar.native.js +143 -0
  315. package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -0
  316. package/dist/jsx/shell/useWorkspaces.mjs +104 -0
  317. package/dist/jsx/shell/useWorkspaces.mjs.map +1 -0
  318. package/dist/jsx/shell/useWorkspaces.native.js +173 -0
  319. package/dist/jsx/shell/useWorkspaces.native.js.map +1 -0
  320. package/dist/jsx/shell/workspaceIcons.mjs +39 -0
  321. package/dist/jsx/shell/workspaceIcons.mjs.map +1 -0
  322. package/dist/jsx/shell/workspaceIcons.native.js +67 -0
  323. package/dist/jsx/shell/workspaceIcons.native.js.map +1 -0
  324. package/package.json +123 -0
  325. package/src/chrome/BackofficeAwesomebar.tsx +89 -0
  326. package/src/chrome/CommandPalette.spec.tsx +252 -0
  327. package/src/chrome/CommandPalette.tsx +520 -0
  328. package/src/chrome/HelpMenu.tsx +119 -0
  329. package/src/chrome/NotificationsButton.tsx +87 -0
  330. package/src/chrome/UserMenu.tsx +173 -0
  331. package/src/chrome/awesomebar-data.tsx +252 -0
  332. package/src/chrome/command-palette-model.ts +291 -0
  333. package/src/chrome/help-about-dialog.tsx +130 -0
  334. package/src/chrome/help-shortcuts-dialog.tsx +144 -0
  335. package/src/chrome/notifications-data.tsx +287 -0
  336. package/src/chrome/notifications-panel.tsx +175 -0
  337. package/src/chrome/notifications-utils.tsx +44 -0
  338. package/src/chrome/shortcuts.ts +53 -0
  339. package/src/chrome/user-session.tsx +116 -0
  340. package/src/config/BackofficeProvider.spec.tsx +126 -0
  341. package/src/config/BackofficeProvider.tsx +315 -0
  342. package/src/config/capabilities.ts +172 -0
  343. package/src/config/events.ts +19 -0
  344. package/src/config/slots.ts +28 -0
  345. package/src/i18n/en.ts +83 -0
  346. package/src/i18n/index.ts +69 -0
  347. package/src/index.ts +150 -0
  348. package/src/navigation/navigator.spec.ts +106 -0
  349. package/src/navigation/navigator.ts +209 -0
  350. package/src/navigation/paths.ts +146 -0
  351. package/src/oneAdapter/index.tsx +61 -0
  352. package/src/shared/useFrappeApp.ts +39 -0
  353. package/src/shell/BackofficeShell.tsx +222 -0
  354. package/src/shell/WorkspaceSidebar.tsx +119 -0
  355. package/src/shell/useWorkspaces.ts +202 -0
  356. package/src/shell/workspaceIcons.ts +76 -0
  357. package/types/chrome/BackofficeAwesomebar.d.ts +12 -0
  358. package/types/chrome/BackofficeAwesomebar.d.ts.map +1 -0
  359. package/types/chrome/CommandPalette.d.ts +6 -0
  360. package/types/chrome/CommandPalette.d.ts.map +1 -0
  361. package/types/chrome/HelpMenu.d.ts +2 -0
  362. package/types/chrome/HelpMenu.d.ts.map +1 -0
  363. package/types/chrome/NotificationsButton.d.ts +2 -0
  364. package/types/chrome/NotificationsButton.d.ts.map +1 -0
  365. package/types/chrome/UserMenu.d.ts +6 -0
  366. package/types/chrome/UserMenu.d.ts.map +1 -0
  367. package/types/chrome/awesomebar-data.d.ts +52 -0
  368. package/types/chrome/awesomebar-data.d.ts.map +1 -0
  369. package/types/chrome/command-palette-model.d.ts +47 -0
  370. package/types/chrome/command-palette-model.d.ts.map +1 -0
  371. package/types/chrome/help-about-dialog.d.ts +12 -0
  372. package/types/chrome/help-about-dialog.d.ts.map +1 -0
  373. package/types/chrome/help-shortcuts-dialog.d.ts +6 -0
  374. package/types/chrome/help-shortcuts-dialog.d.ts.map +1 -0
  375. package/types/chrome/notifications-data.d.ts +34 -0
  376. package/types/chrome/notifications-data.d.ts.map +1 -0
  377. package/types/chrome/notifications-panel.d.ts +11 -0
  378. package/types/chrome/notifications-panel.d.ts.map +1 -0
  379. package/types/chrome/notifications-utils.d.ts +21 -0
  380. package/types/chrome/notifications-utils.d.ts.map +1 -0
  381. package/types/chrome/shortcuts.d.ts +6 -0
  382. package/types/chrome/shortcuts.d.ts.map +1 -0
  383. package/types/chrome/user-session.d.ts +19 -0
  384. package/types/chrome/user-session.d.ts.map +1 -0
  385. package/types/config/BackofficeProvider.d.ts +128 -0
  386. package/types/config/BackofficeProvider.d.ts.map +1 -0
  387. package/types/config/capabilities.d.ts +109 -0
  388. package/types/config/capabilities.d.ts.map +1 -0
  389. package/types/config/events.d.ts +39 -0
  390. package/types/config/events.d.ts.map +1 -0
  391. package/types/config/slots.d.ts +32 -0
  392. package/types/config/slots.d.ts.map +1 -0
  393. package/types/i18n/en.d.ts +83 -0
  394. package/types/i18n/en.d.ts.map +1 -0
  395. package/types/i18n/index.d.ts +27 -0
  396. package/types/i18n/index.d.ts.map +1 -0
  397. package/types/index.d.ts +55 -0
  398. package/types/index.d.ts.map +1 -0
  399. package/types/navigation/navigator.d.ts +98 -0
  400. package/types/navigation/navigator.d.ts.map +1 -0
  401. package/types/navigation/paths.d.ts +60 -0
  402. package/types/navigation/paths.d.ts.map +1 -0
  403. package/types/oneAdapter/index.d.ts +8 -0
  404. package/types/oneAdapter/index.d.ts.map +1 -0
  405. package/types/shared/useFrappeApp.d.ts +10 -0
  406. package/types/shared/useFrappeApp.d.ts.map +1 -0
  407. package/types/shell/BackofficeShell.d.ts +10 -0
  408. package/types/shell/BackofficeShell.d.ts.map +1 -0
  409. package/types/shell/WorkspaceSidebar.d.ts +9 -0
  410. package/types/shell/WorkspaceSidebar.d.ts.map +1 -0
  411. package/types/shell/useWorkspaces.d.ts +43 -0
  412. package/types/shell/useWorkspaces.d.ts.map +1 -0
  413. package/types/shell/workspaceIcons.d.ts +9 -0
  414. package/types/shell/workspaceIcons.d.ts.map +1 -0
@@ -0,0 +1,183 @@
1
+ import { ClockIcon, FileTextIcon, GlobeIcon, KanbanIcon, ListIcon, PlusIcon, TableIcon } from "@phosphor-icons/react";
2
+ import { useEffect, useMemo, useState } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import { useBackofficeCapabilities, useBackofficePaths, useIsDoctypeAllowed } from "../config/BackofficeProvider.mjs";
5
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
6
+ import { rankNameMatches, readRecentItems, toContentSnippet, useAwesomebarCatalog, useGlobalSearch } from "./awesomebar-data.mjs";
7
+ const maxRecentsEmptyQuery = 8;
8
+ const maxRecentsWithQuery = 4;
9
+ const maxNavWorkspaces = 4;
10
+ const maxNavDoctypes = 4;
11
+ const actionViews = ["list", "report", "kanban"];
12
+ const actionViewIcons = {
13
+ list: ListIcon,
14
+ report: TableIcon,
15
+ kanban: KanbanIcon
16
+ };
17
+ const actionViewLabelKeys = {
18
+ list: {
19
+ key: "awesomebar.listCommand",
20
+ defaultValue: "{{doctype}} List"
21
+ },
22
+ report: {
23
+ key: "awesomebar.reportCommand",
24
+ defaultValue: "{{doctype}} Report"
25
+ },
26
+ kanban: {
27
+ key: "awesomebar.kanbanCommand",
28
+ defaultValue: "{{doctype}} Kanban"
29
+ }
30
+ };
31
+ function useCommandPaletteModel({
32
+ query,
33
+ debouncedQuery,
34
+ open
35
+ }) {
36
+ const {
37
+ t
38
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
39
+ const paths = useBackofficePaths();
40
+ const capabilities = useBackofficeCapabilities();
41
+ const isDoctypeAllowed = useIsDoctypeAllowed();
42
+ const {
43
+ catalog
44
+ } = useAwesomebarCatalog();
45
+ const {
46
+ hits,
47
+ searching
48
+ } = useGlobalSearch(debouncedQuery);
49
+ const [recents, setRecents] = useState([]);
50
+ useEffect(() => {
51
+ if (!open) return;
52
+ let cancelled = false;
53
+ void readRecentItems().then(stored => {
54
+ if (!cancelled) setRecents(stored);
55
+ });
56
+ return () => {
57
+ cancelled = true;
58
+ };
59
+ }, [open]);
60
+ const trimmed = query.trim();
61
+ const sections = useMemo(() => {
62
+ const next = [];
63
+ const lowerQuery = trimmed.toLowerCase();
64
+ const matchingRecents = trimmed ? recents.filter(recent => recent.label.toLowerCase().includes(lowerQuery)).slice(0, maxRecentsWithQuery) : recents.slice(0, maxRecentsEmptyQuery);
65
+ if (matchingRecents.length > 0) {
66
+ next.push({
67
+ id: "recents",
68
+ label: t("awesomebar.recents", "Recents"),
69
+ items: matchingRecents.map(recent => ({
70
+ id: `recent:${recent.path}`,
71
+ label: recent.label,
72
+ path: recent.path,
73
+ icon: ClockIcon
74
+ }))
75
+ });
76
+ }
77
+ if (trimmed) {
78
+ const scopedDoctypes = (catalog?.doctypes ?? []).filter(isDoctypeAllowed);
79
+ const rankedDoctypes = rankNameMatches(trimmed, scopedDoctypes, maxNavDoctypes + 1);
80
+ const topDoctype = rankedDoctypes[0];
81
+ const actionItems = [];
82
+ if (topDoctype) {
83
+ if (capabilities.newDoc.enabled) {
84
+ actionItems.push({
85
+ id: `new:${topDoctype}`,
86
+ label: t("awesomebar.newCommand", {
87
+ defaultValue: "New {{doctype}}",
88
+ doctype: topDoctype
89
+ }),
90
+ path: paths.newDoc(topDoctype),
91
+ icon: PlusIcon
92
+ });
93
+ }
94
+ if (capabilities.views.enabled) {
95
+ for (const view of actionViews) {
96
+ if (!capabilities.views.allow.includes(view)) continue;
97
+ const {
98
+ key,
99
+ defaultValue
100
+ } = actionViewLabelKeys[view];
101
+ actionItems.push({
102
+ id: `${view}:${topDoctype}`,
103
+ label: t(key, {
104
+ defaultValue,
105
+ doctype: topDoctype
106
+ }),
107
+ path: paths.view(topDoctype, view),
108
+ icon: actionViewIcons[view]
109
+ });
110
+ }
111
+ }
112
+ }
113
+ if (actionItems.length > 0) {
114
+ next.push({
115
+ id: "actions",
116
+ label: t("awesomebar.actions", "Actions"),
117
+ items: actionItems
118
+ });
119
+ }
120
+ const navigationItems = [];
121
+ const workspaces = catalog?.workspaces ?? [];
122
+ const byTitle = new Map(workspaces.map(workspace => [workspace.title, workspace]));
123
+ for (const title of rankNameMatches(trimmed, workspaces.map(workspace => workspace.title), maxNavWorkspaces)) {
124
+ const workspace = byTitle.get(title);
125
+ if (!workspace) continue;
126
+ navigationItems.push({
127
+ id: `workspace:${workspace.name}`,
128
+ label: workspace.title,
129
+ badge: t("awesomebar.workspaceBadge", "Workspace"),
130
+ path: paths.workspace(workspace.name),
131
+ icon: GlobeIcon
132
+ });
133
+ }
134
+ for (const doctype of rankedDoctypes.slice(topDoctype ? 1 : 0, maxNavDoctypes + 1)) {
135
+ navigationItems.push({
136
+ id: `doctype:${doctype}`,
137
+ label: doctype,
138
+ badge: t("awesomebar.doctypeBadge", "DocType"),
139
+ path: paths.list(doctype),
140
+ icon: ListIcon
141
+ });
142
+ }
143
+ if (navigationItems.length > 0) {
144
+ next.push({
145
+ id: "navigation",
146
+ label: t("awesomebar.navigation", "Navigation"),
147
+ items: navigationItems
148
+ });
149
+ }
150
+ const documentItems = [];
151
+ for (const hit of hits) {
152
+ if (!isDoctypeAllowed(hit.doctype)) continue;
153
+ documentItems.push({
154
+ id: `doc:${hit.doctype}:${hit.name}`,
155
+ label: hit.name,
156
+ badge: hit.doctype,
157
+ description: toContentSnippet(hit.content),
158
+ path: paths.form(hit.doctype, hit.name),
159
+ icon: FileTextIcon
160
+ });
161
+ }
162
+ if (documentItems.length > 0) {
163
+ next.push({
164
+ id: "documents",
165
+ label: t("awesomebar.documents", "Documents"),
166
+ items: documentItems
167
+ });
168
+ }
169
+ }
170
+ return next;
171
+ }, [trimmed, recents, catalog, hits, capabilities, paths, isDoctypeAllowed, t]);
172
+ const items = useMemo(() => sections.flatMap(section => section.items), [sections]);
173
+ return {
174
+ sections,
175
+ items,
176
+ searching,
177
+ query: trimmed,
178
+ hasQuery: Boolean(trimmed),
179
+ noResults: Boolean(trimmed) && !searching && items.length === 0
180
+ };
181
+ }
182
+ export { useCommandPaletteModel };
183
+ //# sourceMappingURL=command-palette-model.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ClockIcon","FileTextIcon","GlobeIcon","KanbanIcon","ListIcon","PlusIcon","TableIcon","useEffect","useMemo","useState","useTranslation","useBackofficeCapabilities","useBackofficePaths","useIsDoctypeAllowed","BACKOFFICE_I18N_NAMESPACE","rankNameMatches","readRecentItems","toContentSnippet","useAwesomebarCatalog","useGlobalSearch","maxRecentsEmptyQuery","maxRecentsWithQuery","maxNavWorkspaces","maxNavDoctypes","actionViews","actionViewIcons","list","report","kanban","actionViewLabelKeys","key","defaultValue","useCommandPaletteModel","query","debouncedQuery","open","t","paths","capabilities","isDoctypeAllowed","catalog","hits","searching","recents","setRecents","cancelled","then","stored","trimmed","trim","sections","next","lowerQuery","toLowerCase","matchingRecents","filter","recent","label","includes","slice","length","push","id","items","map","path","icon","scopedDoctypes","doctypes","rankedDoctypes","topDoctype","actionItems","newDoc","enabled","doctype","views","view","allow","navigationItems","workspaces","byTitle","Map","workspace","title","get","name","badge","documentItems","hit","description","content","form","flatMap","section","hasQuery","Boolean","noResults"],"sources":["../../../src/chrome/command-palette-model.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __export = (target, all) => {
8
+ for (var name in all) __defProp(target, name, {
9
+ get: all[name],
10
+ enumerable: true
11
+ });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
16
+ get: () => from[key],
17
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
18
+ });
19
+ }
20
+ return to;
21
+ };
22
+ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
23
+ value: true
24
+ }), mod);
25
+ var command_palette_model_exports = {};
26
+ __export(command_palette_model_exports, {
27
+ useCommandPaletteModel: () => useCommandPaletteModel
28
+ });
29
+ module.exports = __toCommonJS(command_palette_model_exports);
30
+ var import_react = require("@phosphor-icons/react");
31
+ var import_react2 = require("react");
32
+ var import_react_i18next = require("react-i18next");
33
+ var import_BackofficeProvider = require("../config/BackofficeProvider.native.js");
34
+ var import_i18n = require("../i18n/index.native.js");
35
+ var import_awesomebar_data = require("./awesomebar-data.native.js");
36
+ var maxRecentsEmptyQuery = 8;
37
+ var maxRecentsWithQuery = 4;
38
+ var maxNavWorkspaces = 4;
39
+ var maxNavDoctypes = 4;
40
+ var actionViews = ["list", "report", "kanban"];
41
+ var actionViewIcons = {
42
+ list: import_react.ListIcon,
43
+ report: import_react.TableIcon,
44
+ kanban: import_react.KanbanIcon
45
+ };
46
+ var actionViewLabelKeys = {
47
+ list: {
48
+ key: "awesomebar.listCommand",
49
+ defaultValue: "{{doctype}} List"
50
+ },
51
+ report: {
52
+ key: "awesomebar.reportCommand",
53
+ defaultValue: "{{doctype}} Report"
54
+ },
55
+ kanban: {
56
+ key: "awesomebar.kanbanCommand",
57
+ defaultValue: "{{doctype}} Kanban"
58
+ }
59
+ };
60
+ function useCommandPaletteModel(param) {
61
+ var {
62
+ query,
63
+ debouncedQuery,
64
+ open
65
+ } = param;
66
+ var {
67
+ t
68
+ } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);
69
+ var paths = (0, import_BackofficeProvider.useBackofficePaths)();
70
+ var capabilities = (0, import_BackofficeProvider.useBackofficeCapabilities)();
71
+ var isDoctypeAllowed = (0, import_BackofficeProvider.useIsDoctypeAllowed)();
72
+ var {
73
+ catalog
74
+ } = (0, import_awesomebar_data.useAwesomebarCatalog)();
75
+ var {
76
+ hits,
77
+ searching
78
+ } = (0, import_awesomebar_data.useGlobalSearch)(debouncedQuery);
79
+ var [recents, setRecents] = (0, import_react2.useState)([]);
80
+ (0, import_react2.useEffect)(function () {
81
+ if (!open) return;
82
+ var cancelled = false;
83
+ void (0, import_awesomebar_data.readRecentItems)().then(function (stored) {
84
+ if (!cancelled) setRecents(stored);
85
+ });
86
+ return function () {
87
+ cancelled = true;
88
+ };
89
+ }, [open]);
90
+ var trimmed = query.trim();
91
+ var sections = (0, import_react2.useMemo)(function () {
92
+ var next = [];
93
+ var lowerQuery = trimmed.toLowerCase();
94
+ var matchingRecents = trimmed ? recents.filter(function (recent) {
95
+ return recent.label.toLowerCase().includes(lowerQuery);
96
+ }).slice(0, maxRecentsWithQuery) : recents.slice(0, maxRecentsEmptyQuery);
97
+ if (matchingRecents.length > 0) {
98
+ next.push({
99
+ id: "recents",
100
+ label: t("awesomebar.recents", "Recents"),
101
+ items: matchingRecents.map(function (recent) {
102
+ return {
103
+ id: `recent:${recent.path}`,
104
+ label: recent.label,
105
+ path: recent.path,
106
+ icon: import_react.ClockIcon
107
+ };
108
+ })
109
+ });
110
+ }
111
+ if (trimmed) {
112
+ var _ref, _ref1;
113
+ var scopedDoctypes = ((_ref = catalog === null || catalog === void 0 ? void 0 : catalog.doctypes) !== null && _ref !== void 0 ? _ref : []).filter(isDoctypeAllowed);
114
+ var rankedDoctypes = (0, import_awesomebar_data.rankNameMatches)(trimmed, scopedDoctypes, maxNavDoctypes + 1);
115
+ var topDoctype = rankedDoctypes[0];
116
+ var actionItems = [];
117
+ if (topDoctype) {
118
+ if (capabilities.newDoc.enabled) {
119
+ actionItems.push({
120
+ id: `new:${topDoctype}`,
121
+ label: t("awesomebar.newCommand", {
122
+ defaultValue: "New {{doctype}}",
123
+ doctype: topDoctype
124
+ }),
125
+ path: paths.newDoc(topDoctype),
126
+ icon: import_react.PlusIcon
127
+ });
128
+ }
129
+ if (capabilities.views.enabled) {
130
+ var _iteratorNormalCompletion = true,
131
+ _didIteratorError = false,
132
+ _iteratorError = void 0;
133
+ try {
134
+ for (var _iterator = actionViews[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
135
+ var view = _step.value;
136
+ if (!capabilities.views.allow.includes(view)) continue;
137
+ var {
138
+ key,
139
+ defaultValue
140
+ } = actionViewLabelKeys[view];
141
+ actionItems.push({
142
+ id: `${view}:${topDoctype}`,
143
+ label: t(key, {
144
+ defaultValue,
145
+ doctype: topDoctype
146
+ }),
147
+ path: paths.view(topDoctype, view),
148
+ icon: actionViewIcons[view]
149
+ });
150
+ }
151
+ } catch (err) {
152
+ _didIteratorError = true;
153
+ _iteratorError = err;
154
+ } finally {
155
+ try {
156
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
157
+ _iterator.return();
158
+ }
159
+ } finally {
160
+ if (_didIteratorError) {
161
+ throw _iteratorError;
162
+ }
163
+ }
164
+ }
165
+ }
166
+ }
167
+ if (actionItems.length > 0) {
168
+ next.push({
169
+ id: "actions",
170
+ label: t("awesomebar.actions", "Actions"),
171
+ items: actionItems
172
+ });
173
+ }
174
+ var navigationItems = [];
175
+ var workspaces = (_ref1 = catalog === null || catalog === void 0 ? void 0 : catalog.workspaces) !== null && _ref1 !== void 0 ? _ref1 : [];
176
+ var byTitle = new Map(workspaces.map(function (workspace2) {
177
+ return [workspace2.title, workspace2];
178
+ }));
179
+ var _iteratorNormalCompletion1 = true,
180
+ _didIteratorError1 = false,
181
+ _iteratorError1 = void 0;
182
+ try {
183
+ for (var _iterator1 = (0, import_awesomebar_data.rankNameMatches)(trimmed, workspaces.map(function (workspace2) {
184
+ return workspace2.title;
185
+ }), maxNavWorkspaces)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
186
+ var title = _step1.value;
187
+ var workspace = byTitle.get(title);
188
+ if (!workspace) continue;
189
+ navigationItems.push({
190
+ id: `workspace:${workspace.name}`,
191
+ label: workspace.title,
192
+ badge: t("awesomebar.workspaceBadge", "Workspace"),
193
+ path: paths.workspace(workspace.name),
194
+ icon: import_react.GlobeIcon
195
+ });
196
+ }
197
+ } catch (err) {
198
+ _didIteratorError1 = true;
199
+ _iteratorError1 = err;
200
+ } finally {
201
+ try {
202
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
203
+ _iterator1.return();
204
+ }
205
+ } finally {
206
+ if (_didIteratorError1) {
207
+ throw _iteratorError1;
208
+ }
209
+ }
210
+ }
211
+ var _iteratorNormalCompletion2 = true,
212
+ _didIteratorError2 = false,
213
+ _iteratorError2 = void 0;
214
+ try {
215
+ for (var _iterator2 = rankedDoctypes.slice(topDoctype ? 1 : 0, maxNavDoctypes + 1)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
216
+ var doctype = _step2.value;
217
+ navigationItems.push({
218
+ id: `doctype:${doctype}`,
219
+ label: doctype,
220
+ badge: t("awesomebar.doctypeBadge", "DocType"),
221
+ path: paths.list(doctype),
222
+ icon: import_react.ListIcon
223
+ });
224
+ }
225
+ } catch (err) {
226
+ _didIteratorError2 = true;
227
+ _iteratorError2 = err;
228
+ } finally {
229
+ try {
230
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
231
+ _iterator2.return();
232
+ }
233
+ } finally {
234
+ if (_didIteratorError2) {
235
+ throw _iteratorError2;
236
+ }
237
+ }
238
+ }
239
+ if (navigationItems.length > 0) {
240
+ next.push({
241
+ id: "navigation",
242
+ label: t("awesomebar.navigation", "Navigation"),
243
+ items: navigationItems
244
+ });
245
+ }
246
+ var documentItems = [];
247
+ var _iteratorNormalCompletion3 = true,
248
+ _didIteratorError3 = false,
249
+ _iteratorError3 = void 0;
250
+ try {
251
+ for (var _iterator3 = hits[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
252
+ var hit = _step3.value;
253
+ if (!isDoctypeAllowed(hit.doctype)) continue;
254
+ documentItems.push({
255
+ id: `doc:${hit.doctype}:${hit.name}`,
256
+ label: hit.name,
257
+ badge: hit.doctype,
258
+ description: (0, import_awesomebar_data.toContentSnippet)(hit.content),
259
+ path: paths.form(hit.doctype, hit.name),
260
+ icon: import_react.FileTextIcon
261
+ });
262
+ }
263
+ } catch (err) {
264
+ _didIteratorError3 = true;
265
+ _iteratorError3 = err;
266
+ } finally {
267
+ try {
268
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
269
+ _iterator3.return();
270
+ }
271
+ } finally {
272
+ if (_didIteratorError3) {
273
+ throw _iteratorError3;
274
+ }
275
+ }
276
+ }
277
+ if (documentItems.length > 0) {
278
+ next.push({
279
+ id: "documents",
280
+ label: t("awesomebar.documents", "Documents"),
281
+ items: documentItems
282
+ });
283
+ }
284
+ }
285
+ return next;
286
+ }, [trimmed, recents, catalog, hits, capabilities, paths, isDoctypeAllowed, t]);
287
+ var items = (0, import_react2.useMemo)(function () {
288
+ return sections.flatMap(function (section) {
289
+ return section.items;
290
+ });
291
+ }, [sections]);
292
+ return {
293
+ sections,
294
+ items,
295
+ searching,
296
+ query: trimmed,
297
+ hasQuery: Boolean(trimmed),
298
+ noResults: Boolean(trimmed) && !searching && items.length === 0
299
+ };
300
+ }
301
+ //# sourceMappingURL=command-palette-model.native.js.map
@@ -0,0 +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","command_palette_model_exports","useCommandPaletteModel","module","exports","import_react","require","import_react2","import_react_i18next","import_BackofficeProvider","import_i18n","import_awesomebar_data","maxRecentsEmptyQuery","maxRecentsWithQuery","maxNavWorkspaces","maxNavDoctypes","actionViews","actionViewIcons","list","ListIcon","report","TableIcon","kanban","KanbanIcon","actionViewLabelKeys","defaultValue","param","query","debouncedQuery","open","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","paths","useBackofficePaths","capabilities","useBackofficeCapabilities","isDoctypeAllowed","useIsDoctypeAllowed","catalog","useAwesomebarCatalog","hits","searching","useGlobalSearch","recents","setRecents","useState","useEffect","cancelled","readRecentItems","then","stored","trimmed","trim","sections","useMemo","next","lowerQuery","toLowerCase","matchingRecents","filter","recent","label","includes","slice","length","push","id","items","map","path","icon","ClockIcon","_ref","_ref1","scopedDoctypes","doctypes","rankedDoctypes","rankNameMatches","topDoctype","actionItems","newDoc","enabled","doctype","PlusIcon","views","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","view","allow","err","return","navigationItems","workspaces","byTitle","Map","workspace2","title","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","workspace","badge","GlobeIcon"],"sources":["../../../src/chrome/command-palette-model.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,111 @@
1
+ import { Button, Dialog, DialogContent, Paragraph, SizableText, Spinner, XStack, YStack } from "@multiplatform.one/components";
2
+ import { useEffect, useState } from "react";
3
+ import { useTranslation } from "react-i18next";
4
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
5
+ import { useFrappeApp } from "../shared/useFrappeApp.mjs";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ function HelpAboutDialog({
8
+ open,
9
+ onOpenChange
10
+ }) {
11
+ const {
12
+ t
13
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
14
+ const app = useFrappeApp();
15
+ const [versions, setVersions] = useState(void 0);
16
+ const [loading, setLoading] = useState(false);
17
+ const [failed, setFailed] = useState(false);
18
+ useEffect(() => {
19
+ if (!open || !app || versions) return;
20
+ let cancelled = false;
21
+ setLoading(true);
22
+ setFailed(false);
23
+ app.call().get("frappe.utils.change_log.get_versions").then(response => {
24
+ if (cancelled) return;
25
+ setVersions(response.payload?.message ?? {});
26
+ }).catch(() => {
27
+ if (cancelled) return;
28
+ setFailed(true);
29
+ }).finally(() => {
30
+ if (!cancelled) setLoading(false);
31
+ });
32
+ return () => {
33
+ cancelled = true;
34
+ };
35
+ }, [open, app, versions]);
36
+ const entries = versions ? Object.entries(versions) : [];
37
+ const unavailable = !app || failed || versions !== void 0 && entries.length === 0;
38
+ return /* @__PURE__ */jsx(Dialog, {
39
+ modal: true,
40
+ open,
41
+ onOpenChange,
42
+ children: /* @__PURE__ */jsxs(Dialog.Portal, {
43
+ children: [/* @__PURE__ */jsx(Dialog.Overlay, {
44
+ backgroundColor: "$shadow6"
45
+ }, "overlay"), /* @__PURE__ */jsxs(DialogContent, {
46
+ width: 420,
47
+ maxWidth: "90%",
48
+ "data-testid": "backoffice-help-about-dialog",
49
+ children: [/* @__PURE__ */jsx(Dialog.Title, {
50
+ size: "$6",
51
+ children: t("help.aboutTitle", "About")
52
+ }), /* @__PURE__ */jsx(Dialog.Description, {
53
+ asChild: true,
54
+ children: /* @__PURE__ */jsx(Paragraph, {
55
+ size: "$3",
56
+ color: "$color11",
57
+ children: t("help.aboutTagline", "Backoffice is the multiplatform.one recreation of the Frappe Desk \u2014 one codebase across web, mobile, and desktop.")
58
+ })
59
+ }), /* @__PURE__ */jsxs(YStack, {
60
+ gap: "$2",
61
+ marginTop: "$2",
62
+ children: [/* @__PURE__ */jsx(SizableText, {
63
+ size: "$2",
64
+ fontWeight: "700",
65
+ color: "$color10",
66
+ textTransform: "uppercase",
67
+ children: t("help.installedApps", "Installed Apps")
68
+ }), loading && /* @__PURE__ */jsx(XStack, {
69
+ padding: "$3",
70
+ justifyContent: "center",
71
+ children: /* @__PURE__ */jsx(Spinner, {
72
+ size: "small"
73
+ })
74
+ }), !loading && unavailable && /* @__PURE__ */jsx(Paragraph, {
75
+ size: "$3",
76
+ color: "$color10",
77
+ children: t("help.versionsUnavailable", "Version information is unavailable.")
78
+ }), !loading && entries.map(([key, info]) => /* @__PURE__ */jsxs(XStack, {
79
+ gap: "$3",
80
+ alignItems: "baseline",
81
+ justifyContent: "space-between",
82
+ children: [/* @__PURE__ */jsx(SizableText, {
83
+ size: "$3",
84
+ fontWeight: "600",
85
+ flex: 1,
86
+ numberOfLines: 1,
87
+ children: info.title || key
88
+ }), /* @__PURE__ */jsx(SizableText, {
89
+ size: "$3",
90
+ color: "$color11",
91
+ flexShrink: 0,
92
+ children: info.version ? `v${info.version}${info.branch ? ` (${info.branch})` : ""}` : info.branch ?? "\u2014"
93
+ })]
94
+ }, key))]
95
+ }), /* @__PURE__ */jsx(XStack, {
96
+ justifyContent: "flex-end",
97
+ marginTop: "$4",
98
+ children: /* @__PURE__ */jsx(Dialog.Close, {
99
+ asChild: true,
100
+ children: /* @__PURE__ */jsx(Button, {
101
+ size: "$3",
102
+ children: t("help.close", "Close")
103
+ })
104
+ })
105
+ })]
106
+ }, "content")]
107
+ })
108
+ });
109
+ }
110
+ export { HelpAboutDialog };
111
+ //# sourceMappingURL=help-about-dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Button","Dialog","DialogContent","Paragraph","SizableText","Spinner","XStack","YStack","useEffect","useState","useTranslation","BACKOFFICE_I18N_NAMESPACE","useFrappeApp","jsx","jsxs","HelpAboutDialog","open","onOpenChange","t","app","versions","setVersions","loading","setLoading","failed","setFailed","cancelled","call","get","then","response","payload","message","catch","finally","entries","Object","unavailable","length","modal","children","Portal","Overlay","backgroundColor","width","maxWidth","Title","size","Description","asChild","color","gap","marginTop","fontWeight","textTransform","padding","justifyContent","map","key","info","alignItems","flex","numberOfLines","title","flexShrink","version","branch","Close"],"sources":["../../../src/chrome/help-about-dialog.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}