@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,417 @@
1
+
2
+ package com.calculator.views.customkeyboard;
3
+
4
+ import android.app.Activity;
5
+ import android.graphics.Color;
6
+ import android.os.Bundle;
7
+ import android.os.Handler;
8
+ import android.os.Looper;
9
+ import android.util.DisplayMetrics;
10
+ import android.view.ActionMode;
11
+ import android.view.Menu;
12
+ import android.view.MenuItem;
13
+ import android.view.View;
14
+ import android.view.ViewGroup;
15
+ import android.view.WindowManager;
16
+ import android.view.inputmethod.InputMethodManager;
17
+ import android.widget.RelativeLayout;
18
+
19
+ import com.facebook.react.ReactInstanceManager;
20
+ import com.facebook.react.ReactRootView;
21
+ import com.facebook.react.bridge.ReactApplicationContext;
22
+ import com.facebook.react.bridge.ReactContextBaseJavaModule;
23
+ import com.facebook.react.bridge.ReactMethod;
24
+ import com.facebook.react.bridge.UiThreadUtil;
25
+ import com.facebook.react.uimanager.UIManagerModule;
26
+ import com.facebook.react.uimanager.events.EventDispatcher;
27
+ import com.facebook.react.views.textinput.ReactEditText;
28
+ import com.calculator.views.calculatorkeyboard.FixedRelativeLayout;
29
+
30
+
31
+ public class RNCustomKeyboardModule extends ReactContextBaseJavaModule {
32
+ private final int TAG_ID = 0xdeadbeaf;
33
+ private final ReactApplicationContext reactContext;
34
+ public static ReactInstanceManager mReactInstanceManager;
35
+ public boolean isRegisted = false;
36
+ public RNCustomKeyboardModule(ReactApplicationContext reactContext) {
37
+ super(reactContext);
38
+ this.reactContext = reactContext;
39
+ this.isRegisted = false;
40
+ }
41
+
42
+ Handler handle = new Handler(Looper.getMainLooper());
43
+
44
+ private ReactEditText getEditById(int id) {
45
+ // try{
46
+ // UIViewOperationQueue uii = this.getReactApplicationContext().getNativeModule(UIManagerModule.class).getUIImplementation().getUIViewOperationQueue();
47
+ // if(uii != null){
48
+ // return (ReactEditText) uii.getNativeViewHierarchyManager().resolveView(id);
49
+ // }
50
+ // }catch (Exception e){
51
+ // System.out.println("Exception occurred" + e.getMessage());
52
+ // }
53
+ return null;
54
+ }
55
+
56
+ @ReactMethod
57
+ public void onFocus(){
58
+
59
+ }
60
+
61
+ @ReactMethod
62
+ public void resetData(){
63
+ isRegisted = false;
64
+ UiThreadUtil.runOnUiThread(new Runnable() {
65
+ @Override
66
+ public void run() {
67
+ try {
68
+ final Activity activity = getCurrentActivity();
69
+ if(activity != null){
70
+ activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
71
+ }
72
+ } catch (Exception e) {
73
+ // install(tag,type);
74
+ System.out.println("Exception occurred" + e.getMessage());
75
+ }
76
+ }
77
+ });
78
+
79
+ }
80
+ @ReactMethod
81
+ public void install(final int tag, final String type) {
82
+ UiThreadUtil.runOnUiThread(new Runnable() {
83
+ @Override
84
+ public void run() {
85
+ try {
86
+ final Activity activity = getCurrentActivity();
87
+ final ReactEditText edit = getEditById(tag);
88
+ if (edit == null || isRegisted) {
89
+ return;
90
+ }
91
+ System.out.println("registed keyboard success");
92
+ isRegisted = true;
93
+ edit.setTag(TAG_ID, createCustomKeyboard(activity, tag, type));
94
+
95
+ edit.setOnFocusChangeListener(new View.OnFocusChangeListener() {
96
+ @Override
97
+ public void onFocusChange(final View v, boolean hasFocus) {
98
+ EventDispatcher eventDispatcher =
99
+ reactContext.getNativeModule(UIManagerModule.class).getEventDispatcher();
100
+ // if (hasFocus) {
101
+ // activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
102
+ // View keyboard = (View)edit.getTag(TAG_ID);
103
+ // eventDispatcher.dispatchEvent(
104
+ // new ReactTextInputFocusEvent(
105
+ // edit.getId()));
106
+ // if (keyboard.getParent() == null) {
107
+ // activity.addContentView(keyboard, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
108
+ // }
109
+ // UiThreadUtil.runOnUiThread(new Runnable() {
110
+ // @Override
111
+ // public void run() {
112
+ // ((InputMethodManager) getReactApplicationContext().getSystemService(Activity.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(v.getWindowToken(), 0);
113
+ // }
114
+ // });
115
+ // } else {
116
+ // eventDispatcher.dispatchEvent(
117
+ // new ReactTextInputBlurEvent(
118
+ // edit.getId()));
119
+ // eventDispatcher.dispatchEvent(
120
+ // new ReactTextInputEndEditingEvent(
121
+ // edit.getId(),
122
+ // edit.getText().toString()));
123
+ //
124
+ // View keyboard = (View)edit.getTag(TAG_ID);
125
+ // if (keyboard.getParent() != null) {
126
+ // isRegisted = false;
127
+ //// activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
128
+ // ((ViewGroup) keyboard.getParent()).removeView(keyboard);
129
+ // }
130
+ // }
131
+ }
132
+ });
133
+
134
+ edit.setOnClickListener(new View.OnClickListener(){
135
+ @Override
136
+ public void onClick(final View v) {
137
+ View keyboard = (View)edit.getTag(TAG_ID);
138
+ if (keyboard.getParent() == null) {
139
+ activity.addContentView(keyboard, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
140
+ }
141
+ UiThreadUtil.runOnUiThread(new Runnable() {
142
+ @Override
143
+ public void run() {
144
+ ((InputMethodManager) getReactApplicationContext().getSystemService(Activity.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(v.getWindowToken(), 0);
145
+ }
146
+ });
147
+ }
148
+ });
149
+ edit.setCustomSelectionActionModeCallback(new ActionMode.Callback(){
150
+
151
+ @Override
152
+ public boolean onCreateActionMode(ActionMode mode, Menu menu) {
153
+ return false;
154
+ }
155
+
156
+ @Override
157
+ public boolean onPrepareActionMode(ActionMode mode, Menu menu) {
158
+ return false;
159
+ }
160
+
161
+ @Override
162
+ public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
163
+ return false;
164
+ }
165
+
166
+ @Override
167
+ public void onDestroyActionMode(ActionMode mode) {
168
+
169
+ }
170
+ });
171
+ } catch (Exception e) {
172
+ // install(tag,type);
173
+ System.out.println("Exception occurred" + e.getMessage());
174
+ }
175
+ }
176
+ });
177
+ }
178
+
179
+ ReactRootView rootView = null;
180
+
181
+ private View createCustomKeyboard(Activity activity, int tag, String type) {
182
+ RelativeLayout layout = new FixedRelativeLayout(activity);
183
+ layout.setFitsSystemWindows(true);
184
+ rootView = new ReactRootView(this.getReactApplicationContext());
185
+ rootView.setBackgroundColor(Color.WHITE);
186
+ rootView.setFitsSystemWindows(true);
187
+ Bundle bundle = new Bundle();
188
+ bundle.putInt("tag", tag);
189
+ bundle.putString("type", type);
190
+ rootView.startReactApplication(mReactInstanceManager, "CustomKeyboard", bundle);
191
+ DisplayMetrics displayMetrics = new DisplayMetrics();
192
+ getCurrentActivity().getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
193
+
194
+ final float scale = activity.getResources().getDisplayMetrics().density;
195
+
196
+ int heightScreen = displayMetrics.heightPixels;
197
+ int heightkeyboard = (int) (heightScreen * 0.36);
198
+ //final int heightkeyboard = Math.round(265*scale);
199
+ System.out.println("height keyboard == " + heightkeyboard);
200
+ System.out.println("heightScreen == " + heightScreen);
201
+
202
+ RelativeLayout.LayoutParams lParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, heightkeyboard);
203
+ lParams.addRule(RelativeLayout.ALIGN_PARENT_BOTTOM, RelativeLayout.TRUE);
204
+ activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
205
+ layout.addView(rootView, lParams);
206
+ return layout;
207
+ }
208
+
209
+ @ReactMethod
210
+ public void uninstall(final int tag) {
211
+ UiThreadUtil.runOnUiThread(new Runnable() {
212
+ @Override
213
+ public void run() {
214
+ final Activity activity = getCurrentActivity();
215
+ final ReactEditText edit = getEditById(tag);
216
+ if (edit == null) {
217
+ return;
218
+ }
219
+
220
+ edit.setTag(TAG_ID, null);
221
+ }
222
+ });
223
+ }
224
+
225
+ @ReactMethod
226
+ public void insertText(final int tag, final String text) {
227
+ UiThreadUtil.runOnUiThread(new Runnable() {
228
+ @Override
229
+ public void run() {
230
+ try {
231
+ final Activity activity = getCurrentActivity();
232
+ final ReactEditText edit = getEditById(tag);
233
+ if (edit == null) {
234
+ return;
235
+ }
236
+
237
+ int start = Math.max(edit.getSelectionStart(), 0);
238
+ int end = Math.max(edit.getSelectionEnd(), 0);
239
+ if(text.equals("+") || text.equals("-") || text.equals("×") || text.equals("÷")){
240
+ String txt = String.valueOf(edit.getText());
241
+ String newtxt = "";
242
+ String lastTxt = "";
243
+ if(txt.length() >= Math.max(start, end)){
244
+ newtxt = txt.substring(0, Math.max(start, end));
245
+ }
246
+ if(newtxt.length() > 0){
247
+ lastTxt = newtxt.substring(newtxt.length()-1);
248
+ }
249
+ if ( lastTxt.equals("+") || lastTxt.equals("-")||lastTxt.equals("×")||lastTxt.equals("÷")){
250
+ edit.getText().replace(Math.min(start, end)-1, Math.max(start, end),
251
+ text, 0, text.length());
252
+ }else if(lastTxt.equals(" ")){
253
+ edit.getText().replace(Math.min(start, end)-2, Math.max(start, end),
254
+ text, 0, text.length());
255
+ }else{
256
+ edit.getText().replace(Math.min(start, end), Math.max(start, end),
257
+ text, 0, text.length());
258
+ }
259
+ }else{
260
+ int min1 = Math.min(start, end);
261
+ int min2 = Math.max(start, end);
262
+ edit.getText().replace(Math.min(start, end), Math.max(start, end),
263
+ text, 0, text.length());
264
+ }
265
+ }catch (Exception e){
266
+ System.out.println("Exception occurred" + e.getMessage());
267
+ }
268
+ }
269
+ });
270
+ }
271
+
272
+ @ReactMethod
273
+ public void backSpace(final int tag) {
274
+ UiThreadUtil.runOnUiThread(new Runnable() {
275
+ @Override
276
+ public void run() {
277
+ try {
278
+ final Activity activity = getCurrentActivity();
279
+ final ReactEditText edit = getEditById(tag);
280
+ if (edit == null) {
281
+ return;
282
+ }
283
+ int start = Math.max(edit.getSelectionStart(), 0);
284
+ int end = Math.max(edit.getSelectionEnd(), 0);
285
+ if (start != end) {
286
+ edit.getText().delete(start, end);
287
+ } else if (start > 0){
288
+ String txt = String.valueOf(edit.getText());
289
+ String newtxt = "";
290
+ String lastTxt = "";
291
+ if(txt.length() >= Math.max(start, end)){
292
+ newtxt = txt.substring(0, Math.max(start, end));
293
+ }
294
+ if(newtxt.length() > 0){
295
+ lastTxt = newtxt.substring(newtxt.length()-1);
296
+ }
297
+ if (lastTxt.equals(" ")){
298
+ edit.getText().delete(start - 2, end);
299
+ }else{
300
+ edit.getText().delete(start - 1, end);
301
+ }
302
+ }
303
+ }catch (Exception e){
304
+ System.out.println("Exception occurred" + e.getMessage());
305
+ }
306
+ }
307
+ });
308
+ }
309
+
310
+ @ReactMethod
311
+ public void doDelete(final int tag) {
312
+ UiThreadUtil.runOnUiThread(new Runnable() {
313
+ @Override
314
+ public void run() {
315
+ try {
316
+ final Activity activity = getCurrentActivity();
317
+ final ReactEditText edit = getEditById(tag);
318
+ if (edit == null) {
319
+ return;
320
+ }
321
+
322
+ int start = Math.max(edit.getSelectionStart(), 0);
323
+ int end = Math.max(edit.getSelectionEnd(), 0);
324
+ if (start != end) {
325
+ edit.getText().delete(start, end);
326
+ } else if (start > 0){
327
+ edit.getText().delete(0, end);
328
+ }
329
+ }catch (Exception e){
330
+ System.out.println("Exception occurred" + e.getMessage());
331
+ }
332
+ }
333
+ });
334
+ }
335
+
336
+ @ReactMethod
337
+ public void moveLeft(final int tag) {
338
+ UiThreadUtil.runOnUiThread(new Runnable() {
339
+ @Override
340
+ public void run() {
341
+ try {
342
+ final Activity activity = getCurrentActivity();
343
+ final ReactEditText edit = getEditById(tag);
344
+ if (edit == null) {
345
+ return;
346
+ }
347
+ int start = Math.max(edit.getSelectionStart(), 0);
348
+ int end = Math.max(edit.getSelectionEnd(), 0);
349
+ if (start != end) {
350
+ edit.setSelection(start, start);
351
+ } else {
352
+ edit.setSelection(start - 1, start - 1);
353
+ }
354
+ }catch (Exception e){
355
+ System.out.println("Exception occurred" + e.getMessage());
356
+ }
357
+ }
358
+ });
359
+ }
360
+
361
+ @ReactMethod
362
+ public void moveRight(final int tag) {
363
+ UiThreadUtil.runOnUiThread(new Runnable() {
364
+ @Override
365
+ public void run() {
366
+ try {
367
+ final Activity activity = getCurrentActivity();
368
+ final ReactEditText edit = getEditById(tag);
369
+ if (edit == null) {
370
+ return;
371
+ }
372
+
373
+ int start = Math.max(edit.getSelectionStart(), 0);
374
+ int end = Math.max(edit.getSelectionEnd(), 0);
375
+ if (start != end) {
376
+ edit.setSelection(end, end);
377
+ } else if (start > 0){
378
+ edit.setSelection(end + 1, end + 1);
379
+ }
380
+ }catch (Exception e){
381
+ System.out.println("Exception occurred" + e.getMessage());
382
+ }
383
+ }
384
+ });
385
+ }
386
+
387
+ @ReactMethod
388
+ public void switchSystemKeyboard(final int tag) {
389
+ UiThreadUtil.runOnUiThread(new Runnable() {
390
+ @Override
391
+ public void run() {
392
+ final Activity activity = getCurrentActivity();
393
+ final ReactEditText edit = getEditById(tag);
394
+ if (edit == null) {
395
+ return;
396
+ }
397
+
398
+ View keyboard = (View)edit.getTag(TAG_ID);
399
+ if (keyboard.getParent() != null) {
400
+ ((ViewGroup) keyboard.getParent()).removeView(keyboard);
401
+ }
402
+ UiThreadUtil.runOnUiThread(new Runnable() {
403
+
404
+ @Override
405
+ public void run() {
406
+ ((InputMethodManager) getReactApplicationContext().getSystemService(Activity.INPUT_METHOD_SERVICE)).showSoftInput(edit, InputMethodManager.SHOW_IMPLICIT);
407
+ }
408
+ });
409
+ }
410
+ });
411
+ }
412
+
413
+ @Override
414
+ public String getName() {
415
+ return "CustomKeyboard";
416
+ }
417
+ }
@@ -0,0 +1,16 @@
1
+ //
2
+ // MomoHelper.swift
3
+ // MoMoApp
4
+ //
5
+ // Created by Hung Huynh on 4/20/18.
6
+ // Copyright © 2018 Hung Huynh. All rights reserved.
7
+ //
8
+
9
+ import Foundation
10
+
11
+
12
+ public func dispatchUI(_ closure: @escaping () -> Void) {
13
+ DispatchQueue.main.async(execute: { () -> Void in
14
+ closure()
15
+ })
16
+ }
@@ -0,0 +1,60 @@
1
+ //
2
+ // Use this file to import your target's public headers that you would like to expose to Swift.
3
+ //
4
+
5
+ // Created by react-native-create-bridge
6
+ // NativeViews-Bridging-Header.h
7
+
8
+ // import RCTBridgeModule
9
+ #if __has_include(<React/RCTBridgeModule.h>)
10
+ #import <React/RCTBridgeModule.h>
11
+ #elif __has_include(“RCTBridgeModule.h”)
12
+ #import “RCTBridgeModule.h”
13
+ #else
14
+ #import “React/RCTBridgeModule.h” // Required when used as a Pod in a Swift project
15
+ #endif
16
+
17
+ // import RCTEventEmitter
18
+ #if __has_include(<React/RCTViewManager.h>)
19
+ #import <React/RCTViewManager.h>
20
+ #elif __has_include(“RCTViewManager.h”)
21
+ #import “RCTViewManager.h”
22
+ #else
23
+ #import “React/RCTViewManager.h” // Required when used as a Pod in a Swift project
24
+ #endif
25
+
26
+ // import RCTEventEmitter
27
+ #if __has_include(<React/RCTBaseTextInputViewManager.h>)
28
+ #import <React/RCTBaseTextInputViewManager.h>
29
+ #elif __has_include(“RCTBaseTextInputViewManager.h”)
30
+ #import “RCTBaseTextInputViewManager.h”
31
+ #else
32
+ #import “React/RCTBaseTextInputViewManager.h” // Required when used as a Pod in a Swift project
33
+ #endif
34
+
35
+ // import RCTEventEmitter
36
+ #if __has_include(<React/RCTSinglelineTextInputView.h>)
37
+ #import <React/RCTSinglelineTextInputView.h>
38
+ #elif __has_include(“RCTSinglelineTextInputView.h”)
39
+ #import “RCTSinglelineTextInputView.h”
40
+ #else
41
+ #import “React/RCTSinglelineTextInputView.h” // Required when used as a Pod in a Swift project
42
+ #endif
43
+
44
+ // import RCTEventEmitter
45
+ #if __has_include(<React/RCTRootView.h>)
46
+ #import <React/RCTRootView.h>
47
+ #elif __has_include(“RCTRootView.h”)
48
+ #import “RCTRootView.h”
49
+ #else
50
+ #import “React/RCTRootView.h” // Required when used as a Pod in a Swift project
51
+ #endif
52
+
53
+ // import RCTEventEmitter
54
+ #if __has_include(<React/RCTUITextField.h>)
55
+ #import <React/RCTUITextField.h>
56
+ #elif __has_include(“RCTUITextField.h”)
57
+ #import “RCTUITextField.h”
58
+ #else
59
+ #import “React/RCTUITextField.h” // Required when used as a Pod in a Swift project
60
+ #endif
@@ -0,0 +1,19 @@
1
+
2
+ #if __has_include("RCTBridgeModule.h")
3
+ #import "RCTBridgeModule.h"
4
+ #else
5
+ #import <React/RCTBridgeModule.h>
6
+ #endif
7
+
8
+ #if __has_include(<React/RCTViewManager.h>)
9
+ #import <React/RCTViewManager.h>
10
+ #elif __has_include(“RCTViewManager.h”)
11
+ #import “RCTViewManager.h”
12
+ #else
13
+ #import “React/RCTViewManager.h” // Required when used as a Pod in a Swift project
14
+ #endif
15
+
16
+ @interface KeyboardView : NSObject <RCTBridgeModule>
17
+
18
+ @end
19
+
@@ -0,0 +1,56 @@
1
+
2
+ #import "KeyboardView.h"
3
+
4
+ @implementation KeyboardView
5
+
6
+ - (dispatch_queue_t)methodQueue
7
+ {
8
+ return dispatch_get_main_queue();
9
+ }
10
+ RCT_EXPORT_MODULE()
11
+
12
+ @end
13
+
14
+ @interface RCT_EXTERN_MODULE(MomoTextInputCalculator, RCTViewManager)
15
+ RCT_REMAP_VIEW_PROPERTY(autoCapitalize, backedTextInputView.autocapitalizationType, UITextAutocapitalizationType)
16
+ RCT_REMAP_VIEW_PROPERTY(autoCorrect, backedTextInputView.autocorrectionType, UITextAutocorrectionType)
17
+ RCT_REMAP_VIEW_PROPERTY(contextMenuHidden, backedTextInputView.contextMenuHidden, BOOL)
18
+ RCT_REMAP_VIEW_PROPERTY(editable, backedTextInputView.editable, BOOL)
19
+ RCT_REMAP_VIEW_PROPERTY(enablesReturnKeyAutomatically, backedTextInputView.enablesReturnKeyAutomatically, BOOL)
20
+ RCT_REMAP_VIEW_PROPERTY(keyboardAppearance, backedTextInputView.keyboardAppearance, UIKeyboardAppearance)
21
+ RCT_REMAP_VIEW_PROPERTY(placeholder, backedTextInputView.placeholder, NSString)
22
+ RCT_REMAP_VIEW_PROPERTY(placeholderTextColor, backedTextInputView.placeholderColor, UIColor)
23
+ RCT_REMAP_VIEW_PROPERTY(returnKeyType, backedTextInputView.returnKeyType, UIReturnKeyType)
24
+ RCT_REMAP_VIEW_PROPERTY(selectionColor, backedTextInputView.tintColor, UIColor)
25
+ RCT_REMAP_VIEW_PROPERTY(spellCheck, backedTextInputView.spellCheckingType, UITextSpellCheckingType)
26
+ RCT_REMAP_VIEW_PROPERTY(caretHidden, backedTextInputView.caretHidden, BOOL)
27
+ RCT_REMAP_VIEW_PROPERTY(clearButtonMode, backedTextInputView.clearButtonMode, UITextFieldViewMode)
28
+ RCT_REMAP_VIEW_PROPERTY(scrollEnabled, backedTextInputView.scrollEnabled, BOOL)
29
+ RCT_EXPORT_VIEW_PROPERTY(secureTextEntry, BOOL)
30
+ RCT_EXPORT_VIEW_PROPERTY(blurOnSubmit, BOOL)
31
+ RCT_EXPORT_VIEW_PROPERTY(clearTextOnFocus, BOOL)
32
+ RCT_EXPORT_VIEW_PROPERTY(keyboardType, UIKeyboardType)
33
+ RCT_EXPORT_VIEW_PROPERTY(maxLength, NSNumber)
34
+ RCT_EXPORT_VIEW_PROPERTY(selectTextOnFocus, BOOL)
35
+ RCT_EXPORT_VIEW_PROPERTY(selection, RCTTextSelection)
36
+ RCT_EXPORT_VIEW_PROPERTY(inputAccessoryViewID, NSString)
37
+ RCT_EXPORT_VIEW_PROPERTY(textContentType, NSString)
38
+
39
+ RCT_EXPORT_VIEW_PROPERTY(onChange, RCTBubblingEventBlock)
40
+ RCT_EXPORT_VIEW_PROPERTY(onSelectionChange, RCTDirectEventBlock)
41
+ RCT_EXPORT_VIEW_PROPERTY(onTextInput, RCTDirectEventBlock)
42
+ RCT_EXPORT_VIEW_PROPERTY(onScroll, RCTDirectEventBlock)
43
+
44
+ RCT_EXPORT_VIEW_PROPERTY(mostRecentEventCount, NSInteger)
45
+
46
+ RCT_EXPORT_SHADOW_PROPERTY(text, NSString)
47
+ RCT_EXPORT_SHADOW_PROPERTY(placeholder, NSString)
48
+ RCT_EXPORT_SHADOW_PROPERTY(onContentSizeChange, RCTBubblingEventBlock)
49
+ @end
50
+
51
+ @interface RCT_EXTERN_MODULE(CalculatorKeyboardModule, RCTViewManager)
52
+ RCT_EXTERN_METHOD(insertText:(NSString*)text)
53
+ RCT_EXTERN_METHOD(backSpace)
54
+ RCT_EXTERN_METHOD(doDelete)
55
+ @end
56
+