@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,127 +0,0 @@
1
- import { Colors, Radius, Spacing, Styles } from '../../Consts';
2
- import { InputRef, InputSearch } from '../../Input';
3
- import {
4
- Animated,
5
- Dimensions,
6
- StyleSheet,
7
- TouchableOpacity,
8
- View,
9
- } from 'react-native';
10
- import React, { useContext, useEffect, useRef } from 'react';
11
- import { SearchHeaderProps } from '../types';
12
- import { ApplicationContext, MiniAppContext } from '../../Context';
13
- import { Text } from '../../Text';
14
-
15
- const SearchHeader = React.forwardRef<InputRef, SearchHeaderProps>(
16
- (
17
- {
18
- animatedValue,
19
- buttonText = 'Huỷ',
20
- onPressButtonText,
21
- renderButtons,
22
- ...props
23
- },
24
- ref,
25
- ) => {
26
- const { theme, navigator } = useContext(ApplicationContext);
27
- const context = useContext<any>(MiniAppContext);
28
- const BACK_WIDTH = 28;
29
- const { width: screenWidth } = Dimensions.get('window');
30
-
31
- const animated = useRef(new Animated.Value(0));
32
- const leftPosition = props?.leftPosition ?? BACK_WIDTH + 20;
33
- const headerRightWidth = props?.headerRightWidth ?? 73;
34
-
35
- useEffect(() => {
36
- const listener = animatedValue?.addListener(({ value }) => {
37
- animated.current.setValue(value);
38
- });
39
- return () => {
40
- if (listener) {
41
- animatedValue?.removeListener(listener);
42
- }
43
- };
44
- }, [animatedValue]);
45
-
46
- const backgroundColor = animated.current?.interpolate({
47
- inputRange: [0, 100],
48
- outputRange: [
49
- theme.colors.background.surface,
50
- theme.colors.background.default,
51
- ],
52
- extrapolate: 'clamp',
53
- });
54
-
55
- const goBack = () => {
56
- const canGoBack = navigator?.ref?.current?.canGoBack?.();
57
- const currentRoute = navigator?.ref?.current?.getCurrentRoute?.();
58
- context?.autoTracking?.({
59
- ...context,
60
- componentName: 'SearchHeader',
61
- componentId: 'search_back',
62
- screenName: currentRoute?.params?.screen?.name ?? currentRoute?.name,
63
- });
64
-
65
- if (canGoBack) {
66
- navigator?.ref?.current?.goBack?.();
67
- } else if (navigator?.maxApi) {
68
- navigator?.maxApi?.dismiss?.(navigator?.dismissData);
69
- } else {
70
- (globalThis as any)?.miniAppApi?.dispatch?.('dismiss', context);
71
- }
72
- onPressButtonText?.();
73
- };
74
-
75
- const goBackSafe = () => {
76
- goBack();
77
- return true;
78
- };
79
-
80
- const showBaseLineDebug = context?.features?.showBaseLineDebug ?? false;
81
-
82
- return (
83
- <View
84
- style={[styles.container, showBaseLineDebug && styles.debugBaseLine]}
85
- >
86
- <View
87
- style={[
88
- Styles.flex,
89
- renderButtons && {
90
- maxWidth: screenWidth - leftPosition - 12 - headerRightWidth,
91
- },
92
- ]}
93
- >
94
- <Animated.View style={{ backgroundColor, borderRadius: Radius.XL }}>
95
- <InputSearch
96
- ref={ref}
97
- {...props}
98
- backgroundColor={'transparent'}
99
- showButtonText={false}
100
- />
101
- </Animated.View>
102
- </View>
103
- {renderButtons && typeof renderButtons === 'function' ? (
104
- renderButtons()
105
- ) : (
106
- <TouchableOpacity onPress={goBackSafe} style={styles.searchAction}>
107
- <Text typography={'action_default_bold'}>{buttonText}</Text>
108
- </TouchableOpacity>
109
- )}
110
- </View>
111
- );
112
- },
113
- );
114
-
115
- const styles = StyleSheet.create({
116
- container: {
117
- borderRadius: Radius.XL,
118
- flexDirection: 'row',
119
- alignItems: 'center',
120
- },
121
- searchAction: {
122
- marginLeft: Spacing.M,
123
- },
124
- debugBaseLine: { borderWidth: 1, borderColor: Colors.green_06 },
125
- });
126
-
127
- export { SearchHeader };
@@ -1,44 +0,0 @@
1
- import { NativeModules } from 'react-native';
2
- import { LocalizationObject } from './types';
3
- import defaultLanguage from '../Assets/language.json';
4
-
5
- class Localize {
6
- private assets: LocalizationObject;
7
- private readonly currentLanguage: 'en' | 'vi';
8
-
9
- constructor(assets: LocalizationObject) {
10
- this.assets = {
11
- vi: { ...defaultLanguage.vi, ...assets?.vi },
12
- en: { ...defaultLanguage.en, ...assets?.en },
13
- };
14
- this.currentLanguage = 'vi';
15
- if (NativeModules?.RNResource?.getResourceSync('language') === 'en') {
16
- this.currentLanguage = 'en';
17
- }
18
- }
19
-
20
- get getCurrentLanguage() {
21
- return this.currentLanguage;
22
- }
23
-
24
- get getAssets() {
25
- return this.assets;
26
- }
27
-
28
- translate(key: string) {
29
- return this.assets[this.currentLanguage]?.[key] || key;
30
- }
31
-
32
- translateData(data: { vi: string; en: string }) {
33
- return data[this.currentLanguage] ?? JSON.stringify(data);
34
- }
35
-
36
- addTranslations(translations: LocalizationObject) {
37
- this.assets = {
38
- vi: { ...translations?.vi, ...this.assets.vi },
39
- en: { ...translations?.en, ...this.assets.en },
40
- };
41
- }
42
- }
43
-
44
- export default Localize;
@@ -1,148 +0,0 @@
1
- import React, { useCallback, useContext, useEffect, useRef } from 'react';
2
- import {
3
- Animated,
4
- BackHandler,
5
- Easing,
6
- KeyboardAvoidingView,
7
- Modal as ModalRN,
8
- Platform,
9
- Pressable,
10
- StyleSheet,
11
- View,
12
- } from 'react-native';
13
-
14
- import { ApplicationContext } from '../Context';
15
- import { Styles } from '../Consts';
16
- import Navigation from './Navigation';
17
- import { ModalParams } from './types';
18
- import BottomSheet from './BottomSheet';
19
- import { runOnJS } from 'react-native-reanimated';
20
-
21
- const ModalScreen: React.FC<any> = props => {
22
- if (props.route?.params?.isBottomSheet) {
23
- return <BottomSheet {...props} />;
24
- }
25
- return <Modal {...props} />;
26
- };
27
-
28
- const Modal: React.FC<ModalParams> = props => {
29
- const { navigator } = useContext(ApplicationContext);
30
- const {
31
- screen,
32
- barrierDismissible,
33
- modalStyle,
34
- useNativeModal = false,
35
- } = props.route.params;
36
- const Component = useRef(screen).current;
37
- const opacity = useRef(new Animated.Value(0)).current;
38
- const scale = useRef(new Animated.Value(0.8)).current;
39
-
40
- const navigation = new Navigation(props.navigation);
41
- const params = {
42
- ...props.route.params,
43
- navigation,
44
- };
45
- delete params.screen;
46
- let Container: any = View;
47
- if (useNativeModal) {
48
- Container = ModalRN;
49
- }
50
-
51
- useEffect(() => {
52
- Animated.parallel([
53
- Animated.timing(opacity, {
54
- toValue: 1,
55
- duration: 250,
56
- useNativeDriver: true,
57
- }),
58
- Animated.timing(scale, {
59
- toValue: 1,
60
- duration: 250,
61
- easing: Easing.bezier(0.2, 0.0, 0, 1.0),
62
- useNativeDriver: true,
63
- }),
64
- ]).start();
65
-
66
- return () => {
67
- props.route.params?.onDismiss?.();
68
- };
69
- }, [opacity, props.route.params, scale]);
70
-
71
- const onDismiss = useCallback(
72
- (callback = () => {}, preventClose = false) => {
73
- if (preventClose) {
74
- return;
75
- }
76
- Animated.parallel([
77
- Animated.timing(opacity, {
78
- toValue: 0,
79
- duration: 200,
80
- useNativeDriver: true,
81
- }),
82
- Animated.timing(scale, {
83
- toValue: 0.8,
84
- duration: 200,
85
- easing: Easing.linear,
86
- useNativeDriver: true,
87
- }),
88
- ]).start(() => {
89
- navigator?.pop();
90
- runOnJS(callback)();
91
- });
92
- },
93
- [navigator, opacity, scale],
94
- );
95
-
96
- useEffect(() => {
97
- const backHandler = BackHandler.addEventListener(
98
- 'hardwareBackPress',
99
- () => {
100
- onDismiss(undefined, barrierDismissible);
101
- return true;
102
- },
103
- );
104
- return () => backHandler.remove();
105
- }, [barrierDismissible, onDismiss]);
106
-
107
- return (
108
- <Container
109
- transparent
110
- visible={true}
111
- onRequestClose={onDismiss}
112
- style={StyleSheet.absoluteFillObject}
113
- isModalKit={true}
114
- >
115
- <KeyboardAvoidingView
116
- style={Styles.flexCenter}
117
- behavior={Platform.OS === 'ios' ? 'padding' : undefined}
118
- >
119
- <Pressable
120
- style={StyleSheet.absoluteFillObject}
121
- onPress={() => onDismiss(undefined, barrierDismissible)}
122
- >
123
- <Animated.View style={[styles.overlayContent, { opacity }]} />
124
- </Pressable>
125
- <Animated.View
126
- style={[
127
- {
128
- opacity,
129
- transform: [{ scale }],
130
- },
131
- modalStyle,
132
- ]}
133
- >
134
- <Component {...params} onRequestClose={onDismiss} />
135
- </Animated.View>
136
- </KeyboardAvoidingView>
137
- </Container>
138
- );
139
- };
140
-
141
- const styles = StyleSheet.create({
142
- overlayContent: {
143
- flex: 1,
144
- backgroundColor: 'rgba(0, 0, 0, 0.6)',
145
- },
146
- });
147
-
148
- export default ModalScreen;
@@ -1,63 +0,0 @@
1
- import {NavigationProp} from '@react-navigation/native';
2
- import {NavigationOptions} from './types';
3
- import {getOptions} from './utils';
4
- import {StackNavigationOptions} from '@react-navigation/stack';
5
-
6
- export const WHITE_LIST = [
7
- 'vn.momo.appx',
8
- 'vn.momo.transactionhistory',
9
- 'vn.momo.promotionhub',
10
- 'vn.momo.payment',
11
- 'vn.momo.ekyc',
12
- ];
13
-
14
- class Navigation {
15
- instance: NavigationProp<any>;
16
- context: any;
17
-
18
- constructor(instance: any, context?: any) {
19
- this.instance = instance;
20
- this.context = context;
21
- }
22
-
23
- /**
24
- * navigation options filter by design system rule
25
- * @param params
26
- */
27
- private filterParams = (params: NavigationOptions) => {
28
- if (params.headerLeft) {
29
- console.warn('headerLeft not allow override render by design system!');
30
- delete params.headerLeft;
31
- }
32
-
33
- if (
34
- params.headerRight &&
35
- typeof params.headerRight !== 'object' &&
36
- !WHITE_LIST.includes(this.context?.appId)
37
- ) {
38
- console.warn('headerRight not allow type func render by design system!');
39
- delete params.headerRight;
40
- }
41
-
42
- if (
43
- params.headerTitle &&
44
- !['string', 'object'].includes(typeof params.headerTitle) &&
45
- !WHITE_LIST.includes(this.context?.appId)
46
- ) {
47
- console.warn('headerTitle not allow type func render by design system!');
48
- delete params.headerTitle;
49
- }
50
- return params;
51
- };
52
-
53
- /**
54
- * navigation setOptions support props NavigationOptions base on react-navigation options
55
- * @param params
56
- */
57
- setOptions = (params: NavigationOptions) => {
58
- const options = getOptions(this.filterParams(params));
59
- this.instance.setOptions(options as StackNavigationOptions);
60
- };
61
- }
62
-
63
- export default Navigation;
@@ -1,245 +0,0 @@
1
- import React, { useContext, useEffect, useRef, useState } from 'react';
2
- import {
3
- SafeAreaProvider,
4
- useSafeAreaInsets,
5
- } from 'react-native-safe-area-context';
6
- import {
7
- NavigationContainer as ReactNavigationContainer,
8
- NavigationIndependentTree,
9
- } from '@react-navigation/native';
10
- import {
11
- createStackNavigator,
12
- StackNavigationOptions,
13
- TransitionPresets,
14
- } from '@react-navigation/stack';
15
- import { DeviceEventEmitter } from 'react-native';
16
- import StackScreen from './StackScreen';
17
- import ModalScreen from './ModalScreen';
18
- import Navigator from './Navigator';
19
- import { getModalOptions, getStackOptions } from './utils';
20
- import { NavigationContainerProps } from './types';
21
- import { ApplicationContext, MiniAppContext } from '../Context';
22
- import Localize from './Localize';
23
- import { Colors, defaultTheme } from '../Consts';
24
- import { HeaderLeft } from './Components/HeaderLeft';
25
- import { HeaderRight } from './Components/HeaderRight';
26
- import { HeaderTitle } from './Components/HeaderTitle';
27
- import { HeaderBackground } from './Components/HeaderBackground';
28
-
29
- const Stack = createStackNavigator();
30
-
31
- const NavigationContainer: React.FC<NavigationContainerProps> = ({
32
- screen,
33
- theme = defaultTheme,
34
- options,
35
- maxApi,
36
- initialParams,
37
- localize = new Localize({ vi: {}, en: {} }),
38
- features = {
39
- enableBottomTabAnimation: true,
40
- enableHapticDialog: true,
41
- enableForceFoundationList: false,
42
- enableHapticBottomTab: true,
43
- },
44
- }) => {
45
- const context = useContext<any>(MiniAppContext);
46
- const [currentContext, setCurrentContext] = useState({});
47
-
48
- return (
49
- <SafeAreaProvider>
50
- <MiniAppContext.Provider
51
- value={{
52
- ...context,
53
- ...currentContext,
54
- features: {
55
- ...context?.features,
56
- ...features,
57
- },
58
- }}
59
- >
60
- <Navigation
61
- screen={screen}
62
- theme={theme}
63
- options={options}
64
- maxApi={maxApi}
65
- setCurrentContext={setCurrentContext}
66
- initialParams={initialParams}
67
- localize={localize}
68
- />
69
- </MiniAppContext.Provider>
70
- </SafeAreaProvider>
71
- );
72
- };
73
-
74
- const Navigation: React.FC<any> = ({
75
- screen,
76
- theme = defaultTheme,
77
- options,
78
- maxApi,
79
- initialParams,
80
- setCurrentContext,
81
- localize = new Localize({ vi: {}, en: {} }),
82
- }) => {
83
- const context = useContext<any>(MiniAppContext);
84
- const navigationRef = useRef<any>(null);
85
- const isReady = useRef(false);
86
- const navigator = useRef(new Navigator(navigationRef, isReady));
87
- const [showGrid, setShowGrid] = useState(false);
88
- const insets = useSafeAreaInsets();
89
-
90
- let headerBackground = context?.designSystemConfig?.config?.headerBar;
91
- let headerGradient = theme.colors?.gradient;
92
-
93
- if (theme.assets?.headerBackground) {
94
- headerBackground = theme.assets?.headerBackground;
95
- }
96
- if (context?.designSystemConfig?.config?.headerGradient) {
97
- headerGradient = context?.designSystemConfig?.config?.headerGradient;
98
- }
99
-
100
- /**
101
- * inject data for navigator
102
- */
103
- navigator.current.maxApi = maxApi;
104
-
105
- /**
106
- * handle mini language & listen change
107
- * engine only shake to enable grid view
108
- */
109
- useEffect(() => {
110
- const subscription = DeviceEventEmitter.addListener(
111
- 'onChangeGrid',
112
- enable => {
113
- setShowGrid(!!enable);
114
- },
115
- );
116
-
117
- return () => {
118
- subscription?.remove?.();
119
- };
120
- }, []);
121
-
122
- /**
123
- * translate context method
124
- * @param data
125
- */
126
- const translate = (data?: string | { vi: string; en: string }) => {
127
- if (data && typeof data !== 'string') {
128
- return localize?.translateData(data);
129
- }
130
- return localize?.translate(data as string);
131
- };
132
-
133
- navigator.current.setCurrentContext = setCurrentContext;
134
-
135
- return (
136
- <ApplicationContext.Provider
137
- value={{
138
- navigator: navigator.current,
139
- theme: {
140
- ...theme,
141
- colors: {
142
- ...theme.colors,
143
- gradient: headerGradient,
144
- },
145
- assets: {
146
- ...theme.assets,
147
- headerBackground,
148
- },
149
- },
150
- showGrid,
151
- translate,
152
- }}
153
- >
154
- <NavigationIndependentTree>
155
- <ReactNavigationContainer
156
- theme={{
157
- dark: false,
158
- colors: {
159
- primary: theme.colors.primary,
160
- background: theme.colors.background.default,
161
- card: theme.colors.background.surface,
162
- text: theme.colors.text.default,
163
- border: theme.colors.border.default,
164
- notification: theme.colors.error.primary,
165
- },
166
- fonts: {
167
- regular: {
168
- fontFamily: 'SFProText',
169
- fontWeight: '400',
170
- },
171
- medium: {
172
- fontFamily: 'SFProText',
173
- fontWeight: '400',
174
- },
175
- bold: {
176
- fontFamily: 'SFProText',
177
- fontWeight: '400',
178
- },
179
- heavy: {
180
- fontFamily: 'SFProText',
181
- fontWeight: '400',
182
- },
183
- },
184
- }}
185
- ref={navigationRef}
186
- onReady={() => {
187
- isReady.current = true;
188
- }}
189
- >
190
- <Stack.Navigator
191
- initialRouteName="Stack"
192
- screenOptions={{
193
- headerMode: 'screen',
194
- gestureEnabled: false,
195
- headerTitleAlign: 'center',
196
- headerTintColor: theme.colors.text.default,
197
- headerStyle: {
198
- height: 52 + insets.top,
199
- },
200
- }}
201
- >
202
- <Stack.Screen
203
- name="Stack"
204
- component={StackScreen}
205
- initialParams={{ screen, initialParams }}
206
- options={{
207
- ...getStackOptions(),
208
- ...(options as StackNavigationOptions),
209
- }}
210
- />
211
- <Stack.Screen
212
- name="Dialog"
213
- component={StackScreen}
214
- options={{
215
- headerTitleAlign: 'left',
216
- headerTitle: props => <HeaderTitle {...props} />,
217
- presentation: 'transparentModal',
218
- gestureEnabled: false,
219
- cardStyle: {
220
- backgroundColor: theme.colors.background.default,
221
- },
222
- headerLeft: (props: any) => <HeaderLeft {...props} />,
223
- headerBackground: (props: any) => (
224
- <HeaderBackground {...props} />
225
- ),
226
- headerRight: (props: any) => <HeaderRight {...props} />,
227
- headerTintColor: Colors.black_17,
228
- ...TransitionPresets.ModalTransition,
229
- }}
230
- initialParams={{ screen }}
231
- />
232
- <Stack.Screen
233
- name="Modal"
234
- component={ModalScreen}
235
- options={getModalOptions()}
236
- initialParams={{ screen }}
237
- />
238
- </Stack.Navigator>
239
- </ReactNavigationContainer>
240
- </NavigationIndependentTree>
241
- </ApplicationContext.Provider>
242
- );
243
- };
244
-
245
- export { ApplicationContext, NavigationContainer };