@axelor/aos-mobile-core 9.1.12 → 9.2.1

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 (292) hide show
  1. package/lib/apiProviders/Standard/ObjectFieldsProvider.d.ts +2 -2
  2. package/lib/apiProviders/Standard/ObjectFieldsProvider.js.map +1 -1
  3. package/lib/app/RootNavigator.d.ts +9 -8
  4. package/lib/app/RootNavigator.js +20 -19
  5. package/lib/app/RootNavigator.js.map +1 -1
  6. package/lib/app/modules/types.d.ts +2 -4
  7. package/lib/auth/components/index.d.ts +1 -1
  8. package/lib/auth/components/index.js.map +1 -1
  9. package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.d.ts +1 -1
  10. package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.js +6 -11
  11. package/lib/auth/components/molecules/DashboardsCard/DashboardsCard.js.map +1 -1
  12. package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.d.ts +2 -4
  13. package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.js +19 -22
  14. package/lib/auth/components/molecules/ShortcutsCard/ShortcutsCard.js.map +1 -1
  15. package/lib/auth/components/molecules/UserCard/UserCard.d.ts +2 -3
  16. package/lib/auth/components/molecules/UserCard/UserCard.js +28 -45
  17. package/lib/auth/components/molecules/UserCard/UserCard.js.map +1 -1
  18. package/lib/auth/components/molecules/index.d.ts +3 -5
  19. package/lib/auth/components/molecules/index.js +0 -2
  20. package/lib/auth/components/molecules/index.js.map +1 -1
  21. package/lib/auth/hooks/use-auth-headers.d.ts +1 -1
  22. package/lib/auth/hooks/use-auth-headers.js +2 -0
  23. package/lib/auth/hooks/use-auth-headers.js.map +1 -1
  24. package/lib/auth/i18n/en.json +4 -0
  25. package/lib/auth/i18n/fr.json +4 -0
  26. package/lib/auth/index.d.ts +2 -0
  27. package/lib/auth/index.js +2 -0
  28. package/lib/auth/index.js.map +1 -1
  29. package/lib/auth/screens/SettingsScreen.d.ts +2 -4
  30. package/lib/auth/screens/SettingsScreen.js +49 -83
  31. package/lib/auth/screens/SettingsScreen.js.map +1 -1
  32. package/lib/auth/screens/UserScreen.d.ts +2 -4
  33. package/lib/auth/screens/UserScreen.js +13 -16
  34. package/lib/auth/screens/UserScreen.js.map +1 -1
  35. package/lib/auth/screens/index.d.ts +2 -2
  36. package/lib/auth/screens/index.js.map +1 -1
  37. package/lib/auth/settings/SettingsProvider.d.ts +18 -0
  38. package/lib/auth/settings/SettingsProvider.js +73 -0
  39. package/lib/auth/settings/SettingsProvider.js.map +1 -0
  40. package/lib/auth/settings/index.d.ts +4 -0
  41. package/lib/auth/settings/index.js +22 -0
  42. package/lib/auth/settings/index.js.map +1 -0
  43. package/lib/auth/settings/settings.helper.d.ts +5 -0
  44. package/lib/{components/external/PlanningView/NavigationButton.js → auth/settings/settings.helper.js} +13 -17
  45. package/lib/auth/settings/settings.helper.js.map +1 -0
  46. package/lib/auth/settings/types.d.ts +36 -0
  47. package/lib/auth/settings/types.js +24 -0
  48. package/lib/auth/settings/types.js.map +1 -0
  49. package/lib/auth/settings/use-settings-register.d.ts +1 -0
  50. package/lib/auth/settings/use-settings-register.js +211 -0
  51. package/lib/auth/settings/use-settings-register.js.map +1 -0
  52. package/lib/auth/userScreen/UserScreenProvider.d.ts +15 -0
  53. package/lib/auth/userScreen/UserScreenProvider.js +64 -0
  54. package/lib/auth/userScreen/UserScreenProvider.js.map +1 -0
  55. package/lib/auth/userScreen/index.d.ts +3 -0
  56. package/lib/auth/userScreen/index.js +21 -0
  57. package/lib/auth/userScreen/index.js.map +1 -0
  58. package/lib/auth/userScreen/types.d.ts +14 -0
  59. package/lib/auth/userScreen/types.js +23 -0
  60. package/lib/auth/userScreen/types.js.map +1 -0
  61. package/lib/auth/userScreen/user-screen.helper.d.ts +5 -0
  62. package/lib/auth/userScreen/user-screen.helper.js +26 -0
  63. package/lib/auth/userScreen/user-screen.helper.js.map +1 -0
  64. package/lib/components/external/Camera/Camera.js +1 -1
  65. package/lib/components/external/Camera/CaptureButton.js +1 -1
  66. package/lib/components/external/Camera/CaptureButton.js.map +1 -1
  67. package/lib/components/external/PlanningView/PlanningView.d.ts +2 -1
  68. package/lib/components/external/PlanningView/PlanningView.js +21 -121
  69. package/lib/components/external/PlanningView/PlanningView.js.map +1 -1
  70. package/lib/components/external/PlanningView/agenda.helpers.d.ts +4 -13
  71. package/lib/components/external/PlanningView/agenda.helpers.js +27 -128
  72. package/lib/components/external/PlanningView/agenda.helpers.js.map +1 -1
  73. package/lib/components/external/Stopwatch/Stopwatch.js +28 -24
  74. package/lib/components/external/Stopwatch/Stopwatch.js.map +1 -1
  75. package/lib/components/external/Toast/ToastDisplay.d.ts +1 -1
  76. package/lib/components/external/Toast/ToastDisplay.js +46 -22
  77. package/lib/components/external/Toast/ToastDisplay.js.map +1 -1
  78. package/lib/components/molecules/DateDisplay/DateDisplay.js +1 -1
  79. package/lib/components/molecules/DatePicker/DatePicker.d.ts +2 -2
  80. package/lib/components/molecules/DatePicker/DatePicker.js +1 -1
  81. package/lib/components/molecules/DatePicker/DatePicker.js.map +1 -1
  82. package/lib/components/molecules/HeaderBand/HeaderBand.js +4 -9
  83. package/lib/components/molecules/HeaderBand/HeaderBand.js.map +1 -1
  84. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.d.ts +1 -1
  85. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js +12 -30
  86. package/lib/components/molecules/InputBarCodeCard/InputBarCodeCard.js.map +1 -1
  87. package/lib/components/molecules/UploadFileInput/UploadFileInput.js +39 -40
  88. package/lib/components/molecules/UploadFileInput/UploadFileInput.js.map +1 -1
  89. package/lib/components/molecules/index.d.ts +0 -1
  90. package/lib/components/molecules/index.js +0 -1
  91. package/lib/components/molecules/index.js.map +1 -1
  92. package/lib/components/organisms/AOSImage/AOSImage.js +1 -1
  93. package/lib/components/organisms/AOSImage/AOSImage.js.map +1 -1
  94. package/lib/components/organisms/DateInput/DateInput.d.ts +1 -1
  95. package/lib/components/organisms/DateInput/DateInput.js +18 -15
  96. package/lib/components/organisms/DateInput/DateInput.js.map +1 -1
  97. package/lib/components/organisms/FilterContainer/FilterContainer.js +11 -8
  98. package/lib/components/organisms/FilterContainer/FilterContainer.js.map +1 -1
  99. package/lib/components/organisms/PopupFilters/PopupFilters.js +8 -3
  100. package/lib/components/organisms/PopupFilters/PopupFilters.js.map +1 -1
  101. package/lib/components/organisms/SignatureInput/SignatureInput.js +15 -23
  102. package/lib/components/organisms/SignatureInput/SignatureInput.js.map +1 -1
  103. package/lib/components/pages/CustomFieldForm/CustomFieldForm.js +1 -0
  104. package/lib/components/pages/CustomFieldForm/CustomFieldForm.js.map +1 -1
  105. package/lib/components/pages/FormView/Components/Field.js +2 -10
  106. package/lib/components/pages/FormView/Components/Field.js.map +1 -1
  107. package/lib/components/pages/FormView/Components/Panel.js +8 -6
  108. package/lib/components/pages/FormView/Components/Panel.js.map +1 -1
  109. package/lib/components/pages/FormView/FormView.d.ts +2 -1
  110. package/lib/components/pages/FormView/FormView.js +20 -4
  111. package/lib/components/pages/FormView/FormView.js.map +1 -1
  112. package/lib/components/templates/PeriodInput/PeriodInput.js +7 -6
  113. package/lib/components/templates/PeriodInput/PeriodInput.js.map +1 -1
  114. package/lib/components/templates/SocialNetworkLinks/SocialNetworkLinks.d.ts +3 -2
  115. package/lib/components/templates/SocialNetworkLinks/SocialNetworkLinks.js +9 -16
  116. package/lib/components/templates/SocialNetworkLinks/SocialNetworkLinks.js.map +1 -1
  117. package/lib/dashboards/component/AOPChart/DynamicSearchForm.d.ts +4 -4
  118. package/lib/dashboards/component/AOPChart/DynamicSearchForm.js +23 -23
  119. package/lib/dashboards/component/AOPChart/DynamicSearchForm.js.map +1 -1
  120. package/lib/dashboards/view/DashboardView.js +1 -1
  121. package/lib/dashboards/view/DashboardView.js.map +1 -1
  122. package/lib/features/authSlice.d.ts +1 -1
  123. package/lib/forms/api.helpers.d.ts +1 -1
  124. package/lib/forms/display.helpers.d.ts +2 -2
  125. package/lib/forms/display.helpers.js.map +1 -1
  126. package/lib/forms/types.d.ts +5 -5
  127. package/lib/header/FilterProvider.js +2 -2
  128. package/lib/header/FilterProvider.js.map +1 -1
  129. package/lib/header/HeaderActionsProvider.d.ts +2 -2
  130. package/lib/header/HeaderActionsProvider.js.map +1 -1
  131. package/lib/header/utils.d.ts +1 -1
  132. package/lib/header/utils.js +2 -6
  133. package/lib/header/utils.js.map +1 -1
  134. package/lib/hooks/index.d.ts +2 -2
  135. package/lib/hooks/index.js +2 -2
  136. package/lib/hooks/index.js.map +1 -1
  137. package/lib/hooks/use-background-function.d.ts +1 -1
  138. package/lib/hooks/use-background-function.js +2 -2
  139. package/lib/hooks/use-background-function.js.map +1 -1
  140. package/lib/hooks/use-effect-debugger.d.ts +4 -3
  141. package/lib/hooks/use-effect-debugger.js.map +1 -1
  142. package/lib/hooks/use-header-registers.d.ts +1 -1
  143. package/lib/hooks/use-header-registers.js +1 -1
  144. package/lib/hooks/use-header-registers.js.map +1 -1
  145. package/lib/i18n/i18n.d.ts +1 -1
  146. package/lib/i18n/i18n.js +2 -1
  147. package/lib/i18n/i18n.js.map +1 -1
  148. package/lib/i18n/translations/en.json +4 -1
  149. package/lib/i18n/translations/fr.json +3 -0
  150. package/lib/loader/components/atoms/ProcessCard/ProcessCard.js +3 -5
  151. package/lib/loader/components/atoms/ProcessCard/ProcessCard.js.map +1 -1
  152. package/lib/navigator/Navigator.d.ts +4 -4
  153. package/lib/navigator/Navigator.js +45 -29
  154. package/lib/navigator/Navigator.js.map +1 -1
  155. package/lib/navigator/components/DrawerContent.js +51 -47
  156. package/lib/navigator/components/DrawerContent.js.map +1 -1
  157. package/lib/navigator/components/header/Header.d.ts +1 -2
  158. package/lib/navigator/components/header/Header.js +13 -35
  159. package/lib/navigator/components/header/Header.js.map +1 -1
  160. package/lib/navigator/components/header/HeaderButton.js +13 -6
  161. package/lib/navigator/components/header/HeaderButton.js.map +1 -1
  162. package/lib/navigator/components/header/HeaderOptionMenu.js +17 -3
  163. package/lib/navigator/components/header/HeaderOptionMenu.js.map +1 -1
  164. package/lib/navigator/components/header/HeaderOptionMenuItem.js +18 -15
  165. package/lib/navigator/components/header/HeaderOptionMenuItem.js.map +1 -1
  166. package/lib/navigator/components/menu/AuthMenu.js +9 -3
  167. package/lib/navigator/components/menu/AuthMenu.js.map +1 -1
  168. package/lib/navigator/components/menu/Menu.js +10 -4
  169. package/lib/navigator/components/menu/Menu.js.map +1 -1
  170. package/lib/navigator/components/menu/MenuIconButton.d.ts +3 -1
  171. package/lib/navigator/components/menu/MenuIconButton.js +60 -41
  172. package/lib/navigator/components/menu/MenuIconButton.js.map +1 -1
  173. package/lib/navigator/components/menu/MenuIconTile.d.ts +14 -0
  174. package/lib/navigator/components/menu/MenuIconTile.js +45 -0
  175. package/lib/navigator/components/menu/MenuIconTile.js.map +1 -0
  176. package/lib/navigator/components/menu/MenuItemEntry.d.ts +1 -1
  177. package/lib/navigator/components/menu/MenuItemEntry.js +30 -46
  178. package/lib/navigator/components/menu/MenuItemEntry.js.map +1 -1
  179. package/lib/navigator/components/menu/MenuItemList.js +13 -10
  180. package/lib/navigator/components/menu/MenuItemList.js.map +1 -1
  181. package/lib/navigator/components/menu/MenuSeparator.d.ts +1 -2
  182. package/lib/navigator/components/menu/MenuSeparator.js +16 -21
  183. package/lib/navigator/components/menu/MenuSeparator.js.map +1 -1
  184. package/lib/navigator/components/menu/SubMenuItem.js +1 -2
  185. package/lib/navigator/components/menu/SubMenuItem.js.map +1 -1
  186. package/lib/navigator/components/menu/SubMenuItemList.js +19 -4
  187. package/lib/navigator/components/menu/SubMenuItemList.js.map +1 -1
  188. package/lib/navigator/components/menu/index.d.ts +0 -1
  189. package/lib/navigator/components/menu/index.js +0 -1
  190. package/lib/navigator/components/menu/index.js.map +1 -1
  191. package/lib/navigator/helpers/index.d.ts +1 -0
  192. package/lib/navigator/helpers/index.js +1 -0
  193. package/lib/navigator/helpers/index.js.map +1 -1
  194. package/lib/navigator/helpers/module.helper.d.ts +3 -3
  195. package/lib/navigator/helpers/module.helper.js +3 -4
  196. package/lib/navigator/helpers/module.helper.js.map +1 -1
  197. package/lib/navigator/helpers/screen-orientation.helper.d.ts +6 -0
  198. package/lib/navigator/helpers/screen-orientation.helper.js +36 -0
  199. package/lib/navigator/helpers/screen-orientation.helper.js.map +1 -0
  200. package/lib/navigator/providers/module-navigator.d.ts +2 -2
  201. package/lib/navigator/providers/module-navigator.js +1 -3
  202. package/lib/navigator/providers/module-navigator.js.map +1 -1
  203. package/lib/screens/LoginScreen.d.ts +2 -4
  204. package/lib/screens/LoginScreen.js +45 -58
  205. package/lib/screens/LoginScreen.js.map +1 -1
  206. package/lib/screens/ProcessListScreen.js +1 -1
  207. package/lib/screens/ProcessListScreen.js.map +1 -1
  208. package/lib/screens/SessionManagementScreen.d.ts +2 -4
  209. package/lib/screens/SessionManagementScreen.js +15 -27
  210. package/lib/screens/SessionManagementScreen.js.map +1 -1
  211. package/lib/screens/index.js +0 -10
  212. package/lib/screens/index.js.map +1 -1
  213. package/lib/sessions/components/alerts/PopupCreateSession.d.ts +11 -10
  214. package/lib/sessions/components/alerts/PopupCreateSession.js +19 -32
  215. package/lib/sessions/components/alerts/PopupCreateSession.js.map +1 -1
  216. package/lib/sessions/components/alerts/PopupEditSession.d.ts +9 -8
  217. package/lib/sessions/components/alerts/PopupEditSession.js +9 -10
  218. package/lib/sessions/components/alerts/PopupEditSession.js.map +1 -1
  219. package/lib/sessions/components/alerts/PopupSession.d.ts +10 -9
  220. package/lib/sessions/components/alerts/PopupSession.js +9 -10
  221. package/lib/sessions/components/alerts/PopupSession.js.map +1 -1
  222. package/lib/sessions/components/display/LogoImage.d.ts +5 -5
  223. package/lib/sessions/components/display/LogoImage.js +16 -18
  224. package/lib/sessions/components/display/LogoImage.js.map +1 -1
  225. package/lib/sessions/components/display/SessionCard.d.ts +13 -10
  226. package/lib/sessions/components/display/SessionCard.js +53 -45
  227. package/lib/sessions/components/display/SessionCard.js.map +1 -1
  228. package/lib/sessions/components/display/SessionListCard.d.ts +14 -11
  229. package/lib/sessions/components/display/SessionListCard.js +24 -16
  230. package/lib/sessions/components/display/SessionListCard.js.map +1 -1
  231. package/lib/sessions/components/error/ErrorText.d.ts +5 -5
  232. package/lib/sessions/components/error/ErrorText.js +2 -4
  233. package/lib/sessions/components/error/ErrorText.js.map +1 -1
  234. package/lib/sessions/components/inputs/DefaultCheckbox.d.ts +1 -1
  235. package/lib/sessions/components/inputs/DefaultCheckbox.js +2 -10
  236. package/lib/sessions/components/inputs/DefaultCheckbox.js.map +1 -1
  237. package/lib/sessions/components/inputs/MfaCodeInput.d.ts +1 -1
  238. package/lib/sessions/components/inputs/MfaCodeInput.js +3 -14
  239. package/lib/sessions/components/inputs/MfaCodeInput.js.map +1 -1
  240. package/lib/sessions/components/inputs/PasswordInput.d.ts +9 -8
  241. package/lib/sessions/components/inputs/PasswordInput.js +7 -18
  242. package/lib/sessions/components/inputs/PasswordInput.js.map +1 -1
  243. package/lib/sessions/components/inputs/SessionInputs.d.ts +14 -13
  244. package/lib/sessions/components/inputs/SessionInputs.js +25 -48
  245. package/lib/sessions/components/inputs/SessionInputs.js.map +1 -1
  246. package/lib/sessions/components/inputs/SessionNameInput.d.ts +9 -8
  247. package/lib/sessions/components/inputs/SessionNameInput.js +6 -17
  248. package/lib/sessions/components/inputs/SessionNameInput.js.map +1 -1
  249. package/lib/sessions/components/inputs/UrlInput.d.ts +11 -10
  250. package/lib/sessions/components/inputs/UrlInput.js +8 -18
  251. package/lib/sessions/components/inputs/UrlInput.js.map +1 -1
  252. package/lib/sessions/components/inputs/UsernameInput.d.ts +11 -10
  253. package/lib/sessions/components/inputs/UsernameInput.js +7 -18
  254. package/lib/sessions/components/inputs/UsernameInput.js.map +1 -1
  255. package/lib/tools/ContactProvider.d.ts +1 -0
  256. package/lib/tools/ContactProvider.js +21 -22
  257. package/lib/tools/ContactProvider.js.map +1 -1
  258. package/lib/tools/LinkingProvider.d.ts +2 -2
  259. package/lib/tools/LinkingProvider.js +4 -0
  260. package/lib/tools/LinkingProvider.js.map +1 -1
  261. package/lib/utils/image.d.ts +2 -2
  262. package/lib/utils/image.js +1 -1
  263. package/lib/utils/image.js.map +1 -1
  264. package/lib/utils/index.d.ts +1 -0
  265. package/lib/utils/index.js +1 -0
  266. package/lib/utils/index.js.map +1 -1
  267. package/lib/utils/registry.helper.d.ts +9 -0
  268. package/lib/{components/molecules/FocusScreen/FocusScreen.js → utils/registry.helper.js} +18 -17
  269. package/lib/utils/registry.helper.js.map +1 -0
  270. package/package.json +42 -46
  271. package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.d.ts +0 -3
  272. package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.js +0 -60
  273. package/lib/auth/components/molecules/NavigationToolsButton/NavigationToolsButton.js.map +0 -1
  274. package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.d.ts +0 -3
  275. package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js +0 -61
  276. package/lib/auth/components/molecules/TranslationsButton/TranslationsButton.js.map +0 -1
  277. package/lib/components/external/PlanningView/AgendaItemDisplay.d.ts +0 -8
  278. package/lib/components/external/PlanningView/AgendaItemDisplay.js +0 -81
  279. package/lib/components/external/PlanningView/AgendaItemDisplay.js.map +0 -1
  280. package/lib/components/external/PlanningView/DayDisplay.d.ts +0 -5
  281. package/lib/components/external/PlanningView/DayDisplay.js +0 -59
  282. package/lib/components/external/PlanningView/DayDisplay.js.map +0 -1
  283. package/lib/components/external/PlanningView/MonthDisplay.d.ts +0 -6
  284. package/lib/components/external/PlanningView/MonthDisplay.js +0 -46
  285. package/lib/components/external/PlanningView/MonthDisplay.js.map +0 -1
  286. package/lib/components/external/PlanningView/NavigationButton.d.ts +0 -7
  287. package/lib/components/external/PlanningView/NavigationButton.js.map +0 -1
  288. package/lib/components/molecules/FocusScreen/FocusScreen.d.ts +0 -12
  289. package/lib/components/molecules/FocusScreen/FocusScreen.js.map +0 -1
  290. package/lib/navigator/components/menu/MenuTitle.d.ts +0 -8
  291. package/lib/navigator/components/menu/MenuTitle.js +0 -55
  292. package/lib/navigator/components/menu/MenuTitle.js.map +0 -1
@@ -17,7 +17,7 @@
17
17
  */
18
18
  import React, { useMemo } from 'react';
19
19
  import { StyleSheet, TouchableOpacity } from 'react-native';
20
- import { Badge, Icon, useThemeColor } from '@axelor/aos-mobile-ui';
20
+ import { Badge, Card, Icon, useThemeColor } from '@axelor/aos-mobile-ui';
21
21
  const BADGE_SIZE = 16;
22
22
  const HeaderOptionMenuItem = ({ icon, color, indicator = 0, hideIf = false, disableIf = false, onPress, customComponent, }) => {
23
23
  const Colors = useThemeColor();
@@ -30,16 +30,13 @@ const HeaderOptionMenuItem = ({ icon, color, indicator = 0, hideIf = false, disa
30
30
  }
31
31
  return Colors.secondaryColor_dark.background;
32
32
  }, [Colors, color, disableIf]);
33
- if (hideIf) {
33
+ if (hideIf)
34
34
  return null;
35
- }
36
- return (<TouchableOpacity style={styles.container} onPress={onPress} disabled={disableIf} activeOpacity={0.7}>
37
- {customComponent != null ? (React.cloneElement(customComponent)) : (<Icon name={icon} color={_color} size={22}/>)}
38
- {indicator > 0 && (<Badge style={styles.badge} txtStyle={styles.badgeText} color={{
39
- background_light: Colors.backgroundColor,
40
- foreground: Colors.text,
41
- background: Colors.primaryColor.background,
42
- }} title={indicator}/>)}
35
+ return (<TouchableOpacity onPress={onPress} disabled={disableIf} activeOpacity={0.9}>
36
+ <Card style={styles.container}>
37
+ {customComponent != null ? (React.cloneElement(customComponent)) : (<Icon name={icon} color={_color} size={18}/>)}
38
+ {indicator > 0 && (<Badge style={styles.badge} txtStyle={styles.badgeText} color={Colors.errorColor} title={indicator}/>)}
39
+ </Card>
43
40
  </TouchableOpacity>);
44
41
  };
45
42
  const styles = StyleSheet.create({
@@ -48,17 +45,23 @@ const styles = StyleSheet.create({
48
45
  height: BADGE_SIZE,
49
46
  borderRadius: Math.ceil(BADGE_SIZE / 2),
50
47
  position: 'absolute',
51
- top: -4,
52
- right: -8,
48
+ top: -6,
49
+ right: -6,
53
50
  zIndex: 10,
51
+ paddingVertical: 0,
52
+ paddingHorizontal: 0,
54
53
  },
55
54
  badgeText: {
56
- fontSize: Math.ceil(BADGE_SIZE / 2),
55
+ fontSize: Math.ceil(BADGE_SIZE / 1.8),
57
56
  },
58
57
  container: {
59
- marginRight: 5,
60
- marginLeft: 15,
58
+ marginLeft: 8,
59
+ padding: 10,
60
+ borderRadius: 10,
61
61
  flexDirection: 'row',
62
+ paddingHorizontal: 10,
63
+ paddingRight: 10,
64
+ paddingVertical: 10,
62
65
  },
63
66
  });
64
67
  export default HeaderOptionMenuItem;
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderOptionMenuItem.js","sourceRoot":"","sources":["../../../../src/navigator/components/header/HeaderOptionMenuItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAe,OAAO,EAAC,MAAM,OAAO,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAYjE,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,oBAAoB,GAAG,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,SAAS,GAAG,CAAC,EACb,MAAM,GAAG,KAAK,EACd,SAAS,GAAG,KAAK,EACjB,OAAO,EACP,eAAe,GACW,EAAE,EAAE;IAC9B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC;IAC/C,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/B,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CACL,CAAC,gBAAgB,CACf,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CACxB,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,SAAS,CAAC,CACpB,aAAa,CAAC,CAAC,GAAG,CAAC,CACnB;MAAA,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,CACzB,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CACpC,CAAC,CAAC,CAAC,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAG,CAC9C,CACD;MAAA,CAAC,SAAS,GAAG,CAAC,IAAI,CAChB,CAAC,KAAK,CACJ,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC3B,KAAK,CAAC,CAAC;gBACL,gBAAgB,EAAE,MAAM,CAAC,eAAe;gBACxC,UAAU,EAAE,MAAM,CAAC,IAAI;gBACvB,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU;aAC3C,CAAC,CACF,KAAK,CAAC,CAAC,SAAS,CAAC,EACjB,CACH,CACH;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE;QACL,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACvC,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC,CAAC;QACP,KAAK,EAAE,CAAC,CAAC;QACT,MAAM,EAAE,EAAE;KACX;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;KACpC;IACD,SAAS,EAAE;QACT,WAAW,EAAE,CAAC;QACd,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,KAAK;KACrB;CACF,CAAC,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"HeaderOptionMenuItem.js","sourceRoot":"","sources":["../../../../src/navigator/components/header/HeaderOptionMenuItem.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAe,OAAO,EAAC,MAAM,OAAO,CAAC;AACnD,OAAO,EAAC,UAAU,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAYvE,MAAM,UAAU,GAAG,EAAE,CAAC;AAEtB,MAAM,oBAAoB,GAAG,CAAC,EAC5B,IAAI,EACJ,KAAK,EACL,SAAS,GAAG,CAAC,EACb,MAAM,GAAG,KAAK,EACd,SAAS,GAAG,KAAK,EACjB,OAAO,EACP,eAAe,GACW,EAAE,EAAE;IAC9B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC;QAC1C,CAAC;QAED,OAAO,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC;IAC/C,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAE/B,IAAI,MAAM;QAAE,OAAO,IAAI,CAAC;IAExB,OAAO,CACL,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,QAAQ,CAAC,CAAC,SAAS,CAAC,CACpB,aAAa,CAAC,CAAC,GAAG,CAAC,CACnB;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;QAAA,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,CACzB,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CACpC,CAAC,CAAC,CAAC,CACF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAG,CAC9C,CACD;QAAA,CAAC,SAAS,GAAG,CAAC,IAAI,CAChB,CAAC,KAAK,CACJ,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,QAAQ,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC3B,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACzB,KAAK,CAAC,CAAC,SAAS,CAAC,EACjB,CACH,CACH;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE;QACL,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,UAAU;QAClB,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;QACvC,QAAQ,EAAE,UAAU;QACpB,GAAG,EAAE,CAAC,CAAC;QACP,KAAK,EAAE,CAAC,CAAC;QACT,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,CAAC;QAClB,iBAAiB,EAAE,CAAC;KACrB;IACD,SAAS,EAAE;QACT,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;KACtC;IACD,SAAS,EAAE;QACT,UAAU,EAAE,CAAC;QACb,OAAO,EAAE,EAAE;QACX,YAAY,EAAE,EAAE;QAChB,aAAa,EAAE,KAAK;QACpB,iBAAiB,EAAE,EAAE;QACrB,YAAY,EAAE,EAAE;QAChB,eAAe,EAAE,EAAE;KACpB;CACF,CAAC,CAAC;AAEH,eAAe,oBAAoB,CAAC"}
@@ -16,15 +16,21 @@
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
18
  import React from 'react';
19
+ import { StyleSheet } from 'react-native';
19
20
  import { authModule } from '../../../auth';
20
21
  import { useActiveModule } from '../../providers';
21
22
  import MenuIconButton from './MenuIconButton';
22
23
  const AuthMenu = ({ isVisible = true, onPress }) => {
23
24
  const { activeModule } = useActiveModule();
24
- if (!isVisible) {
25
+ if (!isVisible)
25
26
  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
+ return (<MenuIconButton style={styles.align} icon={authModule.icon} subtitle={authModule.subtitle} disabled={authModule.disabled} isActive={activeModule?.name === authModule.name} onPress={() => onPress(authModule)} rounded/>);
28
28
  };
29
+ const styles = StyleSheet.create({
30
+ align: {
31
+ marginVertical: 8,
32
+ alignSelf: 'flex-start',
33
+ },
34
+ });
29
35
  export default AuthMenu;
30
36
  //# sourceMappingURL=AuthMenu.js.map
@@ -1 +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,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;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"}
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,cAAc,CAAC;AACxC,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;QAAE,OAAO,IAAI,CAAC;IAE5B,OAAO,CACL,CAAC,cAAc,CACb,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACpB,IAAI,CAAC,CAAC,UAAU,CAAC,IAAK,CAAC,CACvB,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,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,KAAK,EAAE;QACL,cAAc,EAAE,CAAC;QACjB,SAAS,EAAE,YAAY;KACxB;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
@@ -17,10 +17,11 @@
17
17
  */
18
18
  import React, { useMemo } from 'react';
19
19
  import { View, StyleSheet, ScrollView } from 'react-native';
20
- import { Icon, Text, useThemeColor, WarningCard } from '@axelor/aos-mobile-ui';
20
+ import { HorizontalRule, Text, useThemeColor, WarningCard, } from '@axelor/aos-mobile-ui';
21
21
  import { useTranslator } from '../../../i18n';
22
22
  import { getCompatibilityError, getMenuTitle, isMenuIncompatible, } from '../../helpers';
23
23
  import MenuItemList from './MenuItemList';
24
+ import MenuIconTile from './MenuIconTile';
24
25
  const Menu = ({ state, navigation, authMenu, activeModule, onItemClick, compatibility, showClose = false, onClose, }) => {
25
26
  const I18n = useTranslator();
26
27
  const Colors = useThemeColor();
@@ -30,8 +31,9 @@ const Menu = ({ state, navigation, authMenu, activeModule, onItemClick, compatib
30
31
  <ScrollView contentContainerStyle={styles.moduleMenuContainer} showsVerticalScrollIndicator={false}>
31
32
  <View style={styles.menuTitleContainer}>
32
33
  <Text style={styles.menuTitle}>{title}</Text>
33
- {showClose && (<Icon name="x-lg" size={20} color={Colors.secondaryColor_dark.background} touchable onPress={onClose}/>)}
34
+ {showClose && (<MenuIconTile icon="x-lg" iconSize={18} size={36} variant="neutral" onPress={onClose}/>)}
34
35
  </View>
36
+ <HorizontalRule style={styles.titleSeparator} color={Colors.secondaryColor.background_light} width={0.5}/>
35
37
  {compatibilityError && (<WarningCard errorMessage={getCompatibilityError(compatibility, I18n)}/>)}
36
38
  <MenuItemList state={state} navigation={navigation} activeModule={activeModule} onItemClick={onItemClick} disabled={compatibilityError}/>
37
39
  </ScrollView>
@@ -53,13 +55,17 @@ const styles = StyleSheet.create({
53
55
  justifyContent: 'space-between',
54
56
  alignItems: 'center',
55
57
  paddingHorizontal: 16,
56
- marginBottom: 8,
58
+ marginBottom: 12,
57
59
  },
58
60
  menuTitle: {
59
61
  flexShrink: 1,
60
- fontSize: 21,
62
+ fontSize: 22,
61
63
  fontWeight: 'bold',
62
64
  },
65
+ titleSeparator: {
66
+ marginHorizontal: 16,
67
+ marginBottom: 8,
68
+ },
63
69
  authMenuIcon: {
64
70
  marginBottom: 12,
65
71
  marginLeft: 12,
@@ -1 +1 @@
1
- {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/Menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Menu.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/Menu.tsx"],"names":[],"mappings":"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"}
@@ -4,11 +4,13 @@ interface MenuIconButtonProps {
4
4
  style?: any;
5
5
  icon: string;
6
6
  onPress: () => void;
7
+ title?: string;
8
+ showTitle?: boolean;
7
9
  isActive?: boolean;
8
10
  subtitle?: string;
9
11
  rounded?: boolean;
10
12
  disabled?: boolean;
11
13
  compatibility?: Compatibility;
12
14
  }
13
- declare const MenuIconButton: ({ style, icon, onPress, isActive, subtitle, rounded, disabled, compatibility, }: MenuIconButtonProps) => React.JSX.Element;
15
+ declare const MenuIconButton: ({ style, icon, onPress, title, showTitle, isActive, subtitle, rounded, disabled, compatibility, }: MenuIconButtonProps) => React.JSX.Element;
14
16
  export default MenuIconButton;
@@ -16,65 +16,84 @@
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 { Dimensions, StyleSheet, TouchableOpacity, View } from 'react-native';
20
- import { Icon, InfoBubble, Text, useConfig, useThemeColor, } from '@axelor/aos-mobile-ui';
19
+ import { StyleSheet, TouchableOpacity, useWindowDimensions, View, } from 'react-native';
20
+ import { Card, IconTile, InfoBubble, Text, useConfig, useThemeColor, } from '@axelor/aos-mobile-ui';
21
21
  import { useTranslator } from '../../../i18n';
22
22
  import { getCompatibilityError, isMenuIncompatible } from '../../helpers';
23
- const WIDTH = 54;
24
- const HEIGHT = 54;
25
- const DEFAULT_RADIUS = 8;
26
- const ROUNDED_RADIUS = WIDTH / 2;
27
- const MenuIconButton = ({ style, icon, onPress, isActive = false, subtitle, rounded = false, disabled = false, compatibility, }) => {
23
+ const TILE_SIZE = 20;
24
+ const LARGE_SCREEN_WIDTH = 768;
25
+ const DRAWER_HORIZONTAL_SPACING = 32;
26
+ const MenuIconButton = ({ style, icon, onPress, title, showTitle = false, isActive = false, subtitle, rounded = false, disabled = false, compatibility, }) => {
28
27
  const Colors = useThemeColor();
29
28
  const I18n = useTranslator();
30
29
  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]);
30
+ const { width } = useWindowDimensions();
31
+ const expandedWidth = useMemo(() => width * (width >= LARGE_SCREEN_WIDTH ? 0.5 : 0.85) -
32
+ DRAWER_HORIZONTAL_SPACING, [width]);
33
+ const styles = useMemo(() => getStyles(width), [width]);
37
34
  const compatibilityError = useMemo(() => isMenuIncompatible(compatibility), [compatibility]);
38
- return (<TouchableOpacity onPress={onPress} disabled={disabled || compatibilityError} activeOpacity={0.95}>
39
- <View style={[styles.container, style]}>
40
- <Icon size={32} name={icon} color={disabled
41
- ? Colors.secondaryColor.background
42
- : Colors.secondaryColor_dark.background}/>
43
- {compatibilityError && (<InfoBubble style={styles.infoBubble} usePopup={true} iconName="exclamation-triangle-fill" badgeColor={Colors.errorColor} textIndicationStyle={styles.textIndicationStyle} indication={getCompatibilityError(compatibility, I18n)}/>)}
44
- </View>
45
- {showSubtitles && (<Text style={styles.moduleSubtitle} numberOfLines={1}>
46
- {I18n.t(subtitle)}
35
+ const isExpanded = useMemo(() => showTitle && title != null, [showTitle, title]);
36
+ const isPrimary = useMemo(() => isExpanded || isActive, [isActive, isExpanded]);
37
+ return (<TouchableOpacity onPress={onPress} disabled={disabled || compatibilityError} activeOpacity={0.9}>
38
+ <Card style={[
39
+ styles.card,
40
+ rounded && styles.roundedTile,
41
+ isExpanded && { width: expandedWidth },
42
+ style,
43
+ ]}>
44
+ <View style={styles.tileContainer}>
45
+ <IconTile style={rounded && styles.roundedTile} icon={icon} iconSize={TILE_SIZE} color={isPrimary ? Colors.primaryColor : undefined} backgroundColor={isPrimary ? undefined : Colors.backgroundColor} iconColor={isPrimary ? undefined : Colors.secondaryColor_dark.background} disabled={disabled} onPress={onPress}/>
46
+ {compatibilityError && !isExpanded && (<InfoBubble style={styles.infoBubble} usePopup={true} iconName="exclamation-triangle-fill" badgeColor={Colors.errorColor} textIndicationStyle={styles.textIndicationStyle} indication={getCompatibilityError(compatibility, I18n)}/>)}
47
+ </View>
48
+ {isExpanded && (<View style={styles.titleContainer}>
49
+ <Text writingType="title" textColor={disabled ? Colors.secondaryColor.background : undefined} numberOfLines={2}>
50
+ {title}
51
+ </Text>
52
+ {compatibilityError && (<Text fontSize={10} textColor={Colors.errorColor.background}>
53
+ {getCompatibilityError(compatibility, I18n, false)}
54
+ </Text>)}
55
+ </View>)}
56
+ </Card>
57
+ {!isExpanded && showSubtitles && (<Text style={styles.subtitle} fontSize={10} writingType={isActive ? 'important' : undefined} textColor={isActive ? Colors.primaryColor.background : undefined} numberOfLines={1}>
58
+ {I18n.t(subtitle ?? '')}
47
59
  </Text>)}
48
60
  </TouchableOpacity>);
49
61
  };
50
- const getStyles = (Colors, rounded, _color) => StyleSheet.create({
51
- container: {
52
- width: WIDTH,
53
- height: HEIGHT,
54
- borderRadius: rounded ? ROUNDED_RADIUS : DEFAULT_RADIUS,
62
+ const getStyles = (windowWidth) => StyleSheet.create({
63
+ card: {
64
+ paddingVertical: 8,
65
+ paddingHorizontal: 8,
66
+ paddingRight: 8,
67
+ marginVertical: 4,
55
68
  flexDirection: 'row',
56
- justifyContent: 'center',
57
- elevation: 2,
58
- shadowOpacity: 0.5,
59
- shadowColor: Colors.secondaryColor.background,
60
- backgroundColor: _color,
61
- shadowOffset: { width: 0, height: 0 },
62
- zIndex: 10,
69
+ alignItems: 'center',
63
70
  },
64
- moduleSubtitle: {
65
- fontSize: 10,
66
- maxWidth: 54,
67
- alignSelf: 'center',
71
+ roundedTile: {
72
+ borderRadius: TILE_SIZE,
73
+ },
74
+ tileContainer: {
75
+ justifyContent: 'center',
76
+ alignItems: 'center',
68
77
  },
69
78
  infoBubble: {
70
79
  position: 'absolute',
71
- bottom: -10,
72
- right: -10,
80
+ bottom: -8,
81
+ right: -8,
73
82
  },
74
83
  textIndicationStyle: {
75
- width: Dimensions.get('window').width * 0.6,
84
+ width: windowWidth * 0.6,
76
85
  top: 0,
77
86
  },
87
+ titleContainer: {
88
+ flex: 1,
89
+ marginLeft: 12,
90
+ justifyContent: 'center',
91
+ },
92
+ subtitle: {
93
+ width: TILE_SIZE * 2,
94
+ alignSelf: 'center',
95
+ textAlign: 'center',
96
+ },
78
97
  });
79
98
  export default MenuIconButton;
80
99
  //# sourceMappingURL=MenuIconButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MenuIconButton.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuIconButton.tsx"],"names":[],"mappings":"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"}
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
+ type MenuIconTileVariant = 'primary' | 'neutral';
3
+ interface MenuIconTileProps {
4
+ style?: any;
5
+ icon: string;
6
+ iconSize?: number;
7
+ size?: number;
8
+ variant?: MenuIconTileVariant;
9
+ highlighted?: boolean;
10
+ disabled?: boolean;
11
+ onPress?: () => void;
12
+ }
13
+ declare const MenuIconTile: ({ style, icon, iconSize, size, variant, highlighted, disabled, onPress, }: MenuIconTileProps) => React.JSX.Element;
14
+ export default MenuIconTile;
@@ -0,0 +1,45 @@
1
+ /*
2
+ * Axelor Business Solutions
3
+ *
4
+ * Copyright (C) 2026 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 { IconTile, useThemeColor } from '@axelor/aos-mobile-ui';
20
+ const TILE_SIZE = 40;
21
+ const MenuIconTile = ({ style, icon, iconSize = 20, size = TILE_SIZE, variant = 'primary', highlighted = false, disabled = false, onPress, }) => {
22
+ const Colors = useThemeColor();
23
+ const backgroundColor = useMemo(() => {
24
+ if (variant === 'neutral') {
25
+ return Colors.secondaryColor.background_light;
26
+ }
27
+ return highlighted
28
+ ? Colors.backgroundColor
29
+ : Colors.primaryColor.background_light;
30
+ }, [Colors, variant, highlighted]);
31
+ const iconColor = useMemo(() => {
32
+ if (disabled) {
33
+ return Colors.secondaryColor.background_light;
34
+ }
35
+ return variant === 'primary'
36
+ ? Colors.primaryColor.background
37
+ : Colors.secondaryColor_dark.background;
38
+ }, [Colors, disabled, variant]);
39
+ const borderStyle = useMemo(() => variant === 'primary' && highlighted
40
+ ? { borderWidth: 1, borderColor: Colors.primaryColor.background }
41
+ : null, [Colors, variant, highlighted]);
42
+ return (<IconTile style={[borderStyle, style]} icon={icon} iconSize={iconSize} size={size} backgroundColor={backgroundColor} iconColor={iconColor} disabled={disabled} onPress={onPress}/>);
43
+ };
44
+ export default MenuIconTile;
45
+ //# sourceMappingURL=MenuIconTile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuIconTile.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuIconTile.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,QAAQ,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAI9D,MAAM,SAAS,GAAG,EAAE,CAAC;AAarB,MAAM,YAAY,GAAG,CAAC,EACpB,KAAK,EACL,IAAI,EACJ,QAAQ,GAAG,EAAE,EACb,IAAI,GAAG,SAAS,EAChB,OAAO,GAAG,SAAS,EACnB,WAAW,GAAG,KAAK,EACnB,QAAQ,GAAG,KAAK,EAChB,OAAO,GACW,EAAE,EAAE;IACtB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,EAAE;QACnC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAChD,CAAC;QAED,OAAO,WAAW;YAChB,CAAC,CAAC,MAAM,CAAC,eAAe;YACxB,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,gBAAgB,CAAC;IAC3C,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,MAAM,CAAC,cAAc,CAAC,gBAAgB,CAAC;QAChD,CAAC;QAED,OAAO,OAAO,KAAK,SAAS;YAC1B,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU;YAChC,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC,UAAU,CAAC;IAC5C,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAEhC,MAAM,WAAW,GAAG,OAAO,CACzB,GAAG,EAAE,CACH,OAAO,KAAK,SAAS,IAAI,WAAW;QAClC,CAAC,CAAC,EAAC,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU,EAAC;QAC/D,CAAC,CAAC,IAAI,EACV,CAAC,MAAM,EAAE,OAAO,EAAE,WAAW,CAAC,CAC/B,CAAC;IAEF,OAAO,CACL,CAAC,QAAQ,CACP,KAAK,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAC5B,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,eAAe,CAAC,CAAC,eAAe,CAAC,CACjC,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,OAAO,CAAC,EACjB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -4,7 +4,7 @@ interface MenuItemEntryProps {
4
4
  style?: any;
5
5
  icon: string;
6
6
  title: string;
7
- compatibility: Compatibility;
7
+ compatibility?: Compatibility;
8
8
  onPress: () => void;
9
9
  isActive?: boolean;
10
10
  disabled?: boolean;
@@ -20,70 +20,54 @@ import { View, StyleSheet, TouchableOpacity } from 'react-native';
20
20
  import { Icon, Text, WarningCard, useThemeColor } from '@axelor/aos-mobile-ui';
21
21
  import { useTranslator } from '../../../i18n';
22
22
  import { getCompatibilityError, isMenuIncompatible } from '../../helpers';
23
- const MenuItemEntry = ({ style, icon, title, compatibility, onPress, isActive = false, disabled = false, isDropdown = false, dropdown = false, iconSize = 24, }) => {
23
+ import MenuIconTile from './MenuIconTile';
24
+ const MenuItemEntry = ({ style, icon, title, compatibility, onPress, isActive = false, disabled = false, isDropdown = false, dropdown = false, iconSize = 20, }) => {
24
25
  const Colors = useThemeColor();
25
26
  const I18n = useTranslator();
26
27
  const compatibilityError = useMemo(() => isMenuIncompatible(compatibility), [compatibility]);
27
28
  const menuDisabled = useMemo(() => disabled || compatibilityError, [compatibilityError, disabled]);
28
- return (<TouchableOpacity onPress={onPress} disabled={menuDisabled}>
29
- <View style={styles.container}>
30
- <View style={[
31
- styles.menuItemActive,
32
- {
33
- backgroundColor: !dropdown && isActive
34
- ? Colors.primaryColor.background
35
- : Colors.backgroundColor,
36
- },
37
- ]}/>
38
- <View style={[styles.menuItemContainer, style]}>
39
- <Icon style={styles.menuItemIcon} name={icon} size={iconSize} color={menuDisabled
40
- ? Colors.secondaryColor.background_light
41
- : Colors.secondaryColor_dark.background} visible={icon != null}/>
42
- <View style={styles.menuItemTextContainer}>
43
- <Text style={styles.menuItemTitle} textColor={menuDisabled
44
- ? Colors.secondaryColor.background_light
45
- : Colors.text}>
46
- {title}
47
- </Text>
48
- </View>
49
- <Icon name={dropdown ? 'chevron-up' : 'chevron-down'} color={Colors.secondaryColor_dark.background} style={styles.dropdownIcon} visible={isDropdown && !compatibilityError}/>
50
- <Icon name="exclamation-triangle-fill" color={Colors.errorColor.background} style={styles.dropdownIcon} visible={compatibilityError}/>
51
- </View>
29
+ const highlighted = useMemo(() => isActive || dropdown, [dropdown, isActive]);
30
+ return (<TouchableOpacity onPress={onPress} disabled={menuDisabled} activeOpacity={0.9}>
31
+ <View style={[
32
+ styles.row,
33
+ highlighted
34
+ ? { backgroundColor: Colors.primaryColor.background_light }
35
+ : null,
36
+ style,
37
+ ]}>
38
+ <MenuIconTile style={styles.iconTile} icon={icon} iconSize={iconSize} highlighted={highlighted} disabled={menuDisabled}/>
39
+ <Text style={styles.menuItemTitle} fontSize={14} textColor={menuDisabled ? Colors.secondaryColor.background_light : Colors.text}>
40
+ {title}
41
+ </Text>
42
+ <Icon name={dropdown ? 'chevron-up' : 'chevron-down'} color={Colors.primaryColor.background} style={styles.dropdownIcon} visible={isDropdown && !compatibilityError}/>
43
+ <Icon name="exclamation-triangle-fill" color={Colors.errorColor.background} style={styles.dropdownIcon} visible={compatibilityError}/>
52
44
  </View>
53
45
  {compatibilityError && (<WarningCard style={styles.compatibilityError} errorMessage={getCompatibilityError(compatibility, I18n, false)}/>)}
54
46
  </TouchableOpacity>);
55
47
  };
48
+ const TILE_RADIUS = 12;
56
49
  const styles = StyleSheet.create({
57
- container: {
50
+ row: {
58
51
  flexDirection: 'row',
59
- paddingVertical: 8,
52
+ alignItems: 'center',
53
+ marginHorizontal: 8,
54
+ paddingVertical: 5,
55
+ paddingHorizontal: 5,
56
+ borderRadius: TILE_RADIUS,
57
+ overflow: 'hidden',
60
58
  },
61
- menuItemContainer: {
62
- flexDirection: 'row',
63
- width: '100%',
64
- },
65
- menuItemActive: {
66
- width: 7,
67
- height: 32,
68
- borderTopRightRadius: 8,
69
- borderBottomRightRadius: 8,
70
- },
71
- menuItemIcon: {
72
- marginLeft: 12,
73
- marginRight: 18,
59
+ iconTile: {
60
+ marginRight: 8,
74
61
  },
75
- menuItemTextContainer: {
62
+ menuItemTitle: {
76
63
  flex: 1,
77
64
  alignSelf: 'center',
78
- paddingRight: 16,
79
- },
80
- menuItemTitle: {
81
- fontSize: 16,
65
+ paddingRight: 8,
82
66
  fontWeight: 'bold',
83
67
  },
84
68
  dropdownIcon: {
85
69
  marginHorizontal: 5,
86
- marginRight: 20,
70
+ marginRight: 5,
87
71
  },
88
72
  compatibilityError: {
89
73
  marginVertical: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemEntry.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuItemEntry.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MenuItemEntry.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuItemEntry.tsx"],"names":[],"mappings":"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"}
@@ -20,7 +20,7 @@ import { CommonActions, DrawerActions } from '@react-navigation/native';
20
20
  import { findIndexAndRouteOfMenu, hasSubMenus, } from '../../helpers';
21
21
  import MenuItem from './MenuItem';
22
22
  const MenuItemList = ({ state, navigation, activeModule, onItemClick, disabled, }) => {
23
- const generateSubRoutes = menuItem => {
23
+ const generateSubRoutes = (menuItem) => {
24
24
  if (hasSubMenus(menuItem)) {
25
25
  const { subMenus } = menuItem;
26
26
  return state.routes.filter(subRoute => subRoute.name in subMenus);
@@ -29,23 +29,22 @@ const MenuItemList = ({ state, navigation, activeModule, onItemClick, disabled,
29
29
  };
30
30
  const moduleEntries = useMemo(() => {
31
31
  return state.routes
32
- .filter(_route => activeModule.menus[_route.name] != null)
32
+ .filter(_route => activeModule.menus?.[_route.name] != null)
33
33
  .map(route => ({ ...activeModule.menus[route.name], key: route.name }))
34
34
  .map((item, index) => {
35
- if (item.order != null) {
35
+ if (item.order != null)
36
36
  return item;
37
- }
38
37
  return { ...item, order: index * 10 };
39
38
  })
40
39
  .sort((a, b) => a.order - b.order);
41
40
  }, [activeModule, state.routes]);
42
41
  return moduleEntries.map(menuItem => {
43
42
  const { route, index: i } = findIndexAndRouteOfMenu(state.routes, menuItem.key);
44
- const focused = i === state.index && Object.keys(activeModule.menus).includes(route.name);
43
+ const focused = i === state.index &&
44
+ Object.keys(activeModule?.menus ?? {}).includes(route.name);
45
45
  const onPress = (_route) => {
46
- if (_route == null) {
46
+ if (_route == null)
47
47
  return null;
48
- }
49
48
  onItemClick();
50
49
  const event = navigation.emit({
51
50
  type: 'drawerItemPress',
@@ -53,10 +52,14 @@ const MenuItemList = ({ state, navigation, activeModule, onItemClick, disabled,
53
52
  canPreventDefault: true,
54
53
  });
55
54
  if (!event.defaultPrevented) {
55
+ if (!focused) {
56
+ navigation.dispatch({
57
+ ...CommonActions.navigate(_route.name, undefined, { merge: true }),
58
+ target: state.key,
59
+ });
60
+ }
56
61
  navigation.dispatch({
57
- ...(focused
58
- ? DrawerActions.closeDrawer()
59
- : CommonActions.navigate({ name: _route.name, merge: true })),
62
+ ...DrawerActions.closeDrawer(),
60
63
  target: state.key,
61
64
  });
62
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MenuItemList.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuItemList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MenuItemList.js","sourceRoot":"","sources":["../../../../src/navigator/components/menu/MenuItemList.tsx"],"names":[],"mappings":"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"}