@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.
- package/compose/build.gradle.kts +1 -1
- package/compose/compose.podspec +1 -1
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Avatar.kt +157 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Carousel.kt +123 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Collapse.kt +224 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Loader.kt +108 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/ProgressInfo.kt +350 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Rating.kt +87 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Slider.kt +360 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Stepper.kt +256 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Steps.kt +494 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/SuggestAction.kt +131 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Swipe.kt +215 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/TabView.kt +449 -0
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Tooltip.kt +21 -7
- package/compose/src/commonMain/kotlin/vn/momo/kits/components/Uploader.kt +192 -0
- package/gradle.properties +1 -1
- package/ios/Input/Input.swift +4 -0
- package/local.properties +2 -2
- package/package.json +1 -1
- package/src/doctor/README.md +73 -0
- package/src/doctor/package-lock.json +885 -0
- package/src/doctor/package.json +44 -0
- package/src/doctor/publish.sh +27 -0
- package/src/doctor/src/Users.json +112 -0
- package/src/doctor/src/Whitelist.json +6 -0
- package/src/doctor/src/commands/check.ts +81 -0
- package/src/doctor/src/commands/doctor.ts +193 -0
- package/src/doctor/src/index.ts +35 -0
- package/src/doctor/src/logger.ts +84 -0
- package/src/doctor/src/task/native.ts +21 -0
- package/src/doctor/src/task/utils.ts +20 -0
- package/src/doctor/src/utils/checkCoreDependencies.ts +138 -0
- package/src/doctor/src/utils/checkDeletedPackage.ts +53 -0
- package/src/doctor/src/utils/checkDeprecatedPackages.ts +168 -0
- package/src/doctor/src/utils/checkDeprecatedVersion.ts +60 -0
- package/src/doctor/src/utils/checkShareDependencies.ts +251 -0
- package/src/doctor/src/utils/checkWrongVersionCommunityPackage.ts +64 -0
- package/src/doctor/src/utils/getErrorMessage.ts +84 -0
- package/src/doctor/src/utils/scanComponentUsage.ts +206 -0
- package/src/doctor/src/utils/scanFoundationImports.ts +169 -0
- package/src/doctor/src/utils/scanMaxApiUsage.ts +86 -0
- package/src/doctor/src/utils/scanNativeModulesUsage.ts +78 -0
- package/src/doctor/src/utils/sendMessage.ts +28 -0
- package/src/doctor/tsconfig.json +14 -0
- package/src/doctor/yarn.lock +492 -0
- package/src/foundations/Application/BottomSheet.tsx +358 -0
- package/src/foundations/Application/BottomTab/BottomTabBar.tsx +320 -0
- package/src/foundations/Application/BottomTab/CustomBottomTabItem.tsx +155 -0
- package/src/foundations/Application/BottomTab/TabBarIcon.tsx +113 -0
- package/src/foundations/Application/BottomTab/index.tsx +449 -0
- package/src/foundations/Application/Components/BackgroundImageView.tsx +126 -0
- package/src/foundations/Application/Components/HeaderAnimated.tsx +69 -0
- package/src/foundations/Application/Components/HeaderBackground.tsx +83 -0
- package/src/foundations/Application/Components/HeaderExtendHeader.tsx +225 -0
- package/src/foundations/Application/Components/HeaderLeft.tsx +93 -0
- package/src/foundations/Application/Components/HeaderRight.tsx +444 -0
- package/src/foundations/Application/Components/HeaderTitle.tsx +596 -0
- package/src/foundations/Application/Components/NavigationButton.tsx +76 -0
- package/src/foundations/Application/Components/SearchHeader.tsx +127 -0
- package/src/foundations/Application/Localize.ts +44 -0
- package/src/foundations/Application/ModalScreen.tsx +148 -0
- package/src/foundations/Application/Navigation.ts +63 -0
- package/src/foundations/Application/NavigationContainer.tsx +245 -0
- package/src/foundations/Application/Navigator.ts +171 -0
- package/src/foundations/Application/ScaleSizeProvider.tsx +16 -0
- package/src/foundations/Application/StackScreen.tsx +420 -0
- package/src/foundations/Application/TooltipPortal.tsx +127 -0
- package/src/foundations/Application/WidgetContainer.tsx +162 -0
- package/src/foundations/Application/index.ts +34 -0
- package/src/foundations/Application/types.ts +350 -0
- package/src/foundations/Application/utils.tsx +239 -0
- package/src/foundations/Assets/DotAnimation.json +256 -0
- package/src/foundations/Assets/SpinnerAnimation.json +1027 -0
- package/src/foundations/Assets/icon.json +4052 -0
- package/src/foundations/Assets/icon_bank.json +506 -0
- package/src/foundations/Assets/language.json +208 -0
- package/src/foundations/Assets/lottie_circle_loader.json +1 -0
- package/src/foundations/Assets/pinAnimation.json +1 -0
- package/src/foundations/Assets/unpinAnimation.json +1 -0
- package/src/foundations/Badge/Badge.tsx +104 -0
- package/src/foundations/Badge/BadgeDot.tsx +35 -0
- package/src/foundations/Badge/BadgeDotAnimation.tsx +95 -0
- package/src/foundations/Badge/BadgeRibbon.tsx +112 -0
- package/src/foundations/Badge/Shape.tsx +29 -0
- package/src/foundations/Badge/index.tsx +8 -0
- package/src/foundations/Badge/styles.ts +125 -0
- package/src/foundations/Badge/types.ts +68 -0
- package/src/foundations/Button/index.tsx +371 -0
- package/src/foundations/Button/styles.ts +65 -0
- package/src/foundations/CheckBox/index.tsx +104 -0
- package/src/foundations/CheckBox/styles.ts +17 -0
- package/src/foundations/CheckBox/types.ts +37 -0
- package/src/foundations/Consts/colors+spacing+radius.ts +232 -0
- package/src/foundations/Consts/index.ts +4 -0
- package/src/foundations/Consts/styles.ts +52 -0
- package/src/foundations/Consts/theme.ts +121 -0
- package/src/foundations/Context/index.ts +27 -0
- package/src/foundations/Divider/DashDivider.tsx +46 -0
- package/src/foundations/Divider/index.tsx +45 -0
- package/src/foundations/FoundationList/index.tsx +12 -0
- package/src/foundations/FoundationList/types.ts +7 -0
- package/src/foundations/Icon/index.tsx +57 -0
- package/src/foundations/Icon/types.ts +32 -0
- package/src/foundations/IconButton/index.tsx +144 -0
- package/src/foundations/IconButton/styles.ts +20 -0
- package/src/foundations/Image/index.tsx +115 -0
- package/src/foundations/Image/styles.ts +7 -0
- package/src/foundations/Image/types.ts +7 -0
- package/src/foundations/Input/Input.tsx +280 -0
- package/src/foundations/Input/InputDropDown.tsx +161 -0
- package/src/foundations/Input/InputMoney.tsx +325 -0
- package/src/foundations/Input/InputOTP.tsx +299 -0
- package/src/foundations/Input/InputPhoneNumber.tsx +287 -0
- package/src/foundations/Input/InputSearch.tsx +351 -0
- package/src/foundations/Input/InputTextArea.tsx +218 -0
- package/src/foundations/Input/SystemTextInput.tsx +44 -0
- package/src/foundations/Input/TextTyping.tsx +115 -0
- package/src/foundations/Input/common.tsx +243 -0
- package/src/foundations/Input/index.tsx +373 -0
- package/src/foundations/Input/styles.ts +226 -0
- package/src/foundations/Input/utils.ts +97 -0
- package/src/foundations/Layout/Card.tsx +108 -0
- package/src/foundations/Layout/FloatingButton.tsx +179 -0
- package/src/foundations/Layout/GridSystem.tsx +137 -0
- package/src/foundations/Layout/Item.tsx +59 -0
- package/src/foundations/Layout/ItemList.tsx +66 -0
- package/src/foundations/Layout/ItemSectionList.tsx +40 -0
- package/src/foundations/Layout/Screen.tsx +644 -0
- package/src/foundations/Layout/Section.tsx +103 -0
- package/src/foundations/Layout/TrackingScope.tsx +18 -0
- package/src/foundations/Layout/index.ts +34 -0
- package/src/foundations/Layout/styles.ts +95 -0
- package/src/foundations/Layout/types.ts +40 -0
- package/src/foundations/Layout/utils.ts +47 -0
- package/src/foundations/Loader/DotLoader.tsx +37 -0
- package/src/foundations/Loader/Loader.tsx +13 -0
- package/src/foundations/Loader/ProgressBar.tsx +45 -0
- package/src/foundations/Loader/Spinner.tsx +29 -0
- package/src/foundations/Loader/index.tsx +6 -0
- package/src/foundations/Loader/styles.ts +10 -0
- package/src/foundations/Loader/types.ts +35 -0
- package/src/foundations/Loader/utils.ts +25 -0
- package/src/foundations/Pagination/Dot.tsx +19 -0
- package/src/foundations/Pagination/PaginationDot.tsx +44 -0
- package/src/foundations/Pagination/PaginationNumber.tsx +31 -0
- package/src/foundations/Pagination/PaginationScroll.tsx +99 -0
- package/src/foundations/Pagination/PaginationWhiteDot.tsx +43 -0
- package/src/foundations/Pagination/index.tsx +25 -0
- package/src/foundations/Pagination/styles.ts +51 -0
- package/src/foundations/Pagination/types.ts +40 -0
- package/src/foundations/Popup/PopupNotify.tsx +276 -0
- package/src/foundations/Popup/PopupPromotion.tsx +118 -0
- package/src/foundations/Popup/index.tsx +4 -0
- package/src/foundations/Popup/types.ts +96 -0
- package/src/foundations/Radio/index.tsx +108 -0
- package/src/foundations/Radio/styles.ts +15 -0
- package/src/foundations/Radio/types.ts +31 -0
- package/src/foundations/Skeleton/index.tsx +118 -0
- package/src/foundations/Skeleton/styles.ts +5 -0
- package/src/foundations/Skeleton/types.ts +6 -0
- package/src/foundations/Switch/index.tsx +68 -0
- package/src/foundations/Switch/styles.ts +25 -0
- package/src/foundations/Switch/types.ts +19 -0
- package/src/foundations/Tag/index.tsx +128 -0
- package/src/foundations/Tag/types.ts +41 -0
- package/src/foundations/Text/index.tsx +241 -0
- package/src/foundations/Text/styles.ts +78 -0
- package/src/foundations/Text/types.ts +53 -0
- package/src/foundations/Text/utils.ts +63 -0
- package/src/foundations/Title/index.tsx +285 -0
- package/src/foundations/Title/styles.ts +55 -0
- package/src/foundations/Title/types.ts +21 -0
- package/src/foundations/index.ts +50 -0
- package/src/foundations/package.json +35 -0
- package/src/foundations/publish.sh +17 -0
- package/src/libs/AutoComplete/index.tsx +88 -0
- package/src/libs/AutoComplete/package.json +16 -0
- package/src/libs/AutoComplete/publish.sh +16 -0
- package/src/libs/AutoComplete/styles.ts +15 -0
- package/src/libs/AutoComplete/types.ts +60 -0
- package/src/libs/Avatar/index.tsx +146 -0
- package/src/libs/Avatar/package.json +16 -0
- package/src/libs/Avatar/publish.sh +20 -0
- package/src/libs/Avatar/styles.ts +18 -0
- package/src/libs/Avatar/types.ts +57 -0
- package/src/libs/Badge/Badge.tsx +70 -0
- package/src/libs/Badge/BadgeDot.tsx +11 -0
- package/src/libs/Badge/BadgeRibbon.tsx +122 -0
- package/src/libs/Badge/Shape.tsx +29 -0
- package/src/libs/Badge/index.tsx +7 -0
- package/src/libs/Badge/package.json +16 -0
- package/src/libs/Badge/publish.sh +18 -0
- package/src/libs/Badge/styles.ts +55 -0
- package/src/libs/Badge/types.ts +63 -0
- package/src/libs/Calendar/CalendarPro.tsx +307 -0
- package/src/libs/Calendar/Day.tsx +150 -0
- package/src/libs/Calendar/HeaderControl.tsx +55 -0
- package/src/libs/Calendar/LunarDateConverter.ts +228 -0
- package/src/libs/Calendar/LunarService.ts +206 -0
- package/src/libs/Calendar/Month.tsx +118 -0
- package/src/libs/Calendar/MonthList.tsx +226 -0
- package/src/libs/Calendar/TabHeader.tsx +91 -0
- package/src/libs/Calendar/Util.ts +288 -0
- package/src/libs/Calendar/holidayData.ts +118 -0
- package/src/libs/Calendar/index.tsx +383 -0
- package/src/libs/Calendar/package.json +18 -0
- package/src/libs/Calendar/publish.sh +18 -0
- package/src/libs/Calendar/styles.ts +122 -0
- package/src/libs/Calendar/types.ts +212 -0
- package/src/libs/Carousel/animation.ts +62 -0
- package/src/libs/Carousel/index.tsx +517 -0
- package/src/libs/Carousel/package.json +18 -0
- package/src/libs/Carousel/publish.sh +16 -0
- package/src/libs/Carousel/types.ts +71 -0
- package/src/libs/Chip/index.tsx +164 -0
- package/src/libs/Chip/package.json +16 -0
- package/src/libs/Chip/publish.sh +16 -0
- package/src/libs/Chip/styles.ts +20 -0
- package/src/libs/Chip/types.ts +72 -0
- package/src/libs/Collapse/index.tsx +305 -0
- package/src/libs/Collapse/package.json +16 -0
- package/src/libs/Collapse/publish.sh +18 -0
- package/src/libs/Collapse/styles.ts +37 -0
- package/src/libs/Collapse/types.ts +84 -0
- package/src/libs/DateTimePicker/WheelPicker.tsx +163 -0
- package/src/libs/DateTimePicker/WheelPickerItem.tsx +58 -0
- package/src/libs/DateTimePicker/index.tsx +188 -0
- package/src/libs/DateTimePicker/package.json +16 -0
- package/src/libs/DateTimePicker/publish.sh +17 -0
- package/src/libs/DateTimePicker/styles.ts +31 -0
- package/src/libs/DateTimePicker/types.ts +102 -0
- package/src/libs/DateTimePicker/utils.ts +114 -0
- package/src/libs/Information/index.tsx +129 -0
- package/src/libs/Information/package.json +16 -0
- package/src/libs/Information/publish.sh +18 -0
- package/src/libs/Information/styles.ts +34 -0
- package/src/libs/Information/types.ts +79 -0
- package/src/libs/Logo/index.tsx +39 -0
- package/src/libs/Logo/package.json +17 -0
- package/src/libs/Logo/publish.sh +16 -0
- package/src/libs/Logo/styles.ts +25 -0
- package/src/libs/Logo/types.ts +13 -0
- package/src/libs/ProgressInfo/ProgressInfoHorizontal.tsx +128 -0
- package/src/libs/ProgressInfo/ProgressInfoIcon.tsx +88 -0
- package/src/libs/ProgressInfo/ProgressInfoVertical.tsx +85 -0
- package/src/libs/ProgressInfo/index.tsx +22 -0
- package/src/libs/ProgressInfo/package.json +16 -0
- package/src/libs/ProgressInfo/publish.sh +16 -0
- package/src/libs/ProgressInfo/styles.ts +46 -0
- package/src/libs/ProgressInfo/types.ts +60 -0
- package/src/libs/ProgressInfo/yarn.lock +8 -0
- package/src/libs/Rating/index.tsx +74 -0
- package/src/libs/Rating/package.json +16 -0
- package/src/libs/Rating/publish.sh +18 -0
- package/src/libs/Rating/type.ts +25 -0
- package/src/libs/Slider/Label.tsx +33 -0
- package/src/libs/Slider/helpers.ts +35 -0
- package/src/libs/Slider/hooks.tsx +218 -0
- package/src/libs/Slider/index.tsx +453 -0
- package/src/libs/Slider/package.json +16 -0
- package/src/libs/Slider/publish.sh +18 -0
- package/src/libs/Slider/styles.ts +36 -0
- package/src/libs/Stepper/NumberView.tsx +64 -0
- package/src/libs/Stepper/StepperButton.tsx +37 -0
- package/src/libs/Stepper/index.tsx +139 -0
- package/src/libs/Stepper/package.json +16 -0
- package/src/libs/Stepper/publish.sh +17 -0
- package/src/libs/Stepper/styles.ts +44 -0
- package/src/libs/Stepper/types.ts +154 -0
- package/src/libs/Steps/StepIcon.tsx +86 -0
- package/src/libs/Steps/StepsHorizontal.tsx +189 -0
- package/src/libs/Steps/StepsVertical.tsx +133 -0
- package/src/libs/Steps/index.tsx +20 -0
- package/src/libs/Steps/package.json +16 -0
- package/src/libs/Steps/publish.sh +16 -0
- package/src/libs/Steps/styles.ts +46 -0
- package/src/libs/Steps/types.ts +159 -0
- package/src/libs/Steps/utils.ts +175 -0
- package/src/libs/SuggestAction/SuggestActionView.tsx +124 -0
- package/src/libs/SuggestAction/index.tsx +3 -0
- package/src/libs/SuggestAction/package.json +16 -0
- package/src/libs/SuggestAction/publish.sh +16 -0
- package/src/libs/SuggestAction/styles.ts +30 -0
- package/src/libs/SuggestAction/types.ts +36 -0
- package/src/libs/Swipe/SwipeView.tsx +151 -0
- package/src/libs/Swipe/index.tsx +5 -0
- package/src/libs/Swipe/package.json +16 -0
- package/src/libs/Swipe/publish.sh +16 -0
- package/src/libs/Swipe/styles.ts +16 -0
- package/src/libs/Swipe/types.ts +109 -0
- package/src/libs/TabView/assets/Path.tsx +29 -0
- package/src/libs/TabView/index.tsx +184 -0
- package/src/libs/TabView/package.json +16 -0
- package/src/libs/TabView/publish.sh +16 -0
- package/src/libs/TabView/styles.ts +96 -0
- package/src/libs/TabView/tabBar/CardTabBar.tsx +137 -0
- package/src/libs/TabView/tabBar/SrollableTabBar.tsx +218 -0
- package/src/libs/TabView/tabBar/TabBar.tsx +67 -0
- package/src/libs/TabView/tabItem/CardTabItem.tsx +118 -0
- package/src/libs/TabView/tabItem/TabItem.tsx +180 -0
- package/src/libs/TabView/types.ts +166 -0
- package/src/libs/Template/HeaderSliderBanner/index.tsx +86 -0
- package/src/libs/Template/HeaderSliderBanner/types.ts +16 -0
- package/src/libs/Template/TrustBanner/CustomAvatar.tsx +39 -0
- package/src/libs/Template/TrustBanner/index.tsx +161 -0
- package/src/libs/Template/TrustBanner/styles.ts +48 -0
- package/src/libs/Template/TrustBanner/types.ts +50 -0
- package/src/libs/Template/index.tsx +4 -0
- package/src/libs/Template/package.json +18 -0
- package/src/libs/Template/publish.sh +17 -0
- package/src/libs/Title/index.tsx +284 -0
- package/src/libs/Title/package.json +17 -0
- package/src/libs/Title/publish.sh +16 -0
- package/src/libs/Title/styles.ts +54 -0
- package/src/libs/Title/types.ts +21 -0
- package/src/libs/Tooltip/TooltipButtons.tsx +54 -0
- package/src/libs/Tooltip/index.tsx +608 -0
- package/src/libs/Tooltip/package.json +16 -0
- package/src/libs/Tooltip/publish.sh +18 -0
- package/src/libs/Tooltip/styles.ts +70 -0
- package/src/libs/Tooltip/types.ts +61 -0
- package/src/libs/Uploader/index.tsx +87 -0
- package/src/libs/Uploader/package.json +17 -0
- package/src/libs/Uploader/publish.sh +18 -0
- package/src/libs/Uploader/styles.ts +30 -0
- package/src/libs/Uploader/types.ts +69 -0
- package/src/native/MoMoNative.podspec +18 -0
- package/src/native/calculator/android/build.gradle +61 -0
- package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/src/native/calculator/android/gradle/wrapper/gradle-wrapper.properties +6 -0
- package/src/native/calculator/android/gradlew +172 -0
- package/src/native/calculator/android/gradlew.bat +84 -0
- package/src/native/calculator/android/src/main/AndroidManifest.xml +5 -0
- package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewModule.java +22 -0
- package/src/native/calculator/android/src/main/java/com/calculator/KeyboardViewPackage.java +35 -0
- package/src/native/calculator/android/src/main/java/com/calculator/modules/CalculatorKeyboardModule.java +157 -0
- package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/CalculatorEditText.java +36 -0
- package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/FixedRelativeLayout.java +45 -0
- package/src/native/calculator/android/src/main/java/com/calculator/views/calculatorkeyboard/MomoTextInputCalculatorManager.java +173 -0
- package/src/native/calculator/android/src/main/java/com/calculator/views/customkeyboard/RNCustomKeyboardModule.java +417 -0
- package/src/native/calculator/ios/Helper/MomoHelper.swift +16 -0
- package/src/native/calculator/ios/KeyboardView-Bridging-Header.h +60 -0
- package/src/native/calculator/ios/KeyboardView.h +19 -0
- package/src/native/calculator/ios/KeyboardView.m +56 -0
- package/src/native/calculator/ios/MomoTextInputCalculator.swift +144 -0
- package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.h +6 -0
- package/src/native/calculator/ios/RNCustomKeyboard/RNCustomKeyboard.m +143 -0
- package/src/native/package.json +14 -0
- package/src/native/publish.sh +29 -0
- package/src/native/resource/android/build.gradle +57 -0
- package/src/native/resource/android/gradle/wrapper/gradle-wrapper.jar +0 -0
- package/src/native/resource/android/gradle/wrapper/gradle-wrapper.properties +6 -0
- package/src/native/resource/android/src/main/AndroidManifest.xml +6 -0
- package/src/native/resource/android/src/main/java/com/resource/RNResourceModule.java +90 -0
- package/src/native/resource/android/src/main/java/com/resource/RNResourcePackage.java +22 -0
- package/src/native/resource/ios/RNResouce.m +71 -0
- package/src/native/resource/ios/RNResource.h +5 -0
- package/example/ios/Example.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
- package/example/ios/Example.xcworkspace/xcuserdata/sophia.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/example/ios/Example.xcworkspace/xcuserdata/sophia.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +0 -6
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/MoMoUIKits.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/Pods-Example.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SDWebImage.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SDWebImageSwiftUI.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/SkeletonUI.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/lottie-ios-LottiePrivacyInfo.xcscheme +0 -58
- package/example/ios/Pods/Pods.xcodeproj/xcuserdata/sophia.xcuserdatad/xcschemes/lottie-ios.xcscheme +0 -58
- 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
|
+
|