@momo-kits/native-kits 0.157.1-beta.9-debug → 0.157.1-com.1-debug

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 (369) hide show
  1. package/compose/build.gradle.kts +1 -1
  2. package/compose/compose.podspec +1 -1
  3. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +157 -0
  4. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +123 -0
  5. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +224 -0
  6. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +108 -0
  7. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +350 -0
  8. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +87 -0
  9. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +360 -0
  10. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +256 -0
  11. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +494 -0
  12. package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +131 -0
  13. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +215 -0
  14. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +449 -0
  15. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +21 -7
  16. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +192 -0
  17. package/gradle.properties +1 -1
  18. package/ios/Input/Input.swift +4 -0
  19. package/local.properties +2 -2
  20. package/package.json +1 -1
  21. package/src/doctor/README.md +73 -0
  22. package/src/doctor/package-lock.json +885 -0
  23. package/src/doctor/package.json +44 -0
  24. package/src/doctor/publish.sh +27 -0
  25. package/src/doctor/src/Users.json +112 -0
  26. package/src/doctor/src/Whitelist.json +6 -0
  27. package/src/doctor/src/commands/check.ts +81 -0
  28. package/src/doctor/src/commands/doctor.ts +193 -0
  29. package/src/doctor/src/index.ts +35 -0
  30. package/src/doctor/src/logger.ts +84 -0
  31. package/src/doctor/src/task/native.ts +21 -0
  32. package/src/doctor/src/task/utils.ts +20 -0
  33. package/src/doctor/src/utils/checkCoreDependencies.ts +138 -0
  34. package/src/doctor/src/utils/checkDeletedPackage.ts +53 -0
  35. package/src/doctor/src/utils/checkDeprecatedPackages.ts +168 -0
  36. package/src/doctor/src/utils/checkDeprecatedVersion.ts +60 -0
  37. package/src/doctor/src/utils/checkShareDependencies.ts +251 -0
  38. package/src/doctor/src/utils/checkWrongVersionCommunityPackage.ts +64 -0
  39. package/src/doctor/src/utils/getErrorMessage.ts +84 -0
  40. package/src/doctor/src/utils/scanComponentUsage.ts +206 -0
  41. package/src/doctor/src/utils/scanFoundationImports.ts +169 -0
  42. package/src/doctor/src/utils/scanMaxApiUsage.ts +86 -0
  43. package/src/doctor/src/utils/scanNativeModulesUsage.ts +78 -0
  44. package/src/doctor/src/utils/sendMessage.ts +28 -0
  45. package/src/doctor/tsconfig.json +14 -0
  46. package/src/doctor/yarn.lock +492 -0
  47. package/src/foundations/Application/BottomSheet.tsx +358 -0
  48. package/src/foundations/Application/BottomTab/BottomTabBar.tsx +320 -0
  49. package/src/foundations/Application/BottomTab/CustomBottomTabItem.tsx +155 -0
  50. package/src/foundations/Application/BottomTab/TabBarIcon.tsx +113 -0
  51. package/src/foundations/Application/BottomTab/index.tsx +449 -0
  52. package/src/foundations/Application/Components/BackgroundImageView.tsx +126 -0
  53. package/src/foundations/Application/Components/HeaderAnimated.tsx +69 -0
  54. package/src/foundations/Application/Components/HeaderBackground.tsx +83 -0
  55. package/src/foundations/Application/Components/HeaderExtendHeader.tsx +225 -0
  56. package/src/foundations/Application/Components/HeaderLeft.tsx +93 -0
  57. package/src/foundations/Application/Components/HeaderRight.tsx +444 -0
  58. package/src/foundations/Application/Components/HeaderTitle.tsx +596 -0
  59. package/src/foundations/Application/Components/NavigationButton.tsx +76 -0
  60. package/src/foundations/Application/Components/SearchHeader.tsx +127 -0
  61. package/src/foundations/Application/Localize.ts +44 -0
  62. package/src/foundations/Application/ModalScreen.tsx +148 -0
  63. package/src/foundations/Application/Navigation.ts +63 -0
  64. package/src/foundations/Application/NavigationContainer.tsx +245 -0
  65. package/src/foundations/Application/Navigator.ts +171 -0
  66. package/src/foundations/Application/ScaleSizeProvider.tsx +16 -0
  67. package/src/foundations/Application/StackScreen.tsx +420 -0
  68. package/src/foundations/Application/TooltipPortal.tsx +127 -0
  69. package/src/foundations/Application/WidgetContainer.tsx +162 -0
  70. package/src/foundations/Application/index.ts +34 -0
  71. package/src/foundations/Application/types.ts +350 -0
  72. package/src/foundations/Application/utils.tsx +239 -0
  73. package/src/foundations/Assets/DotAnimation.json +256 -0
  74. package/src/foundations/Assets/SpinnerAnimation.json +1027 -0
  75. package/src/foundations/Assets/icon.json +4052 -0
  76. package/src/foundations/Assets/icon_bank.json +506 -0
  77. package/src/foundations/Assets/language.json +208 -0
  78. package/src/foundations/Assets/lottie_circle_loader.json +1 -0
  79. package/src/foundations/Assets/pinAnimation.json +1 -0
  80. package/src/foundations/Assets/unpinAnimation.json +1 -0
  81. package/src/foundations/Badge/Badge.tsx +104 -0
  82. package/src/foundations/Badge/BadgeDot.tsx +35 -0
  83. package/src/foundations/Badge/BadgeDotAnimation.tsx +95 -0
  84. package/src/foundations/Badge/BadgeRibbon.tsx +112 -0
  85. package/src/foundations/Badge/Shape.tsx +29 -0
  86. package/src/foundations/Badge/index.tsx +8 -0
  87. package/src/foundations/Badge/styles.ts +125 -0
  88. package/src/foundations/Badge/types.ts +68 -0
  89. package/src/foundations/Button/index.tsx +371 -0
  90. package/src/foundations/Button/styles.ts +65 -0
  91. package/src/foundations/CheckBox/index.tsx +104 -0
  92. package/src/foundations/CheckBox/styles.ts +17 -0
  93. package/src/foundations/CheckBox/types.ts +37 -0
  94. package/src/foundations/Consts/colors+spacing+radius.ts +232 -0
  95. package/src/foundations/Consts/index.ts +4 -0
  96. package/src/foundations/Consts/styles.ts +52 -0
  97. package/src/foundations/Consts/theme.ts +121 -0
  98. package/src/foundations/Context/index.ts +27 -0
  99. package/src/foundations/Divider/DashDivider.tsx +46 -0
  100. package/src/foundations/Divider/index.tsx +45 -0
  101. package/src/foundations/FoundationList/index.tsx +12 -0
  102. package/src/foundations/FoundationList/types.ts +7 -0
  103. package/src/foundations/Icon/index.tsx +57 -0
  104. package/src/foundations/Icon/types.ts +32 -0
  105. package/src/foundations/IconButton/index.tsx +144 -0
  106. package/src/foundations/IconButton/styles.ts +20 -0
  107. package/src/foundations/Image/index.tsx +115 -0
  108. package/src/foundations/Image/styles.ts +7 -0
  109. package/src/foundations/Image/types.ts +7 -0
  110. package/src/foundations/Input/Input.tsx +280 -0
  111. package/src/foundations/Input/InputDropDown.tsx +161 -0
  112. package/src/foundations/Input/InputMoney.tsx +325 -0
  113. package/src/foundations/Input/InputOTP.tsx +299 -0
  114. package/src/foundations/Input/InputPhoneNumber.tsx +287 -0
  115. package/src/foundations/Input/InputSearch.tsx +351 -0
  116. package/src/foundations/Input/InputTextArea.tsx +218 -0
  117. package/src/foundations/Input/SystemTextInput.tsx +44 -0
  118. package/src/foundations/Input/TextTyping.tsx +115 -0
  119. package/src/foundations/Input/common.tsx +243 -0
  120. package/src/foundations/Input/index.tsx +373 -0
  121. package/src/foundations/Input/styles.ts +226 -0
  122. package/src/foundations/Input/utils.ts +97 -0
  123. package/src/foundations/Layout/Card.tsx +108 -0
  124. package/src/foundations/Layout/FloatingButton.tsx +179 -0
  125. package/src/foundations/Layout/GridSystem.tsx +137 -0
  126. package/src/foundations/Layout/Item.tsx +59 -0
  127. package/src/foundations/Layout/ItemList.tsx +66 -0
  128. package/src/foundations/Layout/ItemSectionList.tsx +40 -0
  129. package/src/foundations/Layout/Screen.tsx +644 -0
  130. package/src/foundations/Layout/Section.tsx +103 -0
  131. package/src/foundations/Layout/TrackingScope.tsx +18 -0
  132. package/src/foundations/Layout/index.ts +34 -0
  133. package/src/foundations/Layout/styles.ts +95 -0
  134. package/src/foundations/Layout/types.ts +40 -0
  135. package/src/foundations/Layout/utils.ts +47 -0
  136. package/src/foundations/Loader/DotLoader.tsx +37 -0
  137. package/src/foundations/Loader/Loader.tsx +13 -0
  138. package/src/foundations/Loader/ProgressBar.tsx +45 -0
  139. package/src/foundations/Loader/Spinner.tsx +29 -0
  140. package/src/foundations/Loader/index.tsx +6 -0
  141. package/src/foundations/Loader/styles.ts +10 -0
  142. package/src/foundations/Loader/types.ts +35 -0
  143. package/src/foundations/Loader/utils.ts +25 -0
  144. package/src/foundations/Pagination/Dot.tsx +19 -0
  145. package/src/foundations/Pagination/PaginationDot.tsx +44 -0
  146. package/src/foundations/Pagination/PaginationNumber.tsx +31 -0
  147. package/src/foundations/Pagination/PaginationScroll.tsx +99 -0
  148. package/src/foundations/Pagination/PaginationWhiteDot.tsx +43 -0
  149. package/src/foundations/Pagination/index.tsx +25 -0
  150. package/src/foundations/Pagination/styles.ts +51 -0
  151. package/src/foundations/Pagination/types.ts +40 -0
  152. package/src/foundations/Popup/PopupNotify.tsx +276 -0
  153. package/src/foundations/Popup/PopupPromotion.tsx +118 -0
  154. package/src/foundations/Popup/index.tsx +4 -0
  155. package/src/foundations/Popup/types.ts +96 -0
  156. package/src/foundations/Radio/index.tsx +108 -0
  157. package/src/foundations/Radio/styles.ts +15 -0
  158. package/src/foundations/Radio/types.ts +31 -0
  159. package/src/foundations/Skeleton/index.tsx +118 -0
  160. package/src/foundations/Skeleton/styles.ts +5 -0
  161. package/src/foundations/Skeleton/types.ts +6 -0
  162. package/src/foundations/Switch/index.tsx +68 -0
  163. package/src/foundations/Switch/styles.ts +25 -0
  164. package/src/foundations/Switch/types.ts +19 -0
  165. package/src/foundations/Tag/index.tsx +128 -0
  166. package/src/foundations/Tag/types.ts +41 -0
  167. package/src/foundations/Text/index.tsx +241 -0
  168. package/src/foundations/Text/styles.ts +78 -0
  169. package/src/foundations/Text/types.ts +53 -0
  170. package/src/foundations/Text/utils.ts +63 -0
  171. package/src/foundations/Title/index.tsx +285 -0
  172. package/src/foundations/Title/styles.ts +55 -0
  173. package/src/foundations/Title/types.ts +21 -0
  174. package/src/foundations/index.ts +50 -0
  175. package/src/foundations/package.json +35 -0
  176. package/src/foundations/publish.sh +17 -0
  177. package/src/libs/AutoComplete/index.tsx +88 -0
  178. package/src/libs/AutoComplete/package.json +16 -0
  179. package/src/libs/AutoComplete/publish.sh +16 -0
  180. package/src/libs/AutoComplete/styles.ts +15 -0
  181. package/src/libs/AutoComplete/types.ts +60 -0
  182. package/src/libs/Avatar/index.tsx +146 -0
  183. package/src/libs/Avatar/package.json +16 -0
  184. package/src/libs/Avatar/publish.sh +20 -0
  185. package/src/libs/Avatar/styles.ts +18 -0
  186. package/src/libs/Avatar/types.ts +57 -0
  187. package/src/libs/Badge/Badge.tsx +70 -0
  188. package/src/libs/Badge/BadgeDot.tsx +11 -0
  189. package/src/libs/Badge/BadgeRibbon.tsx +122 -0
  190. package/src/libs/Badge/Shape.tsx +29 -0
  191. package/src/libs/Badge/index.tsx +7 -0
  192. package/src/libs/Badge/package.json +16 -0
  193. package/src/libs/Badge/publish.sh +18 -0
  194. package/src/libs/Badge/styles.ts +55 -0
  195. package/src/libs/Badge/types.ts +63 -0
  196. package/src/libs/Calendar/CalendarPro.tsx +307 -0
  197. package/src/libs/Calendar/Day.tsx +150 -0
  198. package/src/libs/Calendar/HeaderControl.tsx +55 -0
  199. package/src/libs/Calendar/LunarDateConverter.ts +228 -0
  200. package/src/libs/Calendar/LunarService.ts +206 -0
  201. package/src/libs/Calendar/Month.tsx +118 -0
  202. package/src/libs/Calendar/MonthList.tsx +226 -0
  203. package/src/libs/Calendar/TabHeader.tsx +91 -0
  204. package/src/libs/Calendar/Util.ts +288 -0
  205. package/src/libs/Calendar/holidayData.ts +118 -0
  206. package/src/libs/Calendar/index.tsx +383 -0
  207. package/src/libs/Calendar/package.json +18 -0
  208. package/src/libs/Calendar/publish.sh +18 -0
  209. package/src/libs/Calendar/styles.ts +122 -0
  210. package/src/libs/Calendar/types.ts +212 -0
  211. package/src/libs/Carousel/animation.ts +62 -0
  212. package/src/libs/Carousel/index.tsx +517 -0
  213. package/src/libs/Carousel/package.json +18 -0
  214. package/src/libs/Carousel/publish.sh +16 -0
  215. package/src/libs/Carousel/types.ts +71 -0
  216. package/src/libs/Chip/index.tsx +164 -0
  217. package/src/libs/Chip/package.json +16 -0
  218. package/src/libs/Chip/publish.sh +16 -0
  219. package/src/libs/Chip/styles.ts +20 -0
  220. package/src/libs/Chip/types.ts +72 -0
  221. package/src/libs/Collapse/index.tsx +305 -0
  222. package/src/libs/Collapse/package.json +16 -0
  223. package/src/libs/Collapse/publish.sh +18 -0
  224. package/src/libs/Collapse/styles.ts +37 -0
  225. package/src/libs/Collapse/types.ts +84 -0
  226. package/src/libs/DateTimePicker/WheelPicker.tsx +163 -0
  227. package/src/libs/DateTimePicker/WheelPickerItem.tsx +58 -0
  228. package/src/libs/DateTimePicker/index.tsx +188 -0
  229. package/src/libs/DateTimePicker/package.json +16 -0
  230. package/src/libs/DateTimePicker/publish.sh +17 -0
  231. package/src/libs/DateTimePicker/styles.ts +31 -0
  232. package/src/libs/DateTimePicker/types.ts +102 -0
  233. package/src/libs/DateTimePicker/utils.ts +114 -0
  234. package/src/libs/Information/index.tsx +129 -0
  235. package/src/libs/Information/package.json +16 -0
  236. package/src/libs/Information/publish.sh +18 -0
  237. package/src/libs/Information/styles.ts +34 -0
  238. package/src/libs/Information/types.ts +79 -0
  239. package/src/libs/Logo/index.tsx +39 -0
  240. package/src/libs/Logo/package.json +17 -0
  241. package/src/libs/Logo/publish.sh +16 -0
  242. package/src/libs/Logo/styles.ts +25 -0
  243. package/src/libs/Logo/types.ts +13 -0
  244. package/src/libs/ProgressInfo/ProgressInfoHorizontal.tsx +128 -0
  245. package/src/libs/ProgressInfo/ProgressInfoIcon.tsx +88 -0
  246. package/src/libs/ProgressInfo/ProgressInfoVertical.tsx +85 -0
  247. package/src/libs/ProgressInfo/index.tsx +22 -0
  248. package/src/libs/ProgressInfo/package.json +16 -0
  249. package/src/libs/ProgressInfo/publish.sh +16 -0
  250. package/src/libs/ProgressInfo/styles.ts +46 -0
  251. package/src/libs/ProgressInfo/types.ts +60 -0
  252. package/src/libs/ProgressInfo/yarn.lock +8 -0
  253. package/src/libs/Rating/index.tsx +74 -0
  254. package/src/libs/Rating/package.json +16 -0
  255. package/src/libs/Rating/publish.sh +18 -0
  256. package/src/libs/Rating/type.ts +25 -0
  257. package/src/libs/Slider/Label.tsx +33 -0
  258. package/src/libs/Slider/helpers.ts +35 -0
  259. package/src/libs/Slider/hooks.tsx +218 -0
  260. package/src/libs/Slider/index.tsx +453 -0
  261. package/src/libs/Slider/package.json +16 -0
  262. package/src/libs/Slider/publish.sh +18 -0
  263. package/src/libs/Slider/styles.ts +36 -0
  264. package/src/libs/Stepper/NumberView.tsx +64 -0
  265. package/src/libs/Stepper/StepperButton.tsx +37 -0
  266. package/src/libs/Stepper/index.tsx +139 -0
  267. package/src/libs/Stepper/package.json +16 -0
  268. package/src/libs/Stepper/publish.sh +17 -0
  269. package/src/libs/Stepper/styles.ts +44 -0
  270. package/src/libs/Stepper/types.ts +154 -0
  271. package/src/libs/Steps/StepIcon.tsx +86 -0
  272. package/src/libs/Steps/StepsHorizontal.tsx +189 -0
  273. package/src/libs/Steps/StepsVertical.tsx +133 -0
  274. package/src/libs/Steps/index.tsx +20 -0
  275. package/src/libs/Steps/package.json +16 -0
  276. package/src/libs/Steps/publish.sh +16 -0
  277. package/src/libs/Steps/styles.ts +46 -0
  278. package/src/libs/Steps/types.ts +159 -0
  279. package/src/libs/Steps/utils.ts +175 -0
  280. package/src/libs/SuggestAction/SuggestActionView.tsx +124 -0
  281. package/src/libs/SuggestAction/index.tsx +3 -0
  282. package/src/libs/SuggestAction/package.json +16 -0
  283. package/src/libs/SuggestAction/publish.sh +16 -0
  284. package/src/libs/SuggestAction/styles.ts +30 -0
  285. package/src/libs/SuggestAction/types.ts +36 -0
  286. package/src/libs/Swipe/SwipeView.tsx +151 -0
  287. package/src/libs/Swipe/index.tsx +5 -0
  288. package/src/libs/Swipe/package.json +16 -0
  289. package/src/libs/Swipe/publish.sh +16 -0
  290. package/src/libs/Swipe/styles.ts +16 -0
  291. package/src/libs/Swipe/types.ts +109 -0
  292. package/src/libs/TabView/assets/Path.tsx +29 -0
  293. package/src/libs/TabView/index.tsx +184 -0
  294. package/src/libs/TabView/package.json +16 -0
  295. package/src/libs/TabView/publish.sh +16 -0
  296. package/src/libs/TabView/styles.ts +96 -0
  297. package/src/libs/TabView/tabBar/CardTabBar.tsx +137 -0
  298. package/src/libs/TabView/tabBar/SrollableTabBar.tsx +218 -0
  299. package/src/libs/TabView/tabBar/TabBar.tsx +67 -0
  300. package/src/libs/TabView/tabItem/CardTabItem.tsx +118 -0
  301. package/src/libs/TabView/tabItem/TabItem.tsx +180 -0
  302. package/src/libs/TabView/types.ts +166 -0
  303. package/src/libs/Template/HeaderSliderBanner/index.tsx +86 -0
  304. package/src/libs/Template/HeaderSliderBanner/types.ts +16 -0
  305. package/src/libs/Template/TrustBanner/CustomAvatar.tsx +39 -0
  306. package/src/libs/Template/TrustBanner/index.tsx +161 -0
  307. package/src/libs/Template/TrustBanner/styles.ts +48 -0
  308. package/src/libs/Template/TrustBanner/types.ts +50 -0
  309. package/src/libs/Template/index.tsx +4 -0
  310. package/src/libs/Template/package.json +18 -0
  311. package/src/libs/Template/publish.sh +17 -0
  312. package/src/libs/Title/index.tsx +284 -0
  313. package/src/libs/Title/package.json +17 -0
  314. package/src/libs/Title/publish.sh +16 -0
  315. package/src/libs/Title/styles.ts +54 -0
  316. package/src/libs/Title/types.ts +21 -0
  317. package/src/libs/Tooltip/TooltipButtons.tsx +54 -0
  318. package/src/libs/Tooltip/index.tsx +608 -0
  319. package/src/libs/Tooltip/package.json +16 -0
  320. package/src/libs/Tooltip/publish.sh +18 -0
  321. package/src/libs/Tooltip/styles.ts +70 -0
  322. package/src/libs/Tooltip/types.ts +61 -0
  323. package/src/libs/Uploader/index.tsx +87 -0
  324. package/src/libs/Uploader/package.json +17 -0
  325. package/src/libs/Uploader/publish.sh +18 -0
  326. package/src/libs/Uploader/styles.ts +30 -0
  327. package/src/libs/Uploader/types.ts +69 -0
  328. package/src/native/MoMoNative.podspec +18 -0
  329. package/src/native/calculator/android/build.gradle +61 -0
  330. package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  331. package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  332. package/src/native/calculator/android/gradlew +172 -0
  333. package/src/native/calculator/android/gradlew.bat +84 -0
  334. package/src/native/calculator/android/src/main/AndroidManifest.xml +5 -0
  335. package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewModule.java +22 -0
  336. package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewPackage.java +35 -0
  337. package/src/native/calculator/android/src/main/java/com/calculator/modules/CalculatorKeyboardModule.java +157 -0
  338. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/CalculatorEditText.java +36 -0
  339. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/FixedRelativeLayout.java +45 -0
  340. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/MomoTextInputCalculatorManager.java +173 -0
  341. package/src/native/calculator/android/src/main/java/com/calculator/views/customkeyboard/RNCustomKeyboardModule.java +417 -0
  342. package/src/native/calculator/ios/Helper/MomoHelper.swift +16 -0
  343. package/src/native/calculator/ios/KeyboardView-Bridging-Header.h +60 -0
  344. package/src/native/calculator/ios/KeyboardView.h +19 -0
  345. package/src/native/calculator/ios/KeyboardView.m +56 -0
  346. package/src/native/calculator/ios/MomoTextInputCalculator.swift +144 -0
  347. package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.h +6 -0
  348. package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.m +143 -0
  349. package/src/native/package.json +14 -0
  350. package/src/native/publish.sh +29 -0
  351. package/src/native/resource/android/build.gradle +57 -0
  352. package/src/native/resource/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  353. package/src/native/resource/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  354. package/src/native/resource/android/src/main/AndroidManifest.xml +6 -0
  355. package/src/native/resource/android/src/main/java/com/resource/RNResourceModule.java +90 -0
  356. package/src/native/resource/android/src/main/java/com/resource/RNResourcePackage.java +22 -0
  357. package/src/native/resource/ios/RNResouce.m +71 -0
  358. package/src/native/resource/ios/RNResource.h +5 -0
  359. package/example/ios/Example.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  360. package/example/ios/Example.xcworkspace/xcuserdata/sophia.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  361. package/example/ios/Example.xcworkspace/xcuserdata/sophia.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
  362. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
  363. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
  364. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
  365. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
  366. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
  367. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +0 -58
  368. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/lottie-ios.xcscheme +0 -58
  369. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/xcschememanagement.plist +0 -46
@@ -0,0 +1,166 @@
1
+ import {ReactElement} from 'react';
2
+ import {PagerViewProps} from 'react-native-pager-view';
3
+ import {Animated, ViewStyle} from 'react-native';
4
+
5
+ export type Tab = {
6
+ /**
7
+ * The title of the tab.
8
+ */
9
+ title: string;
10
+
11
+ /**
12
+ * Optional. The icon associated with the tab, usually represented by a string referencing the icon's name or path.
13
+ */
14
+ icon?: string;
15
+
16
+ renderIcon?: (active: boolean) => ReactElement;
17
+
18
+ /**
19
+ * The main component or content to be displayed when this tab is active.
20
+ */
21
+ component: ReactElement;
22
+
23
+ /**
24
+ * Optional. If `true`, shows a dot indicator on the tab, often used to signal notifications or updates.
25
+ */
26
+ showDot?: boolean;
27
+
28
+ /**
29
+ * Optional. Specifies the size of the dot indicator, either 'small' or 'large'.
30
+ */
31
+ dotSize?: 'small' | 'large';
32
+
33
+ badgeValue?: string | number;
34
+
35
+ accessibilityLabel?: string;
36
+ };
37
+
38
+ export type TabItemProps = {
39
+ /**
40
+ * The Tab object containing the details and content of this tab item.
41
+ */
42
+ tab: Tab;
43
+
44
+ /**
45
+ * Indicates if this tab item is currently active or selected.
46
+ */
47
+ active: boolean;
48
+
49
+ /**
50
+ * Optional. A callback function that is triggered when this tab item is pressed.
51
+ */
52
+ onPressTabItem?: () => void;
53
+
54
+ /**
55
+ * Optional. Specifies the width of the tab item. Useful for customizing layout and appearance.
56
+ */
57
+ width?: number;
58
+
59
+ /**
60
+ * Optional. Specifies the layout direction for the tab's content, either in a row or column format.
61
+ */
62
+ direction?: 'row' | 'column';
63
+
64
+ selectedColor?: string;
65
+
66
+ unselectedColor?: string;
67
+ };
68
+
69
+ export type TabViewProps = {
70
+ /**
71
+ * Optional. If `true`, allows the tab bar to be scrollable, useful for a large number of tabs.
72
+ */
73
+ scrollable?: boolean;
74
+
75
+ /**
76
+ * An array of Tab objects representing each tab in the view.
77
+ */
78
+ tabs: Tab[];
79
+
80
+ /**
81
+ * Optional. A callback function that is triggered when a tab item is pressed, receiving the index of the tab as a parameter.
82
+ */
83
+ onPressTabItem?: (index: number) => void;
84
+
85
+ /**
86
+ * Optional. Specifies the visual style of the tab view, such as 'default' or 'card'.
87
+ */
88
+ type?: 'default' | 'card';
89
+
90
+ /**
91
+ * Optional. Specifies the initial page or tab to be displayed.
92
+ */
93
+ initialPage?: number;
94
+
95
+ /**
96
+ * Optional. Additional properties to pass to the underlying pager view component.
97
+ */
98
+ pagerProps?: Omit<PagerViewProps, 'children'>;
99
+
100
+ /**
101
+ * Optional. Specifies the layout direction for the tab's content, either in a row or column format.
102
+ */
103
+ direction?: 'row' | 'column';
104
+
105
+ selectedColor?: string;
106
+
107
+ unselectedColor?: string;
108
+
109
+ style?: ViewStyle;
110
+
111
+ accessibilityLabel?: string;
112
+
113
+ accessibilityLabelForSelectedCard?: string;
114
+
115
+ /**
116
+ * Optional. If `true`, the TabView will wrap its content height instead of using flex layout.
117
+ * When enabled, swipe gestures are disabled and only the selected tab content is rendered.
118
+ * Default is `false` (uses PagerView with flex layout and swipe enabled).
119
+ */
120
+ fitContent?: boolean;
121
+ };
122
+
123
+ /**
124
+ * Properties for the TabBar component, which displays the navigation tabs.
125
+ */
126
+ export type TabBarProps = {
127
+ /**
128
+ * An array of Tab objects representing each tab in the tab bar.
129
+ */
130
+ tabs: Tab[];
131
+
132
+ /**
133
+ * The index of the currently selected or active tab.
134
+ */
135
+ selectedIndex: number;
136
+
137
+ /**
138
+ * Optional. A callback function that is triggered when a tab item is pressed, receiving the index of the tab as a parameter.
139
+ */
140
+ onPressTabItem?: (index: number) => void;
141
+
142
+ /**
143
+ * The width of the container in which the tab bar is placed. Useful for layout calculations.
144
+ */
145
+ containerWidth: number;
146
+
147
+ /**
148
+ * Represents the horizontal scroll position in a scrollable tab bar.
149
+ */
150
+ scrollX: Animated.Value;
151
+
152
+ /**
153
+ * Optional. Specifies the layout direction for the tab's content, either in a row or column format.
154
+ */
155
+ direction?: 'row' | 'column';
156
+
157
+ selectedColor?: string;
158
+
159
+ unselectedColor?: string;
160
+
161
+ accessibilityLabelForSelectedCard?: string;
162
+ };
163
+
164
+ export type TabViewRef = {
165
+ goToPage: (page: number) => void;
166
+ };
@@ -0,0 +1,86 @@
1
+ import React, {FC} from 'react';
2
+ import {Animated, TouchableOpacity} from 'react-native';
3
+ import {Carousel} from '@momo-kits/carousel';
4
+ import {Image, Pagination, Spacing} from '@momo-kits/foundation';
5
+ import {HeaderSliderBannerProps} from './types';
6
+
7
+ const HeaderSliderBanner: FC<HeaderSliderBannerProps> = ({
8
+ animatedValue = new Animated.Value(0),
9
+ paginationBottom = 56,
10
+ data = [],
11
+ activeIndex = 0,
12
+ paginationProps,
13
+ carouselProps,
14
+ onSnapToItem,
15
+ onPressItem,
16
+ paginationType = 'black_white',
17
+ }) => {
18
+ const scale = animatedValue.interpolate({
19
+ inputRange: [-300, 0, 300],
20
+ outputRange: [4, 1, 1],
21
+ extrapolate: 'clamp',
22
+ });
23
+ const opacity = animatedValue.interpolate({
24
+ inputRange: [0, 150, 300],
25
+ outputRange: [1, 0.5, 0],
26
+ extrapolate: 'clamp',
27
+ });
28
+ const translateY = animatedValue.interpolate({
29
+ inputRange: [-300, 0],
30
+ outputRange: [-80, -2],
31
+ extrapolate: 'clamp',
32
+ });
33
+
34
+ const paginationOpacity = animatedValue.interpolate({
35
+ inputRange: [-40, 0],
36
+ outputRange: [0, 1],
37
+ });
38
+
39
+ const renderItem = (info: {item: any; index: number}) => {
40
+ const {item, index} = info;
41
+ return (
42
+ <TouchableOpacity disabled={!onPressItem} onPress={onPressItem}>
43
+ <Image
44
+ style={{width: '100%', height: '100%'}}
45
+ key={`Header banner ${item}_${index}`}
46
+ source={{
47
+ uri: item,
48
+ }}
49
+ />
50
+ </TouchableOpacity>
51
+ );
52
+ };
53
+
54
+ return (
55
+ <Animated.View
56
+ style={{
57
+ height: 210,
58
+ opacity: opacity,
59
+ transform: [{scale}, {translateY}],
60
+ }}>
61
+ <Carousel
62
+ {...carouselProps}
63
+ full={true}
64
+ data={data}
65
+ onSnapToItem={onSnapToItem}
66
+ renderItem={renderItem}
67
+ />
68
+ <Animated.View
69
+ style={{
70
+ position: 'absolute',
71
+ bottom: paginationBottom - Spacing.S,
72
+ alignSelf: 'center',
73
+ opacity: paginationOpacity,
74
+ }}>
75
+ <Pagination
76
+ {...paginationProps}
77
+ activeIndex={activeIndex}
78
+ dataLength={data.length}
79
+ type={paginationType}
80
+ />
81
+ </Animated.View>
82
+ </Animated.View>
83
+ );
84
+ };
85
+
86
+ export default HeaderSliderBanner;
@@ -0,0 +1,16 @@
1
+ import {PaginationProps} from '@momo-kits/foundation';
2
+ import {CarouselProps} from '@momo-kits/carousel';
3
+ import {Animated} from 'react-native';
4
+ import AnimatedValue = Animated.AnimatedValue;
5
+
6
+ export type HeaderSliderBannerProps = {
7
+ animatedValue: AnimatedValue;
8
+ data: string[];
9
+ onSnapToItem: (index: number) => void;
10
+ activeIndex: number;
11
+ paginationProps?: PaginationProps;
12
+ carouselProps?: CarouselProps;
13
+ paginationBottom?: 8 | 24 | 56;
14
+ onPressItem?: () => void;
15
+ paginationType: 'black_white' | 'number';
16
+ };
@@ -0,0 +1,39 @@
1
+ import React, {FC, useContext} from 'react';
2
+ import {View} from 'react-native';
3
+ import styles from './styles';
4
+ import {ApplicationContext, Colors, Image, Text} from '@momo-kits/foundation';
5
+ import {CustomAvatarProps} from './types';
6
+
7
+ const CustomAvatar: FC<CustomAvatarProps> = ({image, text, style}) => {
8
+ const {theme} = useContext(ApplicationContext);
9
+
10
+ const renderContent = () => {
11
+ if (text) {
12
+ return (
13
+ <Text
14
+ color={theme.colors.primary}
15
+ typography={'description_xs_regular'}>
16
+ {text}
17
+ </Text>
18
+ );
19
+ }
20
+
21
+ return <Image style={styles.avatarImage} source={{uri: image}} />;
22
+ };
23
+
24
+ return (
25
+ <View
26
+ style={[
27
+ styles.customAvatar,
28
+ {
29
+ backgroundColor: Colors.black_01,
30
+ borderColor: theme.colors.border.default,
31
+ },
32
+ style,
33
+ ]}>
34
+ {renderContent()}
35
+ </View>
36
+ );
37
+ };
38
+
39
+ export default CustomAvatar;
@@ -0,0 +1,161 @@
1
+ /* eslint-disable react-hooks/exhaustive-deps */
2
+ import React, { FC, useContext, useEffect } from 'react';
3
+ import { StyleSheet, TouchableOpacity, View } from 'react-native';
4
+ import { TrustBannerCallbackParams, TrustBannerProps } from './types';
5
+ import styles from './styles';
6
+ import {
7
+ ApplicationContext,
8
+ Icon,
9
+ Image,
10
+ MiniAppContext,
11
+ Styles,
12
+ Text,
13
+ } from '@momo-kits/foundation';
14
+ // @ts-ignore
15
+ import MaxApi from '@momo-platform/api';
16
+
17
+ const defaultData = {
18
+ content: {
19
+ vi: 'An toàn tài sản & Bảo mật thông tin của bạn là ưu tiên hàng đầu của MoMo.',
20
+ en: "Ensuring financial security and data privacy is MoMo's highest priority.",
21
+ },
22
+ subContent: {
23
+ vi: 'Tìm hiểu thêm',
24
+ en: 'Learn more',
25
+ },
26
+ pciImage: 'https://static.momocdn.net/app/img/kits/trustBanner/pci_dss.png',
27
+ sslImage: 'https://static.momocdn.net/app/img/kits/trustBanner/ssl.png',
28
+ momoImage: 'https://static.momocdn.net/app/img/kits/trustBanner/ic_secu.png',
29
+ urlConfig: 'login_and_security',
30
+ icons: [
31
+ 'https://static.momocdn.net/app/img/kits/trustBanner/ic_viettinbank.png',
32
+ 'https://static.momocdn.net/app/img/kits/trustBanner/ic_agribank.png',
33
+ 'https://static.momocdn.net/app/img/kits/trustBanner/ic_vietcombank.png',
34
+ 'https://static.momocdn.net/app/img/kits/trustBanner/ic_bidv.png',
35
+ ],
36
+ titleWeb: {
37
+ vi: 'Thông tin',
38
+ en: 'Information',
39
+ },
40
+ };
41
+
42
+ const TrustBanner: FC<TrustBannerProps> = ({
43
+ style,
44
+ screenName = '',
45
+ serviceName = '',
46
+ trackEvent,
47
+ }) => {
48
+ const context = useContext<any>(MiniAppContext);
49
+ const {
50
+ theme,
51
+ translate = (data: { vi: string; en: string }) => {
52
+ return data.vi;
53
+ },
54
+ } = useContext(ApplicationContext);
55
+
56
+ const {
57
+ sslImage,
58
+ pciImage,
59
+ momoImage,
60
+ urlConfig,
61
+ content,
62
+ subContent,
63
+ titleWeb,
64
+ } = context?.designSystemConfig?.config?.trustBanner || defaultData;
65
+
66
+ const translationSubContent = translate(subContent) || subContent.vi;
67
+ const translationContent = translate(content);
68
+
69
+ //to check for old version of translation, need to be removed in next sprints.
70
+ const finalSubContent =
71
+ typeof translationSubContent === 'string'
72
+ ? translationSubContent
73
+ : subContent.vi;
74
+ const finalContent =
75
+ typeof translationContent === 'string' ? translationContent : content.vi;
76
+
77
+ const trackingParams: TrustBannerCallbackParams = {
78
+ screen_name: screenName,
79
+ service_name: serviceName,
80
+ component_name: 'logo_trust',
81
+ };
82
+
83
+ useEffect(() => {
84
+ trackEvent?.('service_component_displayed', trackingParams);
85
+ }, []);
86
+
87
+ const _onPress = () => {
88
+ trackEvent?.('service_component_clicked', { ...trackingParams, urlConfig });
89
+ if (urlConfig.indexOf('https') > -1) {
90
+ const openWebData = {
91
+ url: urlConfig,
92
+ title: translate(titleWeb) || subContent.vi,
93
+ };
94
+ MaxApi.openWeb(openWebData);
95
+ } else {
96
+ MaxApi.startFeatureCode(urlConfig, {}, () => {});
97
+ }
98
+ };
99
+
100
+ const renderFooter = () => {
101
+ return (
102
+ <View style={stylesInside.footerContainer}>
103
+ <View style={Styles.row}>
104
+ <Text typography={'action_xs_bold'} color={'#eb2f96'}>
105
+ {finalSubContent}
106
+ </Text>
107
+ <Icon
108
+ source={'arrow_chevron_right_small'}
109
+ color={'#eb2f96'}
110
+ size={20}
111
+ />
112
+ </View>
113
+ <View style={styles.imageList}>
114
+ <Image
115
+ resizeMode={'contain'}
116
+ style={styles.pciImage}
117
+ source={{ uri: pciImage }}
118
+ />
119
+ <Image
120
+ resizeMode={'contain'}
121
+ style={styles.image}
122
+ source={{ uri: sslImage }}
123
+ />
124
+ </View>
125
+ </View>
126
+ );
127
+ };
128
+
129
+ return (
130
+ <TouchableOpacity
131
+ onPress={_onPress}
132
+ activeOpacity={0.7}
133
+ style={[style, styles.container]}
134
+ >
135
+ <Image
136
+ style={styles.momoImage}
137
+ resizeMode={'contain'}
138
+ source={{
139
+ uri: momoImage,
140
+ }}
141
+ />
142
+ <View style={styles.flex}>
143
+ <Text
144
+ style={styles.message}
145
+ color={theme.colors.text.secondary}
146
+ typography={'description_default_regular'}
147
+ numberOfLines={2}
148
+ >
149
+ {finalContent}
150
+ </Text>
151
+ {renderFooter()}
152
+ </View>
153
+ </TouchableOpacity>
154
+ );
155
+ };
156
+
157
+ const stylesInside = StyleSheet.create({
158
+ footerContainer: { flexDirection: 'row', justifyContent: 'space-between' },
159
+ });
160
+
161
+ export default TrustBanner;
@@ -0,0 +1,48 @@
1
+ import {StyleSheet} from 'react-native';
2
+ import {Colors, Radius, Spacing} from '@momo-kits/foundation';
3
+
4
+ export default StyleSheet.create({
5
+ container: {
6
+ flexDirection: 'row',
7
+ padding: Spacing.M,
8
+ borderRadius: Radius.S,
9
+ backgroundColor: Colors.blue_10,
10
+ width: '100%',
11
+ },
12
+ flex: {flex: 1},
13
+ momoImage: {
14
+ width: 64,
15
+ height: 64,
16
+ marginRight: Spacing.S,
17
+ },
18
+ image: {
19
+ width: 52,
20
+ height: 20,
21
+ },
22
+ imageList: {
23
+ flexDirection: 'row',
24
+ },
25
+ pciImage: {
26
+ marginRight: Spacing.XS,
27
+ width: 25,
28
+ height: 20,
29
+ },
30
+ message: {marginBottom: Spacing.S},
31
+ footer: {
32
+ flexDirection: 'row',
33
+ justifyContent: 'space-between',
34
+ },
35
+ customAvatar: {
36
+ width: 24,
37
+ height: 24,
38
+ borderWidth: 1,
39
+ borderRadius: Radius.L,
40
+ alignItems: 'center',
41
+ justifyContent: 'center',
42
+ marginLeft: -6,
43
+ },
44
+ iconList: {
45
+ flexDirection: 'row',
46
+ },
47
+ avatarImage: {width: '100%', height: '100%'},
48
+ });
@@ -0,0 +1,50 @@
1
+ import {ViewStyle} from 'react-native';
2
+
3
+ export type TrustBannerCallbackParams = {
4
+ service_name: string;
5
+ screen_name: string;
6
+ component_name: string;
7
+ urlConfig?: string;
8
+ };
9
+
10
+ export type TrustBannerProps = {
11
+ /**
12
+ * Optional. Styles to customize the appearance of the banner. Can be a single
13
+ * style object or an array of style objects.
14
+ */
15
+ style?: ViewStyle | ViewStyle[];
16
+
17
+ /**
18
+ * Optional. The name of the screen where the banner is displayed. This can be
19
+ * used to identify the context in which the banner appears.
20
+ */
21
+ screenName?: string;
22
+
23
+ /**
24
+ * Optional. The name of the service or feature the banner is associated with.
25
+ * This helps in providing contextual information within the banner content.
26
+ */
27
+ serviceName?: string;
28
+
29
+ /**
30
+ * Optional. A callback function can be openWeb or startFeatureCode,
31
+ * return params:
32
+ * service_name,
33
+ * screen_name,
34
+ * component_name,
35
+ * url_config,
36
+ * feature_code,
37
+ */
38
+ onPress?: (params: TrustBannerCallbackParams) => void;
39
+
40
+ /**
41
+ * Optional. instance of maxApi trackEvent function.
42
+ */
43
+ trackEvent?: (eventName: string, params: TrustBannerCallbackParams) => void;
44
+ };
45
+
46
+ export type CustomAvatarProps = {
47
+ image?: string;
48
+ text?: string;
49
+ style?: ViewStyle[] | ViewStyle;
50
+ };
@@ -0,0 +1,4 @@
1
+ import HeaderSliderBanner from './HeaderSliderBanner';
2
+ import TrustBanner from './TrustBanner';
3
+
4
+ export {HeaderSliderBanner, TrustBanner};
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "@momo-kits/template",
3
+ "version": "0.157.1-beta.4",
4
+ "private": false,
5
+ "main": "index.tsx",
6
+ "peerDependencies": {
7
+ "@momo-kits/foundation": "latest",
8
+ "@momo-kits/carousel": "*",
9
+ "react": "*",
10
+ "react-native": "*",
11
+ "@momo-platform/api": "0.1.67-rc.3"
12
+ },
13
+ "license": "MoMo",
14
+ "publishConfig": {
15
+ "registry": "https://registry.npmjs.org/"
16
+ },
17
+ "dependencies": {}
18
+ }
@@ -0,0 +1,17 @@
1
+ #!/bin/bash
2
+
3
+ if [ "$1" == "stable" ]; then
4
+ npm version $(npm view @momo-kits/foundation@stable version)
5
+ npm version patch
6
+ npm publish --tag stable --access=public
7
+ elif [ "$1" == "latest" ]; then
8
+ npm publish --tag latest --access=public
9
+ elif [ "$1" == "beta" ]; then
10
+ npm publish --tag beta --access=public
11
+ else
12
+ npm publish --tag alpha --access=public
13
+ fi
14
+
15
+ PACKAGE_NAME=$(npm pkg get name)
16
+ NEW_PACKAGE_VERSION=$(npm pkg get version)
17
+