uilib-native 3.0.6 → 3.0.8

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 (80) hide show
  1. package/android/build/.transforms/{7b85a4cb719e06b1cadba5128a161508 → 078d1206f8e28097fd785bd635dfbdf6}/results.bin +0 -0
  2. package/android/build/.transforms/078d1206f8e28097fd785bd635dfbdf6/transformed/classes/classes.dex +0 -0
  3. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  4. package/android/build/intermediates/compiled_local_resources/debug/out/layout_wheel_picker.xml.flat +0 -0
  5. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
  6. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
  7. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +1 -1
  8. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +2 -2
  9. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +2 -2
  10. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/BuildConfig.class +0 -0
  11. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/UiLibPackageList.class +0 -0
  12. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlightFrame.class +0 -0
  13. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.class +0 -0
  14. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterView.class +0 -0
  15. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager$1.class +0 -0
  16. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.class +0 -0
  17. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.class +0 -0
  18. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/ReactHacks.class +0 -0
  19. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/ReflectionUtils.class +0 -0
  20. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/UiUtils.class +0 -0
  21. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/AppContextHolder$1.class +0 -0
  22. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.class +0 -0
  23. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$1.class +0 -0
  24. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$2.class +0 -0
  25. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$3.class +0 -0
  26. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$4.class +0 -0
  27. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$5.class +0 -0
  28. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.class +0 -0
  29. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.class +0 -0
  30. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.class +0 -0
  31. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.class +0 -0
  32. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.class +0 -0
  33. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.class +0 -0
  34. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.class +0 -0
  35. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor$1.class +0 -0
  36. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor$Listener.class +0 -0
  37. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.class +0 -0
  38. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$1.class +0 -0
  39. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$2.class +0 -0
  40. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$Listener.class +0 -0
  41. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.class +0 -0
  42. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.class +0 -0
  43. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils$1.class +0 -0
  44. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils$2.class +0 -0
  45. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.class +0 -0
  46. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils$1.class +0 -0
  47. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils$VisibleViewClassMatchPredicate.class +0 -0
  48. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.class +0 -0
  49. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/DefaultKeyListener.class +0 -0
  50. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/KeyListenerProxy.class +0 -0
  51. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule$1.class +0 -0
  52. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule.class +0 -0
  53. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerPackage.class +0 -0
  54. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/ViewUtils.class +0 -0
  55. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/utils/LogForwarder$LogType.class +0 -0
  56. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/utils/LogForwarder.class +0 -0
  57. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPicker$1.class +0 -0
  58. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPicker.class +0 -0
  59. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPickerManager.class +0 -0
  60. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPickerPackage.class +0 -0
  61. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +2 -2
  62. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  63. package/android/build/outputs/logs/manifest-merger-debug-report.txt +18 -18
  64. package/components/Keyboard/KeyboardInput/KeyboardAccessoryView.tsx +26 -106
  65. package/components/Keyboard/KeyboardInput/KeyboardRegistry.ts +2 -1
  66. package/components/Keyboard/KeyboardInput/keyboardAccessoryView.api.json +57 -0
  67. package/components/Keyboard/KeyboardInput/keyboardRegistry.api.json +50 -0
  68. package/components/Keyboard/KeyboardTracking/KeyboardTrackingView/index.tsx +78 -36
  69. package/components/Keyboard/KeyboardTracking/KeyboardTrackingView/keyboardTrackingView.api.json +95 -0
  70. package/components/Keyboard/KeyboardTracking/keyboardAwareInsetsView.api.json +14 -0
  71. package/components/index.ts +4 -2
  72. package/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +15 -20
  73. package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  74. package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  75. package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/xcuserdata/inbalti.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  76. package/ios/reactnativeuilib.xcodeproj/xcuserdata/inbalti.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
  77. package/package.json +1 -1
  78. package/android/build/.transforms/7b85a4cb719e06b1cadba5128a161508/transformed/classes/classes.dex +0 -0
  79. package/android/build/.transforms/faa2afe0bc7898c632042480c288ecc2/results.bin +0 -1
  80. package/android/build/.transforms/faa2afe0bc7898c632042480c288ecc2/transformed/classes/classes.dex +0 -0
@@ -1,2 +1,2 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/debug/jniLibs"/></dataSet></merger>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/debug/jniLibs"/></dataSet></merger>
@@ -1,2 +1,2 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/debug/shaders"/></dataSet></merger>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/debug/shaders"/></dataSet></merger>
@@ -1,2 +1,2 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/assets"/><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/build/intermediates/shader_assets/debug/out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/debug/assets"/></dataSet></merger>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/assets"/><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/build/intermediates/shader_assets/debug/out"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/debug/assets"/></dataSet></merger>
@@ -1,2 +1,2 @@
1
- #Mon Jan 10 14:28:29 IST 2022
2
- /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/res/layout/wheel_picker.xml=/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/build/intermediates/packaged_res/debug/layout/wheel_picker.xml
1
+ #Wed Mar 16 10:21:34 IST 2022
2
+ /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/res/layout/wheel_picker.xml=/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/build/intermediates/packaged_res/debug/layout/wheel_picker.xml
@@ -1,7 +1,7 @@
1
1
  <?xml version="1.0" encoding="utf-8"?>
2
- <merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/res"/><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/build/generated/res/rs/debug"/><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/res"><file name="wheel_picker" path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/res/layout/wheel_picker.xml" qualifiers="" type="layout"/><file path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/res/values/colors.xml" qualifiers=""><color name="colorPrimary">#3F51B5</color><color name="colorPrimaryDark">#303F9F</color><color name="colorAccent">#FF4081</color><color name="dividerColor">#459FED</color><color name="numberPickerDivider">#FF4081</color><color name="title">#20303c</color></file><file path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/res/values/styles.xml" qualifiers=""><style name="NumberPickerTextColorStyle">
2
+ <merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/res"/><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/build/generated/res/rs/debug"/><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/res"><file name="wheel_picker" path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/res/layout/wheel_picker.xml" qualifiers="" type="layout"/><file path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/res/values/colors.xml" qualifiers=""><color name="colorPrimary">#3F51B5</color><color name="colorPrimaryDark">#303F9F</color><color name="colorAccent">#FF4081</color><color name="dividerColor">#459FED</color><color name="numberPickerDivider">#FF4081</color><color name="title">#20303c</color></file><file path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/res/values/styles.xml" qualifiers=""><style name="NumberPickerTextColorStyle">
3
3
  <item name="android:textColorPrimary">@color/dividerColor</item>
4
4
  <item name="android:editTextColor">@color/dividerColor</item>
5
5
  <item name="android:textSize">20dp</item>
6
6
  <item name="colorControlNormal">@color/dividerColor</item>
7
- </style></file></source><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/build/generated/res/rs/debug"/><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/debug/res"/></dataSet><mergedItems/></merger>
7
+ </style></file></source><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/build/generated/res/rs/debug"/><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/debug/res"/></dataSet><mergedItems/></merger>
@@ -4,8 +4,8 @@
4
4
  4
5
5
  5 <uses-sdk
6
6
  6 android:minSdkVersion="21"
7
- 6-->/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
7
+ 6-->/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
8
8
  7 android:targetSdkVersion="30" />
9
- 7-->/Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
9
+ 7-->/Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
10
10
  8
11
11
  9</manifest>
@@ -1,25 +1,25 @@
1
1
  -- Merging decision tree log ---
2
2
  manifest
3
- ADDED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:2:1-5:12
4
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:2:1-5:12
5
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:2:1-5:12
3
+ ADDED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:2:1-5:12
4
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:2:1-5:12
5
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:2:1-5:12
6
6
  package
7
- ADDED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:4:5-39
8
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
9
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
7
+ ADDED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:4:5-39
8
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
9
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
10
10
  xmlns:android
11
- ADDED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:3:5-63
11
+ ADDED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml:3:5-63
12
12
  uses-sdk
13
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
14
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
15
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
16
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
17
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
13
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
14
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
15
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
16
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
17
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
18
18
  android:targetSdkVersion
19
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
20
- ADDED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
21
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
19
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
20
+ ADDED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
21
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
22
22
  android:minSdkVersion
23
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
24
- ADDED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
25
- INJECTED from /Users/ethans/Documents/workspace/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
23
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
24
+ ADDED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
25
+ INJECTED from /Users/inbalti/Documents/WIX_PUBLIC/react-native-ui-lib/lib/android/src/main/AndroidManifest.xml
@@ -9,31 +9,20 @@ import {
9
9
  BackHandler,
10
10
  LayoutChangeEvent
11
11
  } from 'react-native';
12
- import KeyboardTrackingView from '../KeyboardTracking/KeyboardTrackingView';
12
+ import KeyboardTrackingView, {KeyboardTrackingViewProps} from '../KeyboardTracking/KeyboardTrackingView';
13
13
  import CustomKeyboardView from './CustomKeyboardView';
14
14
  import KeyboardUtils from './utils/KeyboardUtils';
15
15
 
16
16
  const IsIOS = Platform.OS === 'ios';
17
17
  const IsAndroid = Platform.OS === 'android';
18
18
 
19
- const IOS_SCROLL_BEHAVIORS = IsIOS
20
- ? {
21
- NONE: NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorNone,
22
- SCROLL_TO_BOTTOM_INVERTED_ONLY:
23
- NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorScrollToBottomInvertedOnly,
24
- FIXED_OFFSET: NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorFixedOffset
25
- }
26
- : {};
19
+ type kbTrackingViewProps = Pick<KeyboardTrackingViewProps, 'scrollBehavior' | 'revealKeyboardInteractive' | 'manageScrollView' | 'requiresSameParentToManageScrollView' | 'allowHitsOutsideBounds' | 'addBottomView' | 'bottomViewColor' | 'useSafeArea' | 'usesBottomTabs'>;
27
20
 
28
- export type KeyboardAccessoryViewProps = {
21
+ export type KeyboardAccessoryViewProps = kbTrackingViewProps & {
29
22
  /**
30
23
  * Content to be rendered above the keyboard
31
24
  */
32
25
  renderContent?: () => React.ReactElement;
33
- /**
34
- * A callback for when the height is changed
35
- */
36
- onHeightChanged?: (height: number) => void;
37
26
  /**
38
27
  * iOS only.
39
28
  * The reference to the actual text input (or the keyboard may not reset when instructed to, etc.).
@@ -48,10 +37,14 @@ export type KeyboardAccessoryViewProps = {
48
37
  * The props that will be sent to the KeyboardComponent
49
38
  */
50
39
  kbInitialProps?: any;
40
+ /**
41
+ * A callback for when the height is changed
42
+ */
43
+ onHeightChanged?: (height: number) => void;
51
44
  /**
52
45
  * Callback that will be called when an item on the keyboard has been pressed.
53
46
  */
54
- onItemSelected?: () => void;
47
+ onItemSelected?: (component?: string, args?: any) => void;
55
48
  /**
56
49
  * Callback that will be called if KeyboardRegistry.requestShowKeyboard is called.
57
50
  */
@@ -61,84 +54,33 @@ export type KeyboardAccessoryViewProps = {
61
54
  */
62
55
  onKeyboardResigned?: () => void;
63
56
  /**
64
- * iOS only.
65
- * The scrolling behavior, use KeyboardAccessoryView.iosScrollBehaviors.X where X is:
66
- * NONE, SCROLL_TO_BOTTOM_INVERTED_ONLY or FIXED_OFFSET
67
- *
68
- * default: FIXED_OFFSET
57
+ * @deprecated
58
+ * Please use 'scrollBehavior' prop instead
59
+ * The scrolling behavior (use KeyboardAccessoryView.scrollBehaviors.NONE | SCROLL_TO_BOTTOM_INVERTED_ONLY | FIXED_OFFSET)
69
60
  */
70
61
  iOSScrollBehavior?: number;
71
- /**
72
- * iOS only.
73
- * Show the keyboard on a negative scroll
74
- *
75
- * default: false
76
- */
77
- revealKeyboardInteractive?: boolean;
78
- /**
79
- * iOS only.
80
- * Set to false to turn off inset management and manage it yourself
81
- *
82
- * default: true
83
- */
84
- manageScrollView?: boolean;
85
- /**
86
- * iOS only.
87
- * Set to true manageScrollView is set to true and still does not work,
88
- * it means that the ScrollView found is the wrong one and you'll have
89
- * to have the KeyboardAccessoryView and the ScrollView as siblings
90
- * and set this to true
91
- *
92
- * default: false
93
- */
94
- requiresSameParentToManageScrollView?: boolean;
95
- /**
96
- * iOS only.
97
- * Add a (white) SafeArea view beneath the KeyboardAccessoryView
98
- *
99
- * default: false
100
- */
101
- addBottomView?: boolean;
102
- /**
103
- * iOS only.
104
- * Allow hitting sub-views that are placed beyond the view bounds
105
- *
106
- * default: false
107
- */
108
- allowHitsOutsideBounds?: boolean;
109
-
110
- /**
111
- * iOS only.
112
- * Whether or not to handle SafeArea
113
- * default: true
114
- */
115
- useSafeArea?: boolean;
116
- /**
117
- * iOS only.
118
- * Whether or not to include bottom tab bat inset
119
- * default: true
120
- */
121
- usesBottomTabs?: boolean;
122
-
123
62
  children?: React.ReactChild;
124
63
  };
125
64
 
126
65
  /**
127
66
  * @description: View that allows replacing the default keyboard with other components
128
- * @example: https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/nativeComponentScreens/keyboardInput/KeyboardInputViewScreen.js
67
+ * @example: https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/nativeComponentScreens/keyboardAccessory/KeyboardAccessoryViewScreen.js
129
68
  * @gif: https://github.com/wix/react-native-ui-lib/blob/master/demo/showcase/KeyboardAccessoryView/KeyboardAccessoryView.gif?raw=true
130
69
  */
131
70
  class KeyboardAccessoryView extends Component<KeyboardAccessoryViewProps> {
132
-
133
- static iosScrollBehaviors = IOS_SCROLL_BEHAVIORS;
71
+ /**
72
+ * @deprecated Please use KeyboardAccessoryView.scrollBehaviors instead
73
+ */
74
+ static iosScrollBehaviors = KeyboardTrackingView.scrollBehaviors; //TODO: remove on V7
75
+ static scrollBehaviors = KeyboardTrackingView.scrollBehaviors;
134
76
 
135
77
  static defaultProps = {
136
- iOSScrollBehavior: -1,
137
78
  revealKeyboardInteractive: false,
138
79
  manageScrollView: true,
139
80
  requiresSameParentToManageScrollView: false,
140
81
  addBottomView: false,
141
- allowHitsOutsideBounds: false
82
+ allowHitsOutsideBounds: false,
83
+ scrollBehavior: KeyboardTrackingView.scrollBehaviors.FIXED_OFFSET
142
84
  };
143
85
 
144
86
  // TODO: fix
@@ -185,16 +127,6 @@ class KeyboardAccessoryView extends Component<KeyboardAccessoryViewProps> {
185
127
  return false;
186
128
  }
187
129
 
188
- getIOSTrackingScrollBehavior() {
189
- const {iOSScrollBehavior} = this.props;
190
-
191
- let scrollBehavior = iOSScrollBehavior;
192
- if (IsIOS && scrollBehavior === -1) {
193
- scrollBehavior = KeyboardAccessoryView.iosScrollBehaviors.FIXED_OFFSET;
194
- }
195
- return scrollBehavior;
196
- }
197
-
198
130
  async getNativeProps() {
199
131
  if (this.trackingViewRef) {
200
132
  return await this.trackingViewRef.getNativeProps();
@@ -248,44 +180,32 @@ class KeyboardAccessoryView extends Component<KeyboardAccessoryViewProps> {
248
180
 
249
181
  render() {
250
182
  const {
251
- revealKeyboardInteractive,
252
- manageScrollView,
253
- requiresSameParentToManageScrollView,
254
- addBottomView,
255
- allowHitsOutsideBounds,
256
183
  renderContent,
257
184
  kbInputRef,
258
185
  kbComponent,
259
186
  onItemSelected,
260
187
  onRequestShowKeyboard,
261
- useSafeArea,
262
- usesBottomTabs
188
+ scrollBehavior,
189
+ iOSScrollBehavior,
190
+ ...others
263
191
  } = this.props;
264
192
 
265
193
  return (
266
194
  <KeyboardTrackingView
195
+ {...others}
196
+ scrollBehavior={IsIOS ? iOSScrollBehavior || scrollBehavior : undefined}
267
197
  ref={(r: any) => (this.trackingViewRef = r)}
268
198
  style={styles.trackingToolbarContainer}
269
- // @ts-ignore
270
199
  onLayout={this.onContainerComponentHeightChanged}
271
- scrollBehavior={this.getIOSTrackingScrollBehavior()}
272
- revealKeyboardInteractive={revealKeyboardInteractive}
273
- manageScrollView={manageScrollView}
274
- requiresSameParentToManageScrollView={requiresSameParentToManageScrollView}
275
- addBottomView={addBottomView}
276
- allowHitsOutsideBounds={allowHitsOutsideBounds}
277
- usesBottomTabs={usesBottomTabs}
278
200
  >
279
- <>
280
- {renderContent?.()}
281
- </>
201
+ <>{renderContent?.()}</>
282
202
  <CustomKeyboardView
283
203
  inputRef={kbInputRef}
284
204
  component={kbComponent}
285
205
  initialProps={this.processInitialProps()}
286
206
  onItemSelected={onItemSelected}
287
207
  onRequestShowKeyboard={onRequestShowKeyboard}
288
- useSafeArea={useSafeArea}
208
+ useSafeArea={others.useSafeArea}
289
209
  />
290
210
  </KeyboardTrackingView>
291
211
  );
@@ -17,7 +17,7 @@ const getKeyboardsWithIDs = (keyboardIDs: string[]) => {
17
17
 
18
18
  /**
19
19
  * @description: used for registering keyboards and performing certain actions on the keyboards.
20
- * @example: https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/nativeComponentScreens/keyboardInput/demoKeyboards.js
20
+ * @example: https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/nativeComponentScreens/keyboardAccessory/demoKeyboards.js
21
21
  */
22
22
  export default class KeyboardRegistry {
23
23
  static displayName = 'KeyboardRegistry';
@@ -115,6 +115,7 @@ export default class KeyboardRegistry {
115
115
  };
116
116
 
117
117
  /**
118
+ * @deprecated
118
119
  * iOS only (experimental)
119
120
  * Call to make the keyboard full screen
120
121
  * componentID (string) - the ID of the keyboard.
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "KeyboardAccessoryView",
3
+ "category": "keyboard",
4
+ "description": "View that allows replacing the default keyboard with other components",
5
+ "example": "https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/nativeComponentScreens/keyboardAccessory/KeyboardAccessoryViewScreen.js",
6
+ "images": [
7
+ "https://github.com/wix/react-native-ui-lib/blob/master/demo/showcase/KeyboardAccessoryView/KeyboardAccessoryView.gif?raw=true"
8
+ ],
9
+ "props": [
10
+ {
11
+ "name": "renderContent",
12
+ "type": "() => React.ReactElement",
13
+ "description": "Content to be rendered above the keyboard"
14
+ },
15
+ {
16
+ "name": "kbInputRef",
17
+ "type": "any",
18
+ "description": "The reference to the actual text input (or the keyboard may not reset when instructed to, etc.).\niOS only.",
19
+ "required": true
20
+ },
21
+ {
22
+ "name": "kbComponent",
23
+ "type": "string",
24
+ "description": "The keyboard ID (the componentID sent to KeyboardRegistry)"
25
+ },
26
+ {"name": "kbInitialProps", "type": "any", "description": "The props that will be sent to the KeyboardComponent"},
27
+ {
28
+ "name": "onHeightChanged",
29
+ "type": "(height: number) => void",
30
+ "description": "A callback for when the height is changed"
31
+ },
32
+ {
33
+ "name": "onItemSelected",
34
+ "type": "() => void",
35
+ "description": "Callback that will be called when an item on the keyboard has been pressed."
36
+ },
37
+ {
38
+ "name": "onRequestShowKeyboard",
39
+ "type": "() => void",
40
+ "description": "Callback that will be called if KeyboardRegistry.requestShowKeyboard is called."
41
+ },
42
+ {
43
+ "name": "onKeyboardResigned",
44
+ "type": "() => void",
45
+ "description": "Callback that will be called once the keyboard has been closed"
46
+ }
47
+ ],
48
+ "snippet": [
49
+ "<KeyboardAccessoryView",
50
+ " renderContent={this.renderContent()}",
51
+ " kbInputRef={this.inputRef}",
52
+ " kbComponent={$1}",
53
+ " kbInitialProps={$2}",
54
+ " onHeightChanged={this.onHeightChanged()}",
55
+ " scrollBehavior={KeyboardAccessoryView.scrollBehaviors.NONE$3}",
56
+ "/>"
57
+ ]}
@@ -0,0 +1,50 @@
1
+ {
2
+ "name": "KeyboardRegistry",
3
+ "category": "keyboard",
4
+ "description": "used for registering keyboards and performing certain actions on the keyboards.",
5
+ "example": "https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/nativeComponentScreens/keyboardAccessory/demoKeyboards.js",
6
+ "props": [
7
+ {
8
+ "name": "registerKeyboard",
9
+ "type": "static function",
10
+ "description": "Register a new keyboard.\ncomponentID (string) - the ID of the keyboard.\ngenerator (function) - a function for the creation of the keyboard.\nparams (object) - to be returned when using other methods (i.e. getKeyboards and getAllKeyboards)."
11
+ },
12
+ {
13
+ "name": "getKeyboard",
14
+ "type": "static function",
15
+ "description": "Get a specific keyboard\ncomponentID (string) - the ID of the keyboard."
16
+ },
17
+ {
18
+ "name": "getKeyboards",
19
+ "type": "static function",
20
+ "description": "Get keyboards by IDs\ncomponentIDs (string[]) - the ID of the keyboard."
21
+ },
22
+ {"name": "getAllKeyboards", "type": "static function", "description": "Get all keyboards"},
23
+ {
24
+ "name": "addListener",
25
+ "type": "static function",
26
+ "description": "Add a listener for a callback.\nglobalID (string) - ID that includes the componentID and the event name\n (i.e. if componentID='kb1' globalID='kb1.onItemSelected')\ncallback (function) - the callback to be called when the said event happens"
27
+ },
28
+ {
29
+ "name": "notifyListeners",
30
+ "type": "static function",
31
+ "description": "Notify that an event has occurred.\nglobalID (string) - ID that includes the componentID and the event name\n (i.e. if componentID='kb1' globalID='kb1.onItemSelected')\nargs (object) - data to be sent to the listener."
32
+ },
33
+ {
34
+ "name": "removeListeners",
35
+ "type": "static function",
36
+ "description": "Remove a listener for a callback.\nglobalID (string) - ID that includes the componentID and the event name\n (i.e. if componentID='kb1' globalID='kb1.onItemSelected')"
37
+ },
38
+ {
39
+ "name": "onItemSelected",
40
+ "type": "static function",
41
+ "description": "Default event to be used for when an item on the keyboard has been pressed.\ncomponentID (string) - the ID of the keyboard.\nargs (object) - data to be sent to the listener."
42
+ },
43
+ {
44
+ "name": "requestShowKeyboard",
45
+ "type": "static function",
46
+ "description": "Request to show the keyboard\ncomponentID (string) - the ID of the keyboard."
47
+ }
48
+ ],
49
+ "snippet": ["KeyboardRegistry.registerKeyboard('keyboardName$1', () => KeyboardComponent$2)"]
50
+ }
@@ -1,49 +1,89 @@
1
1
  import React, {forwardRef} from 'react';
2
- import {Platform, ViewStyle, ViewProps} from 'react-native';
2
+ import {Platform, NativeModules, ViewStyle, ViewProps} from 'react-native';
3
3
  import {default as KeyboardTrackingViewIOS} from './KeyboardTrackingView.ios';
4
4
  import {default as KeyboardTrackingViewAndroid} from './KeyboardTrackingView.android';
5
5
 
6
6
  const isAndroid = Platform.OS === 'android';
7
+ const SCROLL_BEHAVIORS = {
8
+ NONE: NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorNone,
9
+ SCROLL_TO_BOTTOM_INVERTED_ONLY:
10
+ NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorScrollToBottomInvertedOnly,
11
+ FIXED_OFFSET: NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorFixedOffset
12
+ };
7
13
 
8
14
  export type KeyboardTrackingViewProps = ViewProps & {
9
15
  /**
10
- * Enables tracking of the keyboard when it's dismissed interactively (false by default).
11
- * Why? When using an external keyboard (BT),
12
- * you still get the keyboard events and the view just hovers when you focus the input.
13
- * Also, if you're not using interactive style of dismissing the keyboard
14
- * (or if you don't have an input inside this view) it doesn't make sense to track it anyway.
15
- * (This is caused because of the usage of inputAccessory to be able to track the
16
- * keyboard interactive change and it introduces this bug)
17
- */
18
- trackInteractive?: boolean;
19
- /**
20
- * Allow control safe area
21
- */
22
- useSafeArea?: boolean;
23
- /**
24
- * Whether or not to include bottom tab bar inset
25
- */
26
- usesBottomTabs?: boolean;
27
-
28
- scrollToFocusedInput?: boolean;
29
- scrollBehavior?: number;
30
- revealKeyboardInteractive?: boolean;
31
- manageScrollView?: boolean;
32
- requiresSameParentToManageScrollView?: boolean;
33
- addBottomView?: boolean;
34
- allowHitsOutsideBounds?: boolean;
35
-
36
- // Can't figure out what it's supposed to be
37
- ref?: any;
38
-
39
- children?: React.ReactChild | React.ReactChild[];
40
-
41
- style?: ViewStyle;
42
- }
16
+ * Enables tracking of the keyboard when it's dismissed interactively (false by default).
17
+ * Why? When using an external keyboard (BT),
18
+ * you still get the keyboard events and the view just hovers when you focus the input.
19
+ * Also, if you're not using interactive style of dismissing the keyboard
20
+ * (or if you don't have an input inside this view) it doesn't make sense to track it anyway.
21
+ * (This is caused because of the usage of inputAccessory to be able to track the
22
+ * keyboard interactive change and it introduces this bug)
23
+ */
24
+ trackInteractive?: boolean;
25
+ /**
26
+ * iOS only.
27
+ * Show the keyboard on a negative scroll
28
+ * default: false
29
+ */
30
+ revealKeyboardInteractive?: boolean;
31
+ /**
32
+ * iOS only.
33
+ * Set to false to turn off inset management and manage it yourself
34
+ * default: true
35
+ */
36
+ manageScrollView?: boolean;
37
+ /**
38
+ * iOS only.
39
+ * Set to true manageScrollView is set to true and still does not work,
40
+ * it means that the ScrollView found is the wrong one and you'll have
41
+ * to have the KeyboardAccessoryView and the ScrollView as siblings
42
+ * and set this to true
43
+ *
44
+ * default: false
45
+ */
46
+ requiresSameParentToManageScrollView?: boolean;
47
+ /**
48
+ * iOS only.
49
+ * Allow hitting sub-views that are placed beyond the view bounds
50
+ *
51
+ * default: false
52
+ */
53
+ allowHitsOutsideBounds?: boolean;
54
+ scrollToFocusedInput?: boolean;
55
+ /**
56
+ * iOS only.
57
+ * The scrolling behavior (NONE | SCROLL_TO_BOTTOM_INVERTED_ONLY | FIXED_OFFSET)
58
+ */
59
+ scrollBehavior?: number;
60
+ /**
61
+ * iOS only.
62
+ * Add a SafeArea view beneath the KeyboardAccessoryView
63
+ * default: false
64
+ */
65
+ addBottomView?: boolean;
66
+ /**
67
+ * iOS only.
68
+ * The bottom view's color
69
+ * default: 'white'
70
+ */
71
+ bottomViewColor?: string;
72
+ /**
73
+ * Allow control safe area
74
+ */
75
+ useSafeArea?: boolean;
76
+ /**
77
+ * Whether or not to include bottom tab bar inset
78
+ */
79
+ usesBottomTabs?: boolean;
80
+ ref?: any;
81
+ style?: ViewStyle;
82
+ children?: React.ReactChild | React.ReactChild[];
83
+ };
43
84
 
44
85
  const KeyboardTrackingView = forwardRef(({children, ...others}: KeyboardTrackingViewProps, ref: any) => {
45
86
  const KeyboardTrackingViewContainer = isAndroid ? KeyboardTrackingViewAndroid : KeyboardTrackingViewIOS;
46
-
47
87
  return (
48
88
  <KeyboardTrackingViewContainer {...others} ref={ref}>
49
89
  {children}
@@ -51,4 +91,6 @@ const KeyboardTrackingView = forwardRef(({children, ...others}: KeyboardTracking
51
91
  );
52
92
  });
53
93
 
54
- export default KeyboardTrackingView;
94
+ export default KeyboardTrackingView as (typeof KeyboardTrackingView & {scrollBehaviors: typeof SCROLL_BEHAVIORS});
95
+ // @ts-expect-error
96
+ KeyboardTrackingView.scrollBehaviors = SCROLL_BEHAVIORS;
@@ -0,0 +1,95 @@
1
+ {
2
+ "name": "KeyboardTrackingView",
3
+ "category": "keyboard",
4
+ "description": "A UI component that enables 'keyboard tracking' for this view and it's sub-views.\nWould typically be used when you have a TextField or TextInput inside this view.",
5
+ "note": "This view is useful only for iOS.",
6
+ "example": "https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/nativeComponentScreens/KeyboardTrackingViewScreen.js",
7
+ "images": [
8
+ "https://github.com/wix/react-native-ui-lib/blob/master/demo/showcase/KeyboardTrackingView/KeyboardTrackingView.gif?raw=true"
9
+ ],
10
+ "props": [
11
+ {
12
+ "name": "trackInteractive",
13
+ "type": "boolean",
14
+ "description": "Enables tracking of the keyboard when it's dismissed interactively (false by default).\nWhy? When using an external keyboard (BT),\nyou still get the keyboard events and the view just hovers when you focus the input.\nAlso, if you're not using interactive style of dismissing the keyboard\n(or if you don't have an input inside this view) it doesn't make sense to track it anyway.\n(This is caused because of the usage of inputAccessory to be able to track the keyboard interactive change and it introduces this bug)"
15
+ },
16
+ {
17
+ "name": "scrollToFocusedInput",
18
+ "type": "boolean",
19
+ "description": "Should the scrollView scroll to the focused input"
20
+ },
21
+ {
22
+ "name": "scrollBehavior",
23
+ "type": "number",
24
+ "description": "The scrolling behavior (use KeyboardTrackingView.scrollBehaviors.NONE | SCROLL_TO_BOTTOM_INVERTED_ONLY | FIXED_OFFSET)",
25
+ "note": "iOS only"
26
+ },
27
+ {
28
+ "name": "revealKeyboardInteractive",
29
+ "type": "boolean",
30
+ "description": "Show the keyboard on a negative scroll\niOS only.",
31
+ "note": "iOS only",
32
+ "default": "false"
33
+ },
34
+ {
35
+ "name": "manageScrollView",
36
+ "type": "boolean",
37
+ "description": "Set to false to turn off inset management and manage it yourself\niOS only.",
38
+ "note": "iOS only",
39
+ "default": "true"
40
+ },
41
+ {
42
+ "name": "requiresSameParentToManageScrollView",
43
+ "type": "boolean",
44
+ "description": "Set to true manageScrollView is set to true and still does not work,\nit means that the ScrollView found is the wrong one and you'll have\nto have the KeyboardAccessoryView and the ScrollView as siblings\nand set this to true\niOS only.",
45
+ "note": "iOS only",
46
+ "default": "false"
47
+ },
48
+ {
49
+ "name": "allowHitsOutsideBounds",
50
+ "type": "boolean",
51
+ "description": "Allow hitting sub-views that are placed beyond the view bounds\niOS only.",
52
+ "note": "iOS only",
53
+ "default": "false"
54
+ },
55
+ {
56
+ "name": "addBottomView",
57
+ "type": "boolean",
58
+ "description": "Add a view beneath the KeyboardAccessoryView\niOS only.",
59
+ "note": "iOS only",
60
+ "default": "false"
61
+ },
62
+ {
63
+ "name": "bottomViewColor",
64
+ "type": "string",
65
+ "description": "The bottom view's color\niOS only.",
66
+ "note": "iOS only",
67
+ "default": "white"
68
+ },
69
+ {
70
+ "name": "useSafeArea",
71
+ "type": "boolean",
72
+ "description": "Whether or not to handle SafeArea\niOS only.",
73
+ "note": "iOS only",
74
+ "default": "true"
75
+ },
76
+ {
77
+ "name": "usesBottomTabs",
78
+ "type": "boolean",
79
+ "description": "Whether or not to include bottom tab bar inset\niOS only.",
80
+ "note": "iOS only",
81
+ "default": "false"
82
+ },
83
+ {"name": "ref", "type": "any", "description": ""},
84
+ {"name": "style", "type": "ViewStyle", "description": ""}
85
+ ],
86
+ "snippet": [
87
+ "<KeyboardTrackingView",
88
+ " style={$1}",
89
+ " trackInteractive",
90
+ " useSafeArea",
91
+ ">",
92
+ " $2",
93
+ "</KeyboardTrackingView>"
94
+ ]
95
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "name": "KeyboardAwareInsetsView",
3
+ "category": "keyboard",
4
+ "description": "Used to add an inset when a keyboard is used and might hide part of the screen.",
5
+ "note": "This view is useful only for iOS.",
6
+ "extends": ["keyboard/KeyboardTrackingView"],
7
+ "example": "https://github.com/wix/react-native-ui-lib/blob/master/demo/src/screens/incubatorScreens/IncubatorTextFieldScreen.tsx",
8
+ "snippet": ["<ScrollView>",
9
+ " <TextField/>",
10
+ " <TextField/>",
11
+ " <KeyboardAwareInsetsView/>",
12
+ "<ScrollView>"
13
+ ]
14
+ }
@@ -2,7 +2,7 @@ import HighlighterOverlayView from './HighlighterOverlayView';
2
2
  import SafeAreaSpacerView from './SafeArea/SafeAreaSpacerView';
3
3
  import WheelPicker, {WheelPickerProps} from './WheelPicker';
4
4
  import SafeAreaInsetsManager from './SafeArea/SafeAreaInsetsManager';
5
- import Keyboard from './Keyboard';
5
+ import Keyboard, {KeyboardTrackingViewProps, KeyboardAccessoryViewProps} from './Keyboard';
6
6
 
7
7
  export {
8
8
  HighlighterOverlayView,
@@ -10,5 +10,7 @@ export {
10
10
  WheelPicker,
11
11
  WheelPickerProps,
12
12
  SafeAreaInsetsManager,
13
- Keyboard
13
+ Keyboard,
14
+ KeyboardTrackingViewProps,
15
+ KeyboardAccessoryViewProps
14
16
  };
@@ -50,6 +50,7 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
50
50
  @property (nonatomic) CGFloat originalHeight;
51
51
  @property (nonatomic) KeyboardTrackingScrollBehavior scrollBehavior;
52
52
  @property (nonatomic) BOOL addBottomView;
53
+ @property (nonatomic, strong) UIColor *bottomViewColor;
53
54
  @property (nonatomic) BOOL useSafeArea;
54
55
  @property (nonatomic) BOOL usesBottomTabs;
55
56
  @property (nonatomic) BOOL scrollToFocusedInput;
@@ -82,6 +83,7 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
82
83
  _bottomViewHeight = kBottomViewHeightTemp;
83
84
 
84
85
  self.addBottomView = NO;
86
+ self.bottomViewColor = [UIColor whiteColor];
85
87
  self.scrollToFocusedInput = NO;
86
88
  self.usesBottomTabs = NO;
87
89
 
@@ -443,15 +445,26 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
443
445
  -(void)setAddBottomView:(BOOL)addBottomView
444
446
  {
445
447
  _addBottomView = addBottomView;
448
+
446
449
  [self addBottomViewIfNecessary];
447
450
  }
448
451
 
452
+ -(void)setBottomViewColor:(UIColor *)bottomViewColor
453
+ {
454
+ _bottomViewColor = bottomViewColor;
455
+
456
+ if (self.addBottomView && _bottomView != nil) {
457
+ _bottomView.backgroundColor = _bottomViewColor;
458
+ }
459
+ }
460
+
449
461
  -(void)addBottomViewIfNecessary
450
462
  {
451
463
  if (self.addBottomView && _bottomView == nil)
452
464
  {
453
465
  _bottomView = [UIView new];
454
- _bottomView.backgroundColor = [UIColor whiteColor];
466
+ _bottomView.backgroundColor = self.bottomViewColor;
467
+
455
468
  [self addSubview:_bottomView];
456
469
  [self updateBottomViewFrame];
457
470
  }
@@ -505,30 +518,11 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
505
518
  });
506
519
  }
507
520
 
508
- #pragma mark - root view controller and presenting style
509
-
510
-
511
- - (BOOL)isModal {
512
- UIWindow *window = UIApplication.sharedApplication.windows.firstObject;
513
- UIViewController *presentedViewController = window.rootViewController.presentedViewController;
514
-
515
- if (presentedViewController != nil) {
516
- if ([presentedViewController isKindOfClass:[UINavigationController class]]) {
517
- UINavigationController *presented = (UINavigationController*)presentedViewController;
518
- if (presented.visibleViewController) {
519
- return YES;
520
- }
521
- }
522
- }
523
- return NO;
524
- }
525
-
526
521
  #pragma mark - TabBarController
527
522
 
528
523
  -(CGFloat)getTabBarHeight
529
524
  {
530
525
  if (@available(iOS 11.0, *)) {
531
- NSLog(@"INBAL usesBottomTabs: %d", self.usesBottomTabs);
532
526
  if (self.usesBottomTabs == YES)
533
527
  {
534
528
  UITabBarController *tabBarController = [UITabBarController new];
@@ -672,6 +666,7 @@ RCT_REMAP_VIEW_PROPERTY(revealKeyboardInteractive, revealKeyboardInteractive, BO
672
666
  RCT_REMAP_VIEW_PROPERTY(manageScrollView, manageScrollView, BOOL)
673
667
  RCT_REMAP_VIEW_PROPERTY(requiresSameParentToManageScrollView, requiresSameParentToManageScrollView, BOOL)
674
668
  RCT_REMAP_VIEW_PROPERTY(addBottomView, addBottomView, BOOL)
669
+ RCT_REMAP_VIEW_PROPERTY(bottomViewColor, bottomViewColor, UIColor)
675
670
  RCT_REMAP_VIEW_PROPERTY(useSafeArea, useSafeArea, BOOL)
676
671
  RCT_REMAP_VIEW_PROPERTY(usesBottomTabs, usesBottomTabs, BOOL)
677
672
  RCT_REMAP_VIEW_PROPERTY(scrollToFocusedInput, scrollToFocusedInput, BOOL)
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Workspace
3
+ version = "1.0">
4
+ <FileRef
5
+ location = "self:">
6
+ </FileRef>
7
+ </Workspace>
@@ -0,0 +1,8 @@
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>IDEDidComputeMac32BitWarning</key>
6
+ <true/>
7
+ </dict>
8
+ </plist>
@@ -0,0 +1,14 @@
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>reactnativeuilib.xcscheme_^#shared#^_</key>
8
+ <dict>
9
+ <key>orderHint</key>
10
+ <integer>0</integer>
11
+ </dict>
12
+ </dict>
13
+ </dict>
14
+ </plist>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uilib-native",
3
- "version": "3.0.6",
3
+ "version": "3.0.8",
4
4
  "homepage": "https://github.com/wix/react-native-ui-lib",
5
5
  "description": "uilib native components (separated from js components)",
6
6
  "main": "components/index.js",