@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,358 +0,0 @@
1
- import React, { useCallback, useContext, useEffect, useRef } from 'react';
2
- import {
3
- BackHandler,
4
- Dimensions,
5
- KeyboardAvoidingView,
6
- Modal,
7
- PanResponder,
8
- Platform,
9
- Pressable,
10
- StyleSheet,
11
- TouchableOpacity,
12
- View,
13
- } from 'react-native';
14
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
15
- import { ApplicationContext, MiniAppContext } from '../Context';
16
- import { BottomSheetParams } from './types';
17
- import { Colors, Radius, Spacing, Styles } from '../Consts';
18
- import { Text } from '../Text';
19
- import { Icon } from '../Icon';
20
- import { useHeaderHeight } from '@react-navigation/elements';
21
- import Animated, {
22
- Easing,
23
- Extrapolate,
24
- interpolate,
25
- runOnJS,
26
- useAnimatedStyle,
27
- useSharedValue,
28
- withSpring,
29
- withTiming,
30
- } from 'react-native-reanimated';
31
- import layoutStyles from '../Layout/styles';
32
-
33
- const BottomSheet: React.FC<BottomSheetParams> = props => {
34
- const { theme, navigator } = useContext(ApplicationContext);
35
- const context = useContext<any>(MiniAppContext);
36
- const heightDevice = Dimensions.get('screen').height;
37
- const action = useRef<undefined | string>(undefined);
38
- const insets = useSafeAreaInsets();
39
- const heightHeader = useHeaderHeight();
40
- const keyboardOffset = heightHeader - Math.min(insets.bottom, 21);
41
-
42
- const showBaseLineDebug = context?.features?.showBaseLineDebug ?? false;
43
-
44
- const {
45
- screen: Screen,
46
- options,
47
- useNativeModal = false,
48
- surface,
49
- barrierDismissible = false,
50
- draggable = true,
51
- useBottomInset = true,
52
- useKeyboardAvoidingView = true,
53
- keyboardVerticalOffset,
54
- useDivider = true,
55
- footerComponent,
56
- leftOptions,
57
- }: BottomSheetParams = props.route.params;
58
-
59
- const translateY = useSharedValue(heightDevice);
60
-
61
- const openAnimation = useCallback(() => {
62
- translateY.value = withTiming(0, {
63
- duration: 350,
64
- easing: Easing.bezier(0.05, 0.7, 0.1, 1),
65
- });
66
- }, [translateY]);
67
-
68
- const closeAnimation = useCallback(
69
- (callback = () => {}) => {
70
- translateY.value = withTiming(
71
- heightDevice,
72
- {
73
- duration: 200,
74
- easing: Easing.bezier(0.3, 0.0, 0.8, 0.15),
75
- },
76
- () => runOnJS(callback)(),
77
- );
78
- },
79
- [heightDevice, translateY],
80
- );
81
-
82
- const panResponder = useRef(
83
- PanResponder.create({
84
- onStartShouldSetPanResponder: () => draggable,
85
- onMoveShouldSetPanResponder: (_, gestureState) =>
86
- draggable && gestureState.dy > 0,
87
- onPanResponderMove: (_, gestureState) => {
88
- if (gestureState.dy > 0) {
89
- translateY.value = gestureState.dy;
90
- }
91
- },
92
- onPanResponderRelease: (_, gestureState) => {
93
- if (gestureState.dy > 100) {
94
- action.current = 'gesture';
95
- onDismiss(true);
96
- } else {
97
- translateY.value = withSpring(0, {
98
- damping: 20,
99
- mass: 1,
100
- stiffness: 100,
101
- overshootClamping: false,
102
- energyThreshold: 1e-10,
103
- });
104
- }
105
- },
106
- }),
107
- ).current;
108
-
109
- let Container: any = View;
110
- if (useNativeModal) {
111
- Container = Modal;
112
- }
113
- let backgroundColor = theme.colors.background.default;
114
- if (surface) {
115
- backgroundColor = theme.colors.background.surface;
116
- }
117
-
118
- /**
119
- * emit dismiss event
120
- */
121
- useEffect(() => {
122
- translateY.value = heightDevice;
123
- openAnimation();
124
- return () => {
125
- props.route.params?.onDismiss?.(action.current);
126
- };
127
- }, [heightDevice, openAnimation, props.route.params, translateY]);
128
-
129
- /**
130
- * handler dismiss
131
- */
132
- const onDismiss = useCallback(
133
- (force = false, callback?: () => void) => {
134
- if (barrierDismissible && !force) {
135
- return;
136
- }
137
- closeAnimation(() => {
138
- navigator?.pop();
139
- runOnJS(() => {
140
- callback?.();
141
- })();
142
- });
143
- },
144
- [barrierDismissible, closeAnimation, navigator],
145
- );
146
-
147
- /**
148
- * on request close
149
- */
150
- const onRequestClose = useCallback(
151
- (callback?: () => void) => {
152
- onDismiss(true, callback);
153
- },
154
- [onDismiss],
155
- );
156
-
157
- useEffect(() => {
158
- const backHandler = BackHandler.addEventListener(
159
- 'hardwareBackPress',
160
- () => {
161
- onDismiss();
162
- return true;
163
- },
164
- );
165
- return () => backHandler.remove();
166
- }, [barrierDismissible, onDismiss]);
167
-
168
- /**
169
- * render header
170
- */
171
- const renderHeader = useCallback(() => {
172
- return (
173
- <View {...panResponder.panHandlers}>
174
- <View style={{ height: 16 }}>
175
- <View style={styles.indicator} />
176
- </View>
177
- <View
178
- style={[
179
- styles.header,
180
- useDivider && {
181
- borderBottomColor: theme.colors.border.default,
182
- borderBottomWidth: 1,
183
- },
184
- ]}
185
- >
186
- {leftOptions?.onPressIconLeft ? (
187
- <TouchableOpacity
188
- style={styles.iconButton}
189
- onPress={() => {
190
- onDismiss(true, leftOptions.onPressIconLeft);
191
- }}
192
- >
193
- <Icon source={leftOptions.iconLeft ?? 'ic_back'} />
194
- </TouchableOpacity>
195
- ) : null}
196
-
197
- {options.header ? (
198
- <View style={Styles.flex}>{options.header}</View>
199
- ) : (
200
- <>
201
- {!leftOptions ? <View style={styles.iconButton} /> : null}
202
- <Text
203
- style={[Styles.flex, { textAlign: 'center' }]}
204
- numberOfLines={1}
205
- typography="header_default_bold"
206
- >
207
- {options.title ?? ''}
208
- </Text>
209
- </>
210
- )}
211
- <TouchableOpacity
212
- style={styles.iconButton}
213
- onPress={() => {
214
- action.current = 'icon_close';
215
- onDismiss(true);
216
- }}
217
- >
218
- <Icon source="navigation_close" />
219
- </TouchableOpacity>
220
- </View>
221
- </View>
222
- );
223
- }, [
224
- onDismiss,
225
- leftOptions,
226
- options.header,
227
- options.title,
228
- panResponder.panHandlers,
229
- theme.colors.border.default,
230
- useDivider,
231
- ]);
232
-
233
- const animatedStyle = useAnimatedStyle(() => {
234
- return {
235
- transform: [{ translateY: translateY.value }],
236
- };
237
- });
238
-
239
- const animatedOverlayStyle = useAnimatedStyle(() => {
240
- return {
241
- opacity: interpolate(
242
- translateY.value,
243
- [0, heightDevice],
244
- [1, 0],
245
- Extrapolate.CLAMP,
246
- ),
247
- };
248
- });
249
-
250
- return (
251
- <Container
252
- transparent
253
- visible={true}
254
- onRequestClose={() => {
255
- onDismiss();
256
- }}
257
- style={StyleSheet.absoluteFillObject}
258
- isModalKit={true}
259
- >
260
- <KeyboardAvoidingView
261
- behavior={Platform.select({
262
- ios: 'position',
263
- android: undefined,
264
- })}
265
- keyboardVerticalOffset={keyboardVerticalOffset ?? keyboardOffset}
266
- enabled={useKeyboardAvoidingView}
267
- contentContainerStyle={styles.container}
268
- style={styles.container}
269
- >
270
- <Pressable
271
- style={StyleSheet.absoluteFillObject}
272
- onPress={() => {
273
- action.current = 'touch';
274
- onDismiss();
275
- }}
276
- >
277
- <Animated.View style={[styles.overlay, animatedOverlayStyle]} />
278
- </Pressable>
279
-
280
- <Animated.View
281
- style={[
282
- animatedStyle,
283
- {
284
- backgroundColor,
285
- borderTopLeftRadius: Radius.M,
286
- borderTopRightRadius: Radius.M,
287
- overflow: 'hidden',
288
- },
289
- showBaseLineDebug && styles.debugBaseLine,
290
- ]}
291
- >
292
- {renderHeader()}
293
- <Screen
294
- {...props}
295
- {...props.route.params}
296
- onRequestClose={onRequestClose}
297
- />
298
- {footerComponent && (
299
- <View
300
- style={[
301
- layoutStyles.shadow,
302
- {
303
- paddingBottom: Spacing.S,
304
- backgroundColor: theme.colors.background.surface,
305
- },
306
- ]}
307
- >
308
- {footerComponent}
309
- </View>
310
- )}
311
- {useBottomInset && (
312
- <View
313
- style={{
314
- height: Math.min(insets.bottom, 21),
315
- backgroundColor: backgroundColor,
316
- }}
317
- />
318
- )}
319
- </Animated.View>
320
- </KeyboardAvoidingView>
321
- </Container>
322
- );
323
- };
324
-
325
- const styles = StyleSheet.create({
326
- container: {
327
- flex: 1,
328
- justifyContent: 'flex-end',
329
- },
330
- overlay: {
331
- flex: 1,
332
- backgroundColor: 'rgba(0, 0, 0, 0.6)',
333
- },
334
- indicator: {
335
- width: 40,
336
- height: 4,
337
- borderRadius: Radius.S,
338
- backgroundColor: Colors.black_06,
339
- position: 'absolute',
340
- alignSelf: 'center',
341
- top: Spacing.S,
342
- },
343
- header: {
344
- height: 56,
345
- flexDirection: 'row',
346
- alignItems: 'center',
347
- },
348
- iconButton: {
349
- width: 24,
350
- height: 24,
351
- alignItems: 'center',
352
- justifyContent: 'center',
353
- marginHorizontal: Spacing.M,
354
- },
355
- debugBaseLine: { borderWidth: 1, borderColor: Colors.green_06 },
356
- });
357
-
358
- export default BottomSheet;
@@ -1,320 +0,0 @@
1
- import { BottomTabBarProps } from '@react-navigation/bottom-tabs';
2
- import { CommonActions, Route } from '@react-navigation/native';
3
- import React, { useCallback, useContext } from 'react';
4
- import {
5
- Animated,
6
- Platform,
7
- StyleSheet,
8
- TouchableOpacity,
9
- useWindowDimensions,
10
- View,
11
- } from 'react-native';
12
- import { EdgeInsets, useSafeAreaInsets } from 'react-native-safe-area-context';
13
- import { Colors, Radius, Styles } from '../../Consts';
14
- import { Icon } from '../../Icon';
15
- import { Text } from '../../Text';
16
- import { FloatingButtonProps } from '../types';
17
- import CustomBottomTabItem from './CustomBottomTabItem';
18
- import { ApplicationContext, MiniAppContext } from '../../Context';
19
-
20
- type Props = BottomTabBarProps & {
21
- activeTintColor?: string;
22
- inactiveTintColor?: string;
23
- floatingButton?: FloatingButtonProps;
24
- activeBackgroundColor?: string;
25
- allowFontScaling?: boolean;
26
- inactiveBackgroundColor?: string;
27
- labelStyle?: any;
28
- iconStyle?: any;
29
- showLabel?: boolean;
30
- style?: any;
31
- tabStyle?: any;
32
- badgeStyle?: any;
33
- };
34
-
35
- const getPaddingBottom = (insets: EdgeInsets) => {
36
- return Math.max(insets.bottom - Platform.select({ ios: 4, default: 0 }), 0);
37
- };
38
-
39
- export default function BottomTabBar({
40
- state,
41
- navigation,
42
- descriptors,
43
- activeBackgroundColor,
44
- activeTintColor,
45
- allowFontScaling,
46
- inactiveBackgroundColor,
47
- inactiveTintColor,
48
- labelStyle,
49
- iconStyle,
50
- showLabel,
51
- style,
52
- floatingButton,
53
- }: Props) {
54
- const { theme } = useContext(ApplicationContext);
55
- const { routes } = state;
56
- const widthDevice = useWindowDimensions()?.width;
57
- const useFloating = floatingButton && state.routes.length % 2 === 0;
58
- const itemWidth = widthDevice / (state.routes.length + (useFloating ? 1 : 0));
59
- // const buildLink = useLinkBuilder();
60
- const indicatorAnimated = React.useRef(new Animated.Value(0)).current;
61
- const insets = useSafeAreaInsets();
62
- const paddingBottom = getPaddingBottom(insets);
63
- const focusedTab = state?.routes[state.index]?.name || routes[0]?.params;
64
-
65
- const context = useContext<any>(MiniAppContext);
66
- const showBaseLineDebug = context?.features?.showBaseLineDebug ?? false;
67
-
68
- /**
69
- * render tab item
70
- */
71
- const renderTabItem = useCallback(
72
- (data: Route<string, any>[]) => {
73
- return data?.map(route => {
74
- const focused = route?.params?.name === focusedTab;
75
- const { options } = descriptors[route.key];
76
-
77
- const onPress = () => {
78
- const event = navigation.emit({
79
- type: 'tabPress',
80
- target: route.key,
81
- canPreventDefault: true,
82
- });
83
-
84
- if (!focused && !event.defaultPrevented) {
85
- navigation.dispatch({
86
- ...CommonActions.navigate(route.name),
87
- target: state.key,
88
- });
89
- }
90
- };
91
-
92
- const onLongPress = () => {
93
- navigation.emit({
94
- type: 'tabLongPress',
95
- target: route.key,
96
- });
97
- };
98
-
99
- return (
100
- <CustomBottomTabItem
101
- key={route.key}
102
- route={route}
103
- label={options.tabBarLabel || options.title || route.name}
104
- focused={focused}
105
- onPress={onPress}
106
- onLongPress={onLongPress}
107
- activeTintColor={activeTintColor ?? theme.colors.primary}
108
- inactiveTintColor={inactiveTintColor ?? theme.colors.text.default}
109
- activeBackgroundColor={activeBackgroundColor}
110
- inactiveBackgroundColor={inactiveBackgroundColor}
111
- icon={options.tabBarIcon}
112
- badge={options.tabBarBadge}
113
- showLabel={showLabel}
114
- labelStyle={labelStyle}
115
- iconStyle={iconStyle}
116
- style={options.tabBarStyle}
117
- badgeStyle={options.tabBarBadgeStyle}
118
- allowFontScaling={allowFontScaling}
119
- />
120
- );
121
- });
122
- },
123
- [
124
- focusedTab,
125
- descriptors,
126
- activeTintColor,
127
- theme.colors.primary,
128
- theme.colors.text.default,
129
- inactiveTintColor,
130
- activeBackgroundColor,
131
- inactiveBackgroundColor,
132
- showLabel,
133
- labelStyle,
134
- iconStyle,
135
- allowFontScaling,
136
- navigation,
137
- state.key,
138
- ],
139
- );
140
-
141
- /**
142
- * render floating button
143
- */
144
- const renderFloatingButton = useCallback(() => {
145
- const renderFloatingIcon = () => {
146
- if (typeof floatingButton?.icon === 'string') {
147
- return <Icon source={floatingButton?.icon} size={32} color={'white'} />;
148
- }
149
- return floatingButton?.icon;
150
- };
151
-
152
- return (
153
- <View style={[Styles.flex, showBaseLineDebug && styles.debugBaseLine]}>
154
- <TouchableOpacity
155
- onPress={floatingButton?.onPress}
156
- style={styles.floatingContainer}
157
- >
158
- <View
159
- style={{
160
- ...styles.floatingContent,
161
- backgroundColor: activeTintColor ?? theme.colors.primary,
162
- }}
163
- >
164
- {renderFloatingIcon()}
165
- </View>
166
- <View
167
- style={{
168
- top: -4,
169
- backgroundColor: activeTintColor ?? theme.colors.primary,
170
- borderRadius: Radius.XL,
171
- paddingHorizontal: 6,
172
- }}
173
- >
174
- <Text
175
- numberOfLines={1}
176
- typography={'description_xs_regular'}
177
- color={'white'}
178
- >
179
- {floatingButton?.label}
180
- </Text>
181
- </View>
182
- </TouchableOpacity>
183
- </View>
184
- );
185
- }, [
186
- activeTintColor,
187
- floatingButton?.icon,
188
- floatingButton?.label,
189
- floatingButton?.onPress,
190
- showBaseLineDebug,
191
- theme.colors.primary,
192
- ]);
193
-
194
- /**
195
- * animated indicator
196
- */
197
- React.useEffect(() => {
198
- let index = state.index;
199
- if (useFloating && index > (state.routes.length - 1) / 2) {
200
- index += 1;
201
- }
202
- Animated.timing(indicatorAnimated, {
203
- toValue: itemWidth * index,
204
- useNativeDriver: true,
205
- duration: 200,
206
- }).start();
207
- }, [
208
- state.index,
209
- itemWidth,
210
- indicatorAnimated,
211
- useFloating,
212
- state.routes.length,
213
- ]);
214
-
215
- /**
216
- * render tab bar
217
- */
218
- const renderTabBar = () => {
219
- if (useFloating) {
220
- const middleIndex = routes.length / 2;
221
- const leftArr = routes.slice(0, middleIndex);
222
- const rightArr = routes.slice(middleIndex);
223
- return (
224
- <>
225
- {renderTabItem(leftArr)}
226
- {renderFloatingButton()}
227
- {renderTabItem(rightArr)}
228
- </>
229
- );
230
- }
231
- return renderTabItem(routes);
232
- };
233
-
234
- return (
235
- <Animated.View
236
- style={[
237
- floatingButton ? styles.tabBarFloatingButton : styles.tabBar,
238
- {
239
- backgroundColor: theme.colors.background.surface,
240
- borderTopColor: theme.colors.border.default,
241
- },
242
- {
243
- paddingBottom: paddingBottom,
244
- paddingHorizontal: Math.max(insets.left, insets.right),
245
- },
246
- style,
247
- ]}
248
- pointerEvents={'auto'}
249
- >
250
- <View style={styles.content} accessibilityLabel={'bottom_tab_bar'}>
251
- {useFloating && floatingButton?.container}
252
- <Animated.View
253
- style={{
254
- width: itemWidth,
255
- position: 'absolute',
256
- top: 0,
257
- transform: [{ translateX: indicatorAnimated }],
258
- }}
259
- >
260
- <View
261
- style={[
262
- styles.indicator,
263
- { backgroundColor: activeTintColor ?? theme.colors.primary },
264
- ]}
265
- />
266
- </Animated.View>
267
- {renderTabBar()}
268
- </View>
269
- </Animated.View>
270
- );
271
- }
272
-
273
- const styles = StyleSheet.create({
274
- content: {
275
- flex: 1,
276
- flexDirection: 'row',
277
- },
278
- tabBar: {
279
- left: 0,
280
- right: 0,
281
- bottom: 0,
282
- borderTopWidth: StyleSheet.hairlineWidth,
283
- elevation: 8,
284
- },
285
- tabBarFloatingButton: {
286
- left: 0,
287
- right: 0,
288
- bottom: 0,
289
- zIndex: 1,
290
- shadowColor: Colors.black_20,
291
- shadowOffset: { width: 0, height: -2 },
292
- shadowOpacity: 0.05,
293
- shadowRadius: 3,
294
- elevation: 8,
295
- },
296
- floatingContainer: {
297
- position: 'absolute',
298
- alignItems: 'center',
299
- left: 0,
300
- right: 0,
301
- top: -2,
302
- bottom: Platform.OS === 'ios' ? -6 : 4
303
- },
304
- floatingContent: {
305
- alignItems: 'center',
306
- justifyContent: 'center',
307
- height: 48,
308
- width: 48,
309
- borderRadius: 24,
310
- top: -10,
311
- },
312
- indicator: {
313
- height: 2,
314
- width: 44,
315
- alignSelf: 'center',
316
- borderBottomLeftRadius: 1,
317
- borderBottomRightRadius: 1,
318
- },
319
- debugBaseLine: { borderWidth: 1, borderColor: Colors.green_06 },
320
- });