@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,505 @@
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 CommandPalette_exports = {};
26
+ __export(CommandPalette_exports, {
27
+ CommandPalette: () => CommandPalette
28
+ });
29
+ module.exports = __toCommonJS(CommandPalette_exports);
30
+ var import_jsx_runtime = require("react/jsx-runtime");
31
+ var import_components = require("@multiplatform.one/components");
32
+ var import_forms = require("@multiplatform.one/forms");
33
+ var import_frappe_ui = require("@multiplatform.one/frappe-ui");
34
+ var import_theme = require("@multiplatform.one/theme");
35
+ var import_react = require("react");
36
+ var import_react_i18next = require("react-i18next");
37
+ var import_BackofficeProvider = require("../config/BackofficeProvider.native.js");
38
+ var import_i18n = require("../i18n/index.native.js");
39
+ var import_command_palette_model = require("./command-palette-model.native.js");
40
+ function _instanceof(left, right) {
41
+ "@swc/helpers - instanceof";
42
+
43
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
44
+ return !!right[Symbol.hasInstance](left);
45
+ } else {
46
+ return left instanceof right;
47
+ }
48
+ }
49
+ var PANEL_WIDTH = 640;
50
+ var RESULTS_MAX_HEIGHT = 400;
51
+ var ROW_MIN_HEIGHT = 44;
52
+ var LISTBOX_ID = "backoffice-command-palette-listbox";
53
+ var optionId = function optionId2(index) {
54
+ return `backoffice-command-palette-option-${index}`;
55
+ };
56
+ function CommandPalette(param) {
57
+ var {
58
+ open,
59
+ onOpenChange
60
+ } = param;
61
+ var {
62
+ t
63
+ } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);
64
+ var navigator = (0, import_BackofficeProvider.useBackofficeNavigator)();
65
+ var {
66
+ knobProps
67
+ } = (0, import_theme.useResolvedKnobs)();
68
+ var isCompact = (0, import_theme.useLayoutSizeClass)() === "compact";
69
+ var asSheet = !import_components.isWeb || isCompact;
70
+ var [query, setQuery] = (0, import_react.useState)("");
71
+ var [debouncedQuery, setDebouncedQuery] = (0, import_react.useState)("");
72
+ var [highlight, setHighlight] = (0, import_react.useState)(0);
73
+ var model = (0, import_command_palette_model.useCommandPaletteModel)({
74
+ query,
75
+ debouncedQuery,
76
+ open
77
+ });
78
+ var {
79
+ items
80
+ } = model;
81
+ var rootRef = (0, import_react.useRef)(null);
82
+ var itemNodesRef = (0, import_react.useRef)([]);
83
+ var restoreFocusRef = (0, import_react.useRef)(null);
84
+ var wasOpenRef = (0, import_react.useRef)(false);
85
+ if (open && !wasOpenRef.current && import_components.isWeb && typeof document !== "undefined") {
86
+ restoreFocusRef.current = _instanceof(document.activeElement, HTMLElement) ? document.activeElement : null;
87
+ }
88
+ wasOpenRef.current = open;
89
+ var close = (0, import_react.useCallback)(function () {
90
+ setQuery("");
91
+ setDebouncedQuery("");
92
+ setHighlight(0);
93
+ onOpenChange(false);
94
+ }, [onOpenChange]);
95
+ var handleOpenChange = (0, import_react.useCallback)(function (nextOpen) {
96
+ if (!nextOpen) close();else onOpenChange(true);
97
+ }, [close, onOpenChange]);
98
+ (0, import_react.useEffect)(function () {
99
+ if (open || !import_components.isWeb || typeof document === "undefined") return;
100
+ var target = restoreFocusRef.current;
101
+ restoreFocusRef.current = null;
102
+ if (target === null || target === void 0 ? void 0 : target.isConnected) target.focus();
103
+ }, [open]);
104
+ (0, import_react.useEffect)(function () {
105
+ if (!open || !import_components.isWeb || typeof document === "undefined") return;
106
+ var timer = setTimeout(function () {
107
+ var _root_querySelector;
108
+ var root = rootRef.current;
109
+ root === null || root === void 0 ? void 0 : (_root_querySelector = root.querySelector("input")) === null || _root_querySelector === void 0 ? void 0 : _root_querySelector.focus();
110
+ }, 0);
111
+ return function () {
112
+ return clearTimeout(timer);
113
+ };
114
+ }, [open]);
115
+ (0, import_react.useEffect)(function () {
116
+ setHighlight(function (current) {
117
+ return current < items.length ? current : 0;
118
+ });
119
+ }, [items]);
120
+ (0, import_react.useEffect)(function () {
121
+ var _node_scrollIntoView;
122
+ if (!import_components.isWeb) return;
123
+ var node = itemNodesRef.current[highlight];
124
+ node === null || node === void 0 ? void 0 : (_node_scrollIntoView = node.scrollIntoView) === null || _node_scrollIntoView === void 0 ? void 0 : _node_scrollIntoView.call(node, {
125
+ block: "nearest"
126
+ });
127
+ }, [highlight]);
128
+ var activate = (0, import_react.useCallback)(function (item) {
129
+ if (!item) return;
130
+ navigator.navigate(item.path);
131
+ (0, import_frappe_ui.addToRecent)({
132
+ label: item.label,
133
+ path: item.path
134
+ });
135
+ close();
136
+ }, [navigator, close]);
137
+ var handleKeyDown = (0, import_react.useCallback)(function (event) {
138
+ var _event_key;
139
+ var _event_nativeEvent;
140
+ var key = (_event_key = event.key) !== null && _event_key !== void 0 ? _event_key : (_event_nativeEvent = event.nativeEvent) === null || _event_nativeEvent === void 0 ? void 0 : _event_nativeEvent.key;
141
+ if (key === "ArrowDown") {
142
+ var _event_preventDefault;
143
+ (_event_preventDefault = event.preventDefault) === null || _event_preventDefault === void 0 ? void 0 : _event_preventDefault.call(event);
144
+ setHighlight(function (current) {
145
+ return items.length ? (current + 1) % items.length : 0;
146
+ });
147
+ } else if (key === "ArrowUp") {
148
+ var _event_preventDefault1;
149
+ (_event_preventDefault1 = event.preventDefault) === null || _event_preventDefault1 === void 0 ? void 0 : _event_preventDefault1.call(event);
150
+ setHighlight(function (current) {
151
+ return items.length ? (current - 1 + items.length) % items.length : 0;
152
+ });
153
+ } else if (key === "Enter") {
154
+ var _items_highlight;
155
+ var _event_preventDefault2;
156
+ (_event_preventDefault2 = event.preventDefault) === null || _event_preventDefault2 === void 0 ? void 0 : _event_preventDefault2.call(event);
157
+ activate((_items_highlight = items[highlight]) !== null && _items_highlight !== void 0 ? _items_highlight : items[0]);
158
+ } else if (key === "Escape") {
159
+ var _event_preventDefault3;
160
+ (_event_preventDefault3 = event.preventDefault) === null || _event_preventDefault3 === void 0 ? void 0 : _event_preventDefault3.call(event);
161
+ close();
162
+ } else if (key === "Tab") {
163
+ var _event_preventDefault4;
164
+ (_event_preventDefault4 = event.preventDefault) === null || _event_preventDefault4 === void 0 ? void 0 : _event_preventDefault4.call(event);
165
+ }
166
+ }, [items, highlight, activate, close]);
167
+ (0, import_react.useEffect)(function () {
168
+ if (!asSheet || !import_components.isWeb || typeof document === "undefined" || !open) return;
169
+ var onKeyDown = function onKeyDown2(event) {
170
+ if (event.key === "Escape") close();
171
+ };
172
+ document.addEventListener("keydown", onKeyDown);
173
+ return function () {
174
+ return document.removeEventListener("keydown", onKeyDown);
175
+ };
176
+ }, [asSheet, open, close]);
177
+ var handleChange = (0, import_react.useCallback)(function (text) {
178
+ setQuery(text);
179
+ setHighlight(0);
180
+ }, []);
181
+ var handleSearch = (0, import_react.useCallback)(function (text) {
182
+ setDebouncedQuery(text.trim());
183
+ }, []);
184
+ var handleClear = (0, import_react.useCallback)(function () {
185
+ setDebouncedQuery("");
186
+ setHighlight(0);
187
+ }, []);
188
+ var activeOptionId = items[highlight] ? optionId(highlight) : void 0;
189
+ var inputProps = (0, import_react.useMemo)(function () {
190
+ return {
191
+ onKeyDown: handleKeyDown,
192
+ onSubmitEditing: function onSubmitEditing() {
193
+ var _items_highlight;
194
+ return activate((_items_highlight = items[highlight]) !== null && _items_highlight !== void 0 ? _items_highlight : items[0]);
195
+ },
196
+ role: "combobox",
197
+ "aria-expanded": true,
198
+ "aria-haspopup": "listbox",
199
+ "aria-controls": LISTBOX_ID,
200
+ "aria-activedescendant": activeOptionId
201
+ };
202
+ }, [handleKeyDown, activate, items, highlight, activeOptionId]);
203
+ var searchInput = /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_forms.SearchInput, {
204
+ value: query,
205
+ onChange: handleChange,
206
+ onSearch: handleSearch,
207
+ onClear: handleClear,
208
+ debounceMs: 300,
209
+ size: "$3",
210
+ placeholder: t("awesomebar.placeholder", "Search or type a command\u2026"),
211
+ "aria-label": t("awesomebar.label", "Search or type a command"),
212
+ inputProps
213
+ });
214
+ var results = /* @__PURE__ */(0, import_jsx_runtime.jsx)(PaletteResults, {
215
+ model,
216
+ highlight,
217
+ onHighlight: setHighlight,
218
+ onActivate: activate,
219
+ itemNodesRef
220
+ });
221
+ if (asSheet) {
222
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.SheetModal, {
223
+ open,
224
+ onOpenChange: handleOpenChange,
225
+ snapPoint: 92,
226
+ scrollable: true,
227
+ header: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
228
+ ref: rootRef,
229
+ paddingBottom: "$2",
230
+ "data-testid": "backoffice-command-palette",
231
+ children: searchInput
232
+ }),
233
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
234
+ id: LISTBOX_ID,
235
+ role: "listbox",
236
+ "aria-label": t("awesomebar.results", "Search results"),
237
+ paddingBottom: "$4",
238
+ "data-dismiss-class": "commit",
239
+ children: results
240
+ })
241
+ });
242
+ }
243
+ var topOffset = typeof window !== "undefined" ? Math.round(window.innerHeight * 0.15) : 120;
244
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Dialog, {
245
+ modal: true,
246
+ open,
247
+ onOpenChange: handleOpenChange,
248
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.Dialog.Portal, {
249
+ justifyContent: "flex-start",
250
+ alignItems: "center",
251
+ paddingTop: topOffset,
252
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Dialog.Overlay, {
253
+ backgroundColor: "$shadow6",
254
+ transition: knobProps.transition,
255
+ enterStyle: {
256
+ opacity: 0
257
+ },
258
+ exitStyle: {
259
+ opacity: 0
260
+ }
261
+ }, "overlay"), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.DialogContent, {
262
+ ref: rootRef,
263
+ width: PANEL_WIDTH,
264
+ maxWidth: "92%",
265
+ // SP-EDGE: the container owns only its border — the input band,
266
+ // rows, and footer own their insets, so row highlights run edge
267
+ // to edge and overflow hidden clips them to the radius.
268
+ padding: 0,
269
+ gap: 0,
270
+ overflow: "hidden",
271
+ "aria-label": t("awesomebar.label", "Search or type a command"),
272
+ "data-dismiss-class": "commit",
273
+ "data-testid": "backoffice-command-palette",
274
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
275
+ padding: "$2.5",
276
+ borderBottomWidth: 1,
277
+ borderBottomColor: "$borderColor",
278
+ children: searchInput
279
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.ScrollView, {
280
+ maxHeight: RESULTS_MAX_HEIGHT,
281
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.YStack, {
282
+ id: LISTBOX_ID,
283
+ role: "listbox",
284
+ "aria-label": t("awesomebar.results", "Search results"),
285
+ paddingVertical: "$1.5",
286
+ children: results
287
+ })
288
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(PaletteFooter, {})]
289
+ }, "content")]
290
+ })
291
+ });
292
+ }
293
+ function PaletteResults(param) {
294
+ var {
295
+ model,
296
+ highlight,
297
+ onHighlight,
298
+ onActivate,
299
+ itemNodesRef
300
+ } = param;
301
+ var {
302
+ t
303
+ } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);
304
+ var {
305
+ knobProps
306
+ } = (0, import_theme.useResolvedKnobs)();
307
+ var onAccent = (0, import_theme.useReadableTextOn)("$accentBackground");
308
+ var {
309
+ sections,
310
+ searching,
311
+ hasQuery,
312
+ noResults
313
+ } = model;
314
+ var flatIndex = -1;
315
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, {
316
+ children: [sections.map(function (section) {
317
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
318
+ "data-testid": `backoffice-palette-section-${section.id}`,
319
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
320
+ fontSize: "$1",
321
+ color: "$color10",
322
+ textTransform: "uppercase",
323
+ letterSpacing: 0.5,
324
+ paddingHorizontal: "$3",
325
+ paddingTop: "$2.5",
326
+ paddingBottom: "$1.5",
327
+ ...knobProps.body,
328
+ children: section.label
329
+ }), section.items.map(function (item) {
330
+ flatIndex += 1;
331
+ var index = flatIndex;
332
+ var highlighted = index === highlight;
333
+ var Icon = item.icon;
334
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
335
+ id: optionId(index),
336
+ ref: function ref(node) {
337
+ itemNodesRef.current[index] = node;
338
+ },
339
+ role: "option",
340
+ "aria-selected": highlighted,
341
+ alignItems: "center",
342
+ gap: "$2.5",
343
+ paddingHorizontal: "$3",
344
+ paddingVertical: "$2",
345
+ minHeight: ROW_MIN_HEIGHT,
346
+ cursor: "pointer",
347
+ backgroundColor: highlighted ? "$accentBackground" : "transparent",
348
+ hoverStyle: {
349
+ backgroundColor: highlighted ? "$accentBackground" : "$color3"
350
+ },
351
+ pressStyle: {
352
+ backgroundColor: "$accentBackground"
353
+ },
354
+ onPress: function onPress() {
355
+ return onActivate(item);
356
+ },
357
+ onMouseEnter: function onMouseEnter() {
358
+ return onHighlight(index);
359
+ },
360
+ children: [/* LC-08: one uniform leading media slot */
361
+ /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
362
+ width: 20,
363
+ justifyContent: "center",
364
+ flexShrink: 0,
365
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(Icon, {
366
+ size: 16,
367
+ color: highlighted && onAccent ? onAccent : void 0
368
+ })
369
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.YStack, {
370
+ flex: 1,
371
+ minWidth: 0,
372
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
373
+ numberOfLines: 1,
374
+ fontSize: "$3",
375
+ color: highlighted && onAccent ? onAccent : "$color12",
376
+ ...knobProps.body,
377
+ children: item.label
378
+ }), item.description ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
379
+ numberOfLines: 1,
380
+ fontSize: "$2",
381
+ color: highlighted && onAccent ? onAccent : "$color10",
382
+ opacity: highlighted ? 0.8 : 1,
383
+ ...knobProps.body,
384
+ children: item.description
385
+ }) : null]
386
+ }), item.badge ? /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
387
+ borderWidth: 1,
388
+ borderColor: highlighted && onAccent ? onAccent : "$borderColor",
389
+ borderRadius: "$2",
390
+ paddingHorizontal: "$1.5",
391
+ paddingVertical: 2,
392
+ flexShrink: 0,
393
+ opacity: highlighted ? 0.9 : 1,
394
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
395
+ fontSize: "$1",
396
+ color: highlighted && onAccent ? onAccent : "$color10",
397
+ ...knobProps.body,
398
+ children: item.badge
399
+ })
400
+ }) : null]
401
+ }, item.id);
402
+ })]
403
+ }, section.id);
404
+ }), hasQuery && searching && /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
405
+ alignItems: "center",
406
+ gap: "$2.5",
407
+ paddingHorizontal: "$3",
408
+ paddingVertical: "$2",
409
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Spinner, {
410
+ size: "small",
411
+ color: "$color10"
412
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
413
+ fontSize: "$2",
414
+ color: "$color10",
415
+ ...knobProps.body,
416
+ children: t("awesomebar.searching", "Searching\u2026")
417
+ })]
418
+ }), noResults && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
419
+ paddingHorizontal: "$3",
420
+ paddingVertical: "$3",
421
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
422
+ fontSize: "$2",
423
+ color: "$color10",
424
+ ...knobProps.body,
425
+ children: t("awesomebar.noResults", {
426
+ defaultValue: "No results for \u201C{{query}}\u201D",
427
+ query: model.query
428
+ })
429
+ })
430
+ }), !hasQuery && sections.length === 0 && /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
431
+ paddingHorizontal: "$3",
432
+ paddingVertical: "$3",
433
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.Text, {
434
+ fontSize: "$2",
435
+ color: "$color10",
436
+ ...knobProps.body,
437
+ children: t("awesomebar.empty", "Type to search\u2026")
438
+ })
439
+ })]
440
+ });
441
+ }
442
+ function KeyCap(param) {
443
+ var {
444
+ label
445
+ } = param;
446
+ return /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.XStack, {
447
+ borderWidth: 1,
448
+ borderColor: "$borderColor",
449
+ backgroundColor: "$color2",
450
+ borderRadius: "$2",
451
+ paddingHorizontal: "$1.5",
452
+ justifyContent: "center",
453
+ children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.SizableText, {
454
+ size: "$1",
455
+ fontWeight: "600",
456
+ color: "$color11",
457
+ children: label
458
+ })
459
+ });
460
+ }
461
+ function PaletteFooter() {
462
+ var {
463
+ t
464
+ } = (0, import_react_i18next.useTranslation)(import_i18n.BACKOFFICE_I18N_NAMESPACE);
465
+ return /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
466
+ alignItems: "center",
467
+ gap: "$3",
468
+ paddingHorizontal: "$3",
469
+ paddingVertical: "$2",
470
+ borderTopWidth: 1,
471
+ borderTopColor: "$borderColor",
472
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
473
+ alignItems: "center",
474
+ gap: "$1.5",
475
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(KeyCap, {
476
+ label: "\u2191\u2193"
477
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.SizableText, {
478
+ size: "$1",
479
+ color: "$color10",
480
+ children: t("awesomebar.hintNavigate", "navigate")
481
+ })]
482
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
483
+ alignItems: "center",
484
+ gap: "$1.5",
485
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(KeyCap, {
486
+ label: "\u21B5"
487
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.SizableText, {
488
+ size: "$1",
489
+ color: "$color10",
490
+ children: t("awesomebar.hintOpen", "open")
491
+ })]
492
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsxs)(import_components.XStack, {
493
+ alignItems: "center",
494
+ gap: "$1.5",
495
+ children: [/* @__PURE__ */(0, import_jsx_runtime.jsx)(KeyCap, {
496
+ label: "esc"
497
+ }), /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_components.SizableText, {
498
+ size: "$1",
499
+ color: "$color10",
500
+ children: t("awesomebar.hintClose", "close")
501
+ })]
502
+ })]
503
+ });
504
+ }
505
+ //# sourceMappingURL=CommandPalette.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","CommandPalette_exports","CommandPalette","module","exports","import_jsx_runtime","require","import_components","import_forms","import_frappe_ui","import_theme","import_react","import_react_i18next","import_BackofficeProvider","import_i18n","import_command_palette_model","_instanceof","left","right","Symbol","hasInstance","PANEL_WIDTH","RESULTS_MAX_HEIGHT","ROW_MIN_HEIGHT","LISTBOX_ID","optionId","optionId2","index","param","open","onOpenChange","t","useTranslation","BACKOFFICE_I18N_NAMESPACE","navigator","useBackofficeNavigator","knobProps","useResolvedKnobs","isCompact","useLayoutSizeClass","asSheet","isWeb","query","setQuery","useState","debouncedQuery","setDebouncedQuery","highlight","setHighlight","model","useCommandPaletteModel","items","rootRef","useRef","itemNodesRef","restoreFocusRef","wasOpenRef","current","document","activeElement","HTMLElement","close","useCallback","handleOpenChange","nextOpen","useEffect","isConnected","focus","timer","setTimeout","_root_querySelector","root","querySelector","clearTimeout","length","_node_scrollIntoView","node","scrollIntoView","block","activate","item","navigate","path","addToRecent","label","handleKeyDown","event","_event_key","_event_nativeEvent","nativeEvent","_event_preventDefault","preventDefault","_event_preventDefault1","_items_highlight","_event_preventDefault2","_event_preventDefault3","_event_preventDefault4","onKeyDown","onKeyDown2","addEventListener","removeEventListener","handleChange","text","handleSearch","trim","handleClear","activeOptionId","inputProps","useMemo","onSubmitEditing","role","searchInput","jsx","SearchInput","onChange","onSearch","onClear","debounceMs","size","placeholder","results","PaletteResults","onHighlight","onActivate","SheetModal","snapPoint","scrollable","header","YStack","ref","paddingBottom","children","id","topOffset","window","Math","round","innerHeight","Dialog","modal","jsxs","Portal","justifyContent","alignItems","paddingTop","Overlay","backgroundColor","transition","enterStyle","opacity","exitStyle","DialogContent","width","maxWidth","padding","gap","overflow","borderBottomWidth","borderBottomColor","ScrollView","maxHeight","paddingVertical","PaletteFooter","onAccent","useReadableTextOn","sections","searching","hasQuery","noResults","flatIndex","Fragment","map","section","Text","fontSize","color","textTransform","letterSpacing","paddingHorizontal","body","highlighted","Icon","icon","XStack","minHeight","cursor","hoverStyle","pressStyle","onPress","onMouseEnter","flexShrink","flex","minWidth","numberOfLines","description"],"sources":["../../../src/chrome/CommandPalette.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,106 @@
1
+ import { Button, Popover, PopoverContent, Separator, YStack } from "@multiplatform.one/components";
2
+ import { openUrl } from "@multiplatform.one/platform";
3
+ import { BookOpenIcon, BugIcon, ChatsCircleIcon, InfoIcon, KeyboardIcon, QuestionIcon } from "@phosphor-icons/react";
4
+ import { useState } from "react";
5
+ import { useTranslation } from "react-i18next";
6
+ import { BACKOFFICE_I18N_NAMESPACE } from "../i18n/index.mjs";
7
+ import { HelpAboutDialog } from "./help-about-dialog.mjs";
8
+ import { HelpShortcutsDialog } from "./help-shortcuts-dialog.mjs";
9
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
10
+ const DOCUMENTATION_URL = "https://docs.frappe.io";
11
+ const USER_FORUM_URL = "https://discuss.frappe.io";
12
+ const REPORT_ISSUE_URL = "https://github.com/frappe/frappe/issues";
13
+ function HelpMenuItem({
14
+ icon,
15
+ label,
16
+ onPress,
17
+ testID
18
+ }) {
19
+ return /* @__PURE__ */jsx(Button, {
20
+ chromeless: true,
21
+ size: "$3",
22
+ icon,
23
+ justifyContent: "flex-start",
24
+ width: "100%",
25
+ onPress,
26
+ "data-testid": testID,
27
+ children: label
28
+ });
29
+ }
30
+ function HelpMenu() {
31
+ const {
32
+ t
33
+ } = useTranslation(BACKOFFICE_I18N_NAMESPACE);
34
+ const [menuOpen, setMenuOpen] = useState(false);
35
+ const [aboutOpen, setAboutOpen] = useState(false);
36
+ const [shortcutsOpen, setShortcutsOpen] = useState(false);
37
+ const openLink = url => {
38
+ setMenuOpen(false);
39
+ openUrl(url, "_blank");
40
+ };
41
+ const openDialog = setOpen => {
42
+ setMenuOpen(false);
43
+ setOpen(true);
44
+ };
45
+ return /* @__PURE__ */jsxs(Fragment, {
46
+ children: [/* @__PURE__ */jsxs(Popover, {
47
+ open: menuOpen,
48
+ onOpenChange: setMenuOpen,
49
+ placement: "bottom-end",
50
+ stayInFrame: true,
51
+ children: [/* @__PURE__ */jsx(Popover.Trigger, {
52
+ asChild: true,
53
+ children: /* @__PURE__ */jsx(Button, {
54
+ chromeless: true,
55
+ circular: true,
56
+ size: "$3",
57
+ icon: QuestionIcon,
58
+ "aria-label": t("help.label", "Help"),
59
+ "data-testid": "backoffice-help-trigger"
60
+ })
61
+ }), /* @__PURE__ */jsx(PopoverContent, {
62
+ padding: "$2",
63
+ "data-testid": "backoffice-help-menu",
64
+ children: /* @__PURE__ */jsxs(YStack, {
65
+ minWidth: 220,
66
+ children: [/* @__PURE__ */jsx(HelpMenuItem, {
67
+ icon: BookOpenIcon,
68
+ label: t("help.documentation", "Documentation"),
69
+ onPress: () => openLink(DOCUMENTATION_URL),
70
+ testID: "backoffice-help-documentation"
71
+ }), /* @__PURE__ */jsx(HelpMenuItem, {
72
+ icon: ChatsCircleIcon,
73
+ label: t("help.userForum", "User Forum"),
74
+ onPress: () => openLink(USER_FORUM_URL),
75
+ testID: "backoffice-help-forum"
76
+ }), /* @__PURE__ */jsx(HelpMenuItem, {
77
+ icon: BugIcon,
78
+ label: t("help.reportIssue", "Report an Issue"),
79
+ onPress: () => openLink(REPORT_ISSUE_URL),
80
+ testID: "backoffice-help-report-issue"
81
+ }), /* @__PURE__ */jsx(Separator, {
82
+ marginVertical: "$1"
83
+ }), /* @__PURE__ */jsx(HelpMenuItem, {
84
+ icon: KeyboardIcon,
85
+ label: t("help.keyboardShortcuts", "Keyboard Shortcuts"),
86
+ onPress: () => openDialog(setShortcutsOpen),
87
+ testID: "backoffice-help-shortcuts"
88
+ }), /* @__PURE__ */jsx(HelpMenuItem, {
89
+ icon: InfoIcon,
90
+ label: t("help.about", "About"),
91
+ onPress: () => openDialog(setAboutOpen),
92
+ testID: "backoffice-help-about"
93
+ })]
94
+ })
95
+ })]
96
+ }), /* @__PURE__ */jsx(HelpShortcutsDialog, {
97
+ open: shortcutsOpen,
98
+ onOpenChange: setShortcutsOpen
99
+ }), /* @__PURE__ */jsx(HelpAboutDialog, {
100
+ open: aboutOpen,
101
+ onOpenChange: setAboutOpen
102
+ })]
103
+ });
104
+ }
105
+ export { HelpMenu };
106
+ //# sourceMappingURL=HelpMenu.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Button","Popover","PopoverContent","Separator","YStack","openUrl","BookOpenIcon","BugIcon","ChatsCircleIcon","InfoIcon","KeyboardIcon","QuestionIcon","useState","useTranslation","BACKOFFICE_I18N_NAMESPACE","HelpAboutDialog","HelpShortcutsDialog","Fragment","jsx","jsxs","DOCUMENTATION_URL","USER_FORUM_URL","REPORT_ISSUE_URL","HelpMenuItem","icon","label","onPress","testID","chromeless","size","justifyContent","width","children","HelpMenu","t","menuOpen","setMenuOpen","aboutOpen","setAboutOpen","shortcutsOpen","setShortcutsOpen","openLink","url","openDialog","setOpen","open","onOpenChange","placement","stayInFrame","Trigger","asChild","circular","padding","minWidth","marginVertical"],"sources":["../../../src/chrome/HelpMenu.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}