@momo-kits/native-kits 0.157.1-beta.9 → 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 (481) hide show
  1. package/build.gradle.kts +11 -0
  2. package/compose/build.gradle.kts +180 -0
  3. package/compose/build.gradle.kts.backup +180 -0
  4. package/compose/compose.podspec +54 -0
  5. package/compose/src/androidMain/kotlin/vn/momo/kits/platform/Platform.android.kt +110 -0
  6. package/compose/src/commonMain/composeResources/font/momosignature.otf +0 -0
  7. package/compose/src/commonMain/composeResources/font/momotrustdisplay.otf +0 -0
  8. package/compose/src/commonMain/composeResources/font/sfprotext_black.otf +0 -0
  9. package/compose/src/commonMain/composeResources/font/sfprotext_black.ttf +0 -0
  10. package/compose/src/commonMain/composeResources/font/sfprotext_bold.ttf +0 -0
  11. package/compose/src/commonMain/composeResources/font/sfprotext_heavy.ttf +0 -0
  12. package/compose/src/commonMain/composeResources/font/sfprotext_light.ttf +0 -0
  13. package/compose/src/commonMain/composeResources/font/sfprotext_medium.ttf +0 -0
  14. package/compose/src/commonMain/composeResources/font/sfprotext_regular.ttf +0 -0
  15. package/compose/src/commonMain/composeResources/font/sfprotext_semibold.ttf +0 -0
  16. package/compose/src/commonMain/composeResources/font/sfprotext_thin.otf +0 -0
  17. package/compose/src/commonMain/composeResources/font/sfprotext_thin.ttf +0 -0
  18. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.otf +0 -0
  19. package/compose/src/commonMain/composeResources/font/sfprotext_ultralight.ttf +0 -0
  20. package/compose/src/commonMain/kotlin/vn/momo/kits/application/AnimationSearchInput.kt +57 -0
  21. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Context.kt +107 -0
  22. package/compose/src/commonMain/kotlin/vn/momo/kits/application/FloatingButton.kt +201 -0
  23. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Header.kt +222 -0
  24. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderAnimated.kt +48 -0
  25. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderBackground.kt +86 -0
  26. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderDefault.kt +76 -0
  27. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderExtended.kt +76 -0
  28. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderRight.kt +305 -0
  29. package/compose/src/commonMain/kotlin/vn/momo/kits/application/HeaderTitle.kt +33 -0
  30. package/compose/src/commonMain/kotlin/vn/momo/kits/application/LiteScreen.kt +720 -0
  31. package/compose/src/commonMain/kotlin/vn/momo/kits/application/NavigationContainer.kt +121 -0
  32. package/compose/src/commonMain/kotlin/vn/momo/kits/application/Screen.kt +405 -0
  33. package/compose/src/commonMain/kotlin/vn/momo/kits/application/useHeaderSearchAnimation.kt +69 -0
  34. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +157 -0
  35. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Badge.kt +85 -0
  36. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeDot.kt +32 -0
  37. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BadgeRibbon.kt +340 -0
  38. package/compose/src/commonMain/kotlin/vn/momo/kits/components/BaselineView.kt +198 -0
  39. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Button.kt +357 -0
  40. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +123 -0
  41. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CheckBox.kt +94 -0
  42. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Chip.kt +136 -0
  43. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +224 -0
  44. package/compose/src/commonMain/kotlin/vn/momo/kits/components/CupertinoOverscroll.kt +543 -0
  45. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Divider.kt +23 -0
  46. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Icon.kt +76 -0
  47. package/compose/src/commonMain/kotlin/vn/momo/kits/components/IconButton.kt +148 -0
  48. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Image.kt +188 -0
  49. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Information.kt +116 -0
  50. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Input.kt +448 -0
  51. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputDropDown.kt +172 -0
  52. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputMoney.kt +255 -0
  53. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputOTP.kt +231 -0
  54. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputPhoneNumber.kt +233 -0
  55. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputSearch.kt +254 -0
  56. package/compose/src/commonMain/kotlin/vn/momo/kits/components/InputTextArea.kt +241 -0
  57. package/compose/src/commonMain/kotlin/vn/momo/kits/components/LazyColumnWithBouncing.kt +364 -0
  58. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +108 -0
  59. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationDot.kt +56 -0
  60. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationNumber.kt +41 -0
  61. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationScroll.kt +92 -0
  62. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PaginationWhiteDot.kt +40 -0
  63. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupNotify.kt +352 -0
  64. package/compose/src/commonMain/kotlin/vn/momo/kits/components/PopupPromotion.kt +103 -0
  65. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +350 -0
  66. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Radio.kt +70 -0
  67. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +87 -0
  68. package/compose/src/commonMain/kotlin/vn/momo/kits/components/ScaleSizeScope.kt +17 -0
  69. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Skeleton.kt +96 -0
  70. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +360 -0
  71. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +256 -0
  72. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +494 -0
  73. package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +131 -0
  74. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +215 -0
  75. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Switch.kt +96 -0
  76. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +449 -0
  77. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tag.kt +92 -0
  78. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Text.kt +130 -0
  79. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Title.kt +214 -0
  80. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +590 -0
  81. package/compose/src/commonMain/kotlin/vn/momo/kits/components/TrustBanner.kt +177 -0
  82. package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +192 -0
  83. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePicker.kt +205 -0
  84. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerTypes.kt +29 -0
  85. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/DateTimePickerUtils.kt +239 -0
  86. package/compose/src/commonMain/kotlin/vn/momo/kits/components/datetimepicker/WheelPicker.kt +191 -0
  87. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Colors.kt +306 -0
  88. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Radius.kt +12 -0
  89. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Spacing.kt +13 -0
  90. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Theme.kt +185 -0
  91. package/compose/src/commonMain/kotlin/vn/momo/kits/const/Typography.kt +285 -0
  92. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Card.kt +2 -0
  93. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Item.kt +35 -0
  94. package/compose/src/commonMain/kotlin/vn/momo/kits/layout/Section.kt +2 -0
  95. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/AutomationId.kt +59 -0
  96. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Clickable.kt +68 -0
  97. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Conditional.kt +11 -0
  98. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/DeprecatedModifier.kt +14 -0
  99. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Shadow.kt +50 -0
  100. package/compose/src/commonMain/kotlin/vn/momo/kits/modifier/Size.kt +51 -0
  101. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/BottomSheet.kt +239 -0
  102. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/ModalScreen.kt +119 -0
  103. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigation.kt +98 -0
  104. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/NavigationContainer.kt +161 -0
  105. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/Navigator.kt +331 -0
  106. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/StackScreen.kt +497 -0
  107. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTab.kt +162 -0
  108. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/BottomTabBar.kt +243 -0
  109. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/bottomtab/CurvedContainer.kt +86 -0
  110. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/FloatingButton.kt +187 -0
  111. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/Header.kt +279 -0
  112. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderBackground.kt +80 -0
  113. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderRight.kt +306 -0
  114. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderTitle.kt +32 -0
  115. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/HeaderUser.kt +370 -0
  116. package/compose/src/commonMain/kotlin/vn/momo/kits/navigation/component/SnackBar.kt +132 -0
  117. package/compose/src/commonMain/kotlin/vn/momo/kits/platform/Platform.kt +42 -0
  118. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Icons.kt +1329 -0
  119. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Resources.kt +62 -0
  120. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Tracking.kt +15 -0
  121. package/compose/src/commonMain/kotlin/vn/momo/kits/utils/Utils.kt +88 -0
  122. package/compose/src/iosMain/kotlin/vn/momo/kits/platform/Platform.ios.kt +149 -0
  123. package/gradle/libs.versions.toml +57 -0
  124. package/gradle/wrapper/gradle-wrapper.jar +0 -0
  125. package/gradle/wrapper/gradle-wrapper.properties +8 -0
  126. package/gradle.properties +26 -0
  127. package/gradlew +252 -0
  128. package/gradlew.bat +94 -0
  129. package/ios/Input/Input.swift +4 -0
  130. package/local.properties +8 -0
  131. package/package.json +1 -1
  132. package/settings.gradle.kts +52 -0
  133. package/src/doctor/README.md +73 -0
  134. package/src/doctor/package-lock.json +885 -0
  135. package/src/doctor/package.json +44 -0
  136. package/src/doctor/publish.sh +27 -0
  137. package/src/doctor/src/Users.json +112 -0
  138. package/src/doctor/src/Whitelist.json +6 -0
  139. package/src/doctor/src/commands/check.ts +81 -0
  140. package/src/doctor/src/commands/doctor.ts +193 -0
  141. package/src/doctor/src/index.ts +35 -0
  142. package/src/doctor/src/logger.ts +84 -0
  143. package/src/doctor/src/task/native.ts +21 -0
  144. package/src/doctor/src/task/utils.ts +20 -0
  145. package/src/doctor/src/utils/checkCoreDependencies.ts +138 -0
  146. package/src/doctor/src/utils/checkDeletedPackage.ts +53 -0
  147. package/src/doctor/src/utils/checkDeprecatedPackages.ts +168 -0
  148. package/src/doctor/src/utils/checkDeprecatedVersion.ts +60 -0
  149. package/src/doctor/src/utils/checkShareDependencies.ts +251 -0
  150. package/src/doctor/src/utils/checkWrongVersionCommunityPackage.ts +64 -0
  151. package/src/doctor/src/utils/getErrorMessage.ts +84 -0
  152. package/src/doctor/src/utils/scanComponentUsage.ts +206 -0
  153. package/src/doctor/src/utils/scanFoundationImports.ts +169 -0
  154. package/src/doctor/src/utils/scanMaxApiUsage.ts +86 -0
  155. package/src/doctor/src/utils/scanNativeModulesUsage.ts +78 -0
  156. package/src/doctor/src/utils/sendMessage.ts +28 -0
  157. package/src/doctor/tsconfig.json +14 -0
  158. package/src/doctor/yarn.lock +492 -0
  159. package/src/foundations/Application/BottomSheet.tsx +358 -0
  160. package/src/foundations/Application/BottomTab/BottomTabBar.tsx +320 -0
  161. package/src/foundations/Application/BottomTab/CustomBottomTabItem.tsx +155 -0
  162. package/src/foundations/Application/BottomTab/TabBarIcon.tsx +113 -0
  163. package/src/foundations/Application/BottomTab/index.tsx +449 -0
  164. package/src/foundations/Application/Components/BackgroundImageView.tsx +126 -0
  165. package/src/foundations/Application/Components/HeaderAnimated.tsx +69 -0
  166. package/src/foundations/Application/Components/HeaderBackground.tsx +83 -0
  167. package/src/foundations/Application/Components/HeaderExtendHeader.tsx +225 -0
  168. package/src/foundations/Application/Components/HeaderLeft.tsx +93 -0
  169. package/src/foundations/Application/Components/HeaderRight.tsx +444 -0
  170. package/src/foundations/Application/Components/HeaderTitle.tsx +596 -0
  171. package/src/foundations/Application/Components/NavigationButton.tsx +76 -0
  172. package/src/foundations/Application/Components/SearchHeader.tsx +127 -0
  173. package/src/foundations/Application/Localize.ts +44 -0
  174. package/src/foundations/Application/ModalScreen.tsx +148 -0
  175. package/src/foundations/Application/Navigation.ts +63 -0
  176. package/src/foundations/Application/NavigationContainer.tsx +245 -0
  177. package/src/foundations/Application/Navigator.ts +171 -0
  178. package/src/foundations/Application/ScaleSizeProvider.tsx +16 -0
  179. package/src/foundations/Application/StackScreen.tsx +420 -0
  180. package/src/foundations/Application/TooltipPortal.tsx +127 -0
  181. package/src/foundations/Application/WidgetContainer.tsx +162 -0
  182. package/src/foundations/Application/index.ts +34 -0
  183. package/src/foundations/Application/types.ts +350 -0
  184. package/src/foundations/Application/utils.tsx +239 -0
  185. package/src/foundations/Assets/DotAnimation.json +256 -0
  186. package/src/foundations/Assets/SpinnerAnimation.json +1027 -0
  187. package/src/foundations/Assets/icon.json +4052 -0
  188. package/src/foundations/Assets/icon_bank.json +506 -0
  189. package/src/foundations/Assets/language.json +208 -0
  190. package/src/foundations/Assets/lottie_circle_loader.json +1 -0
  191. package/src/foundations/Assets/pinAnimation.json +1 -0
  192. package/src/foundations/Assets/unpinAnimation.json +1 -0
  193. package/src/foundations/Badge/Badge.tsx +104 -0
  194. package/src/foundations/Badge/BadgeDot.tsx +35 -0
  195. package/src/foundations/Badge/BadgeDotAnimation.tsx +95 -0
  196. package/src/foundations/Badge/BadgeRibbon.tsx +112 -0
  197. package/src/foundations/Badge/Shape.tsx +29 -0
  198. package/src/foundations/Badge/index.tsx +8 -0
  199. package/src/foundations/Badge/styles.ts +125 -0
  200. package/src/foundations/Badge/types.ts +68 -0
  201. package/src/foundations/Button/index.tsx +371 -0
  202. package/src/foundations/Button/styles.ts +65 -0
  203. package/src/foundations/CheckBox/index.tsx +104 -0
  204. package/src/foundations/CheckBox/styles.ts +17 -0
  205. package/src/foundations/CheckBox/types.ts +37 -0
  206. package/src/foundations/Consts/colors+spacing+radius.ts +232 -0
  207. package/src/foundations/Consts/index.ts +4 -0
  208. package/src/foundations/Consts/styles.ts +52 -0
  209. package/src/foundations/Consts/theme.ts +121 -0
  210. package/src/foundations/Context/index.ts +27 -0
  211. package/src/foundations/Divider/DashDivider.tsx +46 -0
  212. package/src/foundations/Divider/index.tsx +45 -0
  213. package/src/foundations/FoundationList/index.tsx +12 -0
  214. package/src/foundations/FoundationList/types.ts +7 -0
  215. package/src/foundations/Icon/index.tsx +57 -0
  216. package/src/foundations/Icon/types.ts +32 -0
  217. package/src/foundations/IconButton/index.tsx +144 -0
  218. package/src/foundations/IconButton/styles.ts +20 -0
  219. package/src/foundations/Image/index.tsx +115 -0
  220. package/src/foundations/Image/styles.ts +7 -0
  221. package/src/foundations/Image/types.ts +7 -0
  222. package/src/foundations/Input/Input.tsx +280 -0
  223. package/src/foundations/Input/InputDropDown.tsx +161 -0
  224. package/src/foundations/Input/InputMoney.tsx +325 -0
  225. package/src/foundations/Input/InputOTP.tsx +299 -0
  226. package/src/foundations/Input/InputPhoneNumber.tsx +287 -0
  227. package/src/foundations/Input/InputSearch.tsx +351 -0
  228. package/src/foundations/Input/InputTextArea.tsx +218 -0
  229. package/src/foundations/Input/SystemTextInput.tsx +44 -0
  230. package/src/foundations/Input/TextTyping.tsx +115 -0
  231. package/src/foundations/Input/common.tsx +243 -0
  232. package/src/foundations/Input/index.tsx +373 -0
  233. package/src/foundations/Input/styles.ts +226 -0
  234. package/src/foundations/Input/utils.ts +97 -0
  235. package/src/foundations/Layout/Card.tsx +108 -0
  236. package/src/foundations/Layout/FloatingButton.tsx +179 -0
  237. package/src/foundations/Layout/GridSystem.tsx +137 -0
  238. package/src/foundations/Layout/Item.tsx +59 -0
  239. package/src/foundations/Layout/ItemList.tsx +66 -0
  240. package/src/foundations/Layout/ItemSectionList.tsx +40 -0
  241. package/src/foundations/Layout/Screen.tsx +644 -0
  242. package/src/foundations/Layout/Section.tsx +103 -0
  243. package/src/foundations/Layout/TrackingScope.tsx +18 -0
  244. package/src/foundations/Layout/index.ts +34 -0
  245. package/src/foundations/Layout/styles.ts +95 -0
  246. package/src/foundations/Layout/types.ts +40 -0
  247. package/src/foundations/Layout/utils.ts +47 -0
  248. package/src/foundations/Loader/DotLoader.tsx +37 -0
  249. package/src/foundations/Loader/Loader.tsx +13 -0
  250. package/src/foundations/Loader/ProgressBar.tsx +45 -0
  251. package/src/foundations/Loader/Spinner.tsx +29 -0
  252. package/src/foundations/Loader/index.tsx +6 -0
  253. package/src/foundations/Loader/styles.ts +10 -0
  254. package/src/foundations/Loader/types.ts +35 -0
  255. package/src/foundations/Loader/utils.ts +25 -0
  256. package/src/foundations/Pagination/Dot.tsx +19 -0
  257. package/src/foundations/Pagination/PaginationDot.tsx +44 -0
  258. package/src/foundations/Pagination/PaginationNumber.tsx +31 -0
  259. package/src/foundations/Pagination/PaginationScroll.tsx +99 -0
  260. package/src/foundations/Pagination/PaginationWhiteDot.tsx +43 -0
  261. package/src/foundations/Pagination/index.tsx +25 -0
  262. package/src/foundations/Pagination/styles.ts +51 -0
  263. package/src/foundations/Pagination/types.ts +40 -0
  264. package/src/foundations/Popup/PopupNotify.tsx +276 -0
  265. package/src/foundations/Popup/PopupPromotion.tsx +118 -0
  266. package/src/foundations/Popup/index.tsx +4 -0
  267. package/src/foundations/Popup/types.ts +96 -0
  268. package/src/foundations/Radio/index.tsx +108 -0
  269. package/src/foundations/Radio/styles.ts +15 -0
  270. package/src/foundations/Radio/types.ts +31 -0
  271. package/src/foundations/Skeleton/index.tsx +118 -0
  272. package/src/foundations/Skeleton/styles.ts +5 -0
  273. package/src/foundations/Skeleton/types.ts +6 -0
  274. package/src/foundations/Switch/index.tsx +68 -0
  275. package/src/foundations/Switch/styles.ts +25 -0
  276. package/src/foundations/Switch/types.ts +19 -0
  277. package/src/foundations/Tag/index.tsx +128 -0
  278. package/src/foundations/Tag/types.ts +41 -0
  279. package/src/foundations/Text/index.tsx +241 -0
  280. package/src/foundations/Text/styles.ts +78 -0
  281. package/src/foundations/Text/types.ts +53 -0
  282. package/src/foundations/Text/utils.ts +63 -0
  283. package/src/foundations/Title/index.tsx +285 -0
  284. package/src/foundations/Title/styles.ts +55 -0
  285. package/src/foundations/Title/types.ts +21 -0
  286. package/src/foundations/index.ts +50 -0
  287. package/src/foundations/package.json +35 -0
  288. package/src/foundations/publish.sh +17 -0
  289. package/src/libs/AutoComplete/index.tsx +88 -0
  290. package/src/libs/AutoComplete/package.json +16 -0
  291. package/src/libs/AutoComplete/publish.sh +16 -0
  292. package/src/libs/AutoComplete/styles.ts +15 -0
  293. package/src/libs/AutoComplete/types.ts +60 -0
  294. package/src/libs/Avatar/index.tsx +146 -0
  295. package/src/libs/Avatar/package.json +16 -0
  296. package/src/libs/Avatar/publish.sh +20 -0
  297. package/src/libs/Avatar/styles.ts +18 -0
  298. package/src/libs/Avatar/types.ts +57 -0
  299. package/src/libs/Badge/Badge.tsx +70 -0
  300. package/src/libs/Badge/BadgeDot.tsx +11 -0
  301. package/src/libs/Badge/BadgeRibbon.tsx +122 -0
  302. package/src/libs/Badge/Shape.tsx +29 -0
  303. package/src/libs/Badge/index.tsx +7 -0
  304. package/src/libs/Badge/package.json +16 -0
  305. package/src/libs/Badge/publish.sh +18 -0
  306. package/src/libs/Badge/styles.ts +55 -0
  307. package/src/libs/Badge/types.ts +63 -0
  308. package/src/libs/Calendar/CalendarPro.tsx +307 -0
  309. package/src/libs/Calendar/Day.tsx +150 -0
  310. package/src/libs/Calendar/HeaderControl.tsx +55 -0
  311. package/src/libs/Calendar/LunarDateConverter.ts +228 -0
  312. package/src/libs/Calendar/LunarService.ts +206 -0
  313. package/src/libs/Calendar/Month.tsx +118 -0
  314. package/src/libs/Calendar/MonthList.tsx +226 -0
  315. package/src/libs/Calendar/TabHeader.tsx +91 -0
  316. package/src/libs/Calendar/Util.ts +288 -0
  317. package/src/libs/Calendar/holidayData.ts +118 -0
  318. package/src/libs/Calendar/index.tsx +383 -0
  319. package/src/libs/Calendar/package.json +18 -0
  320. package/src/libs/Calendar/publish.sh +18 -0
  321. package/src/libs/Calendar/styles.ts +122 -0
  322. package/src/libs/Calendar/types.ts +212 -0
  323. package/src/libs/Carousel/animation.ts +62 -0
  324. package/src/libs/Carousel/index.tsx +517 -0
  325. package/src/libs/Carousel/package.json +18 -0
  326. package/src/libs/Carousel/publish.sh +16 -0
  327. package/src/libs/Carousel/types.ts +71 -0
  328. package/src/libs/Chip/index.tsx +164 -0
  329. package/src/libs/Chip/package.json +16 -0
  330. package/src/libs/Chip/publish.sh +16 -0
  331. package/src/libs/Chip/styles.ts +20 -0
  332. package/src/libs/Chip/types.ts +72 -0
  333. package/src/libs/Collapse/index.tsx +305 -0
  334. package/src/libs/Collapse/package.json +16 -0
  335. package/src/libs/Collapse/publish.sh +18 -0
  336. package/src/libs/Collapse/styles.ts +37 -0
  337. package/src/libs/Collapse/types.ts +84 -0
  338. package/src/libs/DateTimePicker/WheelPicker.tsx +163 -0
  339. package/src/libs/DateTimePicker/WheelPickerItem.tsx +58 -0
  340. package/src/libs/DateTimePicker/index.tsx +188 -0
  341. package/src/libs/DateTimePicker/package.json +16 -0
  342. package/src/libs/DateTimePicker/publish.sh +17 -0
  343. package/src/libs/DateTimePicker/styles.ts +31 -0
  344. package/src/libs/DateTimePicker/types.ts +102 -0
  345. package/src/libs/DateTimePicker/utils.ts +114 -0
  346. package/src/libs/Information/index.tsx +129 -0
  347. package/src/libs/Information/package.json +16 -0
  348. package/src/libs/Information/publish.sh +18 -0
  349. package/src/libs/Information/styles.ts +34 -0
  350. package/src/libs/Information/types.ts +79 -0
  351. package/src/libs/Logo/index.tsx +39 -0
  352. package/src/libs/Logo/package.json +17 -0
  353. package/src/libs/Logo/publish.sh +16 -0
  354. package/src/libs/Logo/styles.ts +25 -0
  355. package/src/libs/Logo/types.ts +13 -0
  356. package/src/libs/ProgressInfo/ProgressInfoHorizontal.tsx +128 -0
  357. package/src/libs/ProgressInfo/ProgressInfoIcon.tsx +88 -0
  358. package/src/libs/ProgressInfo/ProgressInfoVertical.tsx +85 -0
  359. package/src/libs/ProgressInfo/index.tsx +22 -0
  360. package/src/libs/ProgressInfo/package.json +16 -0
  361. package/src/libs/ProgressInfo/publish.sh +16 -0
  362. package/src/libs/ProgressInfo/styles.ts +46 -0
  363. package/src/libs/ProgressInfo/types.ts +60 -0
  364. package/src/libs/ProgressInfo/yarn.lock +8 -0
  365. package/src/libs/Rating/index.tsx +74 -0
  366. package/src/libs/Rating/package.json +16 -0
  367. package/src/libs/Rating/publish.sh +18 -0
  368. package/src/libs/Rating/type.ts +25 -0
  369. package/src/libs/Slider/Label.tsx +33 -0
  370. package/src/libs/Slider/helpers.ts +35 -0
  371. package/src/libs/Slider/hooks.tsx +218 -0
  372. package/src/libs/Slider/index.tsx +453 -0
  373. package/src/libs/Slider/package.json +16 -0
  374. package/src/libs/Slider/publish.sh +18 -0
  375. package/src/libs/Slider/styles.ts +36 -0
  376. package/src/libs/Stepper/NumberView.tsx +64 -0
  377. package/src/libs/Stepper/StepperButton.tsx +37 -0
  378. package/src/libs/Stepper/index.tsx +139 -0
  379. package/src/libs/Stepper/package.json +16 -0
  380. package/src/libs/Stepper/publish.sh +17 -0
  381. package/src/libs/Stepper/styles.ts +44 -0
  382. package/src/libs/Stepper/types.ts +154 -0
  383. package/src/libs/Steps/StepIcon.tsx +86 -0
  384. package/src/libs/Steps/StepsHorizontal.tsx +189 -0
  385. package/src/libs/Steps/StepsVertical.tsx +133 -0
  386. package/src/libs/Steps/index.tsx +20 -0
  387. package/src/libs/Steps/package.json +16 -0
  388. package/src/libs/Steps/publish.sh +16 -0
  389. package/src/libs/Steps/styles.ts +46 -0
  390. package/src/libs/Steps/types.ts +159 -0
  391. package/src/libs/Steps/utils.ts +175 -0
  392. package/src/libs/SuggestAction/SuggestActionView.tsx +124 -0
  393. package/src/libs/SuggestAction/index.tsx +3 -0
  394. package/src/libs/SuggestAction/package.json +16 -0
  395. package/src/libs/SuggestAction/publish.sh +16 -0
  396. package/src/libs/SuggestAction/styles.ts +30 -0
  397. package/src/libs/SuggestAction/types.ts +36 -0
  398. package/src/libs/Swipe/SwipeView.tsx +151 -0
  399. package/src/libs/Swipe/index.tsx +5 -0
  400. package/src/libs/Swipe/package.json +16 -0
  401. package/src/libs/Swipe/publish.sh +16 -0
  402. package/src/libs/Swipe/styles.ts +16 -0
  403. package/src/libs/Swipe/types.ts +109 -0
  404. package/src/libs/TabView/assets/Path.tsx +29 -0
  405. package/src/libs/TabView/index.tsx +184 -0
  406. package/src/libs/TabView/package.json +16 -0
  407. package/src/libs/TabView/publish.sh +16 -0
  408. package/src/libs/TabView/styles.ts +96 -0
  409. package/src/libs/TabView/tabBar/CardTabBar.tsx +137 -0
  410. package/src/libs/TabView/tabBar/SrollableTabBar.tsx +218 -0
  411. package/src/libs/TabView/tabBar/TabBar.tsx +67 -0
  412. package/src/libs/TabView/tabItem/CardTabItem.tsx +118 -0
  413. package/src/libs/TabView/tabItem/TabItem.tsx +180 -0
  414. package/src/libs/TabView/types.ts +166 -0
  415. package/src/libs/Template/HeaderSliderBanner/index.tsx +86 -0
  416. package/src/libs/Template/HeaderSliderBanner/types.ts +16 -0
  417. package/src/libs/Template/TrustBanner/CustomAvatar.tsx +39 -0
  418. package/src/libs/Template/TrustBanner/index.tsx +161 -0
  419. package/src/libs/Template/TrustBanner/styles.ts +48 -0
  420. package/src/libs/Template/TrustBanner/types.ts +50 -0
  421. package/src/libs/Template/index.tsx +4 -0
  422. package/src/libs/Template/package.json +18 -0
  423. package/src/libs/Template/publish.sh +17 -0
  424. package/src/libs/Title/index.tsx +284 -0
  425. package/src/libs/Title/package.json +17 -0
  426. package/src/libs/Title/publish.sh +16 -0
  427. package/src/libs/Title/styles.ts +54 -0
  428. package/src/libs/Title/types.ts +21 -0
  429. package/src/libs/Tooltip/TooltipButtons.tsx +54 -0
  430. package/src/libs/Tooltip/index.tsx +608 -0
  431. package/src/libs/Tooltip/package.json +16 -0
  432. package/src/libs/Tooltip/publish.sh +18 -0
  433. package/src/libs/Tooltip/styles.ts +70 -0
  434. package/src/libs/Tooltip/types.ts +61 -0
  435. package/src/libs/Uploader/index.tsx +87 -0
  436. package/src/libs/Uploader/package.json +17 -0
  437. package/src/libs/Uploader/publish.sh +18 -0
  438. package/src/libs/Uploader/styles.ts +30 -0
  439. package/src/libs/Uploader/types.ts +69 -0
  440. package/src/native/MoMoNative.podspec +18 -0
  441. package/src/native/calculator/android/build.gradle +61 -0
  442. package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  443. package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  444. package/src/native/calculator/android/gradlew +172 -0
  445. package/src/native/calculator/android/gradlew.bat +84 -0
  446. package/src/native/calculator/android/src/main/AndroidManifest.xml +5 -0
  447. package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewModule.java +22 -0
  448. package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewPackage.java +35 -0
  449. package/src/native/calculator/android/src/main/java/com/calculator/modules/CalculatorKeyboardModule.java +157 -0
  450. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/CalculatorEditText.java +36 -0
  451. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/FixedRelativeLayout.java +45 -0
  452. package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/MomoTextInputCalculatorManager.java +173 -0
  453. package/src/native/calculator/android/src/main/java/com/calculator/views/customkeyboard/RNCustomKeyboardModule.java +417 -0
  454. package/src/native/calculator/ios/Helper/MomoHelper.swift +16 -0
  455. package/src/native/calculator/ios/KeyboardView-Bridging-Header.h +60 -0
  456. package/src/native/calculator/ios/KeyboardView.h +19 -0
  457. package/src/native/calculator/ios/KeyboardView.m +56 -0
  458. package/src/native/calculator/ios/MomoTextInputCalculator.swift +144 -0
  459. package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.h +6 -0
  460. package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.m +143 -0
  461. package/src/native/package.json +14 -0
  462. package/src/native/publish.sh +29 -0
  463. package/src/native/resource/android/build.gradle +57 -0
  464. package/src/native/resource/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  465. package/src/native/resource/android/gradle/wrapper/gradle-wrapper.properties +6 -0
  466. package/src/native/resource/android/src/main/AndroidManifest.xml +6 -0
  467. package/src/native/resource/android/src/main/java/com/resource/RNResourceModule.java +90 -0
  468. package/src/native/resource/android/src/main/java/com/resource/RNResourcePackage.java +22 -0
  469. package/src/native/resource/ios/RNResouce.m +71 -0
  470. package/src/native/resource/ios/RNResource.h +5 -0
  471. package/example/ios/Example.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  472. package/example/ios/Example.xcworkspace/xcuserdata/sophia.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  473. package/example/ios/Example.xcworkspace/xcuserdata/sophia.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
  474. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
  475. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
  476. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
  477. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
  478. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
  479. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +0 -58
  480. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/lottie-ios.xcscheme +0 -58
  481. package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/xcschememanagement.plist +0 -46
@@ -0,0 +1,144 @@
1
+ //
2
+ // MomoTextInputCalculator.swift
3
+ // MoMoApp
4
+ //
5
+ // Created by Hung Huynh on 5/24/19.
6
+ // Copyright © 2019 Hung Huynh. All rights reserved.
7
+ //
8
+
9
+ import Foundation
10
+ import UIKit
11
+
12
+ @objc(MomoTextInputCalculator)
13
+
14
+ class MomoTextInputCalculator: RCTBaseTextInputViewManager {
15
+ @objc override static func requiresMainQueueSetup() -> Bool {
16
+ return true;
17
+ }
18
+
19
+ override func view() -> UIView! {
20
+ let textInputCalendar = TextInputCalculator.init(bridge: self.bridge);
21
+ return textInputCalendar;
22
+ }
23
+ }
24
+
25
+ class TextInputCalculator: RCTSinglelineTextInputView {
26
+ override init(bridge: RCTBridge) {
27
+ super.init(bridge: bridge);
28
+
29
+ let inputView = RCTRootView.init(bridge: bridge,
30
+ moduleName: "KeyboardCalculator",
31
+ initialProperties: [
32
+ "textInputTag": self.reactTag,
33
+ "onPress": {(data: [Any]) in
34
+ print(data);
35
+ }]
36
+ );
37
+ inputView.frame = CGRect(x: 0, y: 0, width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.width * 0.675);
38
+
39
+ if let textField = self.backedTextInputView as? RCTUITextField {
40
+ textField.inputView = inputView;
41
+ textField.inputView?.reloadInputViews();
42
+ textField.keyboardType = UIKeyboardType.default;
43
+ }
44
+
45
+ }
46
+
47
+ override func textInputShouldBeginEditing() -> Bool {
48
+ CalculatorKeyboardModule.editingTextField = self.backedTextInputView as? RCTUITextField;
49
+ return true;
50
+ }
51
+
52
+ }
53
+
54
+ @objc(CalculatorKeyboardModule)
55
+ class CalculatorKeyboardModule : NSObject, RCTBridgeModule {
56
+ static var editingTextField:RCTUITextField?
57
+
58
+ static func moduleName() -> String! {
59
+ return "CalculatorKeyboardModule"
60
+ }
61
+
62
+ static func requiresMainQueueSetup() -> Bool {
63
+ return true;
64
+ }
65
+
66
+ @objc func insertText(_ text: String) -> Void {
67
+ dispatchUI {
68
+ if let view = CalculatorKeyboardModule.editingTextField {
69
+ if let range = view.selectedTextRange {
70
+ if (view.compare(range.start, to: range.end).rawValue == 0 &&
71
+ (text == "+" || text == "-" || text == "÷" || text == "×")) {
72
+ if let fromRange = view.position(from: range.start, offset: -1) {
73
+ if var newRange = view.textRange(from: fromRange, to: range.start) {
74
+ if (view.text(in: newRange) == " ") {
75
+ newRange = view.textRange(from: view.position(from: range.start, offset: -2)!, to: range.start)!;
76
+ let formatString = String.init(format: "%@ ", text);
77
+ view.replace(newRange, withText: formatString);
78
+ }
79
+ else {
80
+ view.replace(range, withText: text);
81
+ }
82
+ }
83
+ else {
84
+ view.replace(range, withText: text);
85
+ }
86
+ }
87
+ else {
88
+
89
+ }
90
+ }
91
+ else {
92
+ view.replace(range, withText: text);
93
+ }
94
+ }
95
+ }
96
+ }
97
+ }
98
+
99
+ @objc func backSpace() -> Void {
100
+ dispatchUI {
101
+ if let view = CalculatorKeyboardModule.editingTextField {
102
+ if let range = view.selectedTextRange {
103
+ if (view.compare(range.start, to: range.end).rawValue == 0) {
104
+ if let fromRange = view.position(from: range.start, offset: -1) {
105
+ if var newRange = view.textRange(from: fromRange, to: range.start) {
106
+ if (view.text(in: newRange) == " ") {
107
+ newRange = view.textRange(from: view.position(from: range.start, offset: -2)!, to: range.start)!;
108
+ }
109
+ view.replace(newRange, withText: "");
110
+ }
111
+ }
112
+ }
113
+ else {
114
+ view.replace(range, withText: "");
115
+ }
116
+ }
117
+ }
118
+ }
119
+ }
120
+
121
+ @objc func doDelete() -> Void {
122
+ dispatchUI {
123
+ if let view = CalculatorKeyboardModule.editingTextField {
124
+ if let range = view.selectedTextRange {
125
+ if (view.compare(range.start, to: range.end).rawValue == 0) {
126
+ if let toRange = view.position(from: range.start, offset: 1) {
127
+ if let newRange = view.textRange(from: range.start, to: toRange) {
128
+ view.replace(newRange, withText: "")
129
+ }
130
+ }
131
+ else {
132
+ if let allTextRange = view.textRange(from: view.beginningOfDocument, to: view.endOfDocument) {
133
+ view.replace(allTextRange, withText: "")
134
+ }
135
+ }
136
+ }
137
+ else {
138
+ view.replace(range, withText: "")
139
+ }
140
+ }
141
+ }
142
+ }
143
+ }
144
+ }
@@ -0,0 +1,6 @@
1
+ //Copyright cuonghero
2
+ #import <React/RCTBridgeModule.h>
3
+ @interface RNCustomKeyboard : NSObject <RCTBridgeModule>
4
+
5
+ @end
6
+
@@ -0,0 +1,143 @@
1
+
2
+ //Copyright cuonghero
3
+
4
+ #import "RNCustomKeyboard.h"
5
+ #import <React/RCTBridge+Private.h>
6
+ #import <React/RCTUIManager.h>
7
+ #import <React/RCTSinglelineTextInputView.h>
8
+
9
+ @implementation RNCustomKeyboard
10
+
11
+ @synthesize bridge = _bridge;
12
+
13
+ - (dispatch_queue_t)methodQueue
14
+ {
15
+ return dispatch_get_main_queue();
16
+ }
17
+ RCT_EXPORT_MODULE(CustomKeyboard)
18
+
19
+ RCT_EXPORT_METHOD(install:(nonnull NSNumber *)reactTag withType:(nonnull NSString *)keyboardType)
20
+ {
21
+ UIView* inputView = [[RCTRootView alloc] initWithBridge:_bridge
22
+ moduleName:@"CustomKeyboard"
23
+ initialProperties:@{
24
+ @"tag": reactTag,
25
+ @"type": keyboardType
26
+ }
27
+ ];
28
+
29
+ UIView *view = (UIView*)[_bridge.uiManager viewForReactTag:reactTag];
30
+ UITextField* textField = [self getTextFieldFor:view];
31
+ if (textField != nil) {
32
+ [textField setInputView:inputView];
33
+ [textField reloadInputViews];
34
+ }
35
+ }
36
+
37
+ - (UITextField*)getTextFieldFor:(UIView*)view {
38
+ if ([view isKindOfClass:[RCTSinglelineTextInputView class]]) {
39
+ RCTSinglelineTextInputView *textView = (RCTSinglelineTextInputView*) view;
40
+ if (textView.backedTextInputView != nil) {
41
+ UITextField* textField = (UITextField*) textView.backedTextInputView;
42
+ return textField;
43
+ }
44
+ }
45
+ return nil;
46
+ }
47
+
48
+ RCT_EXPORT_METHOD(uninstall:(nonnull NSNumber *)reactTag)
49
+ {
50
+ UITextView *view = (UITextView*)[_bridge.uiManager viewForReactTag:reactTag];
51
+ UITextField* textField = [self getTextFieldFor:view];
52
+ if (textField != nil) {
53
+ textField.inputView = nil;
54
+ [textField reloadInputViews];
55
+ }
56
+ }
57
+
58
+ RCT_EXPORT_METHOD(insertText:(nonnull NSNumber *)reactTag withText:(NSString*)text) {
59
+ UITextView *view = (UITextView*)[_bridge.uiManager viewForReactTag:reactTag];
60
+ if(view == nil) return;
61
+ UITextRange* range = view.selectedTextRange;
62
+ if ([view comparePosition:range.start toPosition:range.end] == 0 &&([text isEqualToString:@"+"] || [text isEqualToString:@"-"] || [text isEqualToString:@"÷"] || [text isEqualToString:@"×"])) {
63
+ range = [view textRangeFromPosition:[view positionFromPosition:range.start offset:-1] toPosition:range.start];
64
+ NSString * txt = [view textInRange:range];
65
+ if([txt isEqualToString:@" "]){
66
+ range = view.selectedTextRange;
67
+ range = [view textRangeFromPosition:[view positionFromPosition:range.start offset:-2] toPosition:range.start];
68
+ NSString *formatstring = [NSString stringWithFormat:@"%@ ", text];
69
+ [view replaceRange:range withText:formatstring];
70
+ }
71
+ else{
72
+ [view replaceRange:view.selectedTextRange withText:text];
73
+ }
74
+ }else{
75
+ [view replaceRange:view.selectedTextRange withText:text];
76
+ }
77
+ }
78
+
79
+ RCT_EXPORT_METHOD(backSpace:(nonnull NSNumber *)reactTag) {
80
+ UITextView *view = (UITextView*)[_bridge.uiManager viewForReactTag:reactTag];
81
+ if(view == nil) return;
82
+ UITextRange* range = view.selectedTextRange;
83
+ if ([view comparePosition:range.start toPosition:range.end] == 0) {
84
+ range = [view textRangeFromPosition:[view positionFromPosition:range.start offset:-1] toPosition:range.start];
85
+ NSString * txt = [view textInRange:range];
86
+ if([txt isEqualToString:@" "]){
87
+ range = view.selectedTextRange;
88
+ range = [view textRangeFromPosition:[view positionFromPosition:range.start offset:-2] toPosition:range.start];
89
+ }
90
+ }
91
+ [view replaceRange:range withText:@""];
92
+ }
93
+
94
+ RCT_EXPORT_METHOD(doDelete:(nonnull NSNumber *)reactTag) {
95
+ UITextView *view = (UITextView*)[_bridge.uiManager viewForReactTag:reactTag];
96
+ if(view == nil) return;
97
+ UITextRange* range = view.selectedTextRange;
98
+ if ([view comparePosition:range.start toPosition:range.end] == 0) {
99
+ range = [view textRangeFromPosition:range.start toPosition:[view positionFromPosition: range.start offset: 1]];
100
+ }
101
+ [view replaceRange:range withText:@""];
102
+ }
103
+
104
+ RCT_EXPORT_METHOD(moveLeft:(nonnull NSNumber *)reactTag) {
105
+ UITextView *view = (UITextView*)[_bridge.uiManager viewForReactTag:reactTag];
106
+ if(view == nil) return;
107
+ UITextRange* range = view.selectedTextRange;
108
+ UITextPosition* position = range.start;
109
+
110
+ if ([view comparePosition:range.start toPosition:range.end] == 0) {
111
+ position = [view positionFromPosition: position offset: -1];
112
+ }
113
+
114
+ view.selectedTextRange = [view textRangeFromPosition: position toPosition:position];
115
+ }
116
+
117
+ RCT_EXPORT_METHOD(moveRight:(nonnull NSNumber *)reactTag) {
118
+ UITextView *view = (UITextView*)[_bridge.uiManager viewForReactTag:reactTag];
119
+ if(view == nil) return;
120
+ UITextRange* range = view.selectedTextRange;
121
+ UITextPosition* position = range.end;
122
+
123
+ if ([view comparePosition:range.start toPosition:range.end] == 0) {
124
+ position = [view positionFromPosition: position offset: 1];
125
+ }
126
+
127
+ view.selectedTextRange = [view textRangeFromPosition: position toPosition:position];
128
+ }
129
+
130
+ RCT_EXPORT_METHOD(switchSystemKeyboard:(nonnull NSNumber*) reactTag) {
131
+ UITextView *view = (UITextView *) [_bridge.uiManager viewForReactTag:reactTag];
132
+ UITextField* textField = [self getTextFieldFor:view];
133
+ if (textField != nil) {
134
+ UIView* inputView = textField.inputView;
135
+ textField.inputView = nil;
136
+ [textField reloadInputViews];
137
+ textField.inputView = inputView;
138
+ }
139
+ }
140
+
141
+ @end
142
+
143
+
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "@momo-kits/native",
3
+ "version": "0.112.1-rn76.10",
4
+ "private": false,
5
+ "dependencies": {},
6
+ "peerDependencies": {
7
+ "react": "16.9.0",
8
+ "react-native": ">=0.55"
9
+ },
10
+ "license": "MoMo",
11
+ "publishConfig": {
12
+ "registry": "https://registry.npmjs.org/"
13
+ }
14
+ }
@@ -0,0 +1,29 @@
1
+ #!/bin/bash
2
+ rm -rf dist
3
+ mkdir dist
4
+
5
+ cp . ./dist
6
+
7
+ # GET VERSION from mck_package.json
8
+ VERSIONSTRING=( v$(jq .version package.json) )
9
+ VERSION=(${VERSIONSTRING//[\"]/})
10
+ echo VERSION: $VERSION
11
+
12
+ rsync -r --verbose --exclude '*.mdx' --exclude '*Demo.js' --exclude 'props-type.js' --exclude 'prop-types.js' ./* dist
13
+
14
+ # #babel component to dist
15
+ #babel ./dist -d dist --copy-files
16
+
17
+ #copy option
18
+ #cp -r ./src/ dist
19
+
20
+
21
+ #npm login
22
+ #publish dist to npm
23
+ cd dist
24
+
25
+ npm publish --tag beta --access=public
26
+ cd ..
27
+ rm -rf dist
28
+
29
+ #curl -X POST -H 'Content-Type: application/json' 'https://chat.googleapis.com/v1/spaces/AAAAbP8987c/messages?key=AIzaSyDdI0hCZtE6vySjMm-WEfRq3CPzqKqqsHI&token=UGSFRvk_oYb9uGsAgs31bVvMm6jDkmD8zihGm3eyaQA%3D&threadKey=JoaXTEYaNNkl' -d '{"text": "@momo-kits/native new version release: '*"$VERSION"*' https://www.npmjs.com/package/@momo-kits/native"}'
@@ -0,0 +1,57 @@
1
+ apply plugin: 'com.android.library'
2
+
3
+ buildscript {
4
+ repositories {
5
+ maven {
6
+ url 'https://maven.fabric.io/public'
7
+ }
8
+ google()
9
+ jcenter()
10
+ mavenCentral()
11
+ }
12
+ dependencies {
13
+ classpath('com.android.tools.build:gradle:3.5.3')
14
+ }
15
+ }
16
+
17
+ allprojects {
18
+ repositories {
19
+ google()
20
+ jcenter()
21
+ }
22
+ }
23
+
24
+
25
+ def safeExtGet(prop, fallback) {
26
+ rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
27
+ }
28
+
29
+ android {
30
+ compileSdkVersion safeExtGet("compileSdkVersion", 28)
31
+
32
+ defaultConfig {
33
+ minSdkVersion safeExtGet('minSdkVersion', 16)
34
+ targetSdkVersion safeExtGet('targetSdkVersion', 28)
35
+ versionCode 1
36
+ versionName "1.0"
37
+ }
38
+
39
+ compileOptions {
40
+ sourceCompatibility JavaVersion.VERSION_1_8
41
+ targetCompatibility JavaVersion.VERSION_1_8
42
+ }
43
+
44
+
45
+ // Include "lib/" as sources, unfortunetely react-native link can't handle
46
+ // setting up alternative gradle modules. We still have "lib" defined as a
47
+ // standalone gradle module just to be used in AndroidNativeExample
48
+ sourceSets {
49
+ main.java.srcDirs += 'lib/src/main/java'
50
+ }
51
+ }
52
+
53
+ dependencies {
54
+ //noinspection GradleDynamicVersion
55
+ implementation 'androidx.appcompat:appcompat:1.0.2'
56
+ implementation 'com.facebook.react:react-native:+'
57
+ }
@@ -0,0 +1,6 @@
1
+ #Thu Feb 20 16:52:33 ICT 2020
2
+ distributionBase=GRADLE_USER_HOME
3
+ distributionPath=wrapper/dists
4
+ zipStoreBase=GRADLE_USER_HOME
5
+ zipStorePath=wrapper/dists
6
+ distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
@@ -0,0 +1,6 @@
1
+
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+ package="com.resource">
4
+
5
+ </manifest>
6
+
@@ -0,0 +1,90 @@
1
+ package com.resource;
2
+
3
+ import android.content.SharedPreferences;
4
+ import android.content.Context;
5
+ import android.util.Log;
6
+
7
+ import com.facebook.react.bridge.ReactApplicationContext;
8
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
9
+ import com.facebook.react.bridge.ReactMethod;
10
+ import com.facebook.react.bridge.Promise;
11
+
12
+ import java.util.HashMap;
13
+ import java.util.Map;
14
+
15
+ public class RNResourceModule extends ReactContextBaseJavaModule {
16
+ private final String LANGUAGE = "language";
17
+ private final String ICON = "icon";
18
+ private final String LOTTIE = "lottie";
19
+ private final String THEME = "theme";
20
+ private final String NAVIGATION_BAR = "navigationBar";
21
+ private final String STICKER_DATA = "sticker";
22
+ private final String RN_RESOURCE = "RNResource";
23
+ //private final ReactApplicationContext reactContext;
24
+ private SharedPreferences sharedPreferences;
25
+
26
+ public RNResourceModule(ReactApplicationContext reactContext) {
27
+ super(reactContext);
28
+ sharedPreferences = reactContext.getSharedPreferences(RN_RESOURCE, Context.MODE_PRIVATE);
29
+ }
30
+
31
+ @Override
32
+ public Map<String, Object> getConstants() {
33
+ String language = sharedPreferences.getString(LANGUAGE, "");
34
+ String icon = sharedPreferences.getString(ICON, "");
35
+ String lottie = sharedPreferences.getString(LOTTIE, "");
36
+ String theme = sharedPreferences.getString(THEME, "");
37
+ String navigationBar = sharedPreferences.getString(NAVIGATION_BAR, "");
38
+ String sticker = sharedPreferences.getString(STICKER_DATA, "");
39
+ final Map<String, Object> constants = new HashMap<>();
40
+ constants.put(LANGUAGE, language);
41
+ constants.put(ICON, icon);
42
+ constants.put(LOTTIE, lottie);
43
+ constants.put(THEME, theme);
44
+ constants.put(NAVIGATION_BAR, navigationBar);
45
+ constants.put(STICKER_DATA, sticker);
46
+ return constants;
47
+ }
48
+
49
+ @Override
50
+ public String getName() {
51
+ return RN_RESOURCE;
52
+ }
53
+
54
+ @ReactMethod
55
+ public void getResource(String key, Promise promise) {
56
+ try {
57
+ promise.resolve(sharedPreferences.getString(key, ""));
58
+ } catch (Exception e) {
59
+ promise.reject("Error getting system resource", e);
60
+ }
61
+ }
62
+
63
+ @ReactMethod(isBlockingSynchronousMethod = true)
64
+ public void getResourceSync(String key) {
65
+ try {
66
+ sharedPreferences.getString(key, "");
67
+ } catch (Exception e) {
68
+ Log.e("RNResource", "Error getting system resource");
69
+ }
70
+ }
71
+
72
+ @ReactMethod
73
+ public void setResource(String resource, String key) {
74
+ if (key.equals(LANGUAGE)) {
75
+ if (resource.equals("en")) {
76
+ resource = "en";
77
+ } else {
78
+ resource = "vi";
79
+ }
80
+ }
81
+ SharedPreferences.Editor editor = sharedPreferences.edit();
82
+ editor.putString(key, resource).commit();
83
+ }
84
+
85
+ @ReactMethod
86
+ public void removeResource(String key) {
87
+ SharedPreferences.Editor editor = sharedPreferences.edit();
88
+ editor.remove(key).commit();
89
+ }
90
+ }
@@ -0,0 +1,22 @@
1
+ package com.resource;
2
+
3
+ import java.util.Arrays;
4
+ import java.util.Collections;
5
+ import java.util.List;
6
+
7
+ import com.facebook.react.ReactPackage;
8
+ import com.facebook.react.bridge.NativeModule;
9
+ import com.facebook.react.bridge.ReactApplicationContext;
10
+ import com.facebook.react.uimanager.ViewManager;
11
+
12
+ public class RNResourcePackage implements ReactPackage {
13
+ @Override
14
+ public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
15
+ return Arrays.<NativeModule>asList(new RNResourceModule(reactContext));
16
+ }
17
+
18
+ @Override
19
+ public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
20
+ return Collections.emptyList();
21
+ }
22
+ }
@@ -0,0 +1,71 @@
1
+ #import "RNResource.h"
2
+
3
+ @implementation RNResource
4
+ //NSString *const APPLE_LANGUAGES = @"AppleLanguages";
5
+ NSString *const EMPTY_STRING = @"";
6
+ NSString *const LANGUAGE = @"language";
7
+ NSString *const ICON = @"icon";
8
+ NSString *const LOTTIE = @"lottie";
9
+ NSString *const THEME = @"theme";
10
+ NSString *const NAVIGATION_BAR = @"navigationBar";
11
+ NSString *const STICKER_DATA = @"sticker";
12
+
13
+ RCT_EXPORT_MODULE(RNResource);
14
+
15
+ + (BOOL)requiresMainQueueSetup {
16
+ return NO;
17
+ }
18
+
19
+ - (NSDictionary<NSString *, id> *)constantsToExport
20
+ {
21
+ return [self getConstants];
22
+ }
23
+
24
+ - (NSDictionary<NSString *, id> *)getConstants
25
+ {
26
+ NSString* language = [[NSUserDefaults standardUserDefaults] objectForKey:LANGUAGE];
27
+ NSString* icon = [[NSUserDefaults standardUserDefaults] objectForKey:ICON];
28
+ NSString* lottie = [[NSUserDefaults standardUserDefaults] objectForKey:LOTTIE];
29
+ NSString* theme = [[NSUserDefaults standardUserDefaults] objectForKey:THEME];
30
+ NSString* navigationBar = [[NSUserDefaults standardUserDefaults] objectForKey:NAVIGATION_BAR];
31
+ NSString* stickerData = [[NSUserDefaults standardUserDefaults] objectForKey:STICKER_DATA];
32
+
33
+ return @{LANGUAGE: language ? language : EMPTY_STRING, ICON: icon ? icon : EMPTY_STRING, LOTTIE: lottie ? lottie : EMPTY_STRING, THEME: theme ? theme : EMPTY_STRING, NAVIGATION_BAR: navigationBar ? navigationBar : EMPTY_STRING, STICKER_DATA: stickerData ? stickerData : EMPTY_STRING};
34
+ }
35
+
36
+ RCT_REMAP_METHOD(getResource,key:(NSString *)key
37
+ resolver:(RCTPromiseResolveBlock)resolve
38
+ rejecter:(RCTPromiseRejectBlock)reject)
39
+ {
40
+ NSString* resouce = [[NSUserDefaults standardUserDefaults] objectForKey:key];
41
+
42
+ if (resouce) {
43
+ resolve(resouce);
44
+ } else {
45
+ reject(@"get_error", @"Error getting system resource", nil);
46
+ }
47
+
48
+ }
49
+
50
+ RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(getResourceSync: (NSString*)key) {
51
+ return [[NSUserDefaults standardUserDefaults] objectForKey:key];
52
+ }
53
+
54
+ RCT_EXPORT_METHOD(setResource:(NSString *)jsonString key:(NSString *)key) {
55
+ if ([key isEqualToString:LANGUAGE]) {
56
+ if ([jsonString isEqualToString:@"en"]) {
57
+ jsonString = @"en";
58
+ }else {
59
+ jsonString = @"vi";
60
+ }
61
+ }
62
+ [[NSUserDefaults standardUserDefaults] setObject:jsonString forKey:key];
63
+ [[NSUserDefaults standardUserDefaults] synchronize];
64
+ }
65
+
66
+ RCT_EXPORT_METHOD(removeResource:(NSString *)key) {
67
+ [[NSUserDefaults standardUserDefaults] removeObjectForKey:key];
68
+ [[NSUserDefaults standardUserDefaults] synchronize];
69
+ }
70
+
71
+ @end
@@ -0,0 +1,5 @@
1
+ #import <React/RCTBridgeModule.h>
2
+ @interface RNResource : NSObject <RCTBridgeModule>
3
+
4
+ @end
5
+
@@ -1,14 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>SchemeUserState</key>
6
- <dict>
7
- <key>Example.xcscheme_^#shared#^_</key>
8
- <dict>
9
- <key>orderHint</key>
10
- <integer>7</integer>
11
- </dict>
12
- </dict>
13
- </dict>
14
- </plist>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Bucket
3
- uuid = "DBF0EFAF-411F-4CB3-946D-C4AB48EBD7AE"
4
- type = "0"
5
- version = "2.0">
6
- </Bucket>