@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,218 +0,0 @@
1
- import React, {
2
- FC,
3
- useContext,
4
- useEffect,
5
- useRef,
6
- useState,
7
- useCallback,
8
- Ref,
9
- } from 'react';
10
- import { Animated, LayoutChangeEvent, ScrollView, View } from 'react-native';
11
- import { Tab, TabBarProps } from '../types';
12
- import styles from '../styles';
13
- import { ApplicationContext } from '@momo-kits/foundation';
14
- import TabItem from '../tabItem/TabItem';
15
-
16
- const ScrollableTabBar: FC<TabBarProps> = ({
17
- tabs = [],
18
- onPressTabItem,
19
- selectedIndex,
20
- selectedColor,
21
- unselectedColor,
22
- direction,
23
- }) => {
24
- const { theme } = useContext(ApplicationContext);
25
- const [itemWidthMap, setItemWidthMap] = useState<
26
- { width: number; x: number }[]
27
- >([]);
28
- const animatedWidth = useRef(new Animated.Value(0)).current;
29
- const animX = useRef(new Animated.Value(0)).current;
30
-
31
- const scrollViewRef = useRef<ScrollView>(null);
32
- const contentRef = useRef<View>(null);
33
- const itemRefs = useRef<Array<Ref<View> | null>>([]);
34
-
35
- const setMeasured = useCallback((index: number, width: number, x: number) => {
36
- setItemWidthMap(prev => {
37
- const next = prev.slice();
38
- next[index] = { width, x };
39
- return next;
40
- });
41
- }, []);
42
-
43
- const measureIndex = useCallback(
44
- (index: number, done?: () => void) => {
45
- const item = itemRefs.current[index] as any;
46
- const container = contentRef.current as any;
47
- if (!item || !container) return;
48
-
49
- if (item?.measureLayout) {
50
- item.measureLayout(
51
- container,
52
- (x: number, _y: number, width: number) => {
53
- setMeasured(index, width, x);
54
- done?.();
55
- },
56
- () => {
57
- item?.measure?.(
58
- (
59
- _x: number,
60
- _y: number,
61
- w: number,
62
- _h: number,
63
- pageX: number,
64
- ) => {
65
- container?.measure?.(
66
- (
67
- _cx: number,
68
- _cy: number,
69
- _cw: number,
70
- _ch: number,
71
- cPageX: number,
72
- ) => {
73
- setMeasured(index, w, pageX - cPageX);
74
- done?.();
75
- },
76
- );
77
- },
78
- );
79
- },
80
- );
81
- }
82
- },
83
- [setMeasured],
84
- );
85
-
86
- const ensureMeasured = useCallback(
87
- (index: number, callback?: () => void) => {
88
- if (itemWidthMap[index]) {
89
- callback?.();
90
- return;
91
- }
92
- measureIndex(index, callback);
93
- },
94
- [itemWidthMap, measureIndex],
95
- );
96
-
97
- const moveIndicator = useCallback(() => {
98
- const w = itemWidthMap[selectedIndex]?.width ?? 0;
99
- const x = itemWidthMap[selectedIndex]?.x ?? 0;
100
- Animated.parallel([
101
- Animated.timing(animatedWidth, {
102
- toValue: w,
103
- duration: 250,
104
- useNativeDriver: false,
105
- }),
106
- Animated.timing(animX, {
107
- toValue: x,
108
- duration: 250,
109
- useNativeDriver: false,
110
- }),
111
- ]).start();
112
- }, [animatedWidth, animX, itemWidthMap, selectedIndex]);
113
-
114
- const onLayout = useCallback(
115
- (e: LayoutChangeEvent, index: number) => {
116
- const { width, x } = e.nativeEvent.layout;
117
- if (width != null && x != null) setMeasured(index, width, x);
118
- },
119
- [setMeasured],
120
- );
121
-
122
- const scrollToIndex = useCallback(
123
- (index: number) => {
124
- const targetIndex = Math.max(0, index - 1);
125
- const pos = itemWidthMap[targetIndex];
126
- if (!pos) return;
127
- scrollViewRef.current?.scrollTo({ x: pos.x, animated: true });
128
- },
129
- [itemWidthMap],
130
- );
131
-
132
- const _onPressTabItem = useCallback(
133
- (index: number) => {
134
- ensureMeasured(index, () => {
135
- scrollToIndex(index);
136
- onPressTabItem?.(index);
137
- });
138
- },
139
- [ensureMeasured, scrollToIndex, onPressTabItem],
140
- );
141
-
142
- useEffect(() => {
143
- const id = requestAnimationFrame(() => {
144
- tabs.forEach((_, i) => measureIndex(i));
145
- });
146
- return () => cancelAnimationFrame(id);
147
- }, [tabs, measureIndex]);
148
-
149
- useEffect(() => {
150
- ensureMeasured(selectedIndex, () => {
151
- moveIndicator();
152
- scrollToIndex(selectedIndex);
153
- });
154
- }, [selectedIndex, ensureMeasured, moveIndicator, scrollToIndex]);
155
-
156
- const renderItem = (params: { item: Tab; index: number }) => {
157
- const { item, index } = params;
158
- const isActive = selectedIndex === index;
159
-
160
- return (
161
- <View
162
- key={`tab-view-item-wrapper-${index}`}
163
- ref={itemRefs.current[index]}
164
- collapsable={false}
165
- onLayout={e => onLayout(e, index)}
166
- style={styles.tabItemWrapper}
167
- >
168
- <TabItem
169
- key={`Tab View Item ${item.title}-${index}`}
170
- onPressTabItem={() => {
171
- _onPressTabItem(index);
172
- }}
173
- active={isActive}
174
- tab={item}
175
- selectedColor={selectedColor}
176
- unselectedColor={unselectedColor}
177
- direction={direction}
178
- />
179
- </View>
180
- );
181
- };
182
-
183
- return (
184
- <ScrollView
185
- ref={scrollViewRef}
186
- horizontal
187
- showsHorizontalScrollIndicator={false}
188
- contentContainerStyle={{ position: 'relative' }}
189
- style={[
190
- styles.tabBar,
191
- {
192
- borderColor: theme.colors.border.default,
193
- backgroundColor: theme.colors.background.surface,
194
- },
195
- ]}
196
- >
197
- <View
198
- ref={contentRef}
199
- collapsable={false}
200
- style={{ position: 'relative', flexDirection: 'row' }}
201
- >
202
- {tabs.map((item, index) => renderItem({ item, index }))}
203
- <Animated.View
204
- style={[
205
- styles.indicator,
206
- {
207
- left: animX,
208
- width: animatedWidth,
209
- backgroundColor: selectedColor,
210
- },
211
- ]}
212
- />
213
- </View>
214
- </ScrollView>
215
- );
216
- };
217
-
218
- export default ScrollableTabBar;
@@ -1,67 +0,0 @@
1
- import React, {FC, useContext} from 'react';
2
- import {Animated, View} from 'react-native';
3
- import {TabBarProps} from '../types';
4
- import TabItem from '../tabItem/TabItem';
5
- import styles from '../styles';
6
- import {ApplicationContext, Spacing} from '@momo-kits/foundation';
7
-
8
- const TabBar: FC<TabBarProps> = ({
9
- tabs = [],
10
- selectedIndex,
11
- onPressTabItem,
12
- containerWidth = 0,
13
- scrollX,
14
- direction,
15
- selectedColor,
16
- unselectedColor,
17
- }) => {
18
- const {theme} = useContext(ApplicationContext);
19
- const itemWidth = containerWidth / tabs.length;
20
-
21
- return (
22
- <View
23
- style={[
24
- styles.tabBar,
25
- {
26
- borderColor: theme.colors.border.default,
27
- backgroundColor: theme.colors.background.surface,
28
- },
29
- ]}>
30
- {tabs.map((tab, index) => {
31
- return (
32
- <TabItem
33
- key={`Tab View Item ${tab.title}-${index}`}
34
- width={itemWidth}
35
- onPressTabItem={() => {
36
- onPressTabItem?.(index);
37
- }}
38
- active={selectedIndex === index}
39
- tab={tab}
40
- direction={direction}
41
- selectedColor={selectedColor}
42
- unselectedColor={unselectedColor}
43
- />
44
- );
45
- })}
46
- <Animated.View
47
- style={[
48
- styles.indicator,
49
- {
50
- left: scrollX.interpolate({
51
- inputRange: [0, tabs.length - 1],
52
- outputRange: [
53
- Spacing.XS,
54
- (tabs.length - 1) * itemWidth + Spacing.XS,
55
- ],
56
- extrapolate: 'clamp',
57
- }),
58
- width: itemWidth - Spacing.XS * 2,
59
- backgroundColor: selectedColor,
60
- },
61
- ]}
62
- />
63
- </View>
64
- );
65
- };
66
-
67
- export default TabBar;
@@ -1,118 +0,0 @@
1
- import React, { FC, useContext, useMemo } from 'react';
2
- import { TouchableOpacity, View } from 'react-native';
3
- import { TabItemProps } from '../types';
4
- import styles from '../styles';
5
- import {
6
- Badge,
7
- BadgeDot,
8
- Colors,
9
- Icon,
10
- MiniAppContext,
11
- ScreenContext,
12
- Spacing,
13
- Text,
14
- useScaleSize,
15
- } from '@momo-kits/foundation';
16
-
17
- const CardTabItem: FC<TabItemProps> = ({
18
- tab,
19
- active,
20
- onPressTabItem,
21
- width,
22
- selectedColor,
23
- unselectedColor,
24
- }) => {
25
- const {
26
- title,
27
- icon,
28
- renderIcon,
29
- showDot = false,
30
- dotSize = 'small',
31
- badgeValue,
32
- accessibilityLabel,
33
- } = tab;
34
- const color = active ? selectedColor : unselectedColor;
35
-
36
- const app = useContext<any>(MiniAppContext);
37
- const screen = useContext<any>(ScreenContext);
38
-
39
- const componentName = 'CardTabItem';
40
-
41
- const componentId = useMemo(() => {
42
- if (accessibilityLabel) {
43
- return accessibilityLabel;
44
- }
45
- let id = `${app.appId}/${app.code}/${screen.screenName}/${componentName}/${title}`;
46
- return id;
47
- }, [accessibilityLabel, app.appId, app.code, screen.screenName, title]);
48
-
49
- const renderIconTabItem = () => {
50
- return (
51
- <>
52
- {typeof renderIcon === 'function' && (
53
- <View
54
- style={[
55
- styles.icon,
56
- styles.iconHolder,
57
- { marginRight: Spacing.XS },
58
- ]}
59
- >
60
- {renderIcon(active)}
61
- </View>
62
- )}
63
- {!renderIcon && !!icon && (
64
- <Icon
65
- color={color}
66
- style={[styles.icon, { marginRight: Spacing.XS }]}
67
- source={icon}
68
- />
69
- )}
70
- </>
71
- );
72
- };
73
-
74
- return (
75
- <View style={styles.cardTabItemWrapper}>
76
- <TouchableOpacity
77
- onPress={onPressTabItem}
78
- style={[
79
- styles.cardTabItem,
80
- {
81
- width,
82
- },
83
- ]}
84
- accessibilityLabel={componentId}
85
- accessibilityState={{ checked: active }}
86
- >
87
- {renderIconTabItem()}
88
- <Text
89
- numberOfLines={1}
90
- style={[styles.textCenter, { flexShrink: 1 }]}
91
- typography={'body_default_regular'}
92
- accessibilityLabel={`${componentId}|text`}
93
- >
94
- {title}
95
- </Text>
96
- {showDot && (
97
- <BadgeDot
98
- size={dotSize}
99
- style={{
100
- marginLeft: Spacing.XS,
101
- }}
102
- />
103
- )}
104
- {!showDot && badgeValue && (
105
- <View>
106
- <Badge
107
- label={badgeValue}
108
- style={{ marginLeft: Spacing.XS }}
109
- accessibilityLabel={`${componentId}|badge`}
110
- />
111
- </View>
112
- )}
113
- </TouchableOpacity>
114
- </View>
115
- );
116
- };
117
-
118
- export default CardTabItem;
@@ -1,180 +0,0 @@
1
- import React, { FC, useContext, useMemo } from 'react';
2
- import { TouchableOpacity, View } from 'react-native';
3
- import { TabItemProps } from '../types';
4
- import {
5
- Badge,
6
- BadgeDot,
7
- Icon,
8
- MiniAppContext,
9
- useScaleSize,
10
- ScreenContext,
11
- Spacing,
12
- Text,
13
- Typography,
14
- } from '@momo-kits/foundation';
15
- import styles from '../styles';
16
-
17
- const TabItem: FC<TabItemProps> = ({
18
- tab,
19
- active,
20
- onPressTabItem,
21
- width,
22
- direction,
23
- selectedColor,
24
- unselectedColor,
25
- }) => {
26
- const {
27
- title,
28
- icon,
29
- showDot = false,
30
- dotSize = 'small',
31
- badgeValue,
32
- renderIcon,
33
- accessibilityLabel,
34
- } = tab;
35
- const scaledHeight = useScaleSize(68);
36
- const typography: Typography = active
37
- ? 'header_s_semibold'
38
- : 'body_default_regular';
39
- const color = active ? selectedColor : unselectedColor;
40
- const dotStyle = dotSize === 'large' ? styles.dot : styles.dotSmall;
41
- const app = useContext<any>(MiniAppContext);
42
- const screen = useContext<any>(ScreenContext);
43
- const size48 = useScaleSize(48);
44
-
45
- const componentName = 'TabItem';
46
-
47
- const componentId = useMemo(() => {
48
- if (accessibilityLabel) {
49
- return accessibilityLabel;
50
- }
51
-
52
- return `${app.appId}/${app.code}/${screen.screenName}/${componentName}/${title}`;
53
- }, [accessibilityLabel, app.appId, app.code, screen.screenName, title]);
54
-
55
- const renderRowItem = () => {
56
- return (
57
- <TouchableOpacity
58
- accessibilityLabel={componentId}
59
- accessibilityState={{ checked: active }}
60
- style={[
61
- styles.tabItem,
62
- {
63
- width,
64
- height: size48,
65
- flexDirection: 'row',
66
- overflow: 'hidden',
67
- paddingVertical: Spacing.M,
68
- paddingHorizontal: Spacing.M,
69
- },
70
- ]}
71
- onPress={onPressTabItem}
72
- >
73
- {renderIcon && typeof renderIcon === 'function' && (
74
- <View
75
- style={[styles.icon, styles.iconHolder, { marginRight: Spacing.S }]}
76
- >
77
- {renderIcon(active)}
78
- </View>
79
- )}
80
- {!renderIcon && !!icon && (
81
- <Icon
82
- style={[styles.icon, { marginRight: Spacing.S }]}
83
- source={icon}
84
- color={color}
85
- />
86
- )}
87
- <Text
88
- numberOfLines={1}
89
- typography={typography}
90
- color={color}
91
- style={{ flexShrink: 1 }}
92
- accessibilityLabel={`${componentId}|text`}
93
- >
94
- {title}
95
- </Text>
96
- {showDot && (
97
- <BadgeDot size={dotSize} style={{ marginLeft: Spacing.XS }} />
98
- )}
99
- {!showDot && badgeValue && (
100
- <View>
101
- <Badge
102
- label={badgeValue}
103
- style={{ marginLeft: Spacing.XS }}
104
- accessibilityLabel={`${componentId}|badge`}
105
- />
106
- </View>
107
- )}
108
- </TouchableOpacity>
109
- );
110
- };
111
-
112
- const renderColumnItem = () => {
113
- return (
114
- <TouchableOpacity
115
- style={[
116
- styles.tabItem,
117
- {
118
- width,
119
- height: scaledHeight,
120
- flexDirection: 'column',
121
- overflow: 'hidden',
122
- paddingHorizontal: Spacing.M,
123
- paddingVertical: Spacing.M,
124
- },
125
- ]}
126
- onPress={onPressTabItem}
127
- accessibilityLabel={componentId}
128
- accessibilityState={{ checked: active }}
129
- >
130
- <View>
131
- {renderIcon && typeof renderIcon === 'function' && (
132
- <View
133
- style={[
134
- styles.icon,
135
- styles.iconHolder,
136
- { marginBottom: Spacing.XS },
137
- ]}
138
- >
139
- {renderIcon(active)}
140
- </View>
141
- )}
142
- {!renderIcon && !!icon && (
143
- <Icon
144
- style={[
145
- styles.icon,
146
- {
147
- marginBottom: Spacing.XS,
148
- },
149
- ]}
150
- source={icon}
151
- color={color}
152
- />
153
- )}
154
- {(renderIcon || !!icon) && showDot && (
155
- <BadgeDot style={dotStyle} size={dotSize} />
156
- )}
157
- {(renderIcon || !!icon) && !showDot && badgeValue && (
158
- <Badge
159
- label={badgeValue}
160
- style={styles.badge}
161
- accessibilityLabel={`${componentId}|badge`}
162
- />
163
- )}
164
- </View>
165
- <Text
166
- numberOfLines={1}
167
- typography={typography}
168
- color={color}
169
- accessibilityLabel={`${componentId}|text`}
170
- >
171
- {title}
172
- </Text>
173
- </TouchableOpacity>
174
- );
175
- };
176
-
177
- return direction === 'row' ? renderRowItem() : renderColumnItem();
178
- };
179
-
180
- export default TabItem;