@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,644 +0,0 @@
1
- import { StackNavigationOptions } from '@react-navigation/stack';
2
- import { useHeaderHeight } from '@react-navigation/elements';
3
- import React, {
4
- forwardRef,
5
- Fragment,
6
- ReactNode,
7
- Ref,
8
- useCallback,
9
- useContext,
10
- useEffect,
11
- useImperativeHandle,
12
- useRef,
13
- } from 'react';
14
- import {
15
- Animated,
16
- KeyboardAvoidingView,
17
- NativeScrollEvent,
18
- NativeSyntheticEvent,
19
- Platform,
20
- ScrollView,
21
- ScrollViewProps,
22
- StatusBar,
23
- StatusBarStyle,
24
- useWindowDimensions,
25
- View,
26
- ViewProps,
27
- } from 'react-native';
28
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
29
- import { ApplicationContext, ScreenContext } from '../Context';
30
- import Navigation from '../Application/Navigation';
31
- import {
32
- AnimatedHeader,
33
- NavigationOptions,
34
- ScreenTrackingParams,
35
- SearchHeaderProps,
36
- } from '../Application/types';
37
- import { Colors, Spacing, Styles } from '../Consts';
38
- import { FloatingButton, FloatingButtonProps } from './FloatingButton';
39
- import styles from './styles';
40
- import { HeaderType } from './types';
41
- import { InputRef } from '../Input';
42
- import { exportHeaderTitle, getOptions } from '../Application/utils';
43
- import { validateChildren } from './utils';
44
- import Section from './Section';
45
- import {
46
- HeaderBackground,
47
- HeaderExtendHeader,
48
- HeaderLeft,
49
- HeaderTitle,
50
- SearchHeader,
51
- } from '../Application';
52
-
53
- export interface ScreenProps extends ViewProps {
54
- /**
55
- * ReactNode representing the content of the screen.
56
- */
57
- children: React.ReactNode;
58
- /**
59
- * Optional. Navigation object for handling navigation actions.
60
- */
61
- navigation?: Navigation;
62
-
63
- /**
64
- * Optional. If `true`, enable keyboard avoiding view for the screen.
65
- */
66
- enableKeyboardAvoidingView?: boolean;
67
-
68
- /**
69
- * Optional. If `true`, the screen content is scrollable.
70
- */
71
- scrollable?: boolean;
72
-
73
- /**
74
- * Optional. Set type of header.
75
- */
76
- headerType?: HeaderType;
77
-
78
- /**
79
- * Optional. Props for the animated component or bool used top navigation animated.
80
- */
81
- animatedHeader?: AnimatedHeader;
82
-
83
- /**
84
- * Optional. Props for the underlying ScrollView component when `scrollable` is `true`.
85
- */
86
- scrollViewProps?: ScrollViewProps;
87
-
88
- /**
89
- * Optional. ReactNode representing the header component of the screen.
90
- */
91
- headerComponent?: ReactNode;
92
-
93
- /**
94
- * Optional. ReactNode representing the footer component of the screen.
95
- */
96
- footerComponent?: ReactNode;
97
-
98
- /**
99
- * Optional. Background color of the screen.
100
- */
101
- backgroundColor?: string;
102
-
103
- /**
104
- * Optional. layout card offset overlap header banner.
105
- */
106
- layoutOffset?: -8 | -24 | -56;
107
-
108
- /**
109
- * Optional. Width of the right header.
110
- */
111
- headerRightWidth?: 0 | 73 | 110 | number;
112
-
113
- /**
114
- * Optional. Props for the floating action button.
115
- */
116
- floatingButtonProps?: Omit<FloatingButtonProps, 'animatedValue' | 'bottom'>;
117
-
118
- /**
119
- * Optional. Keyboard vertical offset.
120
- */
121
- keyboardVerticalOffset?: number;
122
-
123
- /**
124
- * Optional. If `true`, the screen content is using grid layout by span.
125
- */
126
- useGridLayout?: boolean;
127
-
128
- /**
129
- * Optional. specs for input search.
130
- */
131
- inputSearchProps?: SearchHeaderProps;
132
-
133
- /**
134
- * Optional. Ref for input search.
135
- */
136
- inputSearchRef?: Ref<InputRef>;
137
-
138
- /**
139
- * Optional. Animated value for header.
140
- */
141
- animatedValue?: Animated.Value;
142
-
143
- /**
144
- * Optional. If `true`, use shadow header.
145
- */
146
- useShadowHeader?: boolean;
147
-
148
- /**
149
- * Optional. Custom header Gradient Color.
150
- */
151
- gradientColor?: string;
152
-
153
- /**
154
- * Optional. Custom headerBackground Image
155
- */
156
- headerBackground?: string;
157
-
158
- /**
159
- * Optional. Custom tracking params
160
- */
161
- trackingParams?: ScreenTrackingParams;
162
- }
163
-
164
- const Screen = forwardRef(
165
- (
166
- {
167
- children,
168
- enableKeyboardAvoidingView = false,
169
- scrollable = false,
170
- navigation,
171
- animatedHeader,
172
- scrollViewProps,
173
- headerComponent: Header,
174
- footerComponent: Footer,
175
- layoutOffset = -56,
176
- headerRightWidth = 73,
177
- backgroundColor,
178
- headerType = 'default',
179
- floatingButtonProps,
180
- useGridLayout = true,
181
- useShadowHeader = true,
182
- keyboardVerticalOffset,
183
- inputSearchProps,
184
- inputSearchRef,
185
- animatedValue: customAnimatedValue,
186
- headerBackground,
187
- gradientColor,
188
- trackingParams,
189
- }: ScreenProps,
190
- ref: any,
191
- ) => {
192
- const screenRef = useRef<View | ScrollView>(null);
193
- const { width: widthDevice } = useWindowDimensions();
194
- const { theme } = useContext(ApplicationContext);
195
- const screen: any = useContext(ScreenContext);
196
- const insets = useSafeAreaInsets();
197
- const heightHeader = useHeaderHeight();
198
- const animatedValue = useRef<Animated.Value>(
199
- customAnimatedValue || new Animated.Value(0),
200
- );
201
- const currentTint = useRef<string | undefined>(undefined);
202
- const isTab = navigation?.instance?.getState?.()?.type === 'tab';
203
-
204
- let handleScroll;
205
- let Component: any = View;
206
-
207
- let keyboardOffset = heightHeader - Math.min(insets.bottom, 21);
208
- if (headerType === 'extended' || animatedHeader || inputSearchProps) {
209
- keyboardOffset = -Math.min(insets.bottom, 21);
210
- }
211
-
212
- /**
213
- * inject params for screen tracking
214
- */
215
- screen?.onSetParams?.(trackingParams);
216
-
217
- /**
218
- * export options for screen
219
- * @param headerType
220
- */
221
- const setHeaderType = useCallback(
222
- (headerType: HeaderType) => {
223
- let options: StackNavigationOptions;
224
- switch (headerType) {
225
- case 'none':
226
- options = {
227
- headerTransparent: true,
228
- headerBackground: () => null,
229
- headerShown: false,
230
- };
231
- break;
232
-
233
- case 'extended':
234
- options = {
235
- headerShown: true,
236
- headerTransparent: true,
237
- headerBackground: () => null,
238
- headerTitle: (props: any) => <HeaderTitle {...props} />,
239
- };
240
- if (inputSearchProps) {
241
- options = {
242
- headerShown: true,
243
- headerTransparent: true,
244
- headerBackground: () => null,
245
- headerTitle: (props: any) => (
246
- <HeaderTitle
247
- {...props}
248
- interpolate={{
249
- inputRange: [0, 50],
250
- outputRange: [1, 0],
251
- extrapolate: 'clamp',
252
- }}
253
- animatedValue={animatedValue.current}
254
- />
255
- ),
256
- };
257
- }
258
- break;
259
-
260
- default:
261
- options = {
262
- headerTransparent: false,
263
- headerTintColor: Colors.black_17,
264
- headerShown: true,
265
- headerBackground: (props: any) => (
266
- <HeaderBackground
267
- {...props}
268
- animatedValue={animatedValue.current}
269
- useShadowHeader={useShadowHeader}
270
- headerBackground={headerBackground}
271
- gradientColor={gradientColor}
272
- />
273
- ),
274
- headerTitle: (props: any) => <HeaderTitle {...props} />,
275
- };
276
- if (inputSearchProps) {
277
- options = {
278
- headerShown: true,
279
- headerTransparent: true,
280
- headerBackground: () => null,
281
- headerTitle: (props: any) => (
282
- <HeaderTitle
283
- {...props}
284
- interpolate={{
285
- inputRange: [0, 50],
286
- outputRange: [1, 0],
287
- extrapolate: 'clamp',
288
- }}
289
- animatedValue={animatedValue.current}
290
- />
291
- ),
292
- };
293
- }
294
- }
295
-
296
- navigation?.instance?.setOptions(options);
297
- },
298
- [
299
- gradientColor,
300
- headerBackground,
301
- inputSearchProps,
302
- navigation?.instance,
303
- useShadowHeader,
304
- ],
305
- );
306
-
307
- /**
308
- * export animatedHeader options for screen
309
- * @param animatedHeader
310
- */
311
- const setAnimatedHeader = useCallback(
312
- (animatedHeader: AnimatedHeader) => {
313
- let options: StackNavigationOptions;
314
- if (!currentTint.current) {
315
- currentTint.current = animatedHeader?.headerTintColor;
316
- }
317
-
318
- options = {
319
- headerTintColor: currentTint.current ?? Colors.black_17,
320
- headerTransparent: true,
321
- headerBackground: (props: any) => (
322
- <HeaderBackground
323
- {...props}
324
- animatedValue={animatedValue.current}
325
- useGradient={false}
326
- useShadowHeader={useShadowHeader}
327
- headerBackground={headerBackground}
328
- gradientColor={gradientColor}
329
- />
330
- ),
331
- headerTitle: (props: any) => {
332
- return <HeaderTitle {...props} />;
333
- },
334
- };
335
-
336
- if (animatedHeader.headerTitle) {
337
- options = {
338
- ...options,
339
- ...exportHeaderTitle(animatedHeader),
340
- };
341
- }
342
-
343
- navigation?.instance?.setOptions(options);
344
- },
345
- [gradientColor, headerBackground, navigation?.instance, useShadowHeader],
346
- );
347
-
348
- /**
349
- * export animatedHeader options for screen
350
- */
351
- const setAnimatedSearch = useCallback(() => {
352
- const options: StackNavigationOptions = {
353
- headerShown: true,
354
- headerTransparent: true,
355
- headerBackground: () => null,
356
- headerTitle: (props: any) => (
357
- <HeaderTitle
358
- {...props}
359
- interpolate={{
360
- inputRange: [0, 50],
361
- outputRange: [1, 0],
362
- extrapolate: 'clamp',
363
- }}
364
- animatedValue={animatedValue.current}
365
- />
366
- ),
367
- };
368
-
369
- navigation?.instance?.setOptions(options);
370
- }, [navigation?.instance]);
371
-
372
- /**
373
- * export search header
374
- */
375
- const setSearchHeader = (params: SearchHeaderProps) => {
376
- const searchWidth = widthDevice - 24;
377
- const options: StackNavigationOptions = {
378
- headerRight: undefined,
379
- headerTitleContainerStyle: {
380
- width: searchWidth,
381
- maxWidth: searchWidth,
382
- marginLeft: 0,
383
- marginEnd: 0,
384
- marginStart: 0,
385
- marginHorizontal: 0,
386
- marginVertical: 0,
387
- margin: 0,
388
- left: Spacing.M,
389
- },
390
- headerLeft: (props: any) =>
391
- params?.hiddenBack ? null : <HeaderLeft {...props} />,
392
- headerTitle: () => (
393
- <SearchHeader {...params} animatedValue={animatedValue.current} />
394
- ),
395
- };
396
-
397
- navigation?.instance?.setOptions(options);
398
- };
399
-
400
- useEffect(() => {
401
- const focus = navigation?.instance?.addListener?.('focus', () => {
402
- let barStyle: StatusBarStyle = 'dark-content';
403
- if (currentTint.current === Colors.black_01) {
404
- barStyle = 'light-content';
405
- }
406
- StatusBar.setBarStyle(barStyle, true);
407
- });
408
-
409
- if (animatedHeader) {
410
- setAnimatedHeader(animatedHeader);
411
- } else if (inputSearchProps) {
412
- setAnimatedSearch();
413
- } else {
414
- setHeaderType(headerType);
415
- }
416
-
417
- return () => {
418
- focus?.();
419
- };
420
- }, [
421
- headerType,
422
- animatedHeader,
423
- inputSearchProps,
424
- useShadowHeader,
425
- navigation?.instance,
426
- setAnimatedHeader,
427
- setAnimatedSearch,
428
- setHeaderType,
429
- ]);
430
-
431
- /**
432
- * expose ref for screen
433
- */
434
- useImperativeHandle(ref, () => {
435
- return Object.assign(screenRef.current || {}, {
436
- setOptions: (params: NavigationOptions) => {
437
- const options = getOptions(params, undefined);
438
- navigation?.instance?.setOptions(options);
439
- },
440
- setSearchHeader: setSearchHeader,
441
- });
442
- });
443
-
444
- /**
445
- * animated when use scroll && animated value
446
- */
447
- if (scrollable) {
448
- Component = Animated.ScrollView;
449
- handleScroll = Animated.event(
450
- [
451
- {
452
- nativeEvent: {
453
- contentOffset: { y: animatedValue.current as Animated.Value },
454
- },
455
- },
456
- ],
457
- {
458
- useNativeDriver: true,
459
- listener: (e: NativeSyntheticEvent<NativeScrollEvent>) => {
460
- scrollViewProps?.onScroll?.(e);
461
- if (animatedHeader) {
462
- const offsetY = e.nativeEvent.contentOffset.y;
463
- let color = animatedHeader?.headerTintColor ?? Colors.black_17;
464
- if (offsetY > 50) {
465
- color = Colors.black_17;
466
- }
467
- if (color !== currentTint.current) {
468
- currentTint.current = color;
469
- navigation?.setOptions({
470
- headerTintColor: color,
471
- });
472
-
473
- let barStyle: StatusBarStyle = 'dark-content';
474
- if (currentTint.current === Colors.black_01) {
475
- barStyle = 'light-content';
476
- }
477
- StatusBar.setBarStyle(barStyle, true);
478
- }
479
- }
480
- },
481
- },
482
- );
483
- }
484
-
485
- /**
486
- * handle scroll end
487
- * @param e
488
- */
489
- const handleScrollEnd = (e: NativeSyntheticEvent<NativeScrollEvent>) => {
490
- const offsetY = e.nativeEvent.contentOffset.y;
491
- if (inputSearchProps && offsetY < 100 && offsetY > 0) {
492
- Animated.timing(animatedValue.current, {
493
- toValue: 0,
494
- useNativeDriver: true,
495
- duration: 300,
496
- }).start();
497
- ref?.scrollTo?.({ y: 0, animated: true });
498
- }
499
- scrollViewProps?.onScrollEndDrag?.(e);
500
- };
501
-
502
- /**
503
- * render top navigation banner
504
- */
505
- const renderAnimatedHeader = () => {
506
- if (typeof animatedHeader?.component === 'function') {
507
- return (
508
- <View
509
- style={[styles.screenBanner, { maxHeight: 210 + layoutOffset }]}
510
- >
511
- {animatedHeader?.component({
512
- animatedValue: animatedValue.current,
513
- })}
514
- </View>
515
- );
516
- }
517
- };
518
-
519
- /**
520
- * build content for screen for grid rule
521
- */
522
- const renderContent = (children: any): any => {
523
- const results = validateChildren(children, [undefined]);
524
- if (Array.isArray(results)) {
525
- return results.map((item, index) => {
526
- const space = item?.props?.useMargin === false ? 0 : Spacing.M;
527
- if (item?.type === Fragment) {
528
- return renderContent(item?.props?.children);
529
- }
530
- if (item) {
531
- return (
532
- <View
533
- key={`ScreenItem${index}`}
534
- style={{
535
- marginTop: space,
536
- flex: item.props?.expanded ? 1 : undefined,
537
- }}
538
- onLayout={item.props?.onLayout}
539
- >
540
- {item}
541
- </View>
542
- );
543
- }
544
- });
545
- } else {
546
- const item: any = children;
547
- const space = item?.props?.useMargin === false ? 0 : Spacing.M;
548
- if (item?.type === Fragment) {
549
- return renderContent(item?.props?.children);
550
- }
551
- return (
552
- <View
553
- key={`ScreenItem`}
554
- style={{
555
- marginTop: space,
556
- flex: item?.props?.expanded ? 1 : undefined,
557
- }}
558
- onLayout={item?.props?.onLayout}
559
- >
560
- {children}
561
- </View>
562
- );
563
- }
564
- };
565
-
566
- return (
567
- <View
568
- style={[
569
- Styles.flex,
570
- {
571
- backgroundColor: backgroundColor ?? theme.colors.background.default,
572
- },
573
- ]}
574
- >
575
- <HeaderExtendHeader
576
- headerType={headerType}
577
- heightHeader={heightHeader}
578
- headerRightWidth={headerRightWidth}
579
- animatedValue={animatedValue.current}
580
- inputSearchProps={inputSearchProps}
581
- navigation={navigation}
582
- inputSearchRef={inputSearchRef}
583
- useShadowHeader={useShadowHeader}
584
- gradientColor={gradientColor}
585
- headerBackground={headerBackground}
586
- />
587
-
588
- <KeyboardAvoidingView
589
- style={Styles.flex}
590
- enabled={enableKeyboardAvoidingView}
591
- keyboardVerticalOffset={keyboardVerticalOffset ?? keyboardOffset}
592
- behavior={Platform.select({
593
- ios: 'padding',
594
- android: undefined,
595
- })}
596
- >
597
- {Header}
598
-
599
- <Component
600
- {...scrollViewProps}
601
- ref={screenRef}
602
- showsVerticalScrollIndicator={false}
603
- onScroll={handleScroll}
604
- onScrollEndDrag={handleScrollEnd}
605
- scrollEventThrottle={16}
606
- style={Styles.flex}
607
- >
608
- {renderAnimatedHeader()}
609
-
610
- {useGridLayout ? renderContent(children) : children}
611
- </Component>
612
-
613
- {floatingButtonProps && (
614
- <View>
615
- <FloatingButton
616
- {...floatingButtonProps}
617
- animatedValue={animatedValue.current}
618
- bottom={
619
- Footer || isTab ? 12 : Math.min(insets.bottom, 21) + Spacing.S
620
- }
621
- />
622
- </View>
623
- )}
624
-
625
- {Footer && (
626
- <View
627
- style={[
628
- styles.shadow,
629
- {
630
- paddingBottom: Math.min(insets.bottom, 21) + Spacing.S,
631
- backgroundColor: theme.colors.background.surface,
632
- },
633
- ]}
634
- >
635
- <Section>{Footer}</Section>
636
- </View>
637
- )}
638
- </KeyboardAvoidingView>
639
- </View>
640
- );
641
- },
642
- );
643
-
644
- export default Screen;