@momo-kits/native-kits 0.157.1-com.1-debug → 0.157.1-com.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 (469) hide show
  1. package/package.json +1 -1
  2. package/build.gradle.kts +0 -11
  3. package/compose/build.gradle.kts +0 -180
  4. package/compose/build.gradle.kts.backup +0 -180
  5. package/compose/compose.podspec +0 -54
  6. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +0 -110
  7. package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
  8. package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
  9. package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
  10. package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
  11. package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
  12. package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
  13. package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
  14. package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
  15. package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
  16. package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
  17. package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
  18. package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
  19. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
  20. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
  21. package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +0 -57
  22. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +0 -107
  23. package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +0 -201
  24. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +0 -222
  25. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +0 -48
  26. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +0 -86
  27. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +0 -76
  28. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +0 -76
  29. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +0 -305
  30. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +0 -33
  31. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +0 -720
  32. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +0 -121
  33. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +0 -405
  34. package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +0 -69
  35. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +0 -157
  36. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +0 -85
  37. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +0 -32
  38. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +0 -340
  39. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BaselineView.kt +0 -198
  40. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +0 -357
  41. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +0 -123
  42. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +0 -94
  43. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +0 -136
  44. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +0 -224
  45. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +0 -543
  46. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +0 -23
  47. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +0 -76
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +0 -148
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +0 -188
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +0 -116
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +0 -448
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +0 -172
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +0 -255
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +0 -231
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +0 -233
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +0 -254
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +0 -241
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +0 -364
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +0 -108
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +0 -56
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +0 -41
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +0 -92
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +0 -40
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +0 -352
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +0 -103
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +0 -350
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +0 -70
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +0 -87
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +0 -17
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +0 -96
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +0 -360
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +0 -256
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +0 -494
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +0 -131
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +0 -215
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +0 -96
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +0 -449
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +0 -92
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +0 -130
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +0 -214
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +0 -590
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +0 -177
  83. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +0 -192
  84. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +0 -205
  85. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +0 -29
  86. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +0 -239
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +0 -191
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +0 -306
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +0 -12
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +0 -13
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +0 -185
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +0 -285
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +0 -2
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +0 -35
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +0 -2
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +0 -59
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +0 -68
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +0 -11
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +0 -14
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +0 -50
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +0 -51
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +0 -239
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +0 -119
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +0 -98
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +0 -161
  106. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +0 -331
  107. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +0 -497
  108. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +0 -162
  109. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +0 -243
  110. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +0 -86
  111. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +0 -187
  112. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +0 -279
  113. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +0 -80
  114. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +0 -306
  115. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +0 -32
  116. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +0 -370
  117. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +0 -132
  118. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +0 -42
  119. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +0 -1329
  120. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +0 -62
  121. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Tracking.kt +0 -15
  122. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +0 -88
  123. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +0 -149
  124. package/gradle/libs.versions.toml +0 -57
  125. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  126. package/gradle/wrapper/gradle-wrapper.properties +0 -8
  127. package/gradle.properties +0 -26
  128. package/gradlew +0 -252
  129. package/gradlew.bat +0 -94
  130. package/local.properties +0 -8
  131. package/settings.gradle.kts +0 -52
  132. package/src/doctor/README.md +0 -73
  133. package/src/doctor/package-lock.json +0 -885
  134. package/src/doctor/package.json +0 -44
  135. package/src/doctor/publish.sh +0 -27
  136. package/src/doctor/src/Users.json +0 -112
  137. package/src/doctor/src/Whitelist.json +0 -6
  138. package/src/doctor/src/commands/check.ts +0 -81
  139. package/src/doctor/src/commands/doctor.ts +0 -193
  140. package/src/doctor/src/index.ts +0 -35
  141. package/src/doctor/src/logger.ts +0 -84
  142. package/src/doctor/src/task/native.ts +0 -21
  143. package/src/doctor/src/task/utils.ts +0 -20
  144. package/src/doctor/src/utils/checkCoreDependencies.ts +0 -138
  145. package/src/doctor/src/utils/checkDeletedPackage.ts +0 -53
  146. package/src/doctor/src/utils/checkDeprecatedPackages.ts +0 -168
  147. package/src/doctor/src/utils/checkDeprecatedVersion.ts +0 -60
  148. package/src/doctor/src/utils/checkShareDependencies.ts +0 -251
  149. package/src/doctor/src/utils/checkWrongVersionCommunityPackage.ts +0 -64
  150. package/src/doctor/src/utils/getErrorMessage.ts +0 -84
  151. package/src/doctor/src/utils/scanComponentUsage.ts +0 -206
  152. package/src/doctor/src/utils/scanFoundationImports.ts +0 -169
  153. package/src/doctor/src/utils/scanMaxApiUsage.ts +0 -86
  154. package/src/doctor/src/utils/scanNativeModulesUsage.ts +0 -78
  155. package/src/doctor/src/utils/sendMessage.ts +0 -28
  156. package/src/doctor/tsconfig.json +0 -14
  157. package/src/doctor/yarn.lock +0 -492
  158. package/src/foundations/Application/BottomSheet.tsx +0 -358
  159. package/src/foundations/Application/BottomTab/BottomTabBar.tsx +0 -320
  160. package/src/foundations/Application/BottomTab/CustomBottomTabItem.tsx +0 -155
  161. package/src/foundations/Application/BottomTab/TabBarIcon.tsx +0 -113
  162. package/src/foundations/Application/BottomTab/index.tsx +0 -449
  163. package/src/foundations/Application/Components/BackgroundImageView.tsx +0 -126
  164. package/src/foundations/Application/Components/HeaderAnimated.tsx +0 -69
  165. package/src/foundations/Application/Components/HeaderBackground.tsx +0 -83
  166. package/src/foundations/Application/Components/HeaderExtendHeader.tsx +0 -225
  167. package/src/foundations/Application/Components/HeaderLeft.tsx +0 -93
  168. package/src/foundations/Application/Components/HeaderRight.tsx +0 -444
  169. package/src/foundations/Application/Components/HeaderTitle.tsx +0 -596
  170. package/src/foundations/Application/Components/NavigationButton.tsx +0 -76
  171. package/src/foundations/Application/Components/SearchHeader.tsx +0 -127
  172. package/src/foundations/Application/Localize.ts +0 -44
  173. package/src/foundations/Application/ModalScreen.tsx +0 -148
  174. package/src/foundations/Application/Navigation.ts +0 -63
  175. package/src/foundations/Application/NavigationContainer.tsx +0 -245
  176. package/src/foundations/Application/Navigator.ts +0 -171
  177. package/src/foundations/Application/ScaleSizeProvider.tsx +0 -16
  178. package/src/foundations/Application/StackScreen.tsx +0 -420
  179. package/src/foundations/Application/TooltipPortal.tsx +0 -127
  180. package/src/foundations/Application/WidgetContainer.tsx +0 -162
  181. package/src/foundations/Application/index.ts +0 -34
  182. package/src/foundations/Application/types.ts +0 -350
  183. package/src/foundations/Application/utils.tsx +0 -239
  184. package/src/foundations/Assets/DotAnimation.json +0 -256
  185. package/src/foundations/Assets/SpinnerAnimation.json +0 -1027
  186. package/src/foundations/Assets/icon.json +0 -4052
  187. package/src/foundations/Assets/icon_bank.json +0 -506
  188. package/src/foundations/Assets/language.json +0 -208
  189. package/src/foundations/Assets/lottie_circle_loader.json +0 -1
  190. package/src/foundations/Assets/pinAnimation.json +0 -1
  191. package/src/foundations/Assets/unpinAnimation.json +0 -1
  192. package/src/foundations/Badge/Badge.tsx +0 -104
  193. package/src/foundations/Badge/BadgeDot.tsx +0 -35
  194. package/src/foundations/Badge/BadgeDotAnimation.tsx +0 -95
  195. package/src/foundations/Badge/BadgeRibbon.tsx +0 -112
  196. package/src/foundations/Badge/Shape.tsx +0 -29
  197. package/src/foundations/Badge/index.tsx +0 -8
  198. package/src/foundations/Badge/styles.ts +0 -125
  199. package/src/foundations/Badge/types.ts +0 -68
  200. package/src/foundations/Button/index.tsx +0 -371
  201. package/src/foundations/Button/styles.ts +0 -65
  202. package/src/foundations/CheckBox/index.tsx +0 -104
  203. package/src/foundations/CheckBox/styles.ts +0 -17
  204. package/src/foundations/CheckBox/types.ts +0 -37
  205. package/src/foundations/Consts/colors+spacing+radius.ts +0 -232
  206. package/src/foundations/Consts/index.ts +0 -4
  207. package/src/foundations/Consts/styles.ts +0 -52
  208. package/src/foundations/Consts/theme.ts +0 -121
  209. package/src/foundations/Context/index.ts +0 -27
  210. package/src/foundations/Divider/DashDivider.tsx +0 -46
  211. package/src/foundations/Divider/index.tsx +0 -45
  212. package/src/foundations/FoundationList/index.tsx +0 -12
  213. package/src/foundations/FoundationList/types.ts +0 -7
  214. package/src/foundations/Icon/index.tsx +0 -57
  215. package/src/foundations/Icon/types.ts +0 -32
  216. package/src/foundations/IconButton/index.tsx +0 -144
  217. package/src/foundations/IconButton/styles.ts +0 -20
  218. package/src/foundations/Image/index.tsx +0 -115
  219. package/src/foundations/Image/styles.ts +0 -7
  220. package/src/foundations/Image/types.ts +0 -7
  221. package/src/foundations/Input/Input.tsx +0 -280
  222. package/src/foundations/Input/InputDropDown.tsx +0 -161
  223. package/src/foundations/Input/InputMoney.tsx +0 -325
  224. package/src/foundations/Input/InputOTP.tsx +0 -299
  225. package/src/foundations/Input/InputPhoneNumber.tsx +0 -287
  226. package/src/foundations/Input/InputSearch.tsx +0 -351
  227. package/src/foundations/Input/InputTextArea.tsx +0 -218
  228. package/src/foundations/Input/SystemTextInput.tsx +0 -44
  229. package/src/foundations/Input/TextTyping.tsx +0 -115
  230. package/src/foundations/Input/common.tsx +0 -243
  231. package/src/foundations/Input/index.tsx +0 -373
  232. package/src/foundations/Input/styles.ts +0 -226
  233. package/src/foundations/Input/utils.ts +0 -97
  234. package/src/foundations/Layout/Card.tsx +0 -108
  235. package/src/foundations/Layout/FloatingButton.tsx +0 -179
  236. package/src/foundations/Layout/GridSystem.tsx +0 -137
  237. package/src/foundations/Layout/Item.tsx +0 -59
  238. package/src/foundations/Layout/ItemList.tsx +0 -66
  239. package/src/foundations/Layout/ItemSectionList.tsx +0 -40
  240. package/src/foundations/Layout/Screen.tsx +0 -644
  241. package/src/foundations/Layout/Section.tsx +0 -103
  242. package/src/foundations/Layout/TrackingScope.tsx +0 -18
  243. package/src/foundations/Layout/index.ts +0 -34
  244. package/src/foundations/Layout/styles.ts +0 -95
  245. package/src/foundations/Layout/types.ts +0 -40
  246. package/src/foundations/Layout/utils.ts +0 -47
  247. package/src/foundations/Loader/DotLoader.tsx +0 -37
  248. package/src/foundations/Loader/Loader.tsx +0 -13
  249. package/src/foundations/Loader/ProgressBar.tsx +0 -45
  250. package/src/foundations/Loader/Spinner.tsx +0 -29
  251. package/src/foundations/Loader/index.tsx +0 -6
  252. package/src/foundations/Loader/styles.ts +0 -10
  253. package/src/foundations/Loader/types.ts +0 -35
  254. package/src/foundations/Loader/utils.ts +0 -25
  255. package/src/foundations/Pagination/Dot.tsx +0 -19
  256. package/src/foundations/Pagination/PaginationDot.tsx +0 -44
  257. package/src/foundations/Pagination/PaginationNumber.tsx +0 -31
  258. package/src/foundations/Pagination/PaginationScroll.tsx +0 -99
  259. package/src/foundations/Pagination/PaginationWhiteDot.tsx +0 -43
  260. package/src/foundations/Pagination/index.tsx +0 -25
  261. package/src/foundations/Pagination/styles.ts +0 -51
  262. package/src/foundations/Pagination/types.ts +0 -40
  263. package/src/foundations/Popup/PopupNotify.tsx +0 -276
  264. package/src/foundations/Popup/PopupPromotion.tsx +0 -118
  265. package/src/foundations/Popup/index.tsx +0 -4
  266. package/src/foundations/Popup/types.ts +0 -96
  267. package/src/foundations/Radio/index.tsx +0 -108
  268. package/src/foundations/Radio/styles.ts +0 -15
  269. package/src/foundations/Radio/types.ts +0 -31
  270. package/src/foundations/Skeleton/index.tsx +0 -118
  271. package/src/foundations/Skeleton/styles.ts +0 -5
  272. package/src/foundations/Skeleton/types.ts +0 -6
  273. package/src/foundations/Switch/index.tsx +0 -68
  274. package/src/foundations/Switch/styles.ts +0 -25
  275. package/src/foundations/Switch/types.ts +0 -19
  276. package/src/foundations/Tag/index.tsx +0 -128
  277. package/src/foundations/Tag/types.ts +0 -41
  278. package/src/foundations/Text/index.tsx +0 -241
  279. package/src/foundations/Text/styles.ts +0 -78
  280. package/src/foundations/Text/types.ts +0 -53
  281. package/src/foundations/Text/utils.ts +0 -63
  282. package/src/foundations/Title/index.tsx +0 -285
  283. package/src/foundations/Title/styles.ts +0 -55
  284. package/src/foundations/Title/types.ts +0 -21
  285. package/src/foundations/index.ts +0 -50
  286. package/src/foundations/package.json +0 -35
  287. package/src/foundations/publish.sh +0 -17
  288. package/src/libs/AutoComplete/index.tsx +0 -88
  289. package/src/libs/AutoComplete/package.json +0 -16
  290. package/src/libs/AutoComplete/publish.sh +0 -16
  291. package/src/libs/AutoComplete/styles.ts +0 -15
  292. package/src/libs/AutoComplete/types.ts +0 -60
  293. package/src/libs/Avatar/index.tsx +0 -146
  294. package/src/libs/Avatar/package.json +0 -16
  295. package/src/libs/Avatar/publish.sh +0 -20
  296. package/src/libs/Avatar/styles.ts +0 -18
  297. package/src/libs/Avatar/types.ts +0 -57
  298. package/src/libs/Badge/Badge.tsx +0 -70
  299. package/src/libs/Badge/BadgeDot.tsx +0 -11
  300. package/src/libs/Badge/BadgeRibbon.tsx +0 -122
  301. package/src/libs/Badge/Shape.tsx +0 -29
  302. package/src/libs/Badge/index.tsx +0 -7
  303. package/src/libs/Badge/package.json +0 -16
  304. package/src/libs/Badge/publish.sh +0 -18
  305. package/src/libs/Badge/styles.ts +0 -55
  306. package/src/libs/Badge/types.ts +0 -63
  307. package/src/libs/Calendar/CalendarPro.tsx +0 -307
  308. package/src/libs/Calendar/Day.tsx +0 -150
  309. package/src/libs/Calendar/HeaderControl.tsx +0 -55
  310. package/src/libs/Calendar/LunarDateConverter.ts +0 -228
  311. package/src/libs/Calendar/LunarService.ts +0 -206
  312. package/src/libs/Calendar/Month.tsx +0 -118
  313. package/src/libs/Calendar/MonthList.tsx +0 -226
  314. package/src/libs/Calendar/TabHeader.tsx +0 -91
  315. package/src/libs/Calendar/Util.ts +0 -288
  316. package/src/libs/Calendar/holidayData.ts +0 -118
  317. package/src/libs/Calendar/index.tsx +0 -383
  318. package/src/libs/Calendar/package.json +0 -18
  319. package/src/libs/Calendar/publish.sh +0 -18
  320. package/src/libs/Calendar/styles.ts +0 -122
  321. package/src/libs/Calendar/types.ts +0 -212
  322. package/src/libs/Carousel/animation.ts +0 -62
  323. package/src/libs/Carousel/index.tsx +0 -517
  324. package/src/libs/Carousel/package.json +0 -18
  325. package/src/libs/Carousel/publish.sh +0 -16
  326. package/src/libs/Carousel/types.ts +0 -71
  327. package/src/libs/Chip/index.tsx +0 -164
  328. package/src/libs/Chip/package.json +0 -16
  329. package/src/libs/Chip/publish.sh +0 -16
  330. package/src/libs/Chip/styles.ts +0 -20
  331. package/src/libs/Chip/types.ts +0 -72
  332. package/src/libs/Collapse/index.tsx +0 -305
  333. package/src/libs/Collapse/package.json +0 -16
  334. package/src/libs/Collapse/publish.sh +0 -18
  335. package/src/libs/Collapse/styles.ts +0 -37
  336. package/src/libs/Collapse/types.ts +0 -84
  337. package/src/libs/DateTimePicker/WheelPicker.tsx +0 -163
  338. package/src/libs/DateTimePicker/WheelPickerItem.tsx +0 -58
  339. package/src/libs/DateTimePicker/index.tsx +0 -188
  340. package/src/libs/DateTimePicker/package.json +0 -16
  341. package/src/libs/DateTimePicker/publish.sh +0 -17
  342. package/src/libs/DateTimePicker/styles.ts +0 -31
  343. package/src/libs/DateTimePicker/types.ts +0 -102
  344. package/src/libs/DateTimePicker/utils.ts +0 -114
  345. package/src/libs/Information/index.tsx +0 -129
  346. package/src/libs/Information/package.json +0 -16
  347. package/src/libs/Information/publish.sh +0 -18
  348. package/src/libs/Information/styles.ts +0 -34
  349. package/src/libs/Information/types.ts +0 -79
  350. package/src/libs/Logo/index.tsx +0 -39
  351. package/src/libs/Logo/package.json +0 -17
  352. package/src/libs/Logo/publish.sh +0 -16
  353. package/src/libs/Logo/styles.ts +0 -25
  354. package/src/libs/Logo/types.ts +0 -13
  355. package/src/libs/ProgressInfo/ProgressInfoHorizontal.tsx +0 -128
  356. package/src/libs/ProgressInfo/ProgressInfoIcon.tsx +0 -88
  357. package/src/libs/ProgressInfo/ProgressInfoVertical.tsx +0 -85
  358. package/src/libs/ProgressInfo/index.tsx +0 -22
  359. package/src/libs/ProgressInfo/package.json +0 -16
  360. package/src/libs/ProgressInfo/publish.sh +0 -16
  361. package/src/libs/ProgressInfo/styles.ts +0 -46
  362. package/src/libs/ProgressInfo/types.ts +0 -60
  363. package/src/libs/ProgressInfo/yarn.lock +0 -8
  364. package/src/libs/Rating/index.tsx +0 -74
  365. package/src/libs/Rating/package.json +0 -16
  366. package/src/libs/Rating/publish.sh +0 -18
  367. package/src/libs/Rating/type.ts +0 -25
  368. package/src/libs/Slider/Label.tsx +0 -33
  369. package/src/libs/Slider/helpers.ts +0 -35
  370. package/src/libs/Slider/hooks.tsx +0 -218
  371. package/src/libs/Slider/index.tsx +0 -453
  372. package/src/libs/Slider/package.json +0 -16
  373. package/src/libs/Slider/publish.sh +0 -18
  374. package/src/libs/Slider/styles.ts +0 -36
  375. package/src/libs/Stepper/NumberView.tsx +0 -64
  376. package/src/libs/Stepper/StepperButton.tsx +0 -37
  377. package/src/libs/Stepper/index.tsx +0 -139
  378. package/src/libs/Stepper/package.json +0 -16
  379. package/src/libs/Stepper/publish.sh +0 -17
  380. package/src/libs/Stepper/styles.ts +0 -44
  381. package/src/libs/Stepper/types.ts +0 -154
  382. package/src/libs/Steps/StepIcon.tsx +0 -86
  383. package/src/libs/Steps/StepsHorizontal.tsx +0 -189
  384. package/src/libs/Steps/StepsVertical.tsx +0 -133
  385. package/src/libs/Steps/index.tsx +0 -20
  386. package/src/libs/Steps/package.json +0 -16
  387. package/src/libs/Steps/publish.sh +0 -16
  388. package/src/libs/Steps/styles.ts +0 -46
  389. package/src/libs/Steps/types.ts +0 -159
  390. package/src/libs/Steps/utils.ts +0 -175
  391. package/src/libs/SuggestAction/SuggestActionView.tsx +0 -124
  392. package/src/libs/SuggestAction/index.tsx +0 -3
  393. package/src/libs/SuggestAction/package.json +0 -16
  394. package/src/libs/SuggestAction/publish.sh +0 -16
  395. package/src/libs/SuggestAction/styles.ts +0 -30
  396. package/src/libs/SuggestAction/types.ts +0 -36
  397. package/src/libs/Swipe/SwipeView.tsx +0 -151
  398. package/src/libs/Swipe/index.tsx +0 -5
  399. package/src/libs/Swipe/package.json +0 -16
  400. package/src/libs/Swipe/publish.sh +0 -16
  401. package/src/libs/Swipe/styles.ts +0 -16
  402. package/src/libs/Swipe/types.ts +0 -109
  403. package/src/libs/TabView/assets/Path.tsx +0 -29
  404. package/src/libs/TabView/index.tsx +0 -184
  405. package/src/libs/TabView/package.json +0 -16
  406. package/src/libs/TabView/publish.sh +0 -16
  407. package/src/libs/TabView/styles.ts +0 -96
  408. package/src/libs/TabView/tabBar/CardTabBar.tsx +0 -137
  409. package/src/libs/TabView/tabBar/SrollableTabBar.tsx +0 -218
  410. package/src/libs/TabView/tabBar/TabBar.tsx +0 -67
  411. package/src/libs/TabView/tabItem/CardTabItem.tsx +0 -118
  412. package/src/libs/TabView/tabItem/TabItem.tsx +0 -180
  413. package/src/libs/TabView/types.ts +0 -166
  414. package/src/libs/Template/HeaderSliderBanner/index.tsx +0 -86
  415. package/src/libs/Template/HeaderSliderBanner/types.ts +0 -16
  416. package/src/libs/Template/TrustBanner/CustomAvatar.tsx +0 -39
  417. package/src/libs/Template/TrustBanner/index.tsx +0 -161
  418. package/src/libs/Template/TrustBanner/styles.ts +0 -48
  419. package/src/libs/Template/TrustBanner/types.ts +0 -50
  420. package/src/libs/Template/index.tsx +0 -4
  421. package/src/libs/Template/package.json +0 -18
  422. package/src/libs/Template/publish.sh +0 -17
  423. package/src/libs/Title/index.tsx +0 -284
  424. package/src/libs/Title/package.json +0 -17
  425. package/src/libs/Title/publish.sh +0 -16
  426. package/src/libs/Title/styles.ts +0 -54
  427. package/src/libs/Title/types.ts +0 -21
  428. package/src/libs/Tooltip/TooltipButtons.tsx +0 -54
  429. package/src/libs/Tooltip/index.tsx +0 -608
  430. package/src/libs/Tooltip/package.json +0 -16
  431. package/src/libs/Tooltip/publish.sh +0 -18
  432. package/src/libs/Tooltip/styles.ts +0 -70
  433. package/src/libs/Tooltip/types.ts +0 -61
  434. package/src/libs/Uploader/index.tsx +0 -87
  435. package/src/libs/Uploader/package.json +0 -17
  436. package/src/libs/Uploader/publish.sh +0 -18
  437. package/src/libs/Uploader/styles.ts +0 -30
  438. package/src/libs/Uploader/types.ts +0 -69
  439. package/src/native/MoMoNative.podspec +0 -18
  440. package/src/native/calculator/android/build.gradle +0 -61
  441. package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  442. package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  443. package/src/native/calculator/android/gradlew +0 -172
  444. package/src/native/calculator/android/gradlew.bat +0 -84
  445. package/src/native/calculator/android/src/main/AndroidManifest.xml +0 -5
  446. package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewModule.java +0 -22
  447. package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewPackage.java +0 -35
  448. package/src/native/calculator/android/src/main/java/com/calculator/modules/CalculatorKeyboardModule.java +0 -157
  449. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/CalculatorEditText.java +0 -36
  450. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/FixedRelativeLayout.java +0 -45
  451. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/MomoTextInputCalculatorManager.java +0 -173
  452. package/src/native/calculator/android/src/main/java/com/calculator/views/customkeyboard/RNCustomKeyboardModule.java +0 -417
  453. package/src/native/calculator/ios/Helper/MomoHelper.swift +0 -16
  454. package/src/native/calculator/ios/KeyboardView-Bridging-Header.h +0 -60
  455. package/src/native/calculator/ios/KeyboardView.h +0 -19
  456. package/src/native/calculator/ios/KeyboardView.m +0 -56
  457. package/src/native/calculator/ios/MomoTextInputCalculator.swift +0 -144
  458. package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.h +0 -6
  459. package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.m +0 -143
  460. package/src/native/package.json +0 -14
  461. package/src/native/publish.sh +0 -29
  462. package/src/native/resource/android/build.gradle +0 -57
  463. package/src/native/resource/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  464. package/src/native/resource/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  465. package/src/native/resource/android/src/main/AndroidManifest.xml +0 -6
  466. package/src/native/resource/android/src/main/java/com/resource/RNResourceModule.java +0 -90
  467. package/src/native/resource/android/src/main/java/com/resource/RNResourcePackage.java +0 -22
  468. package/src/native/resource/ios/RNResouce.m +0 -71
  469. package/src/native/resource/ios/RNResource.h +0 -5
@@ -1,155 +0,0 @@
1
- import React, { useContext } from 'react';
2
- import { TouchableOpacity, StyleSheet } from 'react-native';
3
- import {
4
- BottomTabBarButtonProps,
5
- BottomTabNavigationOptions,
6
- } from '@react-navigation/bottom-tabs';
7
- import { Route } from '@react-navigation/native';
8
- import { TabBarIcon } from './TabBarIcon';
9
- import { Text } from '../../Text';
10
- import { MiniAppContext } from '../../Context';
11
- import { Colors } from '../../Consts';
12
-
13
- type LabelType = NonNullable<BottomTabNavigationOptions['tabBarLabel']>;
14
-
15
- interface CustomBottomTabItemProps {
16
- route: Route<string>;
17
- focused: boolean;
18
- label: LabelType;
19
- onPress: () => void;
20
- onLongPress: () => void;
21
- activeTintColor: string;
22
- inactiveTintColor: string;
23
- activeBackgroundColor?: string;
24
- inactiveBackgroundColor?: string;
25
- icon: any;
26
- badge?: string | number;
27
- showLabel?: boolean;
28
- labelStyle?: any;
29
- iconStyle?: any;
30
- style?: any;
31
- badgeStyle?: any;
32
- allowFontScaling?: boolean;
33
- button?: (props: BottomTabBarButtonProps) => React.ReactNode;
34
- /**
35
- * The accessibility label for the tab.
36
- */
37
- accessibilityLabel?: string;
38
- /**
39
- * An unique ID for testing for the tab.
40
- */
41
- testID?: string;
42
- }
43
-
44
- const CustomBottomTabItem: React.FC<CustomBottomTabItemProps> = ({
45
- route,
46
- focused,
47
- label,
48
- onPress,
49
- onLongPress,
50
- activeTintColor,
51
- inactiveTintColor,
52
- activeBackgroundColor,
53
- inactiveBackgroundColor,
54
- icon,
55
- badge,
56
- showLabel,
57
- labelStyle,
58
- iconStyle,
59
- style,
60
- badgeStyle,
61
- allowFontScaling,
62
- }) => {
63
- const context = useContext<any>(MiniAppContext);
64
- const showBaseLineDebug = context?.features?.showBaseLineDebug ?? false;
65
-
66
- const renderIcon = () => {
67
- if (icon === undefined) {
68
- return null;
69
- }
70
-
71
- const activeOpacity = focused ? 1 : 0;
72
- const inactiveOpacity = focused ? 0 : 1;
73
-
74
- return (
75
- <TabBarIcon
76
- route={route}
77
- badge={badge}
78
- badgeStyle={badgeStyle}
79
- activeOpacity={activeOpacity}
80
- allowFontScaling={allowFontScaling}
81
- inactiveOpacity={inactiveOpacity}
82
- activeTintColor={activeTintColor}
83
- inactiveTintColor={inactiveTintColor}
84
- renderIcon={icon}
85
- style={iconStyle}
86
- />
87
- );
88
- };
89
-
90
- const renderLabel = ({ focused }: { focused: boolean }) => {
91
- if (showLabel === false) {
92
- return null;
93
- }
94
-
95
- const color = focused ? activeTintColor : inactiveTintColor;
96
-
97
- if (typeof label === 'string') {
98
- return (
99
- <Text
100
- numberOfLines={1}
101
- style={[styles.label, labelStyle]}
102
- color={focused ? activeTintColor : inactiveTintColor}
103
- typography={focused ? 'label_xs_medium' : 'description_xs_regular'}
104
- allowFontScaling={allowFontScaling}
105
- >
106
- {label}
107
- </Text>
108
- );
109
- }
110
-
111
- return label({
112
- focused,
113
- color,
114
- children: route.name,
115
- position: 'below-icon',
116
- });
117
- };
118
-
119
- return (
120
- <TouchableOpacity
121
- onPress={onPress}
122
- onLongPress={onLongPress}
123
- style={[
124
- styles.container,
125
- {
126
- backgroundColor: focused
127
- ? activeBackgroundColor
128
- : inactiveBackgroundColor,
129
- },
130
- style,
131
- showBaseLineDebug && styles.debugBaseLine,
132
- ]}
133
- >
134
- {renderIcon()}
135
- {renderLabel({ focused })}
136
- </TouchableOpacity>
137
- );
138
- };
139
-
140
- const styles = StyleSheet.create({
141
- container: {
142
- flex: 1,
143
- alignItems: 'center',
144
- justifyContent: 'center',
145
- paddingVertical: 8,
146
- bottom: -2,
147
- },
148
- label: {
149
- fontSize: 12,
150
- fontWeight: '600',
151
- },
152
- debugBaseLine: { borderWidth: 1, borderColor: Colors.green_06 },
153
- });
154
-
155
- export default CustomBottomTabItem;
@@ -1,113 +0,0 @@
1
- import type { Route } from '@react-navigation/native';
2
- import React from 'react';
3
- import {
4
- type StyleProp,
5
- StyleSheet,
6
- type TextStyle,
7
- View,
8
- type ViewStyle,
9
- } from 'react-native';
10
-
11
- import { Colors } from '../../Consts';
12
- import { Badge, BadgeDot } from '../../Badge';
13
-
14
- type Props = {
15
- route: Route<string>;
16
- badge?: string | number;
17
- badgeStyle?: StyleProp<TextStyle> | any;
18
- activeOpacity: number;
19
- inactiveOpacity: number;
20
- activeTintColor?: string;
21
- inactiveTintColor?: string;
22
- renderIcon: (props: {
23
- focused: boolean;
24
- color: string;
25
- size: number;
26
- }) => React.ReactNode;
27
- allowFontScaling?: boolean;
28
- style: StyleProp<ViewStyle>;
29
- };
30
-
31
- /**
32
- * Icon sizes taken from Apple HIG
33
- * https://developer.apple.com/design/human-interface-guidelines/tab-bars
34
- */
35
- const ICON_SIZE_WIDE = 35;
36
-
37
- export function TabBarIcon({
38
- route: _,
39
- badge,
40
- badgeStyle,
41
- activeOpacity,
42
- inactiveOpacity,
43
- activeTintColor,
44
- inactiveTintColor,
45
- renderIcon,
46
- style,
47
- }: Props) {
48
- const iconSize = 25;
49
-
50
- const renderBadge = () => {
51
- if (badge == null) {
52
- return;
53
- }
54
- if (badge === '') {
55
- return <BadgeDot size={'small'} style={[styles.badge, badgeStyle]} />;
56
- }
57
- return <Badge style={[styles.badge, badgeStyle]} label={badge} />;
58
- };
59
-
60
- // We render the icon twice at the same position on top of each other:
61
- // active and inactive one, so we can fade between them.
62
- return (
63
- <View style={[styles.wrapperUikit, style]}>
64
- <View
65
- style={[
66
- styles.icon,
67
- {
68
- opacity: activeOpacity,
69
- // Workaround for react-native >= 0.54 layout bug
70
- minWidth: iconSize,
71
- },
72
- ]}
73
- >
74
- {renderIcon({
75
- focused: true,
76
- size: iconSize,
77
- color: activeTintColor ?? Colors.black_20,
78
- })}
79
- </View>
80
- <View style={[styles.icon, { opacity: inactiveOpacity }]}>
81
- {renderIcon({
82
- focused: false,
83
- size: iconSize,
84
- color: inactiveTintColor ?? Colors.black_04,
85
- })}
86
- </View>
87
- {renderBadge()}
88
- </View>
89
- );
90
- }
91
-
92
- const styles = StyleSheet.create({
93
- icon: {
94
- // We render the icon twice at the same position on top of each other:
95
- // active and inactive one, so we can fade between them:
96
- // Cover the whole iconContainer:
97
- position: 'absolute',
98
- alignSelf: 'center',
99
- alignItems: 'center',
100
- justifyContent: 'center',
101
- height: '100%',
102
- width: '100%',
103
- },
104
- wrapperUikit: {
105
- width: ICON_SIZE_WIDE,
106
- height: ICON_SIZE_WIDE,
107
- },
108
- badge: {
109
- position: 'absolute',
110
- end: -3,
111
- top: -3,
112
- },
113
- });
@@ -1,449 +0,0 @@
1
- import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
2
- import {
3
- NavigationContainer,
4
- NavigationIndependentTree,
5
- useFocusEffect,
6
- } from '@react-navigation/native';
7
- import { createStackNavigator } from '@react-navigation/stack';
8
- import React, { useContext, useEffect, useLayoutEffect, useRef } from 'react';
9
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
10
- import {
11
- Animated,
12
- Platform,
13
- StatusBar,
14
- StyleSheet,
15
- useWindowDimensions,
16
- View,
17
- } from 'react-native';
18
- import { Colors } from '../../Consts';
19
- import { Icon } from '../../Icon';
20
- import { exportFontFamily, Text } from '../../Text';
21
- import StackScreen from '../StackScreen';
22
- import { BottomTabProps } from '../types';
23
- import { getOptions, getStackOptions, useAppState } from '../utils';
24
- import BottomTabBar from './BottomTabBar';
25
- import { ApplicationContext, MiniAppContext } from '../../Context';
26
-
27
- const Tab = createBottomTabNavigator();
28
- const Stack = createStackNavigator();
29
-
30
- const TabScreen: React.FC<any> = ({ route, navigation }) => {
31
- const { navigator } = useContext(ApplicationContext);
32
- const context = useContext<any>(MiniAppContext);
33
- const { nested, options, screen, initialParams } = route?.params;
34
- const insets = useSafeAreaInsets();
35
-
36
- const opacityValue = 0.3;
37
- const scaleValue = 0.97;
38
- const opacity = useRef(new Animated.Value(opacityValue)).current;
39
- const scale = useRef(new Animated.Value(scaleValue)).current;
40
- const screenName = screen?.name || screen?.type?.name || 'Invalid';
41
- const { isBackgroundToForeground } = useAppState();
42
-
43
- const onScreenNavigated = (pre: string, current: string) => {
44
- if (!isBackgroundToForeground) {
45
- const data: any = {
46
- preScreenName: pre,
47
- screenName: current,
48
- componentName: 'Screen',
49
- state: 'navigated',
50
- action: 'push',
51
- };
52
-
53
- context?.autoTracking?.({
54
- ...context,
55
- ...data,
56
- });
57
-
58
- /**
59
- * debug toast
60
- */
61
- navigator?.maxApi?.showToastDebug?.({
62
- appId: context.appId,
63
- message: `${screenName} screen_navigated`,
64
- type: 'ERROR',
65
- });
66
- }
67
- };
68
-
69
- useFocusEffect(
70
- React.useCallback(
71
- () => {
72
- Animated.parallel([
73
- Animated.timing(opacity, {
74
- toValue: 1,
75
- duration: 200,
76
- useNativeDriver: true,
77
- }),
78
- Animated.timing(scale, {
79
- toValue: 1,
80
- duration: 200,
81
- useNativeDriver: true,
82
- }),
83
- ]).start();
84
-
85
- setTimeout(() => {
86
- navigator?.maxApi?.getDataObserver?.(
87
- 'current_screen',
88
- (data: any) => {
89
- onScreenNavigated(data?.screenName, screenName);
90
- navigator?.maxApi?.setObserver?.('current_screen', {
91
- screenName,
92
- });
93
- },
94
- );
95
- }, 100);
96
-
97
- return () => {
98
- if (navigation.getState().index !== route?.params.index) {
99
- Animated.parallel([
100
- Animated.timing(opacity, {
101
- toValue: opacityValue,
102
- duration: 200,
103
- useNativeDriver: true,
104
- }),
105
- Animated.timing(scale, {
106
- toValue: scaleValue,
107
- duration: 200,
108
- useNativeDriver: true,
109
- }),
110
- ]).start();
111
- }
112
- };
113
- },
114
- // eslint-disable-next-line react-hooks/exhaustive-deps
115
- [],
116
- ),
117
- );
118
-
119
- useEffect(
120
- () => {
121
- const onFocusApp = navigator?.maxApi?.listen?.('onFocusApp', () => {
122
- if (navigation.isFocused()) {
123
- navigator?.maxApi?.getDataObserver?.(
124
- 'current_screen',
125
- (data: any) => {
126
- onScreenNavigated(data?.screenName, screenName);
127
- navigator?.maxApi?.setObserver?.('current_screen', {
128
- screenName,
129
- });
130
- },
131
- );
132
- }
133
- });
134
-
135
- return () => {
136
- onFocusApp?.remove?.();
137
- };
138
- },
139
- // eslint-disable-next-line react-hooks/exhaustive-deps
140
- [],
141
- );
142
-
143
- let stackOptions = {};
144
- if (options) {
145
- stackOptions = getOptions(options);
146
- }
147
-
148
- if (nested) {
149
- return (
150
- <Animated.View
151
- style={[
152
- styles.container,
153
- {
154
- opacity,
155
- transform: [{ scale }],
156
- },
157
- ]}
158
- >
159
- <Stack.Navigator
160
- screenOptions={{
161
- headerStyle: {
162
- height: 52 + insets.top,
163
- },
164
- }}
165
- >
166
- <Stack.Screen
167
- name="Stack"
168
- component={StackScreen}
169
- initialParams={{
170
- screen,
171
- options: stackOptions,
172
- initialParams,
173
- bottomTab: 'nested',
174
- }}
175
- options={{ ...getStackOptions() }}
176
- />
177
- </Stack.Navigator>
178
- </Animated.View>
179
- );
180
- }
181
-
182
- return (
183
- <Animated.View
184
- style={[
185
- styles.container,
186
- {
187
- opacity,
188
- transform: [{ scale }],
189
- },
190
- ]}
191
- >
192
- <NavigationIndependentTree>
193
- <NavigationContainer>
194
- <Stack.Navigator
195
- screenOptions={{
196
- headerStyle: {
197
- height: 52 + insets.top,
198
- },
199
- }}
200
- >
201
- <Stack.Screen
202
- name="Stack"
203
- component={StackScreen}
204
- initialParams={{
205
- screen,
206
- options: stackOptions,
207
- initialParams,
208
- bottomTab: 'default',
209
- }}
210
- options={{ ...getStackOptions(), ...options }}
211
- />
212
- </Stack.Navigator>
213
- </NavigationContainer>
214
- </NavigationIndependentTree>
215
- </Animated.View>
216
- );
217
- };
218
-
219
- const BottomTab: React.FC<BottomTabProps> = ({
220
- nested,
221
- tabs,
222
- listeners,
223
- navigation,
224
- initialRouteName,
225
- floatingButton,
226
- }) => {
227
- const { theme, navigator } = useContext(ApplicationContext);
228
- const dimensions = useWindowDimensions();
229
- const insets = useSafeAreaInsets();
230
- const initialIndex = tabs.findIndex(i => i.name === initialRouteName);
231
- const indicatorAnimated = useRef(new Animated.Value(0));
232
- const activeIndex = useRef(initialIndex > 0 ? initialIndex : 0);
233
- const itemWidth = dimensions.width / tabs.length;
234
-
235
- useLayoutEffect(() => {
236
- navigation?.setOptions({
237
- headerShown: false,
238
- headerTransparent: true,
239
- headerBackground: undefined,
240
- });
241
- }, [navigation]);
242
-
243
- useEffect(() => {
244
- Animated.timing(indicatorAnimated.current, {
245
- toValue: itemWidth * activeIndex.current,
246
- useNativeDriver: true,
247
- duration: 200,
248
- }).start();
249
- }, [itemWidth]);
250
-
251
- const onFocus = (e: any) => {
252
- activeIndex.current = tabs.findIndex(i => e.target.includes(i.name));
253
- Animated.timing(indicatorAnimated.current, {
254
- toValue: itemWidth * activeIndex.current,
255
- useNativeDriver: true,
256
- duration: 200,
257
- }).start();
258
- };
259
-
260
- const handler: {
261
- tabPress?: (e: any) => void;
262
- focus?: (e: any) => void;
263
- blur?: (e: any) => void;
264
- state?: (e: any) => void;
265
- } = {
266
- tabPress: e => {
267
- navigator?.maxApi?.triggerEventVibration?.('light');
268
- listeners?.tabPress?.(e);
269
- },
270
- focus: e => {
271
- onFocus(e);
272
- StatusBar.setBarStyle('dark-content', true);
273
- listeners?.focus?.(e);
274
- },
275
- blur: e => {
276
- listeners?.blur?.(e);
277
- },
278
- };
279
-
280
- return (
281
- <Tab.Navigator
282
- screenOptions={{
283
- headerShown: false,
284
- headerTransparent: true,
285
- headerBackground: undefined,
286
- tabBarLabelPosition: 'below-icon',
287
- tabBarBackground: () => (
288
- <View
289
- style={[
290
- styles.container,
291
- {
292
- backgroundColor: theme.colors.background.surface,
293
- },
294
- ]}
295
- >
296
- <Animated.View
297
- style={[
298
- styles.indicatorContainer,
299
- {
300
- width: itemWidth,
301
- transform: [{ translateX: indicatorAnimated.current }],
302
- },
303
- ]}
304
- >
305
- <View
306
- style={[
307
- styles.indicator,
308
- { backgroundColor: theme.colors.primary },
309
- ]}
310
- />
311
- </Animated.View>
312
- </View>
313
- ),
314
- }}
315
- tabBar={props => (
316
- <BottomTabBar
317
- {...props}
318
- floatingButton={floatingButton}
319
- inactiveTintColor={theme.colors.text.hint}
320
- activeTintColor={theme.colors.primary}
321
- style={[
322
- {
323
- height: 64 + Math.min(insets.bottom, 21),
324
- },
325
- ]}
326
- />
327
- )}
328
- initialRouteName={initialRouteName}
329
- >
330
- {tabs.map((item, index) => {
331
- const isNum = !isNaN(parseInt(`${item?.badgeLabel}`, 10));
332
- const isDot = typeof item?.badgeLabel === 'string' && !item?.badgeLabel;
333
- const isNumZero = isNum && Number(item.badgeLabel) === 0;
334
-
335
- let badgeLabel = item?.badgeLabel;
336
- if (isNumZero) {
337
- badgeLabel = undefined;
338
- }
339
-
340
- let badgeStyle: {
341
- marginRight: number;
342
- top: number;
343
- backgroundColor: string;
344
- width?: number;
345
- } = {
346
- marginRight: -8,
347
- top: -4,
348
- backgroundColor: Colors.orange_03,
349
- };
350
-
351
- if (isNum) {
352
- badgeStyle = {
353
- marginRight: -4,
354
- top: -4,
355
- backgroundColor: Colors.red_03,
356
- };
357
- }
358
- if (isDot) {
359
- badgeStyle = {
360
- marginRight: -2,
361
- top: -2,
362
- backgroundColor: Colors.orange_03,
363
- width: 12,
364
- };
365
- }
366
-
367
- return (
368
- <Tab.Screen
369
- key={`BottomTab-${item.name}`}
370
- name={item.name}
371
- component={TabScreen}
372
- initialParams={{ ...item, nested, index }}
373
- listeners={handler}
374
- options={{
375
- tabBarLabel: ({ focused, color }) => {
376
- return (
377
- <Text
378
- numberOfLines={1}
379
- maxScaleRate={1.4}
380
- typography={
381
- focused ? 'label_xs_medium' : 'description_xs_regular'
382
- }
383
- color={color}
384
- >
385
- {item.label}
386
- </Text>
387
- );
388
- },
389
- title: item.label,
390
- tabBarStyle: [
391
- {
392
- height: 64,
393
- },
394
- styles.tabStyle,
395
- ],
396
- tabBarBadge: badgeLabel,
397
- tabBarBadgeStyle: [
398
- {
399
- borderColor: 'white',
400
- borderWidth: 2,
401
- fontSize: 10,
402
- lineHeight: 14,
403
- fontWeight: 'bold',
404
- alignSelf: 'center',
405
- fontFamily: exportFontFamily('bold'),
406
- },
407
- badgeStyle,
408
- ],
409
- tabBarIcon: ({ color }) => (
410
- <Icon source={item.icon} color={color} size={28} />
411
- ),
412
- ...item,
413
- }}
414
- />
415
- );
416
- })}
417
- </Tab.Navigator>
418
- );
419
- };
420
-
421
- const styles = StyleSheet.create({
422
- container: { flex: 1 },
423
- indicatorContainer: { position: 'absolute', top: 0 },
424
- indicator: {
425
- height: 2,
426
- width: 48,
427
- alignSelf: 'center',
428
- borderBottomLeftRadius: 2,
429
- borderBottomRightRadius: 2,
430
- },
431
- tabBarStyle: {
432
- ...Platform.select({
433
- ios: {
434
- shadowColor: Colors.black_10,
435
- shadowOffset: { width: 0, height: 4 },
436
- shadowOpacity: 1,
437
- shadowRadius: 4,
438
- },
439
- android: {
440
- elevation: 4,
441
- },
442
- }),
443
- },
444
- tabStyle: {
445
- paddingVertical: 4,
446
- },
447
- });
448
-
449
- export default BottomTab;