@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.
- package/LICENSE +201 -0
- package/README.md +310 -0
- package/dist/cjs/chrome/BackofficeAwesomebar.cjs +95 -0
- package/dist/cjs/chrome/BackofficeAwesomebar.native.js +106 -0
- package/dist/cjs/chrome/BackofficeAwesomebar.native.js.map +1 -0
- package/dist/cjs/chrome/CommandPalette.cjs +453 -0
- package/dist/cjs/chrome/CommandPalette.native.js +505 -0
- package/dist/cjs/chrome/CommandPalette.native.js.map +1 -0
- package/dist/cjs/chrome/HelpMenu.cjs +131 -0
- package/dist/cjs/chrome/HelpMenu.native.js +145 -0
- package/dist/cjs/chrome/HelpMenu.native.js.map +1 -0
- package/dist/cjs/chrome/NotificationsButton.cjs +112 -0
- package/dist/cjs/chrome/NotificationsButton.native.js +115 -0
- package/dist/cjs/chrome/NotificationsButton.native.js.map +1 -0
- package/dist/cjs/chrome/UserMenu.cjs +158 -0
- package/dist/cjs/chrome/UserMenu.native.js +186 -0
- package/dist/cjs/chrome/UserMenu.native.js.map +1 -0
- package/dist/cjs/chrome/awesomebar-data.cjs +173 -0
- package/dist/cjs/chrome/awesomebar-data.native.js +233 -0
- package/dist/cjs/chrome/awesomebar-data.native.js.map +1 -0
- package/dist/cjs/chrome/command-palette-model.cjs +208 -0
- package/dist/cjs/chrome/command-palette-model.native.js +301 -0
- package/dist/cjs/chrome/command-palette-model.native.js.map +1 -0
- package/dist/cjs/chrome/help-about-dialog.cjs +136 -0
- package/dist/cjs/chrome/help-about-dialog.native.js +146 -0
- package/dist/cjs/chrome/help-about-dialog.native.js.map +1 -0
- package/dist/cjs/chrome/help-shortcuts-dialog.cjs +155 -0
- package/dist/cjs/chrome/help-shortcuts-dialog.native.js +168 -0
- package/dist/cjs/chrome/help-shortcuts-dialog.native.js.map +1 -0
- package/dist/cjs/chrome/notifications-data.cjs +190 -0
- package/dist/cjs/chrome/notifications-data.native.js +271 -0
- package/dist/cjs/chrome/notifications-data.native.js.map +1 -0
- package/dist/cjs/chrome/notifications-panel.cjs +171 -0
- package/dist/cjs/chrome/notifications-panel.native.js +189 -0
- package/dist/cjs/chrome/notifications-panel.native.js.map +1 -0
- package/dist/cjs/chrome/notifications-utils.cjs +43 -0
- package/dist/cjs/chrome/notifications-utils.native.js +46 -0
- package/dist/cjs/chrome/notifications-utils.native.js.map +1 -0
- package/dist/cjs/chrome/shortcuts.cjs +58 -0
- package/dist/cjs/chrome/shortcuts.native.js +72 -0
- package/dist/cjs/chrome/shortcuts.native.js.map +1 -0
- package/dist/cjs/chrome/user-session.cjs +100 -0
- package/dist/cjs/chrome/user-session.native.js +120 -0
- package/dist/cjs/chrome/user-session.native.js.map +1 -0
- package/dist/cjs/config/BackofficeProvider.cjs +164 -0
- package/dist/cjs/config/BackofficeProvider.native.js +217 -0
- package/dist/cjs/config/BackofficeProvider.native.js.map +1 -0
- package/dist/cjs/config/capabilities.cjs +123 -0
- package/dist/cjs/config/capabilities.native.js +155 -0
- package/dist/cjs/config/capabilities.native.js.map +1 -0
- package/dist/cjs/config/events.cjs +18 -0
- package/dist/cjs/config/events.native.js +21 -0
- package/dist/cjs/config/events.native.js.map +1 -0
- package/dist/cjs/config/slots.cjs +18 -0
- package/dist/cjs/config/slots.native.js +21 -0
- package/dist/cjs/config/slots.native.js.map +1 -0
- package/dist/cjs/i18n/en.cjs +101 -0
- package/dist/cjs/i18n/en.native.js +104 -0
- package/dist/cjs/i18n/en.native.js.map +1 -0
- package/dist/cjs/i18n/index.cjs +77 -0
- package/dist/cjs/i18n/index.native.js +102 -0
- package/dist/cjs/i18n/index.native.js.map +1 -0
- package/dist/cjs/index.cjs +109 -0
- package/dist/cjs/index.native.js +112 -0
- package/dist/cjs/index.native.js.map +1 -0
- package/dist/cjs/navigation/navigator.cjs +144 -0
- package/dist/cjs/navigation/navigator.native.js +307 -0
- package/dist/cjs/navigation/navigator.native.js.map +1 -0
- package/dist/cjs/navigation/paths.cjs +103 -0
- package/dist/cjs/navigation/paths.native.js +143 -0
- package/dist/cjs/navigation/paths.native.js.map +1 -0
- package/dist/cjs/oneAdapter/index.cjs +53 -0
- package/dist/cjs/oneAdapter/index.native.js +64 -0
- package/dist/cjs/oneAdapter/index.native.js.map +1 -0
- package/dist/cjs/shared/useFrappeApp.cjs +56 -0
- package/dist/cjs/shared/useFrappeApp.native.js +60 -0
- package/dist/cjs/shared/useFrappeApp.native.js.map +1 -0
- package/dist/cjs/shell/BackofficeShell.cjs +194 -0
- package/dist/cjs/shell/BackofficeShell.native.js +223 -0
- package/dist/cjs/shell/BackofficeShell.native.js.map +1 -0
- package/dist/cjs/shell/WorkspaceSidebar.cjs +115 -0
- package/dist/cjs/shell/WorkspaceSidebar.native.js +143 -0
- package/dist/cjs/shell/WorkspaceSidebar.native.js.map +1 -0
- package/dist/cjs/shell/useWorkspaces.cjs +131 -0
- package/dist/cjs/shell/useWorkspaces.native.js +173 -0
- package/dist/cjs/shell/useWorkspaces.native.js.map +1 -0
- package/dist/cjs/shell/workspaceIcons.cjs +64 -0
- package/dist/cjs/shell/workspaceIcons.native.js +67 -0
- package/dist/cjs/shell/workspaceIcons.native.js.map +1 -0
- package/dist/esm/chrome/BackofficeAwesomebar.mjs +70 -0
- package/dist/esm/chrome/BackofficeAwesomebar.mjs.map +1 -0
- package/dist/esm/chrome/BackofficeAwesomebar.native.js +78 -0
- package/dist/esm/chrome/BackofficeAwesomebar.native.js.map +1 -0
- package/dist/esm/chrome/CommandPalette.mjs +428 -0
- package/dist/esm/chrome/CommandPalette.mjs.map +1 -0
- package/dist/esm/chrome/CommandPalette.native.js +477 -0
- package/dist/esm/chrome/CommandPalette.native.js.map +1 -0
- package/dist/esm/chrome/HelpMenu.mjs +106 -0
- package/dist/esm/chrome/HelpMenu.mjs.map +1 -0
- package/dist/esm/chrome/HelpMenu.native.js +117 -0
- package/dist/esm/chrome/HelpMenu.native.js.map +1 -0
- package/dist/esm/chrome/NotificationsButton.mjs +87 -0
- package/dist/esm/chrome/NotificationsButton.mjs.map +1 -0
- package/dist/esm/chrome/NotificationsButton.native.js +87 -0
- package/dist/esm/chrome/NotificationsButton.native.js.map +1 -0
- package/dist/esm/chrome/UserMenu.mjs +133 -0
- package/dist/esm/chrome/UserMenu.mjs.map +1 -0
- package/dist/esm/chrome/UserMenu.native.js +147 -0
- package/dist/esm/chrome/UserMenu.native.js.map +1 -0
- package/dist/esm/chrome/awesomebar-data.mjs +144 -0
- package/dist/esm/chrome/awesomebar-data.mjs.map +1 -0
- package/dist/esm/chrome/awesomebar-data.native.js +190 -0
- package/dist/esm/chrome/awesomebar-data.native.js.map +1 -0
- package/dist/esm/chrome/command-palette-model.mjs +183 -0
- package/dist/esm/chrome/command-palette-model.mjs.map +1 -0
- package/dist/esm/chrome/command-palette-model.native.js +273 -0
- package/dist/esm/chrome/command-palette-model.native.js.map +1 -0
- package/dist/esm/chrome/help-about-dialog.mjs +111 -0
- package/dist/esm/chrome/help-about-dialog.mjs.map +1 -0
- package/dist/esm/chrome/help-about-dialog.native.js +118 -0
- package/dist/esm/chrome/help-about-dialog.native.js.map +1 -0
- package/dist/esm/chrome/help-shortcuts-dialog.mjs +130 -0
- package/dist/esm/chrome/help-shortcuts-dialog.mjs.map +1 -0
- package/dist/esm/chrome/help-shortcuts-dialog.native.js +140 -0
- package/dist/esm/chrome/help-shortcuts-dialog.native.js.map +1 -0
- package/dist/esm/chrome/notifications-data.mjs +165 -0
- package/dist/esm/chrome/notifications-data.mjs.map +1 -0
- package/dist/esm/chrome/notifications-data.native.js +232 -0
- package/dist/esm/chrome/notifications-data.native.js.map +1 -0
- package/dist/esm/chrome/notifications-panel.mjs +146 -0
- package/dist/esm/chrome/notifications-panel.mjs.map +1 -0
- package/dist/esm/chrome/notifications-panel.native.js +161 -0
- package/dist/esm/chrome/notifications-panel.native.js.map +1 -0
- package/dist/esm/chrome/notifications-utils.mjs +17 -0
- package/dist/esm/chrome/notifications-utils.mjs.map +1 -0
- package/dist/esm/chrome/notifications-utils.native.js +17 -0
- package/dist/esm/chrome/notifications-utils.native.js.map +1 -0
- package/dist/esm/chrome/shortcuts.mjs +33 -0
- package/dist/esm/chrome/shortcuts.mjs.map +1 -0
- package/dist/esm/chrome/shortcuts.native.js +44 -0
- package/dist/esm/chrome/shortcuts.native.js.map +1 -0
- package/dist/esm/chrome/user-session.mjs +73 -0
- package/dist/esm/chrome/user-session.mjs.map +1 -0
- package/dist/esm/chrome/user-session.native.js +79 -0
- package/dist/esm/chrome/user-session.native.js.map +1 -0
- package/dist/esm/config/BackofficeProvider.mjs +132 -0
- package/dist/esm/config/BackofficeProvider.mjs.map +1 -0
- package/dist/esm/config/BackofficeProvider.native.js +171 -0
- package/dist/esm/config/BackofficeProvider.native.js.map +1 -0
- package/dist/esm/config/capabilities.mjs +97 -0
- package/dist/esm/config/capabilities.mjs.map +1 -0
- package/dist/esm/config/capabilities.native.js +126 -0
- package/dist/esm/config/capabilities.native.js.map +1 -0
- package/dist/esm/config/events.mjs +2 -0
- package/dist/esm/config/events.mjs.map +1 -0
- package/dist/esm/config/events.native.js +2 -0
- package/dist/esm/config/events.native.js.map +1 -0
- package/dist/esm/config/slots.mjs +2 -0
- package/dist/esm/config/slots.mjs.map +1 -0
- package/dist/esm/config/slots.native.js +2 -0
- package/dist/esm/config/slots.native.js.map +1 -0
- package/dist/esm/i18n/en.mjs +76 -0
- package/dist/esm/i18n/en.mjs.map +1 -0
- package/dist/esm/i18n/en.native.js +76 -0
- package/dist/esm/i18n/en.native.js.map +1 -0
- package/dist/esm/i18n/index.mjs +40 -0
- package/dist/esm/i18n/index.mjs.map +1 -0
- package/dist/esm/i18n/index.native.js +62 -0
- package/dist/esm/i18n/index.native.js.map +1 -0
- package/dist/esm/index.mjs +26 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/index.native.js +26 -0
- package/dist/esm/index.native.js.map +1 -0
- package/dist/esm/navigation/navigator.mjs +115 -0
- package/dist/esm/navigation/navigator.mjs.map +1 -0
- package/dist/esm/navigation/navigator.native.js +275 -0
- package/dist/esm/navigation/navigator.native.js.map +1 -0
- package/dist/esm/navigation/paths.mjs +66 -0
- package/dist/esm/navigation/paths.mjs.map +1 -0
- package/dist/esm/navigation/paths.native.js +103 -0
- package/dist/esm/navigation/paths.native.js.map +1 -0
- package/dist/esm/oneAdapter/index.mjs +28 -0
- package/dist/esm/oneAdapter/index.mjs.map +1 -0
- package/dist/esm/oneAdapter/index.native.js +36 -0
- package/dist/esm/oneAdapter/index.native.js.map +1 -0
- package/dist/esm/shared/useFrappeApp.mjs +31 -0
- package/dist/esm/shared/useFrappeApp.mjs.map +1 -0
- package/dist/esm/shared/useFrappeApp.native.js +32 -0
- package/dist/esm/shared/useFrappeApp.native.js.map +1 -0
- package/dist/esm/shell/BackofficeShell.mjs +169 -0
- package/dist/esm/shell/BackofficeShell.mjs.map +1 -0
- package/dist/esm/shell/BackofficeShell.native.js +195 -0
- package/dist/esm/shell/BackofficeShell.native.js.map +1 -0
- package/dist/esm/shell/WorkspaceSidebar.mjs +89 -0
- package/dist/esm/shell/WorkspaceSidebar.mjs.map +1 -0
- package/dist/esm/shell/WorkspaceSidebar.native.js +114 -0
- package/dist/esm/shell/WorkspaceSidebar.native.js.map +1 -0
- package/dist/esm/shell/useWorkspaces.mjs +104 -0
- package/dist/esm/shell/useWorkspaces.mjs.map +1 -0
- package/dist/esm/shell/useWorkspaces.native.js +143 -0
- package/dist/esm/shell/useWorkspaces.native.js.map +1 -0
- package/dist/esm/shell/workspaceIcons.mjs +39 -0
- package/dist/esm/shell/workspaceIcons.mjs.map +1 -0
- package/dist/esm/shell/workspaceIcons.native.js +39 -0
- package/dist/esm/shell/workspaceIcons.native.js.map +1 -0
- package/dist/jsx/chrome/BackofficeAwesomebar.mjs +70 -0
- package/dist/jsx/chrome/BackofficeAwesomebar.mjs.map +1 -0
- package/dist/jsx/chrome/BackofficeAwesomebar.native.js +106 -0
- package/dist/jsx/chrome/BackofficeAwesomebar.native.js.map +1 -0
- package/dist/jsx/chrome/CommandPalette.mjs +428 -0
- package/dist/jsx/chrome/CommandPalette.mjs.map +1 -0
- package/dist/jsx/chrome/CommandPalette.native.js +505 -0
- package/dist/jsx/chrome/CommandPalette.native.js.map +1 -0
- package/dist/jsx/chrome/HelpMenu.mjs +106 -0
- package/dist/jsx/chrome/HelpMenu.mjs.map +1 -0
- package/dist/jsx/chrome/HelpMenu.native.js +145 -0
- package/dist/jsx/chrome/HelpMenu.native.js.map +1 -0
- package/dist/jsx/chrome/NotificationsButton.mjs +87 -0
- package/dist/jsx/chrome/NotificationsButton.mjs.map +1 -0
- package/dist/jsx/chrome/NotificationsButton.native.js +115 -0
- package/dist/jsx/chrome/NotificationsButton.native.js.map +1 -0
- package/dist/jsx/chrome/UserMenu.mjs +133 -0
- package/dist/jsx/chrome/UserMenu.mjs.map +1 -0
- package/dist/jsx/chrome/UserMenu.native.js +186 -0
- package/dist/jsx/chrome/UserMenu.native.js.map +1 -0
- package/dist/jsx/chrome/awesomebar-data.mjs +144 -0
- package/dist/jsx/chrome/awesomebar-data.mjs.map +1 -0
- package/dist/jsx/chrome/awesomebar-data.native.js +233 -0
- package/dist/jsx/chrome/awesomebar-data.native.js.map +1 -0
- package/dist/jsx/chrome/command-palette-model.mjs +183 -0
- package/dist/jsx/chrome/command-palette-model.mjs.map +1 -0
- package/dist/jsx/chrome/command-palette-model.native.js +301 -0
- package/dist/jsx/chrome/command-palette-model.native.js.map +1 -0
- package/dist/jsx/chrome/help-about-dialog.mjs +111 -0
- package/dist/jsx/chrome/help-about-dialog.mjs.map +1 -0
- package/dist/jsx/chrome/help-about-dialog.native.js +146 -0
- package/dist/jsx/chrome/help-about-dialog.native.js.map +1 -0
- package/dist/jsx/chrome/help-shortcuts-dialog.mjs +130 -0
- package/dist/jsx/chrome/help-shortcuts-dialog.mjs.map +1 -0
- package/dist/jsx/chrome/help-shortcuts-dialog.native.js +168 -0
- package/dist/jsx/chrome/help-shortcuts-dialog.native.js.map +1 -0
- package/dist/jsx/chrome/notifications-data.mjs +165 -0
- package/dist/jsx/chrome/notifications-data.mjs.map +1 -0
- package/dist/jsx/chrome/notifications-data.native.js +271 -0
- package/dist/jsx/chrome/notifications-data.native.js.map +1 -0
- package/dist/jsx/chrome/notifications-panel.mjs +146 -0
- package/dist/jsx/chrome/notifications-panel.mjs.map +1 -0
- package/dist/jsx/chrome/notifications-panel.native.js +189 -0
- package/dist/jsx/chrome/notifications-panel.native.js.map +1 -0
- package/dist/jsx/chrome/notifications-utils.mjs +17 -0
- package/dist/jsx/chrome/notifications-utils.mjs.map +1 -0
- package/dist/jsx/chrome/notifications-utils.native.js +46 -0
- package/dist/jsx/chrome/notifications-utils.native.js.map +1 -0
- package/dist/jsx/chrome/shortcuts.mjs +33 -0
- package/dist/jsx/chrome/shortcuts.mjs.map +1 -0
- package/dist/jsx/chrome/shortcuts.native.js +72 -0
- package/dist/jsx/chrome/shortcuts.native.js.map +1 -0
- package/dist/jsx/chrome/user-session.mjs +73 -0
- package/dist/jsx/chrome/user-session.mjs.map +1 -0
- package/dist/jsx/chrome/user-session.native.js +120 -0
- package/dist/jsx/chrome/user-session.native.js.map +1 -0
- package/dist/jsx/config/BackofficeProvider.mjs +132 -0
- package/dist/jsx/config/BackofficeProvider.mjs.map +1 -0
- package/dist/jsx/config/BackofficeProvider.native.js +217 -0
- package/dist/jsx/config/BackofficeProvider.native.js.map +1 -0
- package/dist/jsx/config/capabilities.mjs +97 -0
- package/dist/jsx/config/capabilities.mjs.map +1 -0
- package/dist/jsx/config/capabilities.native.js +155 -0
- package/dist/jsx/config/capabilities.native.js.map +1 -0
- package/dist/jsx/config/events.mjs +2 -0
- package/dist/jsx/config/events.mjs.map +1 -0
- package/dist/jsx/config/events.native.js +21 -0
- package/dist/jsx/config/events.native.js.map +1 -0
- package/dist/jsx/config/slots.mjs +2 -0
- package/dist/jsx/config/slots.mjs.map +1 -0
- package/dist/jsx/config/slots.native.js +21 -0
- package/dist/jsx/config/slots.native.js.map +1 -0
- package/dist/jsx/i18n/en.mjs +76 -0
- package/dist/jsx/i18n/en.mjs.map +1 -0
- package/dist/jsx/i18n/en.native.js +104 -0
- package/dist/jsx/i18n/en.native.js.map +1 -0
- package/dist/jsx/i18n/index.mjs +40 -0
- package/dist/jsx/i18n/index.mjs.map +1 -0
- package/dist/jsx/i18n/index.native.js +102 -0
- package/dist/jsx/i18n/index.native.js.map +1 -0
- package/dist/jsx/index.js +26 -0
- package/dist/jsx/index.js.map +1 -0
- package/dist/jsx/index.mjs +26 -0
- package/dist/jsx/index.mjs.map +1 -0
- package/dist/jsx/index.native.js +112 -0
- package/dist/jsx/index.native.js.map +1 -0
- package/dist/jsx/navigation/navigator.mjs +115 -0
- package/dist/jsx/navigation/navigator.mjs.map +1 -0
- package/dist/jsx/navigation/navigator.native.js +307 -0
- package/dist/jsx/navigation/navigator.native.js.map +1 -0
- package/dist/jsx/navigation/paths.mjs +66 -0
- package/dist/jsx/navigation/paths.mjs.map +1 -0
- package/dist/jsx/navigation/paths.native.js +143 -0
- package/dist/jsx/navigation/paths.native.js.map +1 -0
- package/dist/jsx/oneAdapter/index.mjs +28 -0
- package/dist/jsx/oneAdapter/index.mjs.map +1 -0
- package/dist/jsx/oneAdapter/index.native.js +64 -0
- package/dist/jsx/oneAdapter/index.native.js.map +1 -0
- package/dist/jsx/shared/useFrappeApp.mjs +31 -0
- package/dist/jsx/shared/useFrappeApp.mjs.map +1 -0
- package/dist/jsx/shared/useFrappeApp.native.js +60 -0
- package/dist/jsx/shared/useFrappeApp.native.js.map +1 -0
- package/dist/jsx/shell/BackofficeShell.mjs +169 -0
- package/dist/jsx/shell/BackofficeShell.mjs.map +1 -0
- package/dist/jsx/shell/BackofficeShell.native.js +223 -0
- package/dist/jsx/shell/BackofficeShell.native.js.map +1 -0
- package/dist/jsx/shell/WorkspaceSidebar.mjs +89 -0
- package/dist/jsx/shell/WorkspaceSidebar.mjs.map +1 -0
- package/dist/jsx/shell/WorkspaceSidebar.native.js +143 -0
- package/dist/jsx/shell/WorkspaceSidebar.native.js.map +1 -0
- package/dist/jsx/shell/useWorkspaces.mjs +104 -0
- package/dist/jsx/shell/useWorkspaces.mjs.map +1 -0
- package/dist/jsx/shell/useWorkspaces.native.js +173 -0
- package/dist/jsx/shell/useWorkspaces.native.js.map +1 -0
- package/dist/jsx/shell/workspaceIcons.mjs +39 -0
- package/dist/jsx/shell/workspaceIcons.mjs.map +1 -0
- package/dist/jsx/shell/workspaceIcons.native.js +67 -0
- package/dist/jsx/shell/workspaceIcons.native.js.map +1 -0
- package/package.json +123 -0
- package/src/chrome/BackofficeAwesomebar.tsx +89 -0
- package/src/chrome/CommandPalette.spec.tsx +252 -0
- package/src/chrome/CommandPalette.tsx +520 -0
- package/src/chrome/HelpMenu.tsx +119 -0
- package/src/chrome/NotificationsButton.tsx +87 -0
- package/src/chrome/UserMenu.tsx +173 -0
- package/src/chrome/awesomebar-data.tsx +252 -0
- package/src/chrome/command-palette-model.ts +291 -0
- package/src/chrome/help-about-dialog.tsx +130 -0
- package/src/chrome/help-shortcuts-dialog.tsx +144 -0
- package/src/chrome/notifications-data.tsx +287 -0
- package/src/chrome/notifications-panel.tsx +175 -0
- package/src/chrome/notifications-utils.tsx +44 -0
- package/src/chrome/shortcuts.ts +53 -0
- package/src/chrome/user-session.tsx +116 -0
- package/src/config/BackofficeProvider.spec.tsx +126 -0
- package/src/config/BackofficeProvider.tsx +315 -0
- package/src/config/capabilities.ts +172 -0
- package/src/config/events.ts +19 -0
- package/src/config/slots.ts +28 -0
- package/src/i18n/en.ts +83 -0
- package/src/i18n/index.ts +69 -0
- package/src/index.ts +150 -0
- package/src/navigation/navigator.spec.ts +106 -0
- package/src/navigation/navigator.ts +209 -0
- package/src/navigation/paths.ts +146 -0
- package/src/oneAdapter/index.tsx +61 -0
- package/src/shared/useFrappeApp.ts +39 -0
- package/src/shell/BackofficeShell.tsx +222 -0
- package/src/shell/WorkspaceSidebar.tsx +119 -0
- package/src/shell/useWorkspaces.ts +202 -0
- package/src/shell/workspaceIcons.ts +76 -0
- package/types/chrome/BackofficeAwesomebar.d.ts +12 -0
- package/types/chrome/BackofficeAwesomebar.d.ts.map +1 -0
- package/types/chrome/CommandPalette.d.ts +6 -0
- package/types/chrome/CommandPalette.d.ts.map +1 -0
- package/types/chrome/HelpMenu.d.ts +2 -0
- package/types/chrome/HelpMenu.d.ts.map +1 -0
- package/types/chrome/NotificationsButton.d.ts +2 -0
- package/types/chrome/NotificationsButton.d.ts.map +1 -0
- package/types/chrome/UserMenu.d.ts +6 -0
- package/types/chrome/UserMenu.d.ts.map +1 -0
- package/types/chrome/awesomebar-data.d.ts +52 -0
- package/types/chrome/awesomebar-data.d.ts.map +1 -0
- package/types/chrome/command-palette-model.d.ts +47 -0
- package/types/chrome/command-palette-model.d.ts.map +1 -0
- package/types/chrome/help-about-dialog.d.ts +12 -0
- package/types/chrome/help-about-dialog.d.ts.map +1 -0
- package/types/chrome/help-shortcuts-dialog.d.ts +6 -0
- package/types/chrome/help-shortcuts-dialog.d.ts.map +1 -0
- package/types/chrome/notifications-data.d.ts +34 -0
- package/types/chrome/notifications-data.d.ts.map +1 -0
- package/types/chrome/notifications-panel.d.ts +11 -0
- package/types/chrome/notifications-panel.d.ts.map +1 -0
- package/types/chrome/notifications-utils.d.ts +21 -0
- package/types/chrome/notifications-utils.d.ts.map +1 -0
- package/types/chrome/shortcuts.d.ts +6 -0
- package/types/chrome/shortcuts.d.ts.map +1 -0
- package/types/chrome/user-session.d.ts +19 -0
- package/types/chrome/user-session.d.ts.map +1 -0
- package/types/config/BackofficeProvider.d.ts +128 -0
- package/types/config/BackofficeProvider.d.ts.map +1 -0
- package/types/config/capabilities.d.ts +109 -0
- package/types/config/capabilities.d.ts.map +1 -0
- package/types/config/events.d.ts +39 -0
- package/types/config/events.d.ts.map +1 -0
- package/types/config/slots.d.ts +32 -0
- package/types/config/slots.d.ts.map +1 -0
- package/types/i18n/en.d.ts +83 -0
- package/types/i18n/en.d.ts.map +1 -0
- package/types/i18n/index.d.ts +27 -0
- package/types/i18n/index.d.ts.map +1 -0
- package/types/index.d.ts +55 -0
- package/types/index.d.ts.map +1 -0
- package/types/navigation/navigator.d.ts +98 -0
- package/types/navigation/navigator.d.ts.map +1 -0
- package/types/navigation/paths.d.ts +60 -0
- package/types/navigation/paths.d.ts.map +1 -0
- package/types/oneAdapter/index.d.ts +8 -0
- package/types/oneAdapter/index.d.ts.map +1 -0
- package/types/shared/useFrappeApp.d.ts +10 -0
- package/types/shared/useFrappeApp.d.ts.map +1 -0
- package/types/shell/BackofficeShell.d.ts +10 -0
- package/types/shell/BackofficeShell.d.ts.map +1 -0
- package/types/shell/WorkspaceSidebar.d.ts +9 -0
- package/types/shell/WorkspaceSidebar.d.ts.map +1 -0
- package/types/shell/useWorkspaces.d.ts +43 -0
- package/types/shell/useWorkspaces.d.ts.map +1 -0
- package/types/shell/workspaceIcons.d.ts +9 -0
- package/types/shell/workspaceIcons.d.ts.map +1 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var notifications_utils_exports = {};
|
|
24
|
+
__export(notifications_utils_exports, {
|
|
25
|
+
parseFrappeTimestamp: () => parseFrappeTimestamp,
|
|
26
|
+
stripHtmlToText: () => stripHtmlToText
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(notifications_utils_exports);
|
|
29
|
+
function stripHtmlToText(html) {
|
|
30
|
+
if (!html) return "";
|
|
31
|
+
const withBreaks = html.replace(/<\s*(?:br|\/p|\/div|\/li|\/tr|\/h[1-6])\s*\/?\s*>/gi, " ");
|
|
32
|
+
const withoutTags = withBreaks.replace(/<[^>]*>/g, "");
|
|
33
|
+
const decoded = withoutTags.replace(/ /gi, " ").replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, '"').replace(/'|'/gi, "'").replace(/&/gi, "&");
|
|
34
|
+
return decoded.replace(/\s+/g, " ").trim();
|
|
35
|
+
}
|
|
36
|
+
function parseFrappeTimestamp(value) {
|
|
37
|
+
if (!value) return void 0;
|
|
38
|
+
const isoish = value.trim().replace(" ", "T").replace(/(\.\d{3})\d+$/, "$1");
|
|
39
|
+
const parsed = new Date(isoish).getTime();
|
|
40
|
+
if (!Number.isNaN(parsed)) return parsed;
|
|
41
|
+
const fallback = new Date(value).getTime();
|
|
42
|
+
return Number.isNaN(fallback) ? void 0 : fallback;
|
|
43
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
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 notifications_utils_exports = {};
|
|
26
|
+
__export(notifications_utils_exports, {
|
|
27
|
+
parseFrappeTimestamp: () => parseFrappeTimestamp,
|
|
28
|
+
stripHtmlToText: () => stripHtmlToText
|
|
29
|
+
});
|
|
30
|
+
module.exports = __toCommonJS(notifications_utils_exports);
|
|
31
|
+
function stripHtmlToText(html) {
|
|
32
|
+
if (!html) return "";
|
|
33
|
+
var withBreaks = html.replace(/<\s*(?:br|\/p|\/div|\/li|\/tr|\/h[1-6])\s*\/?\s*>/gi, " ");
|
|
34
|
+
var withoutTags = withBreaks.replace(/<[^>]*>/g, "");
|
|
35
|
+
var decoded = withoutTags.replace(/ /gi, " ").replace(/</gi, "<").replace(/>/gi, ">").replace(/"/gi, '"').replace(/'|'/gi, "'").replace(/&/gi, "&");
|
|
36
|
+
return decoded.replace(/\s+/g, " ").trim();
|
|
37
|
+
}
|
|
38
|
+
function parseFrappeTimestamp(value) {
|
|
39
|
+
if (!value) return void 0;
|
|
40
|
+
var isoish = value.trim().replace(" ", "T").replace(/(\.\d{3})\d+$/, "$1");
|
|
41
|
+
var parsed = new Date(isoish).getTime();
|
|
42
|
+
if (!Number.isNaN(parsed)) return parsed;
|
|
43
|
+
var fallback = new Date(value).getTime();
|
|
44
|
+
return Number.isNaN(fallback) ? void 0 : fallback;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=notifications-utils.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","notifications_utils_exports","__export","parseFrappeTimestamp","stripHtmlToText","module","exports","html","withBreaks","replace","withoutTags","decoded","trim","isoish","parsed","Date","getTime","Number","isNaN","fallback"],"sources":["../../../src/chrome/notifications-utils.tsx"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,2BAAA;AAAAC,QAAA,CAAAD,2BAAA;EAAAE,oBAAA,EAAAA,CAAA,KAAAA,oBAAA;EAAAC,eAAA,EAAAA,CAAA,KAAAA;AAAA;AAYOC,MAAA,CAAAC,OAAS,GAAAV,YAAgB,CAAAK,2BAAyC;AACvE,SAAKG,eAAaA,CAAAG,IAAA;EAClB,KAAAA,IAAM,WAAa;EACnB,IAAAC,UAAM,GAAAD,IAAc,CAAAE,OAAA,sDAAiC;EACrD,IAAAC,WAAM,GAAUF,UACb,CAAAC,OAAQ,aAAY,EAAG;EAM1B,IAAAE,OAAO,GAAAD,WAAgB,CAAAD,OAAQ,CAAG,UAAO,OAAAA,OAAA,gBAAAA,OAAA,gBAAAA,OAAA,kBAAAA,OAAA,wBAAAA,OAAA;EAC3C,OAAAE,OAAA,CAAAF,OAAA,cAAAG,IAAA;AASO;AACL,SAAKT,oBAAcA,CAAAH,KAAA;EACnB,KAAAA,KAAM,SAAS,KACZ;EAGH,IAAAa,MAAM,GAAAb,KAAS,CAAIY,IAAA,CAAK,EAAAH,OAAQ,SAAQ,EAAAA,OAAA;EACxC,IAAIK,MAAC,GAAO,IAAAC,IAAM,CAAAF,MAAS,EAAAG,OAAO;EAClC,KAAAC,MAAM,CAAAC,KAAW,CAAAJ,MAAI,GAAK,OAAOA,MAAA;EACjC,IAAAK,QAAO,GAAO,IAAAJ,IAAM,CAAAf,KAAQ,EAAAgB,OAAI;EAClC,OAAAC,MAAA,CAAAC,KAAA,CAAAC,QAAA,aAAAA,QAAA","ignoreList":[]}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var shortcuts_exports = {};
|
|
24
|
+
__export(shortcuts_exports, {
|
|
25
|
+
useBackofficeShortcuts: () => useBackofficeShortcuts
|
|
26
|
+
});
|
|
27
|
+
module.exports = __toCommonJS(shortcuts_exports);
|
|
28
|
+
var import_react = require("react");
|
|
29
|
+
function isEditableTarget(target) {
|
|
30
|
+
if (typeof HTMLElement === "undefined" || !(target instanceof HTMLElement)) return false;
|
|
31
|
+
if (target.isContentEditable) return true;
|
|
32
|
+
const tag = target.tagName;
|
|
33
|
+
return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT";
|
|
34
|
+
}
|
|
35
|
+
function useBackofficeShortcuts(handlers) {
|
|
36
|
+
const handlersRef = (0, import_react.useRef)(handlers);
|
|
37
|
+
handlersRef.current = handlers;
|
|
38
|
+
(0, import_react.useEffect)(() => {
|
|
39
|
+
if (typeof document === "undefined" || typeof document.addEventListener !== "function") {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const onKeyDown = event => {
|
|
43
|
+
if (!(event.metaKey || event.ctrlKey) || event.altKey || event.shiftKey) return;
|
|
44
|
+
if (event.repeat || isEditableTarget(event.target)) return;
|
|
45
|
+
const key = event.key.toLowerCase();
|
|
46
|
+
if (key === "k" || key === "g") {
|
|
47
|
+
const {
|
|
48
|
+
onFocusSearch
|
|
49
|
+
} = handlersRef.current;
|
|
50
|
+
if (!onFocusSearch) return;
|
|
51
|
+
event.preventDefault();
|
|
52
|
+
onFocusSearch();
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
document.addEventListener("keydown", onKeyDown);
|
|
56
|
+
return () => document.removeEventListener("keydown", onKeyDown);
|
|
57
|
+
}, []);
|
|
58
|
+
}
|
|
@@ -0,0 +1,72 @@
|
|
|
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 shortcuts_exports = {};
|
|
26
|
+
__export(shortcuts_exports, {
|
|
27
|
+
useBackofficeShortcuts: () => useBackofficeShortcuts
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(shortcuts_exports);
|
|
30
|
+
var import_react = require("react");
|
|
31
|
+
function _instanceof(left, right) {
|
|
32
|
+
"@swc/helpers - instanceof";
|
|
33
|
+
|
|
34
|
+
if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
|
|
35
|
+
return !!right[Symbol.hasInstance](left);
|
|
36
|
+
} else {
|
|
37
|
+
return left instanceof right;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function isEditableTarget(target) {
|
|
41
|
+
if (typeof HTMLElement === "undefined" || !_instanceof(target, HTMLElement)) return false;
|
|
42
|
+
if (target.isContentEditable) return true;
|
|
43
|
+
var tag = target.tagName;
|
|
44
|
+
return tag === "INPUT" || tag === "TEXTAREA" || tag === "SELECT";
|
|
45
|
+
}
|
|
46
|
+
function useBackofficeShortcuts(handlers) {
|
|
47
|
+
var handlersRef = (0, import_react.useRef)(handlers);
|
|
48
|
+
handlersRef.current = handlers;
|
|
49
|
+
(0, import_react.useEffect)(function () {
|
|
50
|
+
if (typeof document === "undefined" || typeof document.addEventListener !== "function") {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
var onKeyDown = function onKeyDown2(event) {
|
|
54
|
+
if (!(event.metaKey || event.ctrlKey) || event.altKey || event.shiftKey) return;
|
|
55
|
+
if (event.repeat || isEditableTarget(event.target)) return;
|
|
56
|
+
var key = event.key.toLowerCase();
|
|
57
|
+
if (key === "k" || key === "g") {
|
|
58
|
+
var {
|
|
59
|
+
onFocusSearch
|
|
60
|
+
} = handlersRef.current;
|
|
61
|
+
if (!onFocusSearch) return;
|
|
62
|
+
event.preventDefault();
|
|
63
|
+
onFocusSearch();
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
document.addEventListener("keydown", onKeyDown);
|
|
67
|
+
return function () {
|
|
68
|
+
return document.removeEventListener("keydown", onKeyDown);
|
|
69
|
+
};
|
|
70
|
+
}, []);
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=shortcuts.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","shortcuts_exports","__export","useBackofficeShortcuts","module","exports","import_react","require","_instanceof","left","right","Symbol","hasInstance","isEditableTarget","target","HTMLElement","isContentEditable","tag","tagName","handlers","handlersRef","useRef","current","useEffect","document","addEventListener","onKeyDown","onKeyDown2","event","metaKey","ctrlKey","altKey","shiftKey","repeat","key","toLowerCase","onFocusSearch"],"sources":["../../../src/chrome/shortcuts.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,iBAAA;AAAAC,QAAA,CAAAD,iBAAA;EAAAE,sBAAA,EAAAA,CAAA,KAAAA;AAAA;AAeAC,MAAA,CAAAC,OAAA,GAAAT,YAAkC,CAAAK,iBAAA;AAOlC,IAAAK,YAAS,GAAAC,OAAiB,QAAqC;AAC7D,SAAIC,WAAOA,CAAAC,IAAA,EAAAC,KAAgB;EAC3B,2BAAW;;EACX,IAAAA,KAAM,IAAM,QAAO,OAAAC,MAAA,oBAAAD,KAAA,CAAAC,MAAA,CAAAC,WAAA;IACnB,OAAO,EAAAF,KAAQ,CAAAC,MAAA,CAAAC,WAAmB,EAAAH,IAAA;EACpC;IAEO,OAASA,IAAA,YAAAC,KAAuB;EAErC;AACA;AAEA,SAAAG,iBAAAC,MAAU;EACR,WAAIC,WAAO,KAAa,eAAe,CAAAP,WAAO,CAAAM,MAAS,EAAAC,WAAA,UAAqB;EAC1E,IAAAD,MAAA,CAAAE,iBAAA;EAAA,IACFC,GAAA,GAAAH,MAAA,CAAAI,OAAA;EACA,OAAAD,GAAM,YAAa,IAAAA,GAAA,KAAyB,cAAAA,GAAA;AAC1C;AACA,SAAAd,sBAAoBA,CAAAgB,QAAA;EACpB,IAAAC,WAAM,GAAM,IAAMd,YAAI,CAAAe,MAAY,EAAAF,QAAA;EAClCC,WAAI,CAAAE,OAAQ,GAAAH,QAAO;EACjB,IAAAb,YAAQ,CAAAiB,SAAA,EAAc,YAAI;IAC1B,WAAKC,QAAA,KAAe,sBAAAA,QAAA,CAAAC,gBAAA;MACpB;IACA;IAAc,IAChBC,SAAA,YAAAC,WAAAC,KAAA;MACF,MAAAA,KAAA,CAAAC,OAAA,IAAAD,KAAA,CAAAE,OAAA,KAAAF,KAAA,CAAAG,MAAA,IAAAH,KAAA,CAAAI,QAAA;MACA,IAAAJ,KAAS,CAAAK,MAAA,IAAApB,gBAA4B,CAAAe,KAAA,CAAAd,MAAS;MAC9C,IAAAoB,GAAO,GAAAN,KAAM,CAAAM,GAAA,CAASC,WAAA;MACpB,IAACD,GAAA,YAAAA,GAAA;QACP;UAAAE;QAAA,IAAAhB,WAAA,CAAAE,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var user_session_exports = {};
|
|
24
|
+
__export(user_session_exports, {
|
|
25
|
+
clearSessionUserCache: () => clearSessionUserCache,
|
|
26
|
+
resolveUserImageUrl: () => resolveUserImageUrl,
|
|
27
|
+
useSessionUserInfo: () => useSessionUserInfo
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(user_session_exports);
|
|
30
|
+
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
31
|
+
var import_react = require("react");
|
|
32
|
+
var import_useFrappeApp = require("../shared/useFrappeApp.cjs");
|
|
33
|
+
let sessionCache = /* @__PURE__ */new WeakMap();
|
|
34
|
+
function clearSessionUserCache() {
|
|
35
|
+
sessionCache = /* @__PURE__ */new WeakMap();
|
|
36
|
+
}
|
|
37
|
+
function resolveUserImageUrl(userImage, baseURL) {
|
|
38
|
+
if (!userImage) return void 0;
|
|
39
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(userImage)) return userImage;
|
|
40
|
+
return `${baseURL.replace(/\/+$/, "")}${userImage.startsWith("/") ? "" : "/"}${userImage}`;
|
|
41
|
+
}
|
|
42
|
+
async function fetchSessionUserInfo(app, baseURL) {
|
|
43
|
+
const user = await app.auth().getLoggedInUser();
|
|
44
|
+
if (!user) throw new Error("No session user");
|
|
45
|
+
const res = await app.call().get("frappe.client.get_value", {
|
|
46
|
+
doctype: "User",
|
|
47
|
+
filters: user,
|
|
48
|
+
fieldname: ["full_name", "user_image", "email"]
|
|
49
|
+
});
|
|
50
|
+
const bits = res.payload?.message ?? {};
|
|
51
|
+
return {
|
|
52
|
+
user,
|
|
53
|
+
fullName: bits.full_name || user,
|
|
54
|
+
email: bits.email || (user.includes("@") ? user : void 0),
|
|
55
|
+
imageUrl: resolveUserImageUrl(bits.user_image, baseURL)
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function useSessionUserInfo() {
|
|
59
|
+
const app = (0, import_useFrappeApp.useFrappeApp)();
|
|
60
|
+
const config = (0, import_frappe_ui.useFrappeConfig)();
|
|
61
|
+
const baseURL = config?.baseURL ?? "";
|
|
62
|
+
const [info, setInfo] = (0, import_react.useState)(void 0);
|
|
63
|
+
const [loading, setLoading] = (0, import_react.useState)(true);
|
|
64
|
+
const [error, setError] = (0, import_react.useState)(void 0);
|
|
65
|
+
(0, import_react.useEffect)(() => {
|
|
66
|
+
if (!app) {
|
|
67
|
+
setInfo(void 0);
|
|
68
|
+
setLoading(false);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
let cancelled = false;
|
|
72
|
+
let promise = sessionCache.get(app);
|
|
73
|
+
if (!promise) {
|
|
74
|
+
promise = fetchSessionUserInfo(app, baseURL);
|
|
75
|
+
sessionCache.set(app, promise);
|
|
76
|
+
promise.catch(() => {
|
|
77
|
+
if (sessionCache.get(app) === promise) sessionCache.delete(app);
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
setLoading(true);
|
|
81
|
+
setError(void 0);
|
|
82
|
+
promise.then(value => {
|
|
83
|
+
if (cancelled) return;
|
|
84
|
+
setInfo(value);
|
|
85
|
+
setLoading(false);
|
|
86
|
+
}).catch(err => {
|
|
87
|
+
if (cancelled) return;
|
|
88
|
+
setError(err);
|
|
89
|
+
setLoading(false);
|
|
90
|
+
});
|
|
91
|
+
return () => {
|
|
92
|
+
cancelled = true;
|
|
93
|
+
};
|
|
94
|
+
}, [app, baseURL]);
|
|
95
|
+
return (0, import_react.useMemo)(() => ({
|
|
96
|
+
info,
|
|
97
|
+
loading,
|
|
98
|
+
error
|
|
99
|
+
}), [info, loading, error]);
|
|
100
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __export = (target, all) => {
|
|
10
|
+
for (var name in all) __defProp(target, name, {
|
|
11
|
+
get: all[name],
|
|
12
|
+
enumerable: true
|
|
13
|
+
});
|
|
14
|
+
};
|
|
15
|
+
var __copyProps = (to, from, except, desc) => {
|
|
16
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
17
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
18
|
+
get: () => from[key],
|
|
19
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
return to;
|
|
23
|
+
};
|
|
24
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
25
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
26
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
27
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
28
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
29
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", {
|
|
30
|
+
value: mod,
|
|
31
|
+
enumerable: true
|
|
32
|
+
}) : target, mod));
|
|
33
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
34
|
+
value: true
|
|
35
|
+
}), mod);
|
|
36
|
+
var user_session_exports = {};
|
|
37
|
+
__export(user_session_exports, {
|
|
38
|
+
clearSessionUserCache: () => clearSessionUserCache,
|
|
39
|
+
resolveUserImageUrl: () => resolveUserImageUrl,
|
|
40
|
+
useSessionUserInfo: () => useSessionUserInfo
|
|
41
|
+
});
|
|
42
|
+
module.exports = __toCommonJS(user_session_exports);
|
|
43
|
+
var import_react = __toESM(require("react"));
|
|
44
|
+
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
45
|
+
var import_react2 = require("react");
|
|
46
|
+
var import_useFrappeApp = require("../shared/useFrappeApp.native.js");
|
|
47
|
+
var sessionCache = /* @__PURE__ */new WeakMap();
|
|
48
|
+
function clearSessionUserCache() {
|
|
49
|
+
sessionCache = /* @__PURE__ */new WeakMap();
|
|
50
|
+
}
|
|
51
|
+
function resolveUserImageUrl(userImage, baseURL) {
|
|
52
|
+
if (!userImage) return void 0;
|
|
53
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(userImage)) return userImage;
|
|
54
|
+
return `${baseURL.replace(/\/+$/, "")}${userImage.startsWith("/") ? "" : "/"}${userImage}`;
|
|
55
|
+
}
|
|
56
|
+
async function fetchSessionUserInfo(app, baseURL) {
|
|
57
|
+
var _ref;
|
|
58
|
+
var _res_payload;
|
|
59
|
+
var user = await app.auth().getLoggedInUser();
|
|
60
|
+
if (!user) throw new Error("No session user");
|
|
61
|
+
var res = await app.call().get("frappe.client.get_value", {
|
|
62
|
+
doctype: "User",
|
|
63
|
+
filters: user,
|
|
64
|
+
fieldname: ["full_name", "user_image", "email"]
|
|
65
|
+
});
|
|
66
|
+
var bits = (_ref = (_res_payload = res.payload) === null || _res_payload === void 0 ? void 0 : _res_payload.message) !== null && _ref !== void 0 ? _ref : {};
|
|
67
|
+
return {
|
|
68
|
+
user,
|
|
69
|
+
fullName: bits.full_name || user,
|
|
70
|
+
email: bits.email || (user.includes("@") ? user : void 0),
|
|
71
|
+
imageUrl: resolveUserImageUrl(bits.user_image, baseURL)
|
|
72
|
+
};
|
|
73
|
+
}
|
|
74
|
+
function useSessionUserInfo() {
|
|
75
|
+
var _ref;
|
|
76
|
+
var app = (0, import_useFrappeApp.useFrappeApp)();
|
|
77
|
+
var config = (0, import_frappe_ui.useFrappeConfig)();
|
|
78
|
+
var baseURL = (_ref = config === null || config === void 0 ? void 0 : config.baseURL) !== null && _ref !== void 0 ? _ref : "";
|
|
79
|
+
var [info, setInfo] = (0, import_react2.useState)(void 0);
|
|
80
|
+
var [loading, setLoading] = (0, import_react2.useState)(true);
|
|
81
|
+
var [error, setError] = (0, import_react2.useState)(void 0);
|
|
82
|
+
(0, import_react2.useEffect)(function () {
|
|
83
|
+
if (!app) {
|
|
84
|
+
setInfo(void 0);
|
|
85
|
+
setLoading(false);
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
var cancelled = false;
|
|
89
|
+
var promise = sessionCache.get(app);
|
|
90
|
+
if (!promise) {
|
|
91
|
+
promise = fetchSessionUserInfo(app, baseURL);
|
|
92
|
+
sessionCache.set(app, promise);
|
|
93
|
+
promise.catch(function () {
|
|
94
|
+
if (sessionCache.get(app) === promise) sessionCache.delete(app);
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
setLoading(true);
|
|
98
|
+
setError(void 0);
|
|
99
|
+
promise.then(function (value) {
|
|
100
|
+
if (cancelled) return;
|
|
101
|
+
setInfo(value);
|
|
102
|
+
setLoading(false);
|
|
103
|
+
}).catch(function (err) {
|
|
104
|
+
if (cancelled) return;
|
|
105
|
+
setError(err);
|
|
106
|
+
setLoading(false);
|
|
107
|
+
});
|
|
108
|
+
return function () {
|
|
109
|
+
cancelled = true;
|
|
110
|
+
};
|
|
111
|
+
}, [app, baseURL]);
|
|
112
|
+
return (0, import_react2.useMemo)(function () {
|
|
113
|
+
return {
|
|
114
|
+
info,
|
|
115
|
+
loading,
|
|
116
|
+
error
|
|
117
|
+
};
|
|
118
|
+
}, [info, loading, error]);
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=user-session.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["to","__toESM","mod","isNodeMode","target","__create","__getProtoOf","__copyProps","__esModule","__defProp","value","enumerable","__toCommonJS","user_session_exports","__export","clearSessionUserCache","resolveUserImageUrl","useSessionUserInfo","module","exports","import_react","require","import_frappe_ui","import_react2","import_useFrappeApp","sessionCache","WeakMap","userImage","baseURL","test","replace","startsWith","fetchSessionUserInfo","app","_ref","_res_payload","user","auth","getLoggedInUser","Error","res","call","get","doctype","filters","fieldname","bits","payload","message","fullName","full_name","email","includes","imageUrl","user_image","useFrappeApp","config","useFrappeConfig","info","setInfo","useState","loading","setLoading","error","setError","useEffect","cancelled","promise","set","catch","delete"],"sources":["../../../src/chrome/user-session.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all) __defProp(target, name, {
|
|
7
|
+
get: all[name],
|
|
8
|
+
enumerable: true
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from)) if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
|
|
14
|
+
get: () => from[key],
|
|
15
|
+
enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
|
|
21
|
+
value: true
|
|
22
|
+
}), mod);
|
|
23
|
+
var BackofficeProvider_exports = {};
|
|
24
|
+
__export(BackofficeProvider_exports, {
|
|
25
|
+
BackofficeProvider: () => BackofficeProvider,
|
|
26
|
+
useBackofficeCapabilities: () => useBackofficeCapabilities,
|
|
27
|
+
useBackofficeConfig: () => useBackofficeConfig,
|
|
28
|
+
useBackofficeLocation: () => useBackofficeLocation,
|
|
29
|
+
useBackofficeNavigator: () => useBackofficeNavigator,
|
|
30
|
+
useBackofficePaths: () => useBackofficePaths,
|
|
31
|
+
useBackofficeSlots: () => useBackofficeSlots,
|
|
32
|
+
useIsDoctypeAllowed: () => useIsDoctypeAllowed
|
|
33
|
+
});
|
|
34
|
+
module.exports = __toCommonJS(BackofficeProvider_exports);
|
|
35
|
+
var import_frappe_ui = require("@multiplatform.one/frappe-ui");
|
|
36
|
+
var import_react = require("react");
|
|
37
|
+
var import_react2 = require("react");
|
|
38
|
+
var import_i18n = require("../i18n/index.cjs");
|
|
39
|
+
var import_navigator = require("../navigation/navigator.cjs");
|
|
40
|
+
var import_paths = require("../navigation/paths.cjs");
|
|
41
|
+
var import_capabilities = require("./capabilities.cjs");
|
|
42
|
+
var import_jsx_runtime = require("react/jsx-runtime");
|
|
43
|
+
const DEFAULT_CONFIG = {
|
|
44
|
+
navigation: (0, import_navigator.createNoopNavigator)(import_paths.BACKOFFICE_BASE),
|
|
45
|
+
basePath: import_paths.BACKOFFICE_BASE,
|
|
46
|
+
paths: (0, import_paths.createBackofficePaths)(import_paths.BACKOFFICE_BASE),
|
|
47
|
+
capabilities: (0, import_capabilities.resolveCapabilities)(),
|
|
48
|
+
actions: {},
|
|
49
|
+
slots: {},
|
|
50
|
+
emitEvent: () => {}
|
|
51
|
+
};
|
|
52
|
+
const BackofficeConfigContext = (0, import_react.createContext)(DEFAULT_CONFIG);
|
|
53
|
+
function useBackofficeConfig() {
|
|
54
|
+
return (0, import_react.useContext)(BackofficeConfigContext);
|
|
55
|
+
}
|
|
56
|
+
function useBackofficeCapabilities() {
|
|
57
|
+
return useBackofficeConfig().capabilities;
|
|
58
|
+
}
|
|
59
|
+
function useBackofficeNavigator() {
|
|
60
|
+
return useBackofficeConfig().navigation;
|
|
61
|
+
}
|
|
62
|
+
function useBackofficePaths() {
|
|
63
|
+
return useBackofficeConfig().paths;
|
|
64
|
+
}
|
|
65
|
+
function useBackofficeSlots() {
|
|
66
|
+
return useBackofficeConfig().slots;
|
|
67
|
+
}
|
|
68
|
+
function useBackofficeLocation() {
|
|
69
|
+
const navigator = useBackofficeNavigator();
|
|
70
|
+
return (0, import_react2.useSyncExternalStore)(navigator.subscribe, navigator.getLocation, navigator.getLocation);
|
|
71
|
+
}
|
|
72
|
+
function useIsDoctypeAllowed() {
|
|
73
|
+
const {
|
|
74
|
+
doctypes
|
|
75
|
+
} = useBackofficeConfig();
|
|
76
|
+
return (0, import_react.useMemo)(() => doctype => (0, import_capabilities.isDoctypeAllowed)(doctypes, doctype), [doctypes]);
|
|
77
|
+
}
|
|
78
|
+
function BackofficeProvider({
|
|
79
|
+
children,
|
|
80
|
+
frappe,
|
|
81
|
+
navigation,
|
|
82
|
+
basePath = import_paths.BACKOFFICE_BASE,
|
|
83
|
+
capabilities,
|
|
84
|
+
doctypes,
|
|
85
|
+
fields,
|
|
86
|
+
actions,
|
|
87
|
+
slots,
|
|
88
|
+
appearance,
|
|
89
|
+
onEvent,
|
|
90
|
+
i18nInstance
|
|
91
|
+
}) {
|
|
92
|
+
(0, import_react.useState)(() => {
|
|
93
|
+
(0, import_i18n.registerBackofficeTranslations)(i18nInstance);
|
|
94
|
+
return true;
|
|
95
|
+
});
|
|
96
|
+
const appliedFields = (0, import_react.useRef)({});
|
|
97
|
+
if (fields) {
|
|
98
|
+
for (const [fieldtype, component] of Object.entries(fields)) {
|
|
99
|
+
if (appliedFields.current[fieldtype] !== component) {
|
|
100
|
+
(0, import_frappe_ui.registerField)(fieldtype, component);
|
|
101
|
+
appliedFields.current[fieldtype] = component;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
const onEventRef = (0, import_react.useRef)(onEvent);
|
|
106
|
+
onEventRef.current = onEvent;
|
|
107
|
+
const emitEvent = (0, import_react.useMemo)(() => event => {
|
|
108
|
+
onEventRef.current?.(event);
|
|
109
|
+
}, []);
|
|
110
|
+
const wrappedNavigation = (0, import_react.useMemo)(() => ({
|
|
111
|
+
navigate: path => {
|
|
112
|
+
emitEvent({
|
|
113
|
+
type: "navigate",
|
|
114
|
+
path,
|
|
115
|
+
mode: "push"
|
|
116
|
+
});
|
|
117
|
+
navigation.navigate(path);
|
|
118
|
+
},
|
|
119
|
+
replace: path => {
|
|
120
|
+
emitEvent({
|
|
121
|
+
type: "navigate",
|
|
122
|
+
path,
|
|
123
|
+
mode: "replace"
|
|
124
|
+
});
|
|
125
|
+
navigation.replace(path);
|
|
126
|
+
},
|
|
127
|
+
back: () => {
|
|
128
|
+
emitEvent({
|
|
129
|
+
type: "navigate",
|
|
130
|
+
path: navigation.getLocation().path,
|
|
131
|
+
mode: "back"
|
|
132
|
+
});
|
|
133
|
+
navigation.back();
|
|
134
|
+
},
|
|
135
|
+
getLocation: () => navigation.getLocation(),
|
|
136
|
+
subscribe: listener => navigation.subscribe(listener)
|
|
137
|
+
}), [navigation, emitEvent]);
|
|
138
|
+
const paths = (0, import_react.useMemo)(() => (0, import_paths.createBackofficePaths)(basePath), [basePath]);
|
|
139
|
+
const resolvedCapabilities = (0, import_react.useMemo)(() => (0, import_capabilities.resolveCapabilities)(capabilities), [capabilities]);
|
|
140
|
+
const config = (0, import_react.useMemo)(() => ({
|
|
141
|
+
frappe,
|
|
142
|
+
navigation: wrappedNavigation,
|
|
143
|
+
basePath,
|
|
144
|
+
paths,
|
|
145
|
+
capabilities: resolvedCapabilities,
|
|
146
|
+
doctypes,
|
|
147
|
+
actions: actions ?? {},
|
|
148
|
+
slots: slots ?? {},
|
|
149
|
+
appearance,
|
|
150
|
+
emitEvent
|
|
151
|
+
}), [frappe, wrappedNavigation, basePath, paths, resolvedCapabilities, doctypes, actions, slots, appearance, emitEvent]);
|
|
152
|
+
return /* @__PURE__ */(0, import_jsx_runtime.jsx)(BackofficeConfigContext.Provider, {
|
|
153
|
+
value: config,
|
|
154
|
+
children: /* @__PURE__ */(0, import_jsx_runtime.jsx)(import_frappe_ui.FrappeProvider, {
|
|
155
|
+
baseURL: frappe.baseURL,
|
|
156
|
+
socketPort: frappe.socketPort,
|
|
157
|
+
auth: frappe.auth,
|
|
158
|
+
syncOptions: frappe.syncOptions,
|
|
159
|
+
socketOptions: frappe.socketOptions,
|
|
160
|
+
fixtures: frappe.fixtures,
|
|
161
|
+
children
|
|
162
|
+
})
|
|
163
|
+
});
|
|
164
|
+
}
|