@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,273 @@
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.native.js";
5
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.native.js";
6
+ import { rankNameMatches, readRecentItems, toContentSnippet, useAwesomebarCatalog, useGlobalSearch } from "./awesomebar-data.native.js";
7
+ var maxRecentsEmptyQuery = 8;
8
+ var maxRecentsWithQuery = 4;
9
+ var maxNavWorkspaces = 4;
10
+ var maxNavDoctypes = 4;
11
+ var actionViews = ["list", "report", "kanban"];
12
+ var actionViewIcons = {
13
+ list: ListIcon,
14
+ report: TableIcon,
15
+ kanban: KanbanIcon
16
+ };
17
+ var 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(param) {
32
+ var {
33
+ query,
34
+ debouncedQuery,
35
+ open
36
+ } = param;
37
+ var {
38
+ t
39
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
40
+ var paths = useBackofficePaths();
41
+ var capabilities = useBackofficeCapabilities();
42
+ var isDoctypeAllowed = useIsDoctypeAllowed();
43
+ var {
44
+ catalog
45
+ } = useAwesomebarCatalog();
46
+ var {
47
+ hits,
48
+ searching
49
+ } = useGlobalSearch(debouncedQuery);
50
+ var [recents, setRecents] = useState([]);
51
+ useEffect(function () {
52
+ if (!open) return;
53
+ var cancelled = false;
54
+ void readRecentItems().then(function (stored) {
55
+ if (!cancelled) setRecents(stored);
56
+ });
57
+ return function () {
58
+ cancelled = true;
59
+ };
60
+ }, [open]);
61
+ var trimmed = query.trim();
62
+ var sections = useMemo(function () {
63
+ var next = [];
64
+ var lowerQuery = trimmed.toLowerCase();
65
+ var matchingRecents = trimmed ? recents.filter(function (recent) {
66
+ return recent.label.toLowerCase().includes(lowerQuery);
67
+ }).slice(0, maxRecentsWithQuery) : recents.slice(0, maxRecentsEmptyQuery);
68
+ if (matchingRecents.length > 0) {
69
+ next.push({
70
+ id: "recents",
71
+ label: t("awesomebar.recents", "Recents"),
72
+ items: matchingRecents.map(function (recent) {
73
+ return {
74
+ id: `recent:${recent.path}`,
75
+ label: recent.label,
76
+ path: recent.path,
77
+ icon: ClockIcon
78
+ };
79
+ })
80
+ });
81
+ }
82
+ if (trimmed) {
83
+ var _ref, _ref1;
84
+ var scopedDoctypes = ((_ref = catalog === null || catalog === void 0 ? void 0 : catalog.doctypes) !== null && _ref !== void 0 ? _ref : []).filter(isDoctypeAllowed);
85
+ var rankedDoctypes = rankNameMatches(trimmed, scopedDoctypes, maxNavDoctypes + 1);
86
+ var topDoctype = rankedDoctypes[0];
87
+ var actionItems = [];
88
+ if (topDoctype) {
89
+ if (capabilities.newDoc.enabled) {
90
+ actionItems.push({
91
+ id: `new:${topDoctype}`,
92
+ label: t("awesomebar.newCommand", {
93
+ defaultValue: "New {{doctype}}",
94
+ doctype: topDoctype
95
+ }),
96
+ path: paths.newDoc(topDoctype),
97
+ icon: PlusIcon
98
+ });
99
+ }
100
+ if (capabilities.views.enabled) {
101
+ var _iteratorNormalCompletion = true,
102
+ _didIteratorError = false,
103
+ _iteratorError = void 0;
104
+ try {
105
+ for (var _iterator = actionViews[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
106
+ var view = _step.value;
107
+ if (!capabilities.views.allow.includes(view)) continue;
108
+ var {
109
+ key,
110
+ defaultValue
111
+ } = actionViewLabelKeys[view];
112
+ actionItems.push({
113
+ id: `${view}:${topDoctype}`,
114
+ label: t(key, {
115
+ defaultValue,
116
+ doctype: topDoctype
117
+ }),
118
+ path: paths.view(topDoctype, view),
119
+ icon: actionViewIcons[view]
120
+ });
121
+ }
122
+ } catch (err) {
123
+ _didIteratorError = true;
124
+ _iteratorError = err;
125
+ } finally {
126
+ try {
127
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
128
+ _iterator.return();
129
+ }
130
+ } finally {
131
+ if (_didIteratorError) {
132
+ throw _iteratorError;
133
+ }
134
+ }
135
+ }
136
+ }
137
+ }
138
+ if (actionItems.length > 0) {
139
+ next.push({
140
+ id: "actions",
141
+ label: t("awesomebar.actions", "Actions"),
142
+ items: actionItems
143
+ });
144
+ }
145
+ var navigationItems = [];
146
+ var workspaces = (_ref1 = catalog === null || catalog === void 0 ? void 0 : catalog.workspaces) !== null && _ref1 !== void 0 ? _ref1 : [];
147
+ var byTitle = new Map(workspaces.map(function (workspace2) {
148
+ return [workspace2.title, workspace2];
149
+ }));
150
+ var _iteratorNormalCompletion1 = true,
151
+ _didIteratorError1 = false,
152
+ _iteratorError1 = void 0;
153
+ try {
154
+ for (var _iterator1 = rankNameMatches(trimmed, workspaces.map(function (workspace2) {
155
+ return workspace2.title;
156
+ }), maxNavWorkspaces)[Symbol.iterator](), _step1; !(_iteratorNormalCompletion1 = (_step1 = _iterator1.next()).done); _iteratorNormalCompletion1 = true) {
157
+ var title = _step1.value;
158
+ var workspace = byTitle.get(title);
159
+ if (!workspace) continue;
160
+ navigationItems.push({
161
+ id: `workspace:${workspace.name}`,
162
+ label: workspace.title,
163
+ badge: t("awesomebar.workspaceBadge", "Workspace"),
164
+ path: paths.workspace(workspace.name),
165
+ icon: GlobeIcon
166
+ });
167
+ }
168
+ } catch (err) {
169
+ _didIteratorError1 = true;
170
+ _iteratorError1 = err;
171
+ } finally {
172
+ try {
173
+ if (!_iteratorNormalCompletion1 && _iterator1.return != null) {
174
+ _iterator1.return();
175
+ }
176
+ } finally {
177
+ if (_didIteratorError1) {
178
+ throw _iteratorError1;
179
+ }
180
+ }
181
+ }
182
+ var _iteratorNormalCompletion2 = true,
183
+ _didIteratorError2 = false,
184
+ _iteratorError2 = void 0;
185
+ try {
186
+ for (var _iterator2 = rankedDoctypes.slice(topDoctype ? 1 : 0, maxNavDoctypes + 1)[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {
187
+ var doctype = _step2.value;
188
+ navigationItems.push({
189
+ id: `doctype:${doctype}`,
190
+ label: doctype,
191
+ badge: t("awesomebar.doctypeBadge", "DocType"),
192
+ path: paths.list(doctype),
193
+ icon: ListIcon
194
+ });
195
+ }
196
+ } catch (err) {
197
+ _didIteratorError2 = true;
198
+ _iteratorError2 = err;
199
+ } finally {
200
+ try {
201
+ if (!_iteratorNormalCompletion2 && _iterator2.return != null) {
202
+ _iterator2.return();
203
+ }
204
+ } finally {
205
+ if (_didIteratorError2) {
206
+ throw _iteratorError2;
207
+ }
208
+ }
209
+ }
210
+ if (navigationItems.length > 0) {
211
+ next.push({
212
+ id: "navigation",
213
+ label: t("awesomebar.navigation", "Navigation"),
214
+ items: navigationItems
215
+ });
216
+ }
217
+ var documentItems = [];
218
+ var _iteratorNormalCompletion3 = true,
219
+ _didIteratorError3 = false,
220
+ _iteratorError3 = void 0;
221
+ try {
222
+ for (var _iterator3 = hits[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {
223
+ var hit = _step3.value;
224
+ if (!isDoctypeAllowed(hit.doctype)) continue;
225
+ documentItems.push({
226
+ id: `doc:${hit.doctype}:${hit.name}`,
227
+ label: hit.name,
228
+ badge: hit.doctype,
229
+ description: toContentSnippet(hit.content),
230
+ path: paths.form(hit.doctype, hit.name),
231
+ icon: FileTextIcon
232
+ });
233
+ }
234
+ } catch (err) {
235
+ _didIteratorError3 = true;
236
+ _iteratorError3 = err;
237
+ } finally {
238
+ try {
239
+ if (!_iteratorNormalCompletion3 && _iterator3.return != null) {
240
+ _iterator3.return();
241
+ }
242
+ } finally {
243
+ if (_didIteratorError3) {
244
+ throw _iteratorError3;
245
+ }
246
+ }
247
+ }
248
+ if (documentItems.length > 0) {
249
+ next.push({
250
+ id: "documents",
251
+ label: t("awesomebar.documents", "Documents"),
252
+ items: documentItems
253
+ });
254
+ }
255
+ }
256
+ return next;
257
+ }, [trimmed, recents, catalog, hits, capabilities, paths, isDoctypeAllowed, t]);
258
+ var items = useMemo(function () {
259
+ return sections.flatMap(function (section) {
260
+ return section.items;
261
+ });
262
+ }, [sections]);
263
+ return {
264
+ sections,
265
+ items,
266
+ searching,
267
+ query: trimmed,
268
+ hasQuery: Boolean(trimmed),
269
+ noResults: Boolean(trimmed) && !searching && items.length === 0
270
+ };
271
+ }
272
+ export { useCommandPaletteModel };
273
+ //# sourceMappingURL=command-palette-model.native.js.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","param","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","_ref","_ref1","scopedDoctypes","doctypes","rankedDoctypes","topDoctype","actionItems","newDoc","enabled","doctype","views","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_iterator","Symbol","iterator","_step","done","view","value","allow","err","return","navigationItems","workspaces","byTitle","Map","workspace2","title","_iteratorNormalCompletion1","_didIteratorError1","_iteratorError1","_iterator1","_step1","workspace","get","name","badge","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_iterator2","_step2"],"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":[]}
@@ -0,0 +1,118 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button, Dialog, DialogContent, Paragraph, SizableText, Spinner, XStack, YStack } from "@multiplatform.one/components";
3
+ import { useEffect, useState } from "react";
4
+ import { useTranslation } from "react-i18next";
5
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.native.js";
6
+ import { useFrappeApp } from "../shared/useFrappeApp.native.js";
7
+ function HelpAboutDialog(param) {
8
+ var {
9
+ open,
10
+ onOpenChange
11
+ } = param;
12
+ var {
13
+ t
14
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
15
+ var app = useFrappeApp();
16
+ var [versions, setVersions] = useState(void 0);
17
+ var [loading, setLoading] = useState(false);
18
+ var [failed, setFailed] = useState(false);
19
+ useEffect(function () {
20
+ if (!open || !app || versions) return;
21
+ var cancelled = false;
22
+ setLoading(true);
23
+ setFailed(false);
24
+ app.call().get("frappe.utils.change_log.get_versions").then(function (response) {
25
+ var _ref;
26
+ var _response_payload;
27
+ if (cancelled) return;
28
+ setVersions((_ref = (_response_payload = response.payload) === null || _response_payload === void 0 ? void 0 : _response_payload.message) !== null && _ref !== void 0 ? _ref : {});
29
+ }).catch(function () {
30
+ if (cancelled) return;
31
+ setFailed(true);
32
+ }).finally(function () {
33
+ if (!cancelled) setLoading(false);
34
+ });
35
+ return function () {
36
+ cancelled = true;
37
+ };
38
+ }, [open, app, versions]);
39
+ var entries = versions ? Object.entries(versions) : [];
40
+ var unavailable = !app || failed || versions !== void 0 && entries.length === 0;
41
+ return /* @__PURE__ */_jsx(Dialog, {
42
+ modal: true,
43
+ open,
44
+ onOpenChange,
45
+ children: /* @__PURE__ */_jsxs(Dialog.Portal, {
46
+ children: [/* @__PURE__ */_jsx(Dialog.Overlay, {
47
+ backgroundColor: "$shadow6"
48
+ }, "overlay"), /* @__PURE__ */_jsxs(DialogContent, {
49
+ width: 420,
50
+ maxWidth: "90%",
51
+ "data-testid": "backoffice-help-about-dialog",
52
+ children: [/* @__PURE__ */_jsx(Dialog.Title, {
53
+ size: "$6",
54
+ children: t("help.aboutTitle", "About")
55
+ }), /* @__PURE__ */_jsx(Dialog.Description, {
56
+ asChild: true,
57
+ children: /* @__PURE__ */_jsx(Paragraph, {
58
+ size: "$3",
59
+ color: "$color11",
60
+ children: t("help.aboutTagline", "Backoffice is the multiplatform.one recreation of the Frappe Desk \u2014 one codebase across web, mobile, and desktop.")
61
+ })
62
+ }), /* @__PURE__ */_jsxs(YStack, {
63
+ gap: "$2",
64
+ marginTop: "$2",
65
+ children: [/* @__PURE__ */_jsx(SizableText, {
66
+ size: "$2",
67
+ fontWeight: "700",
68
+ color: "$color10",
69
+ textTransform: "uppercase",
70
+ children: t("help.installedApps", "Installed Apps")
71
+ }), loading && /* @__PURE__ */_jsx(XStack, {
72
+ padding: "$3",
73
+ justifyContent: "center",
74
+ children: /* @__PURE__ */_jsx(Spinner, {
75
+ size: "small"
76
+ })
77
+ }), !loading && unavailable && /* @__PURE__ */_jsx(Paragraph, {
78
+ size: "$3",
79
+ color: "$color10",
80
+ children: t("help.versionsUnavailable", "Version information is unavailable.")
81
+ }), !loading && entries.map(function (param2) {
82
+ var [key, info] = param2;
83
+ var _info_branch;
84
+ return /* @__PURE__ */_jsxs(XStack, {
85
+ gap: "$3",
86
+ alignItems: "baseline",
87
+ justifyContent: "space-between",
88
+ children: [/* @__PURE__ */_jsx(SizableText, {
89
+ size: "$3",
90
+ fontWeight: "600",
91
+ flex: 1,
92
+ numberOfLines: 1,
93
+ children: info.title || key
94
+ }), /* @__PURE__ */_jsx(SizableText, {
95
+ size: "$3",
96
+ color: "$color11",
97
+ flexShrink: 0,
98
+ children: info.version ? `v${info.version}${info.branch ? ` (${info.branch})` : ""}` : (_info_branch = info.branch) !== null && _info_branch !== void 0 ? _info_branch : "\u2014"
99
+ })]
100
+ }, key);
101
+ })]
102
+ }), /* @__PURE__ */_jsx(XStack, {
103
+ justifyContent: "flex-end",
104
+ marginTop: "$4",
105
+ children: /* @__PURE__ */_jsx(Dialog.Close, {
106
+ asChild: true,
107
+ children: /* @__PURE__ */_jsx(Button, {
108
+ size: "$3",
109
+ children: t("help.close", "Close")
110
+ })
111
+ })
112
+ })]
113
+ }, "content")]
114
+ })
115
+ });
116
+ }
117
+ export { HelpAboutDialog };
118
+ //# sourceMappingURL=help-about-dialog.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jsx","_jsx","jsxs","_jsxs","Button","Dialog","DialogContent","Paragraph","SizableText","Spinner","XStack","YStack","useEffect","useState","useTranslation","BACKOFFICE_I18N_NAMESPACE","useFrappeApp","HelpAboutDialog","param","open","onOpenChange","t","app","versions","setVersions","loading","setLoading","failed","setFailed","cancelled","call","get","then","response","_ref","_response_payload","payload","message","catch","finally","entries","Object","unavailable","length","modal","children","Portal","Overlay","backgroundColor","width","maxWidth","Title","size","Description","asChild","color","gap","marginTop"],"sources":["../../../src/chrome/help-about-dialog.tsx"],"sourcesContent":[null],"mappings":"AAQA,SAAAA,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAAA,SACEC,MAAA,EAAAC,MAAA,EAAAC,aAAA,EAAAC,SAAA,EAAAC,WAAA,EAAAC,OAAA,EAAAC,MAAA,EAAAC,MAAA;AAAA,SACAC,SAAA,EAAAC,QAAA;AAAA,SACAC,cAAA;AAAA,SACAC,yBAAA;AAAA,SACAC,YAAA;AAAA,SACAC,gBAAAC,KAAA;EACA;IAAAC,IAAA;IAAAC;EAAA,IAAAF,KAAA;EACA;IAAAG;EAAA,IAAAP,cAAA,CAAAC,yBAAA;EAAA,IAAAO,GACK,GAAAN,YAAA;EACP,KAAAO,QAAS,EAAAC,WAAW,IAAAX,QAAgB;EACpC,KAAAY,OAAS,EAAAC,UAAA,IAAAb,QAAsB;EAC/B,KAAAc,MAAS,EAAAC,SAAA,IAAAf,QAAA,MAAiC;EAC1CD,SAAS;IAuDD,KAAAO,IAAA,IAgCQ,CAAAG,GAAA,IAAAC,QAhCR;IArCD,IAAAM,SAAS,QAAgB;IAC9BH,UAAU,KAAI;IACdE,SAAM,CAAM;IACZN,GAAA,CAAMQ,IAAC,GAAAC,GAAA,CAAU,sCAA+E,EAAAC,IAAA,WAAAC,QAAA;MAChG,IAAOC,IAAA;MACP,IAAOC,iBAAiB;MAExB,IAAAN,SAAgB;MACdL,WAAa,CAAC,CAAAU,IAAA,GAAO,CAAAC,iBAAU,GAAAF,QAAA,CAAAG,OAAA,cAAAD,iBAAA,uBAAAA,iBAAA,CAAAE,OAAA,cAAAH,IAAA,cAAAA,IAAA;IAC/B,GAAAI,KAAI,aAAY;MAChB,IAAAT,SAAe;MACfD,SAAU,KAAK;IACf,GAAAW,OACQ,CACL,YAAwB;MAEvB,IAAI,CAAAV,SAAW,EAAAH,UAAA;IACf;IACF,OACC,YAAY;MACXG,SAAI,OAAW;IACf;EAAc,GACf,CAECV,IAAA,EACFG,GAAC,EACHC,QAAO,CACL;EAAY,IACdiB,OAAA,GAAAjB,QAAA,GAAAkB,MAAA,CAAAD,OAAA,CAAAjB,QAAA;EACF,IAAImB,WAAW,IAAApB,GAAA,IAASK,MAAA,IAAAJ,QAAA,eAAAiB,OAAA,CAAAG,MAAA;EAExB,OAAM,eAAU1C,IAAW,CAAAI,MAAO;IAClCuC,KAAM;IAENzB,IAAA;IAGMC,YAAA;IACAyB,QAAA,iBAAA1C,KAAA,CAAAE,MAAA,CAAAyC,MAAA;MAACD,QAAA,kBAAA5C,IAAA,CAAAI,MAAA,CAAA0C,OAAA;QAECC,eAAO;MACP,YAAS,GACT,eAAY7C,KAAA,CAAAG,aAAA;QAEZ2C,KAAA;QAAAC,QAAA;QACA,6CAAoB;QAEfL,QACC,GACA,eAAA5C,IAAA,CAAAI,MAAA,CAAA8C,KAAA;UAEJC,IACF;UACAP,QAAA,EAAAxB,CAAA,kBAAQ,SAAS;QACf,IAGC,eACCpB,IAAA,CAAAI,MAAA,CAAAgD,WAAC,EAAO;UAIRC,OAAA,MAAW;UAKXT,QAAA,EACA,eAAc5C,IAAK,CAAAM,SACjB;YACE6C,IAAA;YAGAG,KAAA;YAIAV,QAEH,EAAAxB,CAAA;UACL;QACA,IAIA,eAAAlB,KAAA,CAAAQ,MAAA;UAAA6C,GAAA;UA9CIC,SAAA;UA+CNZ,QAAA,GAEJ,eAAA5C,IAAA,CAAAO,WAAA;YAEJ4C,IAAA","ignoreList":[]}
@@ -0,0 +1,130 @@
1
+ import { Button, Dialog, DialogContent, Paragraph, SizableText, XStack, YStack } from "@multiplatform.one/components";
2
+ import { useTranslation } from "react-i18next";
3
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ function getModLabel() {
6
+ if (typeof navigator !== "undefined" && /Mac|iPhone|iPad|iPod/i.test(String(navigator.platform ?? ""))) {
7
+ return "\u2318";
8
+ }
9
+ return "Ctrl";
10
+ }
11
+ function KeyChip({
12
+ label
13
+ }) {
14
+ return /* @__PURE__ */jsx(XStack, {
15
+ borderWidth: 1,
16
+ borderColor: "$borderColor",
17
+ backgroundColor: "$color2",
18
+ borderRadius: "$2",
19
+ paddingHorizontal: "$2",
20
+ paddingVertical: "$1",
21
+ minWidth: 28,
22
+ justifyContent: "center",
23
+ children: /* @__PURE__ */jsx(SizableText, {
24
+ size: "$1",
25
+ fontWeight: "600",
26
+ children: label
27
+ })
28
+ });
29
+ }
30
+ function ShortcutRow({
31
+ combos,
32
+ description
33
+ }) {
34
+ return /* @__PURE__ */jsxs(XStack, {
35
+ gap: "$3",
36
+ alignItems: "center",
37
+ children: [/* @__PURE__ */jsx(XStack, {
38
+ width: 150,
39
+ gap: "$1",
40
+ alignItems: "center",
41
+ flexWrap: "wrap",
42
+ flexShrink: 0,
43
+ children: combos.map((combo, comboIndex) => /* @__PURE__ */jsxs(XStack, {
44
+ gap: "$1",
45
+ alignItems: "center",
46
+ children: [comboIndex > 0 && /* @__PURE__ */jsx(SizableText, {
47
+ size: "$2",
48
+ color: "$color10",
49
+ children: "/"
50
+ }), combo.map((key, keyIndex) => /* @__PURE__ */jsxs(XStack, {
51
+ gap: "$1",
52
+ alignItems: "center",
53
+ children: [keyIndex > 0 && /* @__PURE__ */jsx(SizableText, {
54
+ size: "$2",
55
+ color: "$color10",
56
+ children: "+"
57
+ }), /* @__PURE__ */jsx(KeyChip, {
58
+ label: key
59
+ })]
60
+ }, key))]
61
+ }, combo.join("+")))
62
+ }), /* @__PURE__ */jsx(SizableText, {
63
+ size: "$3",
64
+ flex: 1,
65
+ children: description
66
+ })]
67
+ });
68
+ }
69
+ function HelpShortcutsDialog({
70
+ open,
71
+ onOpenChange
72
+ }) {
73
+ const {
74
+ t
75
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
76
+ const mod = getModLabel();
77
+ const rows = [{
78
+ combos: [[mod, "K"], [mod, "G"]],
79
+ description: t("help.shortcutFocusSearch", "Open the command palette")
80
+ }, {
81
+ combos: [[mod, "S"]],
82
+ description: t("help.shortcutSaveForm", "Save the open document")
83
+ }, {
84
+ combos: [["Esc"]],
85
+ description: t("help.shortcutCloseOverlays", "Close dialogs and menus")
86
+ }];
87
+ return /* @__PURE__ */jsx(Dialog, {
88
+ modal: true,
89
+ open,
90
+ onOpenChange,
91
+ children: /* @__PURE__ */jsxs(Dialog.Portal, {
92
+ children: [/* @__PURE__ */jsx(Dialog.Overlay, {
93
+ backgroundColor: "$shadow6"
94
+ }, "overlay"), /* @__PURE__ */jsxs(DialogContent, {
95
+ width: 440,
96
+ maxWidth: "90%",
97
+ "data-testid": "backoffice-help-shortcuts-dialog",
98
+ children: [/* @__PURE__ */jsx(Dialog.Title, {
99
+ size: "$6",
100
+ children: t("help.shortcutsTitle", "Keyboard Shortcuts")
101
+ }), /* @__PURE__ */jsx(Dialog.Description, {
102
+ asChild: true,
103
+ children: /* @__PURE__ */jsx(Paragraph, {
104
+ size: "$3",
105
+ color: "$color11",
106
+ children: t("help.shortcutsIntro", "Shortcuts available across the backoffice (web).")
107
+ })
108
+ }), /* @__PURE__ */jsx(YStack, {
109
+ gap: "$3",
110
+ marginTop: "$2",
111
+ children: rows.map(row => /* @__PURE__ */jsx(ShortcutRow, {
112
+ ...row
113
+ }, row.description))
114
+ }), /* @__PURE__ */jsx(XStack, {
115
+ justifyContent: "flex-end",
116
+ marginTop: "$4",
117
+ children: /* @__PURE__ */jsx(Dialog.Close, {
118
+ asChild: true,
119
+ children: /* @__PURE__ */jsx(Button, {
120
+ size: "$3",
121
+ children: t("help.close", "Close")
122
+ })
123
+ })
124
+ })]
125
+ }, "content")]
126
+ })
127
+ });
128
+ }
129
+ export { HelpShortcutsDialog };
130
+ //# sourceMappingURL=help-shortcuts-dialog.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Button","Dialog","DialogContent","Paragraph","SizableText","XStack","YStack","useTranslation","BACKOFFICE_I18N_NAMESPACE","jsx","jsxs","getModLabel","navigator","test","String","platform","KeyChip","label","borderWidth","borderColor","backgroundColor","borderRadius","paddingHorizontal","paddingVertical","minWidth","justifyContent","children","size","fontWeight","ShortcutRow","combos","description","gap","alignItems","width","flexWrap","flexShrink","map","combo","comboIndex","color","key","keyIndex","join","flex","HelpShortcutsDialog","open","onOpenChange","t","mod","rows","modal","Portal","Overlay","maxWidth","Title","Description","asChild","marginTop","row","Close"],"sources":["../../../src/chrome/help-shortcuts-dialog.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}