@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.
Files changed (321) hide show
  1. package/README.md +2 -312
  2. package/lib/api/aop-filter-api.d.ts +9 -0
  3. package/lib/api/aop-filter-api.js +63 -0
  4. package/lib/api/aop-filter-api.js.map +1 -0
  5. package/lib/api/currency-api.d.ts +1 -0
  6. package/lib/api/currency-api.js +28 -0
  7. package/lib/api/currency-api.js.map +1 -0
  8. package/lib/api/index.d.ts +12 -0
  9. package/lib/api/index.js +30 -0
  10. package/lib/api/index.js.map +1 -0
  11. package/lib/api/login-api.js +2 -2
  12. package/lib/api/login-api.js.map +1 -1
  13. package/lib/api/metafile-api.d.ts +1 -1
  14. package/lib/api/print-template-api.d.ts +1 -1
  15. package/lib/api/print-template-api.js +2 -1
  16. package/lib/api/print-template-api.js.map +1 -1
  17. package/lib/apiProviders/Standard/requests.helper.d.ts +13 -1
  18. package/lib/apiProviders/Standard/requests.helper.js +37 -2
  19. package/lib/apiProviders/Standard/requests.helper.js.map +1 -1
  20. package/lib/apiProviders/middlewares/index.d.ts +2 -1
  21. package/lib/apiProviders/middlewares/index.js +2 -1
  22. package/lib/apiProviders/middlewares/index.js.map +1 -1
  23. package/lib/apiProviders/middlewares/maintenance.d.ts +5 -0
  24. package/lib/apiProviders/middlewares/maintenance.js +63 -0
  25. package/lib/apiProviders/middlewares/maintenance.js.map +1 -0
  26. package/lib/app/Application.d.ts +1 -0
  27. package/lib/app/Application.js +1 -1
  28. package/lib/app/Application.js.map +1 -1
  29. package/lib/app/ContextedApplication.js +4 -2
  30. package/lib/app/ContextedApplication.js.map +1 -1
  31. package/lib/app/ContextsProvider.d.ts +2 -1
  32. package/lib/app/ContextsProvider.js +5 -1
  33. package/lib/app/ContextsProvider.js.map +1 -1
  34. package/lib/app/modules/types.d.ts +2 -2
  35. package/lib/auth/api/config-api.js +1 -1
  36. package/lib/auth/api/config-api.js.map +1 -1
  37. package/lib/components/external/Camera/Camera.js +10 -0
  38. package/lib/components/external/Camera/Camera.js.map +1 -1
  39. package/lib/components/external/Toast/Toast.js +10 -35
  40. package/lib/components/external/Toast/Toast.js.map +1 -1
  41. package/lib/components/external/Toast/ToastDisplay.d.ts +4 -0
  42. package/lib/components/external/Toast/ToastDisplay.js +59 -0
  43. package/lib/components/external/Toast/ToastDisplay.js.map +1 -0
  44. package/lib/components/molecules/UploadFileInput/UploadFileInput.js +35 -52
  45. package/lib/components/molecules/UploadFileInput/UploadFileInput.js.map +1 -1
  46. package/lib/components/molecules/index.d.ts +0 -3
  47. package/lib/components/molecules/index.js +0 -3
  48. package/lib/components/molecules/index.js.map +1 -1
  49. package/lib/components/organisms/DateInput/DateInput.js +1 -4
  50. package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
  51. package/lib/components/organisms/FilterContainer/FilterContainer.d.ts +12 -0
  52. package/lib/components/organisms/FilterContainer/FilterContainer.js +54 -0
  53. package/lib/components/organisms/FilterContainer/FilterContainer.js.map +1 -0
  54. package/lib/components/organisms/PopupFilters/PopupFilters.d.ts +10 -0
  55. package/lib/components/organisms/PopupFilters/PopupFilters.js +73 -0
  56. package/lib/components/organisms/PopupFilters/PopupFilters.js.map +1 -0
  57. package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.d.ts +3 -1
  58. package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.js +20 -34
  59. package/lib/components/organisms/PopupPrintTemplate/PopupPrintTemplate.js.map +1 -1
  60. package/lib/components/organisms/index.d.ts +2 -4
  61. package/lib/components/organisms/index.js +2 -4
  62. package/lib/components/organisms/index.js.map +1 -1
  63. package/lib/components/pages/FormView/FormView.js +2 -0
  64. package/lib/components/pages/FormView/FormView.js.map +1 -1
  65. package/lib/components/templates/SearchListView/SearchListView.js +8 -5
  66. package/lib/components/templates/SearchListView/SearchListView.js.map +1 -1
  67. package/lib/components/templates/index.d.ts +0 -1
  68. package/lib/components/templates/index.js +0 -1
  69. package/lib/components/templates/index.js.map +1 -1
  70. package/lib/features/asyncFunctions-index.d.ts +12 -0
  71. package/lib/features/asyncFunctions-index.js +30 -0
  72. package/lib/features/asyncFunctions-index.js.map +1 -0
  73. package/lib/features/authSlice.js +8 -0
  74. package/lib/features/authSlice.js.map +1 -1
  75. package/lib/features/cameraScannerSlice.d.ts +3 -1
  76. package/lib/features/cameraScannerSlice.js +14 -2
  77. package/lib/features/cameraScannerSlice.js.map +1 -1
  78. package/lib/features/{attachedFilesSlice.d.ts → currencySlice.d.ts} +3 -3
  79. package/lib/features/{attachedFilesSlice.js → currencySlice.js} +20 -15
  80. package/lib/features/currencySlice.js.map +1 -0
  81. package/lib/features/index.d.ts +1 -2
  82. package/lib/features/index.js +1 -2
  83. package/lib/features/index.js.map +1 -1
  84. package/lib/forms/studio/api.helpers.d.ts +1 -1
  85. package/lib/forms/studio/api.helpers.js.map +1 -1
  86. package/lib/header/FilterProvider.d.ts +22 -0
  87. package/lib/header/FilterProvider.js +48 -0
  88. package/lib/header/FilterProvider.js.map +1 -0
  89. package/lib/header/HeaderActionsProvider.d.ts +1 -0
  90. package/lib/header/HeaderActionsProvider.js.map +1 -1
  91. package/lib/header/hooks.d.ts +1 -67
  92. package/lib/header/hooks.js +153 -158
  93. package/lib/header/hooks.js.map +1 -1
  94. package/lib/header/index.d.ts +2 -1
  95. package/lib/header/index.js +1 -0
  96. package/lib/header/index.js.map +1 -1
  97. package/lib/header/types.d.ts +0 -4
  98. package/lib/hooks/index.d.ts +3 -0
  99. package/lib/hooks/index.js +3 -0
  100. package/lib/hooks/index.js.map +1 -1
  101. package/lib/hooks/use-currency-formatter.d.ts +1 -0
  102. package/lib/hooks/use-currency-formatter.js +37 -0
  103. package/lib/hooks/use-currency-formatter.js.map +1 -0
  104. package/lib/hooks/use-effect-debugger.d.ts +2 -0
  105. package/lib/hooks/use-effect-debugger.js +43 -1
  106. package/lib/hooks/use-effect-debugger.js.map +1 -1
  107. package/lib/hooks/use-header-registers.js +2 -0
  108. package/lib/hooks/use-header-registers.js.map +1 -1
  109. package/lib/hooks/use-mass-scanner.d.ts +15 -0
  110. package/lib/hooks/use-mass-scanner.js +70 -0
  111. package/lib/hooks/use-mass-scanner.js.map +1 -0
  112. package/lib/hooks/use-outdated-version.d.ts +3 -0
  113. package/lib/hooks/use-outdated-version.js +30 -0
  114. package/lib/hooks/use-outdated-version.js.map +1 -0
  115. package/lib/hooks/use-scan-activator.d.ts +8 -3
  116. package/lib/hooks/use-scan-activator.js +42 -22
  117. package/lib/hooks/use-scan-activator.js.map +1 -1
  118. package/lib/i18n/translations/en.json +9 -18
  119. package/lib/i18n/translations/fr.json +9 -18
  120. package/lib/index.d.ts +16 -22
  121. package/lib/index.js +16 -22
  122. package/lib/index.js.map +1 -1
  123. package/lib/models/objectFields.js +9 -0
  124. package/lib/models/objectFields.js.map +1 -1
  125. package/lib/navigator/Navigator.d.ts +3 -6
  126. package/lib/navigator/Navigator.js +17 -19
  127. package/lib/navigator/Navigator.js.map +1 -1
  128. package/lib/navigator/components/DrawerContent.d.ts +13 -0
  129. package/lib/navigator/{drawer → components}/DrawerContent.js +34 -73
  130. package/lib/navigator/components/DrawerContent.js.map +1 -0
  131. package/lib/navigator/components/header/Header.d.ts +9 -0
  132. package/lib/navigator/{drawer → components/header}/Header.js +13 -21
  133. package/lib/navigator/components/header/Header.js.map +1 -0
  134. package/lib/navigator/components/header/HeaderButton.d.ts +6 -0
  135. package/lib/navigator/{drawer/DrawerToggleButton.js → components/header/HeaderButton.js} +10 -10
  136. package/lib/navigator/components/header/HeaderButton.js.map +1 -0
  137. package/lib/navigator/components/header/HeaderOptionMenu.d.ts +13 -0
  138. package/lib/{components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js → navigator/components/header/HeaderOptionMenu.js} +10 -43
  139. package/lib/navigator/components/header/HeaderOptionMenu.js.map +1 -0
  140. package/lib/navigator/components/header/HeaderOptionMenuItem.js.map +1 -0
  141. package/lib/navigator/components/header/index.d.ts +1 -0
  142. package/lib/navigator/components/header/index.js +19 -0
  143. package/lib/navigator/components/header/index.js.map +1 -0
  144. package/lib/navigator/components/index.d.ts +2 -0
  145. package/lib/navigator/components/index.js +20 -0
  146. package/lib/navigator/components/index.js.map +1 -0
  147. package/lib/navigator/components/menu/AuthMenu.d.ts +8 -0
  148. package/lib/navigator/{drawer/AuthMenuIconButton.js → components/menu/AuthMenu.js} +10 -9
  149. package/lib/navigator/components/menu/AuthMenu.js.map +1 -0
  150. package/lib/navigator/components/menu/Menu.d.ts +13 -0
  151. package/lib/navigator/components/menu/Menu.js +63 -0
  152. package/lib/navigator/components/menu/Menu.js.map +1 -0
  153. package/lib/navigator/components/menu/MenuIconButton.d.ts +14 -0
  154. package/lib/navigator/{drawer → components/menu}/MenuIconButton.js +17 -20
  155. package/lib/navigator/components/menu/MenuIconButton.js.map +1 -0
  156. package/lib/navigator/components/menu/MenuItem.d.ts +14 -0
  157. package/lib/navigator/{drawer → components/menu}/MenuItem.js +6 -6
  158. package/lib/navigator/components/menu/MenuItem.js.map +1 -0
  159. package/lib/navigator/components/menu/MenuItemEntry.d.ts +16 -0
  160. package/lib/navigator/{drawer → components/menu}/MenuItemEntry.js +11 -19
  161. package/lib/navigator/components/menu/MenuItemEntry.js.map +1 -0
  162. package/lib/navigator/components/menu/MenuItemList.d.ts +12 -0
  163. package/lib/navigator/{drawer/Menu.js → components/menu/MenuItemList.js} +5 -46
  164. package/lib/navigator/components/menu/MenuItemList.js.map +1 -0
  165. package/lib/navigator/components/menu/MenuSeparator.d.ts +7 -0
  166. package/lib/navigator/{drawer → components/menu}/MenuSeparator.js +4 -8
  167. package/lib/navigator/components/menu/MenuSeparator.js.map +1 -0
  168. package/lib/navigator/components/menu/MenuTitle.d.ts +8 -0
  169. package/lib/navigator/{drawer → components/menu}/MenuTitle.js +3 -3
  170. package/lib/navigator/components/menu/MenuTitle.js.map +1 -0
  171. package/lib/navigator/components/menu/SubMenuItem.d.ts +9 -0
  172. package/lib/navigator/{drawer → components/menu}/SubMenuItem.js +4 -4
  173. package/lib/navigator/components/menu/SubMenuItem.js.map +1 -0
  174. package/lib/navigator/components/menu/SubMenuItemList.d.ts +12 -0
  175. package/lib/navigator/{drawer → components/menu}/SubMenuItemList.js +5 -5
  176. package/lib/navigator/components/menu/SubMenuItemList.js.map +1 -0
  177. package/lib/navigator/components/menu/index.d.ts +4 -0
  178. package/lib/navigator/components/menu/index.js +22 -0
  179. package/lib/navigator/components/menu/index.js.map +1 -0
  180. package/lib/navigator/helpers/access.helper.d.ts +4 -0
  181. package/lib/navigator/helpers/access.helper.js +121 -0
  182. package/lib/navigator/helpers/access.helper.js.map +1 -0
  183. package/lib/navigator/helpers/compatibility.helper.d.ts +3 -0
  184. package/lib/navigator/helpers/compatibility.helper.js +123 -0
  185. package/lib/navigator/helpers/compatibility.helper.js.map +1 -0
  186. package/lib/navigator/helpers/index.d.ts +6 -0
  187. package/lib/navigator/helpers/index.js +24 -0
  188. package/lib/navigator/helpers/index.js.map +1 -0
  189. package/lib/navigator/helpers/menu.helper.d.ts +56 -0
  190. package/lib/navigator/{menu.helper.js → helpers/menu.helper.js} +17 -22
  191. package/lib/navigator/helpers/menu.helper.js.map +1 -0
  192. package/lib/navigator/helpers/module.helper.d.ts +8 -0
  193. package/lib/navigator/helpers/module.helper.js +58 -0
  194. package/lib/navigator/helpers/module.helper.js.map +1 -0
  195. package/lib/navigator/helpers/navigation-type.d.ts +4 -0
  196. package/lib/navigator/helpers/navigation-type.js +19 -0
  197. package/lib/navigator/helpers/navigation-type.js.map +1 -0
  198. package/lib/navigator/helpers/tool.helper.d.ts +3 -0
  199. package/lib/navigator/helpers/tool.helper.js +44 -0
  200. package/lib/navigator/helpers/tool.helper.js.map +1 -0
  201. package/lib/navigator/index.d.ts +3 -1
  202. package/lib/navigator/index.js +3 -1
  203. package/lib/navigator/index.js.map +1 -1
  204. package/lib/navigator/{ActiveScreenProvider.d.ts → providers/active-screen.d.ts} +1 -1
  205. package/lib/navigator/{ActiveScreenProvider.js → providers/active-screen.js} +3 -3
  206. package/lib/navigator/providers/active-screen.js.map +1 -0
  207. package/lib/navigator/providers/index.d.ts +3 -0
  208. package/lib/navigator/providers/index.js +21 -0
  209. package/lib/navigator/providers/index.js.map +1 -0
  210. package/lib/navigator/providers/module-navigator.d.ts +8 -0
  211. package/lib/{screens/MailMessageScreen.js → navigator/providers/module-navigator.js} +7 -7
  212. package/lib/navigator/providers/module-navigator.js.map +1 -0
  213. package/lib/navigator/{NavigationInformationsProvider.d.ts → providers/navigation-informations.d.ts} +6 -2
  214. package/lib/navigator/{NavigationInformationsProvider.js → providers/navigation-informations.js} +11 -10
  215. package/lib/navigator/providers/navigation-informations.js.map +1 -0
  216. package/lib/screens/ErrorScreen.d.ts +7 -5
  217. package/lib/screens/ErrorScreen.js +26 -4
  218. package/lib/screens/ErrorScreen.js.map +1 -1
  219. package/lib/screens/index.d.ts +10 -33
  220. package/lib/screens/index.js +1 -17
  221. package/lib/screens/index.js.map +1 -1
  222. package/lib/tools/FileDownloader.js +7 -2
  223. package/lib/tools/FileDownloader.js.map +1 -1
  224. package/lib/tools/FilePicker.js +4 -3
  225. package/lib/tools/FilePicker.js.map +1 -1
  226. package/lib/types/index.d.ts +0 -2
  227. package/lib/types/index.js +0 -2
  228. package/lib/types/index.js.map +1 -1
  229. package/lib/utils/date.d.ts +1 -0
  230. package/lib/utils/date.js +4 -1
  231. package/lib/utils/date.js.map +1 -1
  232. package/lib/utils/index.d.ts +2 -2
  233. package/lib/utils/index.js +2 -2
  234. package/lib/utils/index.js.map +1 -1
  235. package/lib/websocket/WebSocketProvider.d.ts +20 -0
  236. package/lib/websocket/WebSocketProvider.js +89 -0
  237. package/lib/websocket/WebSocketProvider.js.map +1 -0
  238. package/lib/websocket/hooks.d.ts +2 -0
  239. package/lib/{navigator/drawer/BackIcon.js → websocket/hooks.js} +8 -17
  240. package/lib/websocket/hooks.js.map +1 -0
  241. package/lib/websocket/index.d.ts +2 -0
  242. package/lib/websocket/index.js +20 -0
  243. package/lib/websocket/index.js.map +1 -0
  244. package/lib/websocket/types.d.ts +13 -0
  245. package/lib/websocket/types.js +26 -0
  246. package/lib/websocket/types.js.map +1 -0
  247. package/package.json +35 -29
  248. package/lib/api/mail-message-api.d.ts +0 -44
  249. package/lib/api/mail-message-api.js +0 -129
  250. package/lib/api/mail-message-api.js.map +0 -1
  251. package/lib/components/molecules/HeaderOptionsMenuItem/HeaderOptionMenuItem.js.map +0 -1
  252. package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.d.ts +0 -12
  253. package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js +0 -59
  254. package/lib/components/molecules/MailMessageReadIcon/MailMessageReadIcon.js.map +0 -1
  255. package/lib/components/molecules/TrackItem/TrackItem.d.ts +0 -10
  256. package/lib/components/molecules/TrackItem/TrackItem.js +0 -65
  257. package/lib/components/molecules/TrackItem/TrackItem.js.map +0 -1
  258. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.d.ts +0 -13
  259. package/lib/components/organisms/HeaderOptionsMenu/HeaderOptionsMenu.js.map +0 -1
  260. package/lib/components/organisms/MailMessageCard/MailMessageCard.d.ts +0 -17
  261. package/lib/components/organisms/MailMessageCard/MailMessageCard.js +0 -76
  262. package/lib/components/organisms/MailMessageCard/MailMessageCard.js.map +0 -1
  263. package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.d.ts +0 -13
  264. package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js +0 -138
  265. package/lib/components/organisms/MailMessageCommentCard/MailMessageCommentCard.js.map +0 -1
  266. package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.d.ts +0 -17
  267. package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js +0 -81
  268. package/lib/components/organisms/MailMessageNotificationCard/MailMessageNotificationCard.js.map +0 -1
  269. package/lib/components/templates/MailMessageView/MailMessageView.d.ts +0 -10
  270. package/lib/components/templates/MailMessageView/MailMessageView.js +0 -184
  271. package/lib/components/templates/MailMessageView/MailMessageView.js.map +0 -1
  272. package/lib/features/attachedFilesSlice.js.map +0 -1
  273. package/lib/features/mailMessageSlice.d.ts +0 -97
  274. package/lib/features/mailMessageSlice.js +0 -196
  275. package/lib/features/mailMessageSlice.js.map +0 -1
  276. package/lib/navigator/ActiveScreenProvider.js.map +0 -1
  277. package/lib/navigator/NavigationInformationsProvider.js.map +0 -1
  278. package/lib/navigator/drawer/AuthMenuIconButton.d.ts +0 -7
  279. package/lib/navigator/drawer/AuthMenuIconButton.js.map +0 -1
  280. package/lib/navigator/drawer/BackIcon.d.ts +0 -5
  281. package/lib/navigator/drawer/BackIcon.js.map +0 -1
  282. package/lib/navigator/drawer/DrawerContent.d.ts +0 -10
  283. package/lib/navigator/drawer/DrawerContent.js.map +0 -1
  284. package/lib/navigator/drawer/DrawerToggleButton.d.ts +0 -5
  285. package/lib/navigator/drawer/DrawerToggleButton.js.map +0 -1
  286. package/lib/navigator/drawer/Header.d.ts +0 -8
  287. package/lib/navigator/drawer/Header.js.map +0 -1
  288. package/lib/navigator/drawer/Menu.d.ts +0 -10
  289. package/lib/navigator/drawer/Menu.js.map +0 -1
  290. package/lib/navigator/drawer/MenuIconButton.d.ts +0 -12
  291. package/lib/navigator/drawer/MenuIconButton.js.map +0 -1
  292. package/lib/navigator/drawer/MenuItem.d.ts +0 -12
  293. package/lib/navigator/drawer/MenuItem.js.map +0 -1
  294. package/lib/navigator/drawer/MenuItemEntry.d.ts +0 -14
  295. package/lib/navigator/drawer/MenuItemEntry.js.map +0 -1
  296. package/lib/navigator/drawer/MenuSeparator.d.ts +0 -6
  297. package/lib/navigator/drawer/MenuSeparator.js.map +0 -1
  298. package/lib/navigator/drawer/MenuTitle.d.ts +0 -6
  299. package/lib/navigator/drawer/MenuTitle.js.map +0 -1
  300. package/lib/navigator/drawer/SubMenuItem.d.ts +0 -8
  301. package/lib/navigator/drawer/SubMenuItem.js.map +0 -1
  302. package/lib/navigator/drawer/SubMenuItemList.d.ts +0 -11
  303. package/lib/navigator/drawer/SubMenuItemList.js.map +0 -1
  304. package/lib/navigator/menu.helper.d.ts +0 -17
  305. package/lib/navigator/menu.helper.js.map +0 -1
  306. package/lib/navigator/module.helper.d.ts +0 -25
  307. package/lib/navigator/module.helper.js +0 -299
  308. package/lib/navigator/module.helper.js.map +0 -1
  309. package/lib/screens/MailMessageAttachedFilesScreen.d.ts +0 -5
  310. package/lib/screens/MailMessageAttachedFilesScreen.js +0 -68
  311. package/lib/screens/MailMessageAttachedFilesScreen.js.map +0 -1
  312. package/lib/screens/MailMessageScreen.d.ts +0 -5
  313. package/lib/screens/MailMessageScreen.js.map +0 -1
  314. package/lib/types/mail-message-notification-type.d.ts +0 -12
  315. package/lib/types/mail-message-notification-type.js +0 -48
  316. package/lib/types/mail-message-notification-type.js.map +0 -1
  317. package/lib/types/mail-message-type.d.ts +0 -18
  318. package/lib/types/mail-message-type.js +0 -55
  319. package/lib/types/mail-message-type.js.map +0 -1
  320. /package/lib/{components/molecules/HeaderOptionsMenuItem → navigator/components/header}/HeaderOptionMenuItem.d.ts +0 -0
  321. /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,2 @@
1
+ export { Header } from './header';
2
+ export { default as DrawerContent } from './DrawerContent';
@@ -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 { useThemeColor } from '@axelor/aos-mobile-ui';
20
- import { authModule } from '../../auth';
19
+ import { authModule } from '../../../auth';
20
+ import { useActiveModule } from '../../providers';
21
21
  import MenuIconButton from './MenuIconButton';
22
- import useTranslator from '../../i18n/hooks/use-translator';
23
- const AuthMenuIconButton = ({ isActive, showModulesSubtitle, onPress }) => {
24
- const Colors = useThemeColor();
25
- const I18n = useTranslator();
26
- return (<MenuIconButton key={authModule.title} icon={authModule.icon} subtitle={showModulesSubtitle && I18n.t(authModule.subtitle)} disabled={authModule.disabled} color={isActive ? Colors.primaryColor.background_light : null} onPress={onPress} rounded={true}/>);
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 AuthMenuIconButton;
29
- //# sourceMappingURL=AuthMenuIconButton.js.map
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 '../../i18n';
22
- import { getCompatibilityError, isMenuIncompatible } from '../menu.helper';
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, color, subtitle, rounded = false, disabled = false, compatibility, }) => {
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 styles = useMemo(() => getStyles(Colors), [Colors]);
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
- {subtitle && (<Text style={styles.moduleSubtitle} numberOfLines={1}>
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 { getMenuTitle, hasSubMenus } from '../menu.helper';
20
- import useTranslator from '../../i18n/hooks/use-translator';
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, navigation, menuItem, subRoutes, onPress = () => { }, isActive = false, disabled, }) => {
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} route={route} navigation={navigation} onPress={onPress} menuItem={menuItem} subRoutes={subRoutes} disabled={disabled}/>);
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, { I18n })}/>;
30
+ return <MenuSeparator title={getMenuTitle(menuItem, I18n)}/>;
31
31
  }
32
- return (<MenuItemEntry onPress={() => onPress(route)} title={getMenuTitle(menuItem, { I18n })} icon={menuItem.icon} disabled={menuItem.disabled || disabled} compatibility={menuItem.compatibilityAOS} isActive={isActive}/>);
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 { getCompatibilityError, isMenuIncompatible } from '../menu.helper';
22
- import { useTranslator } from '../../i18n';
23
- const MenuItemEntry = ({ icon, title, compatibility, onPress = _route => { }, isActive = false, disabled = false, isDropdown = false, dropdown = false, iconSize = 24, style, }) => {
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={[styles.menuItemActive, backgroundColor]}/>
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 { Text, WarningCard } from '@axelor/aos-mobile-ui';
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} navigation={navigation} menuItem={menuItem} subRoutes={subRoutes} onPress={onPress} isActive={focused} disabled={disabled}/>);
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
- const Menu = ({ state, navigation, authMenu, activeModule, onItemClick, compatibility, }) => {
72
- const I18n = useTranslator();
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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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface MenuSeparatorProps {
3
+ title: string;
4
+ iconSize?: number;
5
+ }
6
+ declare const MenuSeparator: ({ title, iconSize }: MenuSeparatorProps) => React.JSX.Element;
7
+ export default MenuSeparator;
@@ -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, { useMemo } from '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
- <View style={styles.borderSeparator}/>
28
+ <HorizontalRule style={styles.borderSeparator}/>
32
29
  </View>);
33
30
  };
34
- const getStyles = Colors => StyleSheet.create({
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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { Module } from '../../../app';
3
+ interface MenuTitleProps {
4
+ module: Module;
5
+ onPress: () => void;
6
+ }
7
+ declare const MenuTitle: ({ module, onPress }: MenuTitleProps) => React.JSX.Element;
8
+ export default MenuTitle;
@@ -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 '../../i18n';
22
- import { getCompatibilityError, getMenuTitle, isMenuIncompatible, } from '../menu.helper';
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, { I18n })}
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 { getMenuTitle } from '../menu.helper';
21
- import useTranslator from '../../i18n/hooks/use-translator';
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 = ({ route, subMenu, onPress = () => { }, isActive = false, }) => {
24
+ const SubMenuItem = ({ subMenu, onPress, isActive = false, }) => {
25
25
  const I18n = useTranslator();
26
- return (<MenuItemEntry icon={subMenu.icon} title={getMenuTitle(subMenu, { I18n })} disabled={subMenu.disabled} compatibility={subMenu.compatibilityAOS} iconSize={SUB_MENU_ICON_SIZE} onPress={() => onPress(route)} isActive={isActive} style={styles.subMenuItem}/>);
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"}