@axelor/aos-mobile-core 8.3.6 → 8.4.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/README.md +2 -312
- package/lib/api/aop-filter-api.d.ts +9 -0
- package/lib/api/aop-filter-api.js +63 -0
- package/lib/api/aop-filter-api.js.map +1 -0
- package/lib/api/currency-api.d.ts +1 -0
- package/lib/api/currency-api.js +28 -0
- package/lib/api/currency-api.js.map +1 -0
- package/lib/api/index.d.ts +12 -0
- package/lib/api/index.js +30 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/login-api.js +2 -2
- package/lib/api/login-api.js.map +1 -1
- package/lib/api/metafile-api.d.ts +1 -1
- package/lib/api/print-template-api.d.ts +1 -1
- package/lib/api/print-template-api.js +2 -1
- package/lib/api/print-template-api.js.map +1 -1
- package/lib/apiProviders/Standard/requests.helper.d.ts +13 -1
- package/lib/apiProviders/Standard/requests.helper.js +37 -2
- package/lib/apiProviders/Standard/requests.helper.js.map +1 -1
- package/lib/apiProviders/middlewares/index.d.ts +2 -1
- package/lib/apiProviders/middlewares/index.js +2 -1
- package/lib/apiProviders/middlewares/index.js.map +1 -1
- package/lib/apiProviders/middlewares/maintenance.d.ts +5 -0
- package/lib/apiProviders/middlewares/maintenance.js +63 -0
- package/lib/apiProviders/middlewares/maintenance.js.map +1 -0
- package/lib/app/Application.d.ts +1 -0
- package/lib/app/Application.js +1 -1
- package/lib/app/Application.js.map +1 -1
- package/lib/app/ContextedApplication.js +4 -2
- package/lib/app/ContextedApplication.js.map +1 -1
- package/lib/app/ContextsProvider.d.ts +2 -1
- package/lib/app/ContextsProvider.js +5 -1
- package/lib/app/ContextsProvider.js.map +1 -1
- package/lib/app/modules/types.d.ts +2 -2
- package/lib/auth/api/config-api.js +1 -1
- package/lib/auth/api/config-api.js.map +1 -1
- package/lib/components/external/Camera/Camera.js +10 -0
- package/lib/components/external/Camera/Camera.js.map +1 -1
- package/lib/components/external/Toast/Toast.js +10 -35
- package/lib/components/external/Toast/Toast.js.map +1 -1
- package/lib/components/external/Toast/ToastDisplay.d.ts +4 -0
- package/lib/components/external/Toast/ToastDisplay.js +59 -0
- package/lib/components/external/Toast/ToastDisplay.js.map +1 -0
- package/lib/components/molecules/UploadFileInput/UploadFileInput.js +35 -52
- package/lib/components/molecules/UploadFileInput/UploadFileInput.js.map +1 -1
- package/lib/components/molecules/index.d.ts +0 -3
- package/lib/components/molecules/index.js +0 -3
- package/lib/components/molecules/index.js.map +1 -1
- package/lib/components/organisms/DateInput/DateInput.js +1 -4
- package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
- package/lib/components/organisms/FilterContainer/FilterContainer.d.ts +12 -0
- package/lib/components/organisms/FilterContainer/FilterContainer.js +54 -0
- package/lib/components/organisms/FilterContainer/FilterContainer.js.map +1 -0
- package/lib/components/organisms/PopupFilters/PopupFilters.d.ts +10 -0
- package/lib/components/organisms/PopupFilters/PopupFilters.js +73 -0
- package/lib/components/organisms/PopupFilters/PopupFilters.js.map +1 -0
- package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.d.ts +3 -1
- package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.js +20 -34
- package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.js.map +1 -1
- package/lib/components/organisms/index.d.ts +2 -4
- package/lib/components/organisms/index.js +2 -4
- package/lib/components/organisms/index.js.map +1 -1
- package/lib/components/pages/FormView/FormView.js +2 -0
- package/lib/components/pages/FormView/FormView.js.map +1 -1
- package/lib/components/templates/SearchListView/SearchListView.js +8 -5
- package/lib/components/templates/SearchListView/SearchListView.js.map +1 -1
- package/lib/components/templates/index.d.ts +0 -1
- package/lib/components/templates/index.js +0 -1
- package/lib/components/templates/index.js.map +1 -1
- package/lib/features/asyncFunctions-index.d.ts +12 -0
- package/lib/features/asyncFunctions-index.js +30 -0
- package/lib/features/asyncFunctions-index.js.map +1 -0
- package/lib/features/authSlice.js +8 -0
- package/lib/features/authSlice.js.map +1 -1
- package/lib/features/cameraScannerSlice.d.ts +3 -1
- package/lib/features/cameraScannerSlice.js +14 -2
- package/lib/features/cameraScannerSlice.js.map +1 -1
- package/lib/features/{attachedFilesSlice.d.ts → currencySlice.d.ts} +3 -3
- package/lib/features/{attachedFilesSlice.js → currencySlice.js} +20 -15
- package/lib/features/currencySlice.js.map +1 -0
- package/lib/features/index.d.ts +1 -2
- package/lib/features/index.js +1 -2
- package/lib/features/index.js.map +1 -1
- package/lib/forms/studio/api.helpers.d.ts +1 -1
- package/lib/forms/studio/api.helpers.js.map +1 -1
- package/lib/header/FilterProvider.d.ts +22 -0
- package/lib/header/FilterProvider.js +48 -0
- package/lib/header/FilterProvider.js.map +1 -0
- package/lib/header/HeaderActionsProvider.d.ts +1 -0
- package/lib/header/HeaderActionsProvider.js.map +1 -1
- package/lib/header/hooks.d.ts +1 -67
- package/lib/header/hooks.js +153 -158
- package/lib/header/hooks.js.map +1 -1
- package/lib/header/index.d.ts +2 -1
- package/lib/header/index.js +1 -0
- package/lib/header/index.js.map +1 -1
- package/lib/header/types.d.ts +0 -4
- package/lib/hooks/index.d.ts +3 -0
- package/lib/hooks/index.js +3 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-currency-formatter.d.ts +1 -0
- package/lib/hooks/use-currency-formatter.js +37 -0
- package/lib/hooks/use-currency-formatter.js.map +1 -0
- package/lib/hooks/use-effect-debugger.d.ts +2 -0
- package/lib/hooks/use-effect-debugger.js +43 -1
- package/lib/hooks/use-effect-debugger.js.map +1 -1
- package/lib/hooks/use-header-registers.js +2 -0
- package/lib/hooks/use-header-registers.js.map +1 -1
- package/lib/hooks/use-mass-scanner.d.ts +15 -0
- package/lib/hooks/use-mass-scanner.js +70 -0
- package/lib/hooks/use-mass-scanner.js.map +1 -0
- package/lib/hooks/use-outdated-version.d.ts +3 -0
- package/lib/hooks/use-outdated-version.js +30 -0
- package/lib/hooks/use-outdated-version.js.map +1 -0
- package/lib/hooks/use-scan-activator.d.ts +8 -3
- package/lib/hooks/use-scan-activator.js +42 -22
- package/lib/hooks/use-scan-activator.js.map +1 -1
- package/lib/i18n/translations/en.json +9 -18
- package/lib/i18n/translations/fr.json +9 -18
- package/lib/index.d.ts +16 -22
- package/lib/index.js +16 -22
- package/lib/index.js.map +1 -1
- package/lib/models/objectFields.js +9 -0
- package/lib/models/objectFields.js.map +1 -1
- package/lib/navigator/Navigator.d.ts +3 -6
- package/lib/navigator/Navigator.js +17 -19
- package/lib/navigator/Navigator.js.map +1 -1
- package/lib/navigator/components/DrawerContent.d.ts +13 -0
- package/lib/navigator/{drawer → components}/DrawerContent.js +34 -73
- package/lib/navigator/components/DrawerContent.js.map +1 -0
- package/lib/navigator/components/header/Header.d.ts +9 -0
- package/lib/navigator/{drawer → components/header}/Header.js +13 -21
- package/lib/navigator/components/header/Header.js.map +1 -0
- package/lib/navigator/components/header/HeaderButton.d.ts +6 -0
- package/lib/navigator/{drawer/DrawerToggleButton.js → components/header/HeaderButton.js} +10 -10
- package/lib/navigator/components/header/HeaderButton.js.map +1 -0
- package/lib/navigator/components/header/HeaderOptionMenu.d.ts +13 -0
- package/lib/{components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js → navigator/components/header/HeaderOptionMenu.js} +10 -43
- package/lib/navigator/components/header/HeaderOptionMenu.js.map +1 -0
- package/lib/navigator/components/header/HeaderOptionMenuItem.js.map +1 -0
- package/lib/navigator/components/header/index.d.ts +1 -0
- package/lib/navigator/components/header/index.js +19 -0
- package/lib/navigator/components/header/index.js.map +1 -0
- package/lib/navigator/components/index.d.ts +2 -0
- package/lib/navigator/components/index.js +20 -0
- package/lib/navigator/components/index.js.map +1 -0
- package/lib/navigator/components/menu/AuthMenu.d.ts +8 -0
- package/lib/navigator/{drawer/AuthMenuIconButton.js → components/menu/AuthMenu.js} +10 -9
- package/lib/navigator/components/menu/AuthMenu.js.map +1 -0
- package/lib/navigator/components/menu/Menu.d.ts +13 -0
- package/lib/navigator/components/menu/Menu.js +63 -0
- package/lib/navigator/components/menu/Menu.js.map +1 -0
- package/lib/navigator/components/menu/MenuIconButton.d.ts +14 -0
- package/lib/navigator/{drawer → components/menu}/MenuIconButton.js +17 -20
- package/lib/navigator/components/menu/MenuIconButton.js.map +1 -0
- package/lib/navigator/components/menu/MenuItem.d.ts +14 -0
- package/lib/navigator/{drawer → components/menu}/MenuItem.js +6 -6
- package/lib/navigator/components/menu/MenuItem.js.map +1 -0
- package/lib/navigator/components/menu/MenuItemEntry.d.ts +16 -0
- package/lib/navigator/{drawer → components/menu}/MenuItemEntry.js +11 -19
- package/lib/navigator/components/menu/MenuItemEntry.js.map +1 -0
- package/lib/navigator/components/menu/MenuItemList.d.ts +12 -0
- package/lib/navigator/{drawer/Menu.js → components/menu/MenuItemList.js} +5 -46
- package/lib/navigator/components/menu/MenuItemList.js.map +1 -0
- package/lib/navigator/components/menu/MenuSeparator.d.ts +7 -0
- package/lib/navigator/{drawer → components/menu}/MenuSeparator.js +4 -8
- package/lib/navigator/components/menu/MenuSeparator.js.map +1 -0
- package/lib/navigator/components/menu/MenuTitle.d.ts +8 -0
- package/lib/navigator/{drawer → components/menu}/MenuTitle.js +3 -3
- package/lib/navigator/components/menu/MenuTitle.js.map +1 -0
- package/lib/navigator/components/menu/SubMenuItem.d.ts +9 -0
- package/lib/navigator/{drawer → components/menu}/SubMenuItem.js +4 -4
- package/lib/navigator/components/menu/SubMenuItem.js.map +1 -0
- package/lib/navigator/components/menu/SubMenuItemList.d.ts +12 -0
- package/lib/navigator/{drawer → components/menu}/SubMenuItemList.js +5 -5
- package/lib/navigator/components/menu/SubMenuItemList.js.map +1 -0
- package/lib/navigator/components/menu/index.d.ts +4 -0
- package/lib/navigator/components/menu/index.js +22 -0
- package/lib/navigator/components/menu/index.js.map +1 -0
- package/lib/navigator/helpers/access.helper.d.ts +4 -0
- package/lib/navigator/helpers/access.helper.js +121 -0
- package/lib/navigator/helpers/access.helper.js.map +1 -0
- package/lib/navigator/helpers/compatibility.helper.d.ts +3 -0
- package/lib/navigator/helpers/compatibility.helper.js +123 -0
- package/lib/navigator/helpers/compatibility.helper.js.map +1 -0
- package/lib/navigator/helpers/index.d.ts +6 -0
- package/lib/navigator/helpers/index.js +24 -0
- package/lib/navigator/helpers/index.js.map +1 -0
- package/lib/navigator/helpers/menu.helper.d.ts +56 -0
- package/lib/navigator/{menu.helper.js → helpers/menu.helper.js} +17 -22
- package/lib/navigator/helpers/menu.helper.js.map +1 -0
- package/lib/navigator/helpers/module.helper.d.ts +8 -0
- package/lib/navigator/helpers/module.helper.js +58 -0
- package/lib/navigator/helpers/module.helper.js.map +1 -0
- package/lib/navigator/helpers/navigation-type.d.ts +4 -0
- package/lib/navigator/helpers/navigation-type.js +19 -0
- package/lib/navigator/helpers/navigation-type.js.map +1 -0
- package/lib/navigator/helpers/tool.helper.d.ts +3 -0
- package/lib/navigator/helpers/tool.helper.js +44 -0
- package/lib/navigator/helpers/tool.helper.js.map +1 -0
- package/lib/navigator/index.d.ts +3 -1
- package/lib/navigator/index.js +3 -1
- package/lib/navigator/index.js.map +1 -1
- package/lib/navigator/{ActiveScreenProvider.d.ts → providers/active-screen.d.ts} +1 -1
- package/lib/navigator/{ActiveScreenProvider.js → providers/active-screen.js} +3 -3
- package/lib/navigator/providers/active-screen.js.map +1 -0
- package/lib/navigator/providers/index.d.ts +3 -0
- package/lib/navigator/providers/index.js +21 -0
- package/lib/navigator/providers/index.js.map +1 -0
- package/lib/navigator/providers/module-navigator.d.ts +8 -0
- package/lib/{screens/MailMessageScreen.js → navigator/providers/module-navigator.js} +7 -7
- package/lib/navigator/providers/module-navigator.js.map +1 -0
- package/lib/navigator/{NavigationInformationsProvider.d.ts → providers/navigation-informations.d.ts} +6 -2
- package/lib/navigator/{NavigationInformationsProvider.js → providers/navigation-informations.js} +11 -10
- package/lib/navigator/providers/navigation-informations.js.map +1 -0
- package/lib/screens/ErrorScreen.d.ts +7 -5
- package/lib/screens/ErrorScreen.js +26 -4
- package/lib/screens/ErrorScreen.js.map +1 -1
- package/lib/screens/index.d.ts +10 -33
- package/lib/screens/index.js +1 -17
- package/lib/screens/index.js.map +1 -1
- package/lib/tools/FileDownloader.js +7 -2
- package/lib/tools/FileDownloader.js.map +1 -1
- package/lib/tools/FilePicker.js +4 -3
- package/lib/tools/FilePicker.js.map +1 -1
- package/lib/types/index.d.ts +0 -2
- package/lib/types/index.js +0 -2
- package/lib/types/index.js.map +1 -1
- package/lib/utils/date.d.ts +1 -0
- package/lib/utils/date.js +4 -1
- package/lib/utils/date.js.map +1 -1
- package/lib/utils/index.d.ts +2 -2
- package/lib/utils/index.js +2 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/websocket/WebSocketProvider.d.ts +20 -0
- package/lib/websocket/WebSocketProvider.js +89 -0
- package/lib/websocket/WebSocketProvider.js.map +1 -0
- package/lib/websocket/hooks.d.ts +2 -0
- package/lib/{navigator/drawer/BackIcon.js → websocket/hooks.js} +8 -17
- package/lib/websocket/hooks.js.map +1 -0
- package/lib/websocket/index.d.ts +2 -0
- package/lib/websocket/index.js +20 -0
- package/lib/websocket/index.js.map +1 -0
- package/lib/websocket/types.d.ts +13 -0
- package/lib/websocket/types.js +26 -0
- package/lib/websocket/types.js.map +1 -0
- package/package.json +35 -29
- package/lib/api/mail-message-api.d.ts +0 -44
- package/lib/api/mail-message-api.js +0 -129
- package/lib/api/mail-message-api.js.map +0 -1
- package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js.map +0 -1
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.d.ts +0 -12
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js +0 -59
- package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js.map +0 -1
- package/lib/components/molecules/TrackItem/TrackItem.d.ts +0 -10
- package/lib/components/molecules/TrackItem/TrackItem.js +0 -65
- package/lib/components/molecules/TrackItem/TrackItem.js.map +0 -1
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +0 -13
- package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +0 -1
- package/lib/components/organisms/MailMessageCard/MailMessageCard.d.ts +0 -17
- package/lib/components/organisms/MailMessageCard/MailMessageCard.js +0 -76
- package/lib/components/organisms/MailMessageCard/MailMessageCard.js.map +0 -1
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.d.ts +0 -13
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js +0 -138
- package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js.map +0 -1
- package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.d.ts +0 -17
- package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js +0 -81
- package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js.map +0 -1
- package/lib/components/templates/MailMessageView/MailMessageView.d.ts +0 -10
- package/lib/components/templates/MailMessageView/MailMessageView.js +0 -184
- package/lib/components/templates/MailMessageView/MailMessageView.js.map +0 -1
- package/lib/features/attachedFilesSlice.js.map +0 -1
- package/lib/features/mailMessageSlice.d.ts +0 -97
- package/lib/features/mailMessageSlice.js +0 -196
- package/lib/features/mailMessageSlice.js.map +0 -1
- package/lib/navigator/ActiveScreenProvider.js.map +0 -1
- package/lib/navigator/NavigationInformationsProvider.js.map +0 -1
- package/lib/navigator/drawer/AuthMenuIconButton.d.ts +0 -7
- package/lib/navigator/drawer/AuthMenuIconButton.js.map +0 -1
- package/lib/navigator/drawer/BackIcon.d.ts +0 -5
- package/lib/navigator/drawer/BackIcon.js.map +0 -1
- package/lib/navigator/drawer/DrawerContent.d.ts +0 -10
- package/lib/navigator/drawer/DrawerContent.js.map +0 -1
- package/lib/navigator/drawer/DrawerToggleButton.d.ts +0 -5
- package/lib/navigator/drawer/DrawerToggleButton.js.map +0 -1
- package/lib/navigator/drawer/Header.d.ts +0 -8
- package/lib/navigator/drawer/Header.js.map +0 -1
- package/lib/navigator/drawer/Menu.d.ts +0 -10
- package/lib/navigator/drawer/Menu.js.map +0 -1
- package/lib/navigator/drawer/MenuIconButton.d.ts +0 -12
- package/lib/navigator/drawer/MenuIconButton.js.map +0 -1
- package/lib/navigator/drawer/MenuItem.d.ts +0 -12
- package/lib/navigator/drawer/MenuItem.js.map +0 -1
- package/lib/navigator/drawer/MenuItemEntry.d.ts +0 -14
- package/lib/navigator/drawer/MenuItemEntry.js.map +0 -1
- package/lib/navigator/drawer/MenuSeparator.d.ts +0 -6
- package/lib/navigator/drawer/MenuSeparator.js.map +0 -1
- package/lib/navigator/drawer/MenuTitle.d.ts +0 -6
- package/lib/navigator/drawer/MenuTitle.js.map +0 -1
- package/lib/navigator/drawer/SubMenuItem.d.ts +0 -8
- package/lib/navigator/drawer/SubMenuItem.js.map +0 -1
- package/lib/navigator/drawer/SubMenuItemList.d.ts +0 -11
- package/lib/navigator/drawer/SubMenuItemList.js.map +0 -1
- package/lib/navigator/menu.helper.d.ts +0 -17
- package/lib/navigator/menu.helper.js.map +0 -1
- package/lib/navigator/module.helper.d.ts +0 -25
- package/lib/navigator/module.helper.js +0 -299
- package/lib/navigator/module.helper.js.map +0 -1
- package/lib/screens/MailMessageAttachedFilesScreen.d.ts +0 -5
- package/lib/screens/MailMessageAttachedFilesScreen.js +0 -68
- package/lib/screens/MailMessageAttachedFilesScreen.js.map +0 -1
- package/lib/screens/MailMessageScreen.d.ts +0 -5
- package/lib/screens/MailMessageScreen.js.map +0 -1
- package/lib/types/mail-message-notification-type.d.ts +0 -12
- package/lib/types/mail-message-notification-type.js +0 -48
- package/lib/types/mail-message-notification-type.js.map +0 -1
- package/lib/types/mail-message-type.d.ts +0 -18
- package/lib/types/mail-message-type.js +0 -55
- package/lib/types/mail-message-type.js.map +0 -1
- /package/lib/{components/molecules/HeaderOptionsMenuItem → navigator/components/header}/HeaderOptionMenuItem.d.ts +0 -0
- /package/lib/{components/molecules/HeaderOptionsMenuItem → navigator/components/header}/HeaderOptionMenuItem.js +0 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2025 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
export { default as Header } from './Header';
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/navigator/components/header/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,MAAM,EAAC,MAAM,UAAU,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2025 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
export { Header } from './header';
|
|
19
|
+
export { default as DrawerContent } from './DrawerContent';
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/navigator/components/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAC;AAChC,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Module } from '../../../app';
|
|
3
|
+
interface AuthMenuProps {
|
|
4
|
+
isVisible?: boolean;
|
|
5
|
+
onPress: (module: Module) => void;
|
|
6
|
+
}
|
|
7
|
+
declare const AuthMenu: ({ isVisible, onPress }: AuthMenuProps) => React.JSX.Element;
|
|
8
|
+
export default AuthMenu;
|
|
@@ -16,14 +16,15 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import React from 'react';
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
19
|
+
import { authModule } from '../../../auth';
|
|
20
|
+
import { useActiveModule } from '../../providers';
|
|
21
21
|
import MenuIconButton from './MenuIconButton';
|
|
22
|
-
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
22
|
+
const AuthMenu = ({ isVisible = true, onPress }) => {
|
|
23
|
+
const { activeModule } = useActiveModule();
|
|
24
|
+
if (!isVisible) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
return (<MenuIconButton key={authModule.title} icon={authModule.icon} subtitle={authModule.subtitle} disabled={authModule.disabled} isActive={activeModule?.name === authModule.name} onPress={() => onPress(authModule)} rounded/>);
|
|
27
28
|
};
|
|
28
|
-
export default
|
|
29
|
-
//# sourceMappingURL=
|
|
29
|
+
export default AuthMenu;
|
|
30
|
+
//# sourceMappingURL=AuthMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AuthMenu.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/AuthMenu.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAO9C,MAAM,QAAQ,GAAG,CAAC,EAAC,SAAS,GAAG,IAAI,EAAE,OAAO,EAAgB,EAAE,EAAE;IAC9D,MAAM,EAAC,YAAY,EAAC,GAAG,eAAe,EAAE,CAAC;IAEzC,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,cAAc,CACb,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CACtB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CACtB,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,QAAQ,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAC9B,QAAQ,CAAC,CAAC,YAAY,EAAE,IAAI,KAAK,UAAU,CAAC,IAAI,CAAC,CACjD,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CACnC,OAAO,EACP,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Compatibility, Module } from '../../../app';
|
|
3
|
+
import { DrawerState } from '../../helpers';
|
|
4
|
+
interface MenuProps {
|
|
5
|
+
state: DrawerState;
|
|
6
|
+
navigation: any;
|
|
7
|
+
authMenu?: React.ReactNode;
|
|
8
|
+
activeModule: Module;
|
|
9
|
+
onItemClick: () => void;
|
|
10
|
+
compatibility: Compatibility;
|
|
11
|
+
}
|
|
12
|
+
declare const Menu: ({ state, navigation, authMenu, activeModule, onItemClick, compatibility, }: MenuProps) => React.JSX.Element;
|
|
13
|
+
export default Menu;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2025 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useMemo } from 'react';
|
|
19
|
+
import { View, StyleSheet, ScrollView } from 'react-native';
|
|
20
|
+
import { Text, WarningCard } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useTranslator } from '../../../i18n';
|
|
22
|
+
import { getCompatibilityError, getMenuTitle, isMenuIncompatible, } from '../../helpers';
|
|
23
|
+
import MenuItemList from './MenuItemList';
|
|
24
|
+
const Menu = ({ state, navigation, authMenu, activeModule, onItemClick, compatibility, }) => {
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const title = useMemo(() => getMenuTitle(activeModule, I18n), [I18n, activeModule]);
|
|
27
|
+
const compatibilityError = useMemo(() => isMenuIncompatible(compatibility), [compatibility]);
|
|
28
|
+
return (<View style={styles.menuContainer}>
|
|
29
|
+
<ScrollView contentContainerStyle={styles.moduleMenuContainer} showsVerticalScrollIndicator={false}>
|
|
30
|
+
<View style={styles.menuTitleContainer}>
|
|
31
|
+
<Text style={styles.menuTitle}>{title}</Text>
|
|
32
|
+
</View>
|
|
33
|
+
{compatibilityError && (<WarningCard errorMessage={getCompatibilityError(compatibility, I18n)}/>)}
|
|
34
|
+
<MenuItemList state={state} navigation={navigation} activeModule={activeModule} onItemClick={onItemClick} disabled={compatibilityError}/>
|
|
35
|
+
</ScrollView>
|
|
36
|
+
<View style={styles.authMenuIcon}>{authMenu}</View>
|
|
37
|
+
</View>);
|
|
38
|
+
};
|
|
39
|
+
const styles = StyleSheet.create({
|
|
40
|
+
menuContainer: {
|
|
41
|
+
flexDirection: 'column',
|
|
42
|
+
justifyContent: 'space-between',
|
|
43
|
+
height: '100%',
|
|
44
|
+
},
|
|
45
|
+
moduleMenuContainer: {
|
|
46
|
+
flexDirection: 'column',
|
|
47
|
+
paddingVertical: 8,
|
|
48
|
+
},
|
|
49
|
+
menuTitleContainer: {
|
|
50
|
+
paddingHorizontal: 16,
|
|
51
|
+
marginBottom: 8,
|
|
52
|
+
},
|
|
53
|
+
menuTitle: {
|
|
54
|
+
fontSize: 21,
|
|
55
|
+
fontWeight: 'bold',
|
|
56
|
+
},
|
|
57
|
+
authMenuIcon: {
|
|
58
|
+
marginBottom: 12,
|
|
59
|
+
marginLeft: 12,
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
export default Menu;
|
|
63
|
+
//# sourceMappingURL=Menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/Menu.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAE,WAAW,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAE5C,OAAO,EAEL,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAW1C,MAAM,IAAI,GAAG,CAAC,EACZ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,aAAa,GACH,EAAE,EAAE;IACd,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,KAAK,GAAG,OAAO,CACnB,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,IAAI,CAAC,EACtC,CAAC,IAAI,EAAE,YAAY,CAAC,CACrB,CAAC;IAEF,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,kBAAkB,CAAC,aAAa,CAAC,EACvC,CAAC,aAAa,CAAC,CAChB,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAChC;MAAA,CAAC,UAAU,CACT,qBAAqB,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAClD,4BAA4B,CAAC,CAAC,KAAK,CAAC,CACpC;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CACrC;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CAC9C;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,kBAAkB,IAAI,CACrB,CAAC,WAAW,CACV,YAAY,CAAC,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,EACzD,CACH,CACD;QAAA,CAAC,YAAY,CACX,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,QAAQ,CAAC,CAAC,kBAAkB,CAAC,EAEjC;MAAA,EAAE,UAAU,CACZ;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,IAAI,CACpD;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,aAAa,EAAE;QACb,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,eAAe;QAC/B,MAAM,EAAE,MAAM;KACf;IACD,mBAAmB,EAAE;QACnB,aAAa,EAAE,QAAQ;QACvB,eAAe,EAAE,CAAC;KACnB;IACD,kBAAkB,EAAE;QAClB,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,CAAC;KAChB;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,MAAM;KACnB;IACD,YAAY,EAAE;QACZ,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,EAAE;KACf;CACF,CAAC,CAAC;AAEH,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Compatibility } from '../../../app';
|
|
3
|
+
interface MenuIconButtonProps {
|
|
4
|
+
style?: any;
|
|
5
|
+
icon: string;
|
|
6
|
+
onPress: () => void;
|
|
7
|
+
isActive?: boolean;
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
rounded?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
compatibility?: Compatibility;
|
|
12
|
+
}
|
|
13
|
+
declare const MenuIconButton: ({ style, icon, onPress, isActive, subtitle, rounded, disabled, compatibility, }: MenuIconButtonProps) => React.JSX.Element;
|
|
14
|
+
export default MenuIconButton;
|
|
@@ -17,50 +17,47 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
19
|
import { Dimensions, StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
20
|
-
import { Icon, InfoBubble, Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
|
-
import { useTranslator } from '
|
|
22
|
-
import { getCompatibilityError, isMenuIncompatible } from '
|
|
20
|
+
import { Icon, InfoBubble, Text, useConfig, useThemeColor, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useTranslator } from '../../../i18n';
|
|
22
|
+
import { getCompatibilityError, isMenuIncompatible } from '../../helpers';
|
|
23
23
|
const WIDTH = 54;
|
|
24
24
|
const HEIGHT = 54;
|
|
25
25
|
const DEFAULT_RADIUS = 8;
|
|
26
26
|
const ROUNDED_RADIUS = WIDTH / 2;
|
|
27
|
-
const MenuIconButton = ({ style, icon, onPress,
|
|
27
|
+
const MenuIconButton = ({ style, icon, onPress, isActive = false, subtitle, rounded = false, disabled = false, compatibility, }) => {
|
|
28
28
|
const Colors = useThemeColor();
|
|
29
29
|
const I18n = useTranslator();
|
|
30
|
-
const
|
|
30
|
+
const { showSubtitles } = useConfig();
|
|
31
|
+
const _color = useMemo(() => disabled
|
|
32
|
+
? Colors.secondaryColor.background_light
|
|
33
|
+
: isActive
|
|
34
|
+
? Colors.primaryColor.background_light
|
|
35
|
+
: Colors.backgroundColor, [Colors, disabled, isActive]);
|
|
36
|
+
const styles = useMemo(() => getStyles(Colors, rounded, _color), [Colors, _color, rounded]);
|
|
31
37
|
const compatibilityError = useMemo(() => isMenuIncompatible(compatibility), [compatibility]);
|
|
32
38
|
return (<TouchableOpacity onPress={onPress} disabled={disabled || compatibilityError} activeOpacity={0.95}>
|
|
33
|
-
<View style={[
|
|
34
|
-
styles.container,
|
|
35
|
-
{ borderRadius: rounded ? ROUNDED_RADIUS : DEFAULT_RADIUS },
|
|
36
|
-
{
|
|
37
|
-
backgroundColor: disabled
|
|
38
|
-
? Colors.secondaryColor.background_light
|
|
39
|
-
: color
|
|
40
|
-
? color
|
|
41
|
-
: Colors.backgroundColor,
|
|
42
|
-
},
|
|
43
|
-
style,
|
|
44
|
-
]}>
|
|
39
|
+
<View style={[styles.container, style]}>
|
|
45
40
|
<Icon size={32} name={icon} color={disabled
|
|
46
41
|
? Colors.secondaryColor.background
|
|
47
42
|
: Colors.secondaryColor_dark.background}/>
|
|
48
43
|
{compatibilityError && (<InfoBubble style={styles.infoBubble} usePopup={true} iconName="exclamation-triangle-fill" badgeColor={Colors.errorColor} textIndicationStyle={styles.textIndicationStyle} indication={getCompatibilityError(compatibility, I18n)}/>)}
|
|
49
44
|
</View>
|
|
50
|
-
{
|
|
51
|
-
{subtitle}
|
|
45
|
+
{showSubtitles && (<Text style={styles.moduleSubtitle} numberOfLines={1}>
|
|
46
|
+
{I18n.t(subtitle)}
|
|
52
47
|
</Text>)}
|
|
53
48
|
</TouchableOpacity>);
|
|
54
49
|
};
|
|
55
|
-
const getStyles = Colors => StyleSheet.create({
|
|
50
|
+
const getStyles = (Colors, rounded, _color) => StyleSheet.create({
|
|
56
51
|
container: {
|
|
57
52
|
width: WIDTH,
|
|
58
53
|
height: HEIGHT,
|
|
54
|
+
borderRadius: rounded ? ROUNDED_RADIUS : DEFAULT_RADIUS,
|
|
59
55
|
flexDirection: 'row',
|
|
60
56
|
justifyContent: 'center',
|
|
61
57
|
elevation: 2,
|
|
62
58
|
shadowOpacity: 0.5,
|
|
63
59
|
shadowColor: Colors.secondaryColor.background,
|
|
60
|
+
backgroundColor: _color,
|
|
64
61
|
shadowOffset: { width: 0, height: 0 },
|
|
65
62
|
zIndex: 10,
|
|
66
63
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuIconButton.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuIconButton.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Menu } from '../../../app';
|
|
3
|
+
import { DrawerState, Route } from '../../helpers';
|
|
4
|
+
interface MenuItemProps {
|
|
5
|
+
state: DrawerState;
|
|
6
|
+
route: Route;
|
|
7
|
+
menuItem: Menu;
|
|
8
|
+
subRoutes: Route[];
|
|
9
|
+
onPress: (route: Route) => void;
|
|
10
|
+
isActive?: boolean;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
}
|
|
13
|
+
declare const MenuItem: ({ state, route, menuItem, subRoutes, onPress, isActive, disabled, }: MenuItemProps) => React.JSX.Element;
|
|
14
|
+
export default MenuItem;
|
|
@@ -16,20 +16,20 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import React from 'react';
|
|
19
|
-
import {
|
|
20
|
-
import
|
|
19
|
+
import { useTranslator } from '../../../i18n';
|
|
20
|
+
import { getMenuTitle, hasSubMenus } from '../../helpers';
|
|
21
21
|
import SubMenuItemList from './SubMenuItemList';
|
|
22
22
|
import MenuItemEntry from './MenuItemEntry';
|
|
23
23
|
import MenuSeparator from './MenuSeparator';
|
|
24
|
-
const MenuItem = ({ state, route,
|
|
24
|
+
const MenuItem = ({ state, route, menuItem, subRoutes, onPress, isActive = false, disabled = false, }) => {
|
|
25
25
|
const I18n = useTranslator();
|
|
26
26
|
if (hasSubMenus(menuItem)) {
|
|
27
|
-
return (<SubMenuItemList state={state}
|
|
27
|
+
return (<SubMenuItemList state={state} menuItem={menuItem} subRoutes={subRoutes} onPress={onPress} disabled={disabled}/>);
|
|
28
28
|
}
|
|
29
29
|
if (menuItem.separator) {
|
|
30
|
-
return <MenuSeparator title={getMenuTitle(menuItem,
|
|
30
|
+
return <MenuSeparator title={getMenuTitle(menuItem, I18n)}/>;
|
|
31
31
|
}
|
|
32
|
-
return (<MenuItemEntry onPress={() => onPress(route)} title={getMenuTitle(menuItem,
|
|
32
|
+
return (<MenuItemEntry onPress={() => onPress(route)} title={getMenuTitle(menuItem, I18n)} icon={menuItem.icon} disabled={menuItem.disabled || disabled} compatibility={menuItem.compatibilityAOS} isActive={isActive}/>);
|
|
33
33
|
};
|
|
34
34
|
export default MenuItem;
|
|
35
35
|
//# sourceMappingURL=MenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItem.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAc,YAAY,EAAE,WAAW,EAAQ,MAAM,eAAe,CAAC;AAC5E,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAY5C,MAAM,QAAQ,GAAG,CAAC,EAChB,KAAK,EACL,KAAK,EACL,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,GACF,EAAE,EAAE;IAClB,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE;QACzB,OAAO,CACL,CAAC,eAAe,CACd,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,QAAQ,CAAC,CAAC,QAA4B,CAAC,CACvC,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,QAAQ,CAAC,EACnB,CACH,CAAC;KACH;IAED,IAAK,QAAsB,CAAC,SAAS,EAAE;QACrC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAG,CAAC;KAC/D;IAED,OAAO,CACL,CAAC,aAAa,CACZ,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC9B,KAAK,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CACpC,IAAI,CAAC,CAAE,QAA+B,CAAC,IAAI,CAAC,CAC5C,QAAQ,CAAC,CAAE,QAA+B,CAAC,QAAQ,IAAI,QAAQ,CAAC,CAChE,aAAa,CAAC,CAAE,QAA+B,CAAC,gBAAgB,CAAC,CACjE,QAAQ,CAAC,CAAC,QAAQ,CAAC,EACnB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Compatibility } from '../../../app';
|
|
3
|
+
interface MenuItemEntryProps {
|
|
4
|
+
style?: any;
|
|
5
|
+
icon: string;
|
|
6
|
+
title: string;
|
|
7
|
+
compatibility: Compatibility;
|
|
8
|
+
onPress: () => void;
|
|
9
|
+
isActive?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
isDropdown?: boolean;
|
|
12
|
+
dropdown?: boolean;
|
|
13
|
+
iconSize?: number;
|
|
14
|
+
}
|
|
15
|
+
declare const MenuItemEntry: ({ style, icon, title, compatibility, onPress, isActive, disabled, isDropdown, dropdown, iconSize, }: MenuItemEntryProps) => React.JSX.Element;
|
|
16
|
+
export default MenuItemEntry;
|
|
@@ -18,24 +18,23 @@
|
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
19
|
import { View, StyleSheet, TouchableOpacity } from 'react-native';
|
|
20
20
|
import { Icon, Text, WarningCard, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
const MenuItemEntry = ({ icon, title, compatibility, onPress
|
|
21
|
+
import { useTranslator } from '../../../i18n';
|
|
22
|
+
import { getCompatibilityError, isMenuIncompatible } from '../../helpers';
|
|
23
|
+
const MenuItemEntry = ({ style, icon, title, compatibility, onPress, isActive = false, disabled = false, isDropdown = false, dropdown = false, iconSize = 24, }) => {
|
|
24
24
|
const Colors = useThemeColor();
|
|
25
25
|
const I18n = useTranslator();
|
|
26
|
-
const backgroundColor = useMemo(() => getIndicatorColor(!dropdown && isActive
|
|
27
|
-
? Colors.primaryColor.background
|
|
28
|
-
: Colors.backgroundColor).indicator, [
|
|
29
|
-
Colors.backgroundColor,
|
|
30
|
-
Colors.primaryColor.background,
|
|
31
|
-
dropdown,
|
|
32
|
-
isActive,
|
|
33
|
-
]);
|
|
34
26
|
const compatibilityError = useMemo(() => isMenuIncompatible(compatibility), [compatibility]);
|
|
35
27
|
const menuDisabled = useMemo(() => disabled || compatibilityError, [compatibilityError, disabled]);
|
|
36
28
|
return (<TouchableOpacity onPress={onPress} disabled={menuDisabled}>
|
|
37
29
|
<View style={styles.container}>
|
|
38
|
-
<View style={[
|
|
30
|
+
<View style={[
|
|
31
|
+
styles.menuItemActive,
|
|
32
|
+
{
|
|
33
|
+
backgroundColor: !dropdown && isActive
|
|
34
|
+
? Colors.primaryColor.background
|
|
35
|
+
: Colors.backgroundColor,
|
|
36
|
+
},
|
|
37
|
+
]}/>
|
|
39
38
|
<View style={[styles.menuItemContainer, style]}>
|
|
40
39
|
<Icon style={styles.menuItemIcon} name={icon} size={iconSize} color={menuDisabled
|
|
41
40
|
? Colors.secondaryColor.background_light
|
|
@@ -54,13 +53,6 @@ const MenuItemEntry = ({ icon, title, compatibility, onPress = _route => { }, is
|
|
|
54
53
|
{compatibilityError && (<WarningCard style={styles.compatibilityError} errorMessage={getCompatibilityError(compatibility, I18n, false)}/>)}
|
|
55
54
|
</TouchableOpacity>);
|
|
56
55
|
};
|
|
57
|
-
const getIndicatorColor = color => {
|
|
58
|
-
return StyleSheet.create({
|
|
59
|
-
indicator: {
|
|
60
|
-
backgroundColor: color,
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
};
|
|
64
56
|
const styles = StyleSheet.create({
|
|
65
57
|
container: {
|
|
66
58
|
flexDirection: 'row',
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItemEntry.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuItemEntry.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Module } from '../../../app';
|
|
3
|
+
import { DrawerState, NavigationObject } from '../../helpers';
|
|
4
|
+
interface MenuItemListProps {
|
|
5
|
+
state: DrawerState;
|
|
6
|
+
navigation: NavigationObject;
|
|
7
|
+
activeModule: Module;
|
|
8
|
+
onItemClick: () => void;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const MenuItemList: ({ state, navigation, activeModule, onItemClick, disabled, }: MenuItemListProps) => React.JSX.Element[];
|
|
12
|
+
export default MenuItemList;
|
|
@@ -16,12 +16,9 @@
|
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
|
-
import { View, StyleSheet, ScrollView } from 'react-native';
|
|
20
19
|
import { CommonActions, DrawerActions } from '@react-navigation/native';
|
|
21
|
-
import {
|
|
20
|
+
import { findIndexAndRouteOfMenu, hasSubMenus, } from '../../helpers';
|
|
22
21
|
import MenuItem from './MenuItem';
|
|
23
|
-
import { findIndexAndRouteOfMenu, getCompatibilityError, getMenuTitle, hasSubMenus, isMenuIncompatible, } from '../menu.helper';
|
|
24
|
-
import useTranslator from '../../i18n/hooks/use-translator';
|
|
25
22
|
const MenuItemList = ({ state, navigation, activeModule, onItemClick, disabled, }) => {
|
|
26
23
|
const generateSubRoutes = menuItem => {
|
|
27
24
|
if (hasSubMenus(menuItem)) {
|
|
@@ -45,7 +42,7 @@ const MenuItemList = ({ state, navigation, activeModule, onItemClick, disabled,
|
|
|
45
42
|
return moduleEntries.map(menuItem => {
|
|
46
43
|
const { route, index: i } = findIndexAndRouteOfMenu(state.routes, menuItem.key);
|
|
47
44
|
const focused = i === state.index && Object.keys(activeModule.menus).includes(route.name);
|
|
48
|
-
const onPress = _route => {
|
|
45
|
+
const onPress = (_route) => {
|
|
49
46
|
if (_route == null) {
|
|
50
47
|
return null;
|
|
51
48
|
}
|
|
@@ -65,46 +62,8 @@ const MenuItemList = ({ state, navigation, activeModule, onItemClick, disabled,
|
|
|
65
62
|
}
|
|
66
63
|
};
|
|
67
64
|
const subRoutes = generateSubRoutes(menuItem);
|
|
68
|
-
return (<MenuItem key={route.key} state={state} route={route}
|
|
65
|
+
return (<MenuItem key={route.key} state={state} route={route} menuItem={menuItem} subRoutes={subRoutes} onPress={onPress} isActive={focused} disabled={disabled}/>);
|
|
69
66
|
});
|
|
70
67
|
};
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
const title = useMemo(() => getMenuTitle(activeModule, { I18n }), [I18n, activeModule]);
|
|
74
|
-
const compatibilityError = useMemo(() => isMenuIncompatible(compatibility), [compatibility]);
|
|
75
|
-
return (<View style={styles.menuContainer}>
|
|
76
|
-
<ScrollView contentContainerStyle={styles.moduleMenuContainer} showsVerticalScrollIndicator={false}>
|
|
77
|
-
<View style={styles.menuTitleContainer}>
|
|
78
|
-
<Text style={styles.menuTitle}>{title}</Text>
|
|
79
|
-
</View>
|
|
80
|
-
{compatibilityError && (<WarningCard errorMessage={getCompatibilityError(compatibility, I18n)}/>)}
|
|
81
|
-
<MenuItemList state={state} navigation={navigation} activeModule={activeModule} onItemClick={onItemClick} disabled={compatibilityError}/>
|
|
82
|
-
</ScrollView>
|
|
83
|
-
<View style={styles.authMenuIcon}>{authMenu}</View>
|
|
84
|
-
</View>);
|
|
85
|
-
};
|
|
86
|
-
const styles = StyleSheet.create({
|
|
87
|
-
menuContainer: {
|
|
88
|
-
flexDirection: 'column',
|
|
89
|
-
justifyContent: 'space-between',
|
|
90
|
-
height: '100%',
|
|
91
|
-
},
|
|
92
|
-
moduleMenuContainer: {
|
|
93
|
-
flexDirection: 'column',
|
|
94
|
-
paddingVertical: 8,
|
|
95
|
-
},
|
|
96
|
-
menuTitleContainer: {
|
|
97
|
-
paddingHorizontal: 16,
|
|
98
|
-
marginBottom: 8,
|
|
99
|
-
},
|
|
100
|
-
menuTitle: {
|
|
101
|
-
fontSize: 21,
|
|
102
|
-
fontWeight: 'bold',
|
|
103
|
-
},
|
|
104
|
-
authMenuIcon: {
|
|
105
|
-
marginBottom: 12,
|
|
106
|
-
marginLeft: 12,
|
|
107
|
-
},
|
|
108
|
-
});
|
|
109
|
-
export default Menu;
|
|
110
|
-
//# sourceMappingURL=Menu.js.map
|
|
68
|
+
export default MenuItemList;
|
|
69
|
+
//# sourceMappingURL=MenuItemList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuItemList.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuItemList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,23 +15,20 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React
|
|
18
|
+
import React from 'react';
|
|
19
19
|
import { View, StyleSheet } from 'react-native';
|
|
20
|
-
import { Icon, Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
20
|
+
import { HorizontalRule, Icon, Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
21
|
const MenuSeparator = ({ title, iconSize = 15 }) => {
|
|
22
22
|
const Colors = useThemeColor();
|
|
23
|
-
const styles = useMemo(() => {
|
|
24
|
-
return getStyles(Colors);
|
|
25
|
-
}, [Colors]);
|
|
26
23
|
return (<View style={styles.container}>
|
|
27
24
|
<View style={styles.menuItemContainer}>
|
|
28
25
|
<Icon style={styles.menuItemIcon} name="chevron-right" size={iconSize} color={Colors.secondaryColor.background}/>
|
|
29
26
|
<Text>{title}</Text>
|
|
30
27
|
</View>
|
|
31
|
-
<
|
|
28
|
+
<HorizontalRule style={styles.borderSeparator}/>
|
|
32
29
|
</View>);
|
|
33
30
|
};
|
|
34
|
-
const
|
|
31
|
+
const styles = StyleSheet.create({
|
|
35
32
|
container: {
|
|
36
33
|
flexDirection: 'column',
|
|
37
34
|
paddingVertical: 8,
|
|
@@ -49,7 +46,6 @@ const getStyles = Colors => StyleSheet.create({
|
|
|
49
46
|
borderSeparator: {
|
|
50
47
|
width: '60%',
|
|
51
48
|
borderBottomWidth: 1.5,
|
|
52
|
-
borderBottomColor: Colors.secondaryColor.background,
|
|
53
49
|
marginTop: 10,
|
|
54
50
|
alignSelf: 'center',
|
|
55
51
|
},
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuSeparator.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuSeparator.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,cAAc,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAOhF,MAAM,aAAa,GAAG,CAAC,EAAC,KAAK,EAAE,QAAQ,GAAG,EAAE,EAAqB,EAAE,EAAE;IACnE,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CACpC;QAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC3B,IAAI,CAAC,eAAe,CACpB,IAAI,CAAC,CAAC,QAAQ,CAAC,CACf,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,EAE1C;QAAA,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,CACrB;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,EAChD;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,aAAa,EAAE,QAAQ;QACvB,eAAe,EAAE,CAAC;KACnB;IACD,iBAAiB,EAAE;QACjB,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,MAAM;QACb,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,EAAE;QAChB,UAAU,EAAE,IAAI;KACjB;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC;KACf;IACD,eAAe,EAAE;QACf,KAAK,EAAE,KAAK;QACZ,iBAAiB,EAAE,GAAG;QACtB,SAAS,EAAE,EAAE;QACb,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -18,15 +18,15 @@
|
|
|
18
18
|
import React, { useMemo } from 'react';
|
|
19
19
|
import { Dimensions, StyleSheet, TouchableOpacity } from 'react-native';
|
|
20
20
|
import { Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
|
-
import { useTranslator } from '
|
|
22
|
-
import { getCompatibilityError, getMenuTitle, isMenuIncompatible, } from '
|
|
21
|
+
import { useTranslator } from '../../../i18n';
|
|
22
|
+
import { getCompatibilityError, getMenuTitle, isMenuIncompatible, } from '../../helpers';
|
|
23
23
|
const MenuTitle = ({ module, onPress }) => {
|
|
24
24
|
const Colors = useThemeColor();
|
|
25
25
|
const I18n = useTranslator();
|
|
26
26
|
const compatibilityError = useMemo(() => isMenuIncompatible(module.compatibilityAOS), [module.compatibilityAOS]);
|
|
27
27
|
return (<TouchableOpacity style={styles.menuItemContainer} onPress={onPress} disabled={compatibilityError}>
|
|
28
28
|
<Text style={[styles.text, styles.bold]} textColor={Colors.secondaryColor_dark.background}>
|
|
29
|
-
{getMenuTitle(module,
|
|
29
|
+
{getMenuTitle(module, I18n)}
|
|
30
30
|
</Text>
|
|
31
31
|
{compatibilityError && (<Text style={styles.text} textColor={Colors.errorColor.background}>
|
|
32
32
|
{getCompatibilityError(module.compatibilityAOS, I18n, false)}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MenuTitle.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuTitle.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AACtE,OAAO,EAAC,IAAI,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAE5C,OAAO,EACL,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAOvB,MAAM,SAAS,GAAG,CAAC,EAAC,MAAM,EAAE,OAAO,EAAiB,EAAE,EAAE;IACtD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,kBAAkB,GAAG,OAAO,CAChC,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,EACjD,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAC1B,CAAC;IAEF,OAAO,CACL,CAAC,gBAAgB,CACf,KAAK,CAAC,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAChC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAC7B;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAClC,SAAS,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC,CACjD;QAAA,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAC7B;MAAA,EAAE,IAAI,CACN;MAAA,CAAC,kBAAkB,IAAI,CACrB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAChE;UAAA,CAAC,qBAAqB,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,KAAK,CAAC,CAC9D;QAAA,EAAE,IAAI,CAAC,CACR,CACH;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,iBAAiB,EAAE;QACjB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,GAAG;QAC3C,MAAM,EAAE,EAAE;QACV,cAAc,EAAE,CAAC;QACjB,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,YAAY;QACxB,UAAU,EAAE,EAAE;KACf;IACD,IAAI,EAAE;QACJ,gBAAgB,EAAE,CAAC;KACpB;IACD,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,MAAM;KACnB;CACF,CAAC,CAAC;AAEH,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { SubMenu } from '../../../app';
|
|
3
|
+
interface SubMenuItemProps {
|
|
4
|
+
subMenu: SubMenu;
|
|
5
|
+
onPress: () => void;
|
|
6
|
+
isActive?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const SubMenuItem: ({ subMenu, onPress, isActive, }: SubMenuItemProps) => React.JSX.Element;
|
|
9
|
+
export default SubMenuItem;
|
|
@@ -17,13 +17,13 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import React from 'react';
|
|
19
19
|
import { StyleSheet } from 'react-native';
|
|
20
|
-
import {
|
|
21
|
-
import
|
|
20
|
+
import { useTranslator } from '../../../i18n';
|
|
21
|
+
import { getMenuTitle } from '../../helpers';
|
|
22
22
|
import MenuItemEntry from './MenuItemEntry';
|
|
23
23
|
const SUB_MENU_ICON_SIZE = 20;
|
|
24
|
-
const SubMenuItem = ({
|
|
24
|
+
const SubMenuItem = ({ subMenu, onPress, isActive = false, }) => {
|
|
25
25
|
const I18n = useTranslator();
|
|
26
|
-
return (<MenuItemEntry icon={subMenu.icon} title={getMenuTitle(subMenu,
|
|
26
|
+
return (<MenuItemEntry icon={subMenu.icon} title={getMenuTitle(subMenu, I18n)} disabled={subMenu.disabled} compatibility={subMenu.compatibilityAOS} iconSize={SUB_MENU_ICON_SIZE} onPress={onPress} isActive={isActive} style={styles.subMenuItem}/>);
|
|
27
27
|
};
|
|
28
28
|
const styles = StyleSheet.create({
|
|
29
29
|
subMenuItem: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubMenuItem.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/SubMenuItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAC3C,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,kBAAkB,GAAG,EAAE,CAAC;AAQ9B,MAAM,WAAW,GAAG,CAAC,EACnB,OAAO,EACP,OAAO,EACP,QAAQ,GAAG,KAAK,GACC,EAAE,EAAE;IACrB,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,OAAO,CACL,CAAC,aAAa,CACZ,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CACnB,KAAK,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CACnC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAC3B,aAAa,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CACxC,QAAQ,CAAC,CAAC,kBAAkB,CAAC,CAC7B,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,KAAK,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAC1B,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,WAAW,EAAE;QACX,UAAU,EAAE,EAAE;QACd,KAAK,EAAE,KAAK;KACb;CACF,CAAC,CAAC;AAEH,eAAe,WAAW,CAAC"}
|