uilib-native 3.0.4 → 3.0.5

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 (136) hide show
  1. package/android/build/.transforms/{6a4a003a5436f1cfa6c642f89a88b8f1.bin → 7b85a4cb719e06b1cadba5128a161508/results.bin} +0 -0
  2. package/android/build/.transforms/7b85a4cb719e06b1cadba5128a161508/transformed/classes/classes.dex +0 -0
  3. package/android/build/.transforms/faa2afe0bc7898c632042480c288ecc2/results.bin +1 -0
  4. package/android/build/.transforms/faa2afe0bc7898c632042480c288ecc2/transformed/classes/classes.dex +0 -0
  5. package/android/build/generated/source/buildConfig/debug/com/wix/reactnativeuilib/BuildConfig.java +0 -8
  6. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +3 -5
  7. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +16 -0
  8. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +2 -0
  9. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  10. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  11. package/android/build/intermediates/compile_symbol_list/debug/R.txt +1865 -0
  12. package/android/build/intermediates/compiled_local_resources/debug/out/layout_wheel_picker.xml.flat +0 -0
  13. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +1 -1
  14. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +1 -1
  15. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +1 -1
  16. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +2 -2
  17. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +2 -2
  18. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/BuildConfig.class +0 -0
  19. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/UiLibPackageList.class +0 -0
  20. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlightFrame.class +0 -0
  21. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlightViewTagParams.class +0 -0
  22. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterView.class +0 -0
  23. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager$1.class +0 -0
  24. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewManager.class +0 -0
  25. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/HighlighterViewPackage.class +0 -0
  26. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/ReactHacks.class +0 -0
  27. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/ReflectionUtils.class +0 -0
  28. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/highlighterview/UiUtils.class +0 -0
  29. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/AppContextHolder$1.class +0 -0
  30. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/AppContextHolder.class +0 -0
  31. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$1.class +0 -0
  32. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$2.class +0 -0
  33. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$3.class +0 -0
  34. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$4.class +0 -0
  35. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout$5.class +0 -0
  36. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.class +0 -0
  37. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.class +0 -0
  38. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewManager.class +0 -0
  39. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootViewShadow.class +0 -0
  40. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/KeyboardInputModule.class +0 -0
  41. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/KeyboardInputPackage.class +0 -0
  42. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactContextHolder.class +0 -0
  43. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor$1.class +0 -0
  44. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor$Listener.class +0 -0
  45. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactScreenMonitor.class +0 -0
  46. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$1.class +0 -0
  47. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$2.class +0 -0
  48. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor$Listener.class +0 -0
  49. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/ReactSoftKeyboardMonitor.class +0 -0
  50. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/PredicateFunc.class +0 -0
  51. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils$1.class +0 -0
  52. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils$2.class +0 -0
  53. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/RuntimeUtils.class +0 -0
  54. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils$1.class +0 -0
  55. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils$VisibleViewClassMatchPredicate.class +0 -0
  56. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/keyboardinput/utils/ViewUtils.class +0 -0
  57. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/DefaultKeyListener.class +0 -0
  58. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/KeyListenerProxy.class +0 -0
  59. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule$1.class +0 -0
  60. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerModule.class +0 -0
  61. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/TextInputDelKeyHandlerPackage.class +0 -0
  62. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/textinput/ViewUtils.class +0 -0
  63. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/utils/LogForwarder$LogType.class +0 -0
  64. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/utils/LogForwarder.class +0 -0
  65. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPicker$1.class +0 -0
  66. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPicker.class +0 -0
  67. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPickerManager.class +0 -0
  68. package/android/build/intermediates/javac/debug/classes/com/wix/reactnativeuilib/wheelpicker/WheelPickerPackage.class +0 -0
  69. package/android/build/intermediates/local_only_symbol_list/debug/{parseDebugLibraryResources/R-def.txt → R-def.txt} +0 -0
  70. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +9 -11
  71. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +9 -0
  72. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  73. package/android/build/intermediates/packaged_manifests/debug/output-metadata.json +16 -0
  74. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  75. package/android/build/intermediates/{res/symbol-table-with-package → symbol_list_with_package_name}/debug/package-aware-r.txt +66 -8
  76. package/android/build/outputs/logs/manifest-merger-debug-report.txt +18 -30
  77. package/android/build/tmp/compileDebugJavaWithJavac/source-classes-mapping.txt +83 -0
  78. package/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardLayout.java +41 -17
  79. package/android/src/main/java/com/wix/reactnativeuilib/keyboardinput/CustomKeyboardRootView.java +12 -0
  80. package/components/{HighlighterOverlayView.js → HighlighterOverlayView.tsx} +40 -46
  81. package/components/Keyboard/KeyboardInput/{CustomKeyboardView.android.js → CustomKeyboardView/CustomKeyboardView.android.tsx} +9 -14
  82. package/components/Keyboard/KeyboardInput/{CustomKeyboardView.ios.js → CustomKeyboardView/CustomKeyboardView.ios.tsx} +20 -21
  83. package/components/Keyboard/KeyboardInput/CustomKeyboardView/index.tsx +16 -0
  84. package/components/Keyboard/KeyboardInput/{CustomKeyboardViewBase.js → CustomKeyboardViewBase.tsx} +26 -20
  85. package/components/Keyboard/KeyboardInput/{KeyboardAccessoryView.js → KeyboardAccessoryView.tsx} +110 -99
  86. package/components/Keyboard/KeyboardInput/{KeyboardRegistry.js → KeyboardRegistry.ts} +10 -10
  87. package/components/Keyboard/KeyboardInput/{TextInputKeyboardManager.android.js → TextInputKeyboardManager/TextInputKeyboardManager.android.ts} +0 -0
  88. package/components/Keyboard/KeyboardInput/{TextInputKeyboardManager.ios.js → TextInputKeyboardManager/TextInputKeyboardManager.ios.ts} +5 -4
  89. package/components/Keyboard/KeyboardInput/TextInputKeyboardManager/index.ts +9 -0
  90. package/components/Keyboard/KeyboardInput/utils/{EventEmitterManager.js → EventEmitterManager.ts} +5 -4
  91. package/components/Keyboard/KeyboardInput/utils/{KeyboardUtils.js → KeyboardUtils.ts} +0 -0
  92. package/components/Keyboard/KeyboardTracking/{KeyboardAwareInsetsView.js → KeyboardAwareInsetsView.tsx} +3 -4
  93. package/components/Keyboard/KeyboardTracking/{KeyboardTrackingView.android.js → KeyboardTrackingView/KeyboardTrackingView.android.tsx} +1 -0
  94. package/components/Keyboard/KeyboardTracking/{KeyboardTrackingView.ios.js → KeyboardTrackingView/KeyboardTrackingView.ios.tsx} +8 -14
  95. package/components/Keyboard/KeyboardTracking/KeyboardTrackingView/index.tsx +50 -0
  96. package/components/Keyboard/index.ts +15 -0
  97. package/components/SafeArea/{SafeAreaInsetsManager.js → SafeAreaInsetsManager.ts} +10 -7
  98. package/components/SafeArea/SafeAreaSpacerView.tsx +19 -0
  99. package/components/WheelPicker/WheelPickerItem.tsx +21 -0
  100. package/components/WheelPicker/{index.js → index.tsx} +58 -38
  101. package/components/index.ts +14 -0
  102. package/ios/reactnativeuilib/keyboardtrackingview/KeyboardTrackingViewTempManager.m +20 -2
  103. package/package.json +1 -1
  104. package/android/.gradle/5.6.1/fileChanges/last-build.bin +0 -0
  105. package/android/.gradle/5.6.1/fileHashes/fileHashes.lock +0 -0
  106. package/android/.gradle/5.6.1/gc.properties +0 -0
  107. package/android/.gradle/vcs-1/gc.properties +0 -0
  108. package/android/.idea/codeStyles/Project.xml +0 -116
  109. package/android/.idea/encodings.xml +0 -4
  110. package/android/.idea/gradle.xml +0 -12
  111. package/android/.idea/misc.xml +0 -9
  112. package/android/.idea/modules.xml +0 -8
  113. package/android/.idea/runConfigurations.xml +0 -12
  114. package/android/.idea/vcs.xml +0 -6
  115. package/android/.idea/workspace.xml +0 -547
  116. package/android/android.iml +0 -18
  117. package/android/build/.transforms/6a4a003a5436f1cfa6c642f89a88b8f1/classes/classes.dex +0 -0
  118. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
  119. package/android/build/intermediates/compile_library_classes/debug/classes.jar +0 -0
  120. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/R.jar +0 -0
  121. package/android/build/intermediates/incremental/debug-mergeNativeLibs/merge-state +0 -0
  122. package/android/build/intermediates/library_java_res/debug/res.jar +0 -0
  123. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -11
  124. package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
  125. package/android/build/intermediates/runtime_library_classes/debug/classes.jar +0 -0
  126. package/android/build/intermediates/symbols/debug/R.txt +0 -1801
  127. package/android/local.properties +0 -8
  128. package/android/react-native-ui-lib.iml +0 -144
  129. package/components/Keyboard/index.js +0 -7
  130. package/components/SafeArea/SafeAreaSpacerView.js +0 -16
  131. package/components/WheelPicker/WheelPickerItem.js +0 -21
  132. package/components/index.js +0 -17
  133. package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  134. package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  135. package/ios/reactnativeuilib.xcodeproj/project.xcworkspace/xcuserdata/michaelle.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  136. package/ios/reactnativeuilib.xcodeproj/xcuserdata/michaelle.xcuserdatad/xcschemes/xcschememanagement.plist +0 -19
@@ -1,70 +1,87 @@
1
1
  import _ from 'lodash';
2
- import PropTypes from 'prop-types';
3
2
  import React, {Component} from 'react';
4
- import {DeviceEventEmitter, requireNativeComponent, StyleSheet, View} from 'react-native';
5
- import {Picker} from '@react-native-community/picker';
3
+ import {DeviceEventEmitter, requireNativeComponent, StyleSheet, View, ViewStyle, TextStyle} from 'react-native';
4
+
6
5
  import WheelPickerItem from './WheelPickerItem';
7
- import {Constants} from '../../../src/helpers';
6
+ import {Constants} from '../../../src/commons/new';
7
+ import {LogService} from '../../../src/services';
8
8
  import {Typography, Colors} from '../../../src/style';
9
9
 
10
- const WheelPickerNative = requireNativeComponent('WheelPicker', null);
10
+ import {PickerPackage, CommunityPickerPackage} from '../../../src/optionalDependencies';
11
+ const Picker = PickerPackage?.Picker || CommunityPickerPackage?.Picker || (() => null);
11
12
 
12
- class WheelPicker extends Component {
13
- static displayName = 'WheelPicker';
13
+ if (!PickerPackage) {
14
+ if (CommunityPickerPackage) {
15
+ console.warn(`RNUILib Picker will soon migrate to use "@react-native-picker/picker" package instead of '@react-native-community/picker'`);
16
+ } else {
17
+ console.error(`RNUILib Picker requires installing "@react-native-picker/picker" dependency`);
18
+ }
19
+ }
14
20
 
15
- static propTypes = {
16
- /**
21
+ const WheelPickerNative = requireNativeComponent('WheelPicker');
22
+
23
+ export type WheelPickerProps = {
24
+ /**
17
25
  * the current selected value of the picker
18
26
  */
19
- selectedValue: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), //eslint-disable-line
27
+ selectedValue?: string | number;
20
28
  /**
21
29
  * callback for when a value change
22
30
  */
23
- onValueChange: PropTypes.func,
31
+ onValueChange?: (value: string | number, index: number) => void;
24
32
  /**
25
33
  * pass custom style
26
34
  */
27
- style: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),
35
+ style?: ViewStyle;
28
36
  /**
29
37
  * pass custom label style: fontSize, fontFamily, color<br>
30
38
  * Note: label's color will override the text color (hex only)
31
39
  */
32
- labelStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]),
40
+ labelStyle?: TextStyle;
33
41
  /**
34
42
  * The height of the selected item
35
43
  */
36
- itemHeight: PropTypes.number,
44
+ itemHeight?: number;
37
45
  /**
38
46
  * The color of the wheel picker (hex only)
39
47
  */
40
- color: PropTypes.string,
48
+ color?: string;
41
49
  /**
42
50
  * pass custom style for the picker item
43
51
  */
44
- itemStyle: PropTypes.oneOfType([PropTypes.object, PropTypes.number]), //eslint-disable-line
45
- };
52
+ itemStyle?: ViewStyle;
53
+ children?: JSX.Element | JSX.Element[];
54
+ }
55
+
56
+ class WheelPicker extends Component<WheelPickerProps> {
57
+ static displayName = 'WheelPicker';
46
58
 
47
59
  static defaultProps = {
48
- labelStyle: {fontSize: Typography.text70.fontSize, fontFamily: Typography.text70.fontFamily},
49
- color: Colors.blue30
60
+ labelStyle: {fontSize: Typography.text70?.fontSize, fontFamily: Typography.text70?.fontFamily},
61
+ color: Colors.primary
50
62
  };
51
63
 
52
- constructor(props) {
64
+ static Item: typeof WheelPickerItem;
65
+
66
+ constructor(props: WheelPickerProps) {
53
67
  super(props);
54
68
  this.onValueChange = this.onValueChange.bind(this); //eslint-disable-line
55
69
  this.getItems();
56
70
  DeviceEventEmitter.addListener('log', this.onLogReceived); // TODO: consider moving to a more generic place (base class?)
71
+
72
+ LogService.componentDeprecationWarn({oldComponent: 'WheelPicker', newComponent: 'Incubator.WheelPicker'});
57
73
  }
58
74
 
59
75
  state = {
60
- items: this.getItems(),
76
+ items: this.getItems()
61
77
  };
62
78
 
63
- onLogReceived = (event) => {
79
+ onLogReceived = (event: any) => {
80
+ // @ts-expect-error
64
81
  console[event.LogType](event.TAG, event.text);
65
- }
82
+ };
66
83
 
67
- onValueChange(event) {
84
+ onValueChange(event: any) {
68
85
  const index = event.nativeEvent.itemIndex;
69
86
  const {onValueChange} = this.props;
70
87
  if (onValueChange) {
@@ -74,9 +91,13 @@ class WheelPicker extends Component {
74
91
  }
75
92
 
76
93
  getItems() {
77
- const items = _.map(React.Children.toArray(this.props.children), child => ({
94
+ const {children} = this.props;
95
+
96
+ const items = _.map(React.Children.toArray(children), child => ({
97
+ //@ts-expect-error
78
98
  value: child.props.value,
79
- label: child.props.label,
99
+ //@ts-expect-error
100
+ label: child.props.label
80
101
  }));
81
102
  return items;
82
103
  }
@@ -93,37 +114,36 @@ class WheelPicker extends Component {
93
114
 
94
115
  render() {
95
116
  const {style, color, labelStyle, itemHeight} = this.props;
96
- const {fontSize, fontFamily} = labelStyle;
97
- let {color: labelColor} = labelStyle;
98
117
 
99
118
  return (
100
- <View collapsable={false} style={styles.container} >
119
+ <View collapsable={false} style={styles.container}>
101
120
  <WheelPickerNative
121
+ // @ts-expect-error
102
122
  data={this.extractLabelsFromItems()}
103
123
  initialIndex={this.getInitialIndex()}
104
124
  onChange={this.onValueChange}
105
125
  style={[styles.wheelPicker, style]}
106
126
  color={color}
107
- labelColor={labelColor || color}
108
- fontSize={fontSize}
127
+ labelColor={labelStyle?.color || color}
128
+ fontSize={labelStyle?.fontSize}
109
129
  itemHeight={itemHeight}
110
- fontFamily={fontFamily}
130
+ fontFamily={labelStyle?.fontFamily}
111
131
  />
112
132
  </View>
113
133
  );
114
134
  }
115
135
  }
116
136
 
137
+ WheelPicker.Item = WheelPickerItem;
138
+
117
139
  const styles = StyleSheet.create({
118
140
  container: {
119
- overflow: 'hidden',
141
+ overflow: 'hidden'
120
142
  },
121
143
  wheelPicker: {
122
144
  width: 200,
123
- height: 200,
124
- },
145
+ height: 200
146
+ }
125
147
  });
126
148
 
127
- WheelPicker.Item = WheelPickerItem;
128
-
129
- export default (Constants.isAndroid ? WheelPicker : Picker);
149
+ export default Constants.isAndroid ? WheelPicker : Picker;
@@ -0,0 +1,14 @@
1
+ import HighlighterOverlayView from './HighlighterOverlayView';
2
+ import SafeAreaSpacerView from './SafeArea/SafeAreaSpacerView';
3
+ import WheelPicker, {WheelPickerProps} from './WheelPicker';
4
+ import SafeAreaInsetsManager from './SafeArea/SafeAreaInsetsManager';
5
+ import Keyboard from './Keyboard';
6
+
7
+ export {
8
+ HighlighterOverlayView,
9
+ SafeAreaSpacerView,
10
+ WheelPicker,
11
+ WheelPickerProps,
12
+ SafeAreaInsetsManager,
13
+ Keyboard
14
+ };
@@ -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) BOOL useSafeArea;
53
54
  @property (nonatomic) BOOL scrollToFocusedInput;
54
55
  @property (nonatomic) BOOL allowHitsOutsideBounds;
55
56
 
@@ -483,7 +484,7 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
483
484
  {
484
485
  CGFloat bottomSafeArea = 0;
485
486
  #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_10_3
486
- if (@available(iOS 11.0, *)) {
487
+ if (@available(iOS 11.0, *) && self.useSafeArea) {
487
488
  bottomSafeArea = self.superview ? self.superview.safeAreaInsets.bottom : self.safeAreaInsets.bottom;
488
489
  }
489
490
  #endif
@@ -502,12 +503,28 @@ typedef NS_ENUM(NSUInteger, KeyboardTrackingScrollBehavior) {
502
503
  });
503
504
  }
504
505
 
506
+ -(CGFloat)getTabBarHeight
507
+ {
508
+ if (@available(iOS 11.0, *)) {
509
+ UIWindow *window = UIApplication.sharedApplication.windows.firstObject;
510
+ if ([window.rootViewController isKindOfClass:[UITabBarController class]])
511
+ {
512
+ UITabBarController *tabBarController = [UITabBarController new];
513
+ CGFloat tabBarHeight = tabBarController.tabBar.frame.size.height;
514
+ CGFloat bottomPadding = window.safeAreaInsets.bottom;
515
+ return tabBarHeight + bottomPadding;
516
+ }
517
+ }
518
+ return 0;
519
+ }
520
+
505
521
  #pragma mark - ObservingInputAccessoryViewTempDelegate methods
506
522
 
507
523
  -(void)updateTransformAndInsets
508
524
  {
509
525
  CGFloat bottomSafeArea = [self getBottomSafeArea];
510
- CGFloat accessoryTranslation = MIN(-bottomSafeArea, -_ObservingInputAccessoryViewTemp.keyboardHeight);
526
+ CGFloat tabBarHeight = [self getTabBarHeight];
527
+ CGFloat accessoryTranslation = MIN(-bottomSafeArea, -_ObservingInputAccessoryViewTemp.keyboardHeight + tabBarHeight);
511
528
 
512
529
  if (_ObservingInputAccessoryViewTemp.keyboardHeight <= bottomSafeArea) {
513
530
  _bottomViewHeight = kBottomViewHeightTemp;
@@ -632,6 +649,7 @@ RCT_REMAP_VIEW_PROPERTY(revealKeyboardInteractive, revealKeyboardInteractive, BO
632
649
  RCT_REMAP_VIEW_PROPERTY(manageScrollView, manageScrollView, BOOL)
633
650
  RCT_REMAP_VIEW_PROPERTY(requiresSameParentToManageScrollView, requiresSameParentToManageScrollView, BOOL)
634
651
  RCT_REMAP_VIEW_PROPERTY(addBottomView, addBottomView, BOOL)
652
+ RCT_REMAP_VIEW_PROPERTY(useSafeArea, useSafeArea, BOOL)
635
653
  RCT_REMAP_VIEW_PROPERTY(scrollToFocusedInput, scrollToFocusedInput, BOOL)
636
654
  RCT_REMAP_VIEW_PROPERTY(allowHitsOutsideBounds, allowHitsOutsideBounds, BOOL)
637
655
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uilib-native",
3
- "version": "3.0.4",
3
+ "version": "3.0.5",
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",
File without changes
File without changes
@@ -1,116 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <code_scheme name="Project" version="173">
3
- <codeStyleSettings language="XML">
4
- <indentOptions>
5
- <option name="CONTINUATION_INDENT_SIZE" value="4" />
6
- </indentOptions>
7
- <arrangement>
8
- <rules>
9
- <section>
10
- <rule>
11
- <match>
12
- <AND>
13
- <NAME>xmlns:android</NAME>
14
- <XML_ATTRIBUTE />
15
- <XML_NAMESPACE>^$</XML_NAMESPACE>
16
- </AND>
17
- </match>
18
- </rule>
19
- </section>
20
- <section>
21
- <rule>
22
- <match>
23
- <AND>
24
- <NAME>xmlns:.*</NAME>
25
- <XML_ATTRIBUTE />
26
- <XML_NAMESPACE>^$</XML_NAMESPACE>
27
- </AND>
28
- </match>
29
- <order>BY_NAME</order>
30
- </rule>
31
- </section>
32
- <section>
33
- <rule>
34
- <match>
35
- <AND>
36
- <NAME>.*:id</NAME>
37
- <XML_ATTRIBUTE />
38
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
39
- </AND>
40
- </match>
41
- </rule>
42
- </section>
43
- <section>
44
- <rule>
45
- <match>
46
- <AND>
47
- <NAME>.*:name</NAME>
48
- <XML_ATTRIBUTE />
49
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
50
- </AND>
51
- </match>
52
- </rule>
53
- </section>
54
- <section>
55
- <rule>
56
- <match>
57
- <AND>
58
- <NAME>name</NAME>
59
- <XML_ATTRIBUTE />
60
- <XML_NAMESPACE>^$</XML_NAMESPACE>
61
- </AND>
62
- </match>
63
- </rule>
64
- </section>
65
- <section>
66
- <rule>
67
- <match>
68
- <AND>
69
- <NAME>style</NAME>
70
- <XML_ATTRIBUTE />
71
- <XML_NAMESPACE>^$</XML_NAMESPACE>
72
- </AND>
73
- </match>
74
- </rule>
75
- </section>
76
- <section>
77
- <rule>
78
- <match>
79
- <AND>
80
- <NAME>.*</NAME>
81
- <XML_ATTRIBUTE />
82
- <XML_NAMESPACE>^$</XML_NAMESPACE>
83
- </AND>
84
- </match>
85
- <order>BY_NAME</order>
86
- </rule>
87
- </section>
88
- <section>
89
- <rule>
90
- <match>
91
- <AND>
92
- <NAME>.*</NAME>
93
- <XML_ATTRIBUTE />
94
- <XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
95
- </AND>
96
- </match>
97
- <order>ANDROID_ATTRIBUTE_ORDER</order>
98
- </rule>
99
- </section>
100
- <section>
101
- <rule>
102
- <match>
103
- <AND>
104
- <NAME>.*</NAME>
105
- <XML_ATTRIBUTE />
106
- <XML_NAMESPACE>.*</XML_NAMESPACE>
107
- </AND>
108
- </match>
109
- <order>BY_NAME</order>
110
- </rule>
111
- </section>
112
- </rules>
113
- </arrangement>
114
- </codeStyleSettings>
115
- </code_scheme>
116
- </component>
@@ -1,4 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="Encoding" addBOMForNewFiles="with NO BOM" />
4
- </project>
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="GradleSettings">
4
- <option name="linkedExternalProjectsSettings">
5
- <GradleProjectSettings>
6
- <option name="distributionType" value="DEFAULT_WRAPPED" />
7
- <option name="externalProjectPath" value="$PROJECT_DIR$" />
8
- <option name="resolveModulePerSourceSet" value="false" />
9
- </GradleProjectSettings>
10
- </option>
11
- </component>
12
- </project>
@@ -1,9 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectRootManager">
4
- <output url="file://$PROJECT_DIR$/build/classes" />
5
- </component>
6
- <component name="ProjectType">
7
- <option name="id" value="Android" />
8
- </component>
9
- </project>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="ProjectModuleManager">
4
- <modules>
5
- <module fileurl="file://$PROJECT_DIR$/android.iml" filepath="$PROJECT_DIR$/android.iml" />
6
- </modules>
7
- </component>
8
- </project>
@@ -1,12 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="RunConfigurationProducerService">
4
- <option name="ignoredProducers">
5
- <set>
6
- <option value="org.jetbrains.plugins.gradle.execution.test.runner.AllInPackageGradleConfigurationProducer" />
7
- <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestClassGradleConfigurationProducer" />
8
- <option value="org.jetbrains.plugins.gradle.execution.test.runner.TestMethodGradleConfigurationProducer" />
9
- </set>
10
- </option>
11
- </component>
12
- </project>
@@ -1,6 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <project version="4">
3
- <component name="VcsDirectoryMappings">
4
- <mapping directory="$PROJECT_DIR$/../.." vcs="Git" />
5
- </component>
6
- </project>