uilib-native 5.0.1 → 5.1.0-snapshot.7630
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/package.json +4 -5
- package/components/DynamicFonts/FontDownloader.d.ts +0 -41
- package/components/DynamicFonts/FontDownloader.js +0 -140
- package/components/DynamicFonts/FontLoader.d.ts +0 -35
- package/components/DynamicFonts/FontLoader.js +0 -89
- package/components/DynamicFonts/NoPermissionsAcquirer.d.ts +0 -3
- package/components/DynamicFonts/NoPermissionsAcquirer.js +0 -5
- package/components/DynamicFonts/PermissionsAcquirer.android.d.ts +0 -13
- package/components/DynamicFonts/PermissionsAcquirer.android.js +0 -42
- package/components/DynamicFonts/PermissionsAcquirer.ios.d.ts +0 -2
- package/components/DynamicFonts/PermissionsAcquirer.ios.js +0 -2
- package/components/DynamicFonts/PermissionsAcquirer.web.d.ts +0 -2
- package/components/DynamicFonts/PermissionsAcquirer.web.js +0 -2
- package/components/DynamicFonts/RNFSPackage.d.ts +0 -2
- package/components/DynamicFonts/RNFSPackage.js +0 -5
- package/components/DynamicFonts/index.d.ts +0 -61
- package/components/DynamicFonts/index.js +0 -154
- package/components/HighlighterOverlayView/index.d.ts +0 -34
- package/components/HighlighterOverlayView/index.js +0 -49
- package/components/HighlighterOverlayView/index.web.d.ts +0 -34
- package/components/HighlighterOverlayView/index.web.js +0 -15
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.d.ts +0 -10
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.android.js +0 -51
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.d.ts +0 -19
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardView.ios.js +0 -62
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.d.ts +0 -27
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/CustomKeyboardViewBase.js +0 -67
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.d.ts +0 -4
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.js +0 -10
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.d.ts +0 -3
- package/components/Keyboard/KeyboardAccessoryView/CustomKeyboardView/index.web.js +0 -6
- package/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.d.ts +0 -10
- package/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/EventEmitterManager/index.js +0 -33
- package/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.d.ts +0 -71
- package/components/Keyboard/KeyboardAccessoryView/KeyboardRegistry/index.js +0 -135
- package/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.d.ts +0 -26
- package/components/Keyboard/KeyboardAccessoryView/KeyboardUtils/index.js +0 -91
- package/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.d.ts +0 -4
- package/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.android.js +0 -9
- package/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.d.ts +0 -10
- package/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/TextInputKeyboardManager.ios.js +0 -64
- package/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.d.ts +0 -4
- package/components/Keyboard/KeyboardAccessoryView/TextInputKeyboardManager/index.js +0 -6
- package/components/Keyboard/KeyboardAccessoryView/index.d.ts +0 -84
- package/components/Keyboard/KeyboardAccessoryView/index.js +0 -161
- package/components/Keyboard/KeyboardAwareInsetsView/index.d.ts +0 -16
- package/components/Keyboard/KeyboardAwareInsetsView/index.js +0 -31
- package/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.d.ts +0 -12
- package/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.android.js +0 -17
- package/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.d.ts +0 -21
- package/components/Keyboard/KeyboardTrackingView/KeyboardTrackingView.ios.js +0 -35
- package/components/Keyboard/KeyboardTrackingView/index.d.ts +0 -81
- package/components/Keyboard/KeyboardTrackingView/index.js +0 -22
- package/components/Keyboard/KeyboardTrackingView/index.web.d.ts +0 -6
- package/components/Keyboard/KeyboardTrackingView/index.web.js +0 -7
- package/components/Keyboard/index.d.ts +0 -40
- package/components/Keyboard/index.js +0 -13
- package/components/SafeArea/SafeAreaInsetsManager.d.ts +0 -34
- package/components/SafeArea/SafeAreaInsetsManager.js +0 -128
- package/components/SafeArea/SafeAreaSpacerView.d.ts +0 -10
- package/components/SafeArea/SafeAreaSpacerView.js +0 -68
- package/components/SafeArea/SafeAreaSpacerView.web.d.ts +0 -10
- package/components/SafeArea/SafeAreaSpacerView.web.js +0 -9
- package/components/SafeArea/index.d.ts +0 -10
- package/components/SafeArea/index.js +0 -11
- package/components/index.d.ts +0 -6
- package/components/index.js +0 -6
- package/specs/HighlighterViewNativeComponent.d.ts +0 -61
- package/specs/KeyboardTrackingViewNativeComponent.d.ts +0 -58
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import React, { forwardRef } from 'react';
|
|
2
|
-
import { Platform, NativeModules } from 'react-native';
|
|
3
|
-
import { default as KeyboardTrackingViewIOS } from "./KeyboardTrackingView.ios";
|
|
4
|
-
import { default as KeyboardTrackingViewAndroid } from "./KeyboardTrackingView.android";
|
|
5
|
-
const isAndroid = Platform.OS === 'android';
|
|
6
|
-
const SCROLL_BEHAVIORS = {
|
|
7
|
-
NONE: NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorNone,
|
|
8
|
-
SCROLL_TO_BOTTOM_INVERTED_ONLY: NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorScrollToBottomInvertedOnly,
|
|
9
|
-
FIXED_OFFSET: NativeModules.KeyboardTrackingViewTempManager?.KeyboardTrackingScrollBehaviorFixedOffset
|
|
10
|
-
};
|
|
11
|
-
const KeyboardTrackingView = forwardRef(({
|
|
12
|
-
children,
|
|
13
|
-
...others
|
|
14
|
-
}, ref) => {
|
|
15
|
-
const KeyboardTrackingViewContainer = isAndroid ? KeyboardTrackingViewAndroid : KeyboardTrackingViewIOS;
|
|
16
|
-
return <KeyboardTrackingViewContainer {...others} ref={ref}>
|
|
17
|
-
{children}
|
|
18
|
-
</KeyboardTrackingViewContainer>;
|
|
19
|
-
});
|
|
20
|
-
export default KeyboardTrackingView;
|
|
21
|
-
// @ts-expect-error
|
|
22
|
-
KeyboardTrackingView.scrollBehaviors = SCROLL_BEHAVIORS;
|
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import { KeyboardTrackingViewProps } from './KeyboardTrackingView';
|
|
3
|
-
import KeyboardAccessoryView, { KeyboardAccessoryViewProps } from './KeyboardAccessoryView';
|
|
4
|
-
import KeyboardRegistry from './KeyboardAccessoryView/KeyboardRegistry';
|
|
5
|
-
import KeyboardUtils from './KeyboardAccessoryView/KeyboardUtils';
|
|
6
|
-
export { KeyboardTrackingViewProps, KeyboardAccessoryViewProps };
|
|
7
|
-
declare const _default: {
|
|
8
|
-
KeyboardTrackingView: import("react").ForwardRefExoticComponent<Omit<KeyboardTrackingViewProps, "ref"> & import("react").RefAttributes<unknown>> & {
|
|
9
|
-
scrollBehaviors: {
|
|
10
|
-
NONE: any;
|
|
11
|
-
SCROLL_TO_BOTTOM_INVERTED_ONLY: any;
|
|
12
|
-
FIXED_OFFSET: any;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
KeyboardAwareInsetsView: {
|
|
16
|
-
(props: import("react-native/types").ViewProps & {
|
|
17
|
-
trackInteractive?: boolean | undefined;
|
|
18
|
-
revealKeyboardInteractive?: boolean | undefined;
|
|
19
|
-
manageScrollView?: boolean | undefined;
|
|
20
|
-
requiresSameParentToManageScrollView?: boolean | undefined;
|
|
21
|
-
allowHitsOutsideBounds?: boolean | undefined;
|
|
22
|
-
scrollToFocusedInput?: boolean | undefined;
|
|
23
|
-
scrollBehavior?: number | undefined;
|
|
24
|
-
addBottomView?: boolean | undefined;
|
|
25
|
-
bottomViewColor?: string | undefined;
|
|
26
|
-
useSafeArea?: boolean | undefined;
|
|
27
|
-
usesBottomTabs?: boolean | undefined;
|
|
28
|
-
ref?: any;
|
|
29
|
-
style?: import("react-native/types").StyleProp<import("react-native/types").ViewStyle>;
|
|
30
|
-
children?: import("react").ReactChild | import("react").ReactChild[] | undefined;
|
|
31
|
-
} & {
|
|
32
|
-
offset?: number | undefined;
|
|
33
|
-
}): import("react").JSX.Element;
|
|
34
|
-
displayName: string;
|
|
35
|
-
};
|
|
36
|
-
KeyboardAccessoryView: typeof KeyboardAccessoryView;
|
|
37
|
-
KeyboardRegistry: typeof KeyboardRegistry;
|
|
38
|
-
KeyboardUtils: typeof KeyboardUtils;
|
|
39
|
-
};
|
|
40
|
-
export default _default;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import KeyboardTrackingView, { KeyboardTrackingViewProps } from "./KeyboardTrackingView";
|
|
2
|
-
import KeyboardAwareInsetsView from "./KeyboardAwareInsetsView";
|
|
3
|
-
import KeyboardAccessoryView, { KeyboardAccessoryViewProps } from "./KeyboardAccessoryView";
|
|
4
|
-
import KeyboardRegistry from "./KeyboardAccessoryView/KeyboardRegistry";
|
|
5
|
-
import KeyboardUtils from "./KeyboardAccessoryView/KeyboardUtils";
|
|
6
|
-
export { KeyboardTrackingViewProps, KeyboardAccessoryViewProps };
|
|
7
|
-
export default {
|
|
8
|
-
KeyboardTrackingView,
|
|
9
|
-
KeyboardAwareInsetsView,
|
|
10
|
-
KeyboardAccessoryView,
|
|
11
|
-
KeyboardRegistry,
|
|
12
|
-
KeyboardUtils
|
|
13
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export type SafeAreaInsetsType = {
|
|
2
|
-
top: number;
|
|
3
|
-
left: number;
|
|
4
|
-
bottom: number;
|
|
5
|
-
right: number;
|
|
6
|
-
} | null;
|
|
7
|
-
export type SafeAreaChangedDelegateType = {
|
|
8
|
-
onSafeAreaInsetsDidChangeEvent?: (insets: SafeAreaInsetsType) => void;
|
|
9
|
-
};
|
|
10
|
-
export declare const DEFAULT_INSETS: {
|
|
11
|
-
top: number;
|
|
12
|
-
left: number;
|
|
13
|
-
bottom: number;
|
|
14
|
-
right: number;
|
|
15
|
-
};
|
|
16
|
-
declare class SafeAreaInsetsManager {
|
|
17
|
-
_defaultInsets: SafeAreaInsetsType;
|
|
18
|
-
_safeAreaInsets: SafeAreaInsetsType;
|
|
19
|
-
_safeAreaChangedDelegates: Array<SafeAreaChangedDelegateType>;
|
|
20
|
-
_nativeModule: any;
|
|
21
|
-
constructor();
|
|
22
|
-
setupNativeConnection(): void;
|
|
23
|
-
setupEventListener(): void;
|
|
24
|
-
getInitialInsets(): Promise<void>;
|
|
25
|
-
notifyDelegates(insets: SafeAreaInsetsType): void;
|
|
26
|
-
_updateInsets(): Promise<void>;
|
|
27
|
-
getSafeAreaInsets(): Promise<SafeAreaInsetsType>;
|
|
28
|
-
addSafeAreaChangedDelegate(delegate: SafeAreaChangedDelegateType): void;
|
|
29
|
-
removeSafeAreaChangedDelegate(delegateToRemove: SafeAreaChangedDelegateType): void;
|
|
30
|
-
get defaultInsets(): SafeAreaInsetsType;
|
|
31
|
-
refreshSafeAreaInsets(): Promise<void>;
|
|
32
|
-
}
|
|
33
|
-
declare const instance: SafeAreaInsetsManager;
|
|
34
|
-
export default instance;
|
|
@@ -1,128 +0,0 @@
|
|
|
1
|
-
import _isEqual from "lodash/isEqual";
|
|
2
|
-
import _remove from "lodash/remove";
|
|
3
|
-
import _forEach from "lodash/forEach";
|
|
4
|
-
/* eslint no-underscore-dangle: 0 */
|
|
5
|
-
import { NativeModules, DeviceEventEmitter } from 'react-native';
|
|
6
|
-
export const DEFAULT_INSETS = {
|
|
7
|
-
top: 47,
|
|
8
|
-
left: 0,
|
|
9
|
-
bottom: 34,
|
|
10
|
-
right: 0
|
|
11
|
-
};
|
|
12
|
-
let SafeAreaInsetsCache = null;
|
|
13
|
-
class SafeAreaInsetsManager {
|
|
14
|
-
_defaultInsets = DEFAULT_INSETS; // Common iPhone safe area values
|
|
15
|
-
|
|
16
|
-
_safeAreaChangedDelegates = [];
|
|
17
|
-
_nativeModule = null;
|
|
18
|
-
constructor() {
|
|
19
|
-
// Initialize with default values
|
|
20
|
-
this._safeAreaInsets = this._defaultInsets;
|
|
21
|
-
|
|
22
|
-
// Try to connect to native module
|
|
23
|
-
this.setupNativeConnection();
|
|
24
|
-
}
|
|
25
|
-
setupNativeConnection() {
|
|
26
|
-
try {
|
|
27
|
-
// Access the native module directly without causing getConstants
|
|
28
|
-
this._nativeModule = NativeModules.SafeAreaManager;
|
|
29
|
-
if (this._nativeModule) {
|
|
30
|
-
// Set up event listener using DeviceEventEmitter instead of NativeEventEmitter
|
|
31
|
-
// This avoids getConstants issues
|
|
32
|
-
this.setupEventListener();
|
|
33
|
-
|
|
34
|
-
// Get initial safe area insets
|
|
35
|
-
this.getInitialInsets();
|
|
36
|
-
} else {
|
|
37
|
-
console.log('SafeAreaInsetsManager: Native SafeAreaManager not available, using defaults');
|
|
38
|
-
}
|
|
39
|
-
} catch (error) {
|
|
40
|
-
console.warn('SafeAreaInsetsManager: Failed to connect to native module:', error);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
setupEventListener() {
|
|
44
|
-
try {
|
|
45
|
-
// Use DeviceEventEmitter instead of NativeEventEmitter to avoid getConstants
|
|
46
|
-
DeviceEventEmitter.addListener('SafeAreaInsetsDidChangeEvent', data => {
|
|
47
|
-
if (data) {
|
|
48
|
-
SafeAreaInsetsCache = data;
|
|
49
|
-
this._safeAreaInsets = data;
|
|
50
|
-
this.notifyDelegates(data);
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
|
-
} catch (error) {
|
|
54
|
-
console.warn('SafeAreaInsetsManager: Failed to setup event listener:', error);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
async getInitialInsets() {
|
|
58
|
-
if (!this._nativeModule) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
const insets = await this._nativeModule.getSafeAreaInsets();
|
|
63
|
-
if (insets) {
|
|
64
|
-
SafeAreaInsetsCache = insets;
|
|
65
|
-
this._safeAreaInsets = insets;
|
|
66
|
-
// Don't notify delegates yet as components might not be ready
|
|
67
|
-
}
|
|
68
|
-
} catch (error) {
|
|
69
|
-
console.warn('SafeAreaInsetsManager: Failed to get initial insets:', error);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
notifyDelegates(insets) {
|
|
73
|
-
_forEach(this._safeAreaChangedDelegates, delegate => {
|
|
74
|
-
if (delegate.onSafeAreaInsetsDidChangeEvent) {
|
|
75
|
-
delegate.onSafeAreaInsetsDidChangeEvent(insets);
|
|
76
|
-
}
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
async _updateInsets() {
|
|
80
|
-
if (this._nativeModule && SafeAreaInsetsCache === null) {
|
|
81
|
-
try {
|
|
82
|
-
const insets = await this._nativeModule.getSafeAreaInsets();
|
|
83
|
-
if (insets) {
|
|
84
|
-
SafeAreaInsetsCache = insets;
|
|
85
|
-
this._safeAreaInsets = SafeAreaInsetsCache;
|
|
86
|
-
} else {
|
|
87
|
-
this._safeAreaInsets = this._defaultInsets;
|
|
88
|
-
}
|
|
89
|
-
} catch (error) {
|
|
90
|
-
console.warn('SafeAreaInsetsManager: Failed to get native insets:', error);
|
|
91
|
-
this._safeAreaInsets = this._defaultInsets;
|
|
92
|
-
}
|
|
93
|
-
} else if (SafeAreaInsetsCache !== null) {
|
|
94
|
-
this._safeAreaInsets = SafeAreaInsetsCache;
|
|
95
|
-
} else {
|
|
96
|
-
this._safeAreaInsets = this._defaultInsets;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
async getSafeAreaInsets() {
|
|
100
|
-
await this._updateInsets();
|
|
101
|
-
return this._safeAreaInsets;
|
|
102
|
-
}
|
|
103
|
-
addSafeAreaChangedDelegate(delegate) {
|
|
104
|
-
this._safeAreaChangedDelegates.push(delegate);
|
|
105
|
-
}
|
|
106
|
-
removeSafeAreaChangedDelegate(delegateToRemove) {
|
|
107
|
-
_remove(this._safeAreaChangedDelegates, currentDelegate => {
|
|
108
|
-
return currentDelegate === delegateToRemove;
|
|
109
|
-
});
|
|
110
|
-
}
|
|
111
|
-
get defaultInsets() {
|
|
112
|
-
return this._defaultInsets;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// Method to manually refresh safe area insets and notify delegates
|
|
116
|
-
async refreshSafeAreaInsets() {
|
|
117
|
-
const previousInsets = this._safeAreaInsets;
|
|
118
|
-
SafeAreaInsetsCache = null; // Force refresh
|
|
119
|
-
await this._updateInsets();
|
|
120
|
-
|
|
121
|
-
// Notify delegates if insets changed
|
|
122
|
-
if (!_isEqual(previousInsets, this._safeAreaInsets)) {
|
|
123
|
-
this.notifyDelegates(this._safeAreaInsets);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
const instance = new SafeAreaInsetsManager();
|
|
128
|
-
export default instance;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ViewStyle, StyleProp } from 'react-native';
|
|
3
|
-
export type SafeAreaSpacerViewProps = {
|
|
4
|
-
style?: StyleProp<ViewStyle>;
|
|
5
|
-
};
|
|
6
|
-
declare const SafeAreaSpacerView: {
|
|
7
|
-
({ style }: SafeAreaSpacerViewProps): React.JSX.Element;
|
|
8
|
-
displayName: string;
|
|
9
|
-
};
|
|
10
|
-
export default SafeAreaSpacerView;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import React, { useState, useCallback, useEffect, useMemo } from 'react';
|
|
2
|
-
import { View, Dimensions } from 'react-native';
|
|
3
|
-
import SafeAreaInsetsManager from "./SafeAreaInsetsManager";
|
|
4
|
-
const SafeAreaSpacerView = ({
|
|
5
|
-
style
|
|
6
|
-
}) => {
|
|
7
|
-
const [safeAreaInsets, setSafeAreaInsets] = useState({
|
|
8
|
-
top: 0,
|
|
9
|
-
left: 0,
|
|
10
|
-
bottom: 0,
|
|
11
|
-
right: 0
|
|
12
|
-
});
|
|
13
|
-
const [componentHeight, setComponentHeight] = useState(0);
|
|
14
|
-
const [spacerHeight, setSpacerHeight] = useState(0);
|
|
15
|
-
useEffect(() => {
|
|
16
|
-
const getSafeAreaInsets = async () => {
|
|
17
|
-
try {
|
|
18
|
-
const insets = await SafeAreaInsetsManager.getSafeAreaInsets();
|
|
19
|
-
if (insets) {
|
|
20
|
-
setSafeAreaInsets(insets);
|
|
21
|
-
}
|
|
22
|
-
} catch (error) {
|
|
23
|
-
console.warn('SafeAreaSpacerView: Failed to get initial safe area insets:', error);
|
|
24
|
-
}
|
|
25
|
-
};
|
|
26
|
-
getSafeAreaInsets();
|
|
27
|
-
|
|
28
|
-
// Add delegate to listen for safe area changes from native component
|
|
29
|
-
const delegate = {
|
|
30
|
-
onSafeAreaInsetsDidChangeEvent: insets => {
|
|
31
|
-
if (insets) {
|
|
32
|
-
setSafeAreaInsets(insets);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
};
|
|
36
|
-
SafeAreaInsetsManager.addSafeAreaChangedDelegate(delegate);
|
|
37
|
-
return () => {
|
|
38
|
-
SafeAreaInsetsManager.removeSafeAreaChangedDelegate(delegate);
|
|
39
|
-
};
|
|
40
|
-
}, []);
|
|
41
|
-
|
|
42
|
-
// Position detection with useCallback
|
|
43
|
-
const handleLayout = useCallback(event => {
|
|
44
|
-
const {
|
|
45
|
-
y
|
|
46
|
-
} = event.nativeEvent.layout;
|
|
47
|
-
setComponentHeight(y);
|
|
48
|
-
}, []);
|
|
49
|
-
useEffect(() => {
|
|
50
|
-
const screenHeight = Dimensions.get('window').height;
|
|
51
|
-
let height = 0;
|
|
52
|
-
// Check if positioned within safe area bounds
|
|
53
|
-
if (componentHeight < safeAreaInsets.top) {
|
|
54
|
-
height = safeAreaInsets.top;
|
|
55
|
-
} else if (componentHeight > screenHeight - safeAreaInsets.bottom) {
|
|
56
|
-
height = safeAreaInsets.bottom;
|
|
57
|
-
}
|
|
58
|
-
if (height !== spacerHeight) {
|
|
59
|
-
setSpacerHeight(height);
|
|
60
|
-
}
|
|
61
|
-
}, [componentHeight, safeAreaInsets, spacerHeight]);
|
|
62
|
-
const spacerStyle = useMemo(() => [{
|
|
63
|
-
height: spacerHeight
|
|
64
|
-
}, style], [spacerHeight, style]);
|
|
65
|
-
return <View style={spacerStyle} onLayout={handleLayout} />;
|
|
66
|
-
};
|
|
67
|
-
SafeAreaSpacerView.displayName = 'SafeAreaSpacerView';
|
|
68
|
-
export default SafeAreaSpacerView;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ViewStyle } from 'react-native';
|
|
3
|
-
export type SafeAreaSpacerViewProps = {
|
|
4
|
-
style?: ViewStyle;
|
|
5
|
-
};
|
|
6
|
-
declare const SafeAreaSpacerView: {
|
|
7
|
-
({ style }: SafeAreaSpacerViewProps): React.JSX.Element;
|
|
8
|
-
displayName: string;
|
|
9
|
-
};
|
|
10
|
-
export default SafeAreaSpacerView;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { ViewStyle, StyleProp } from 'react-native';
|
|
3
|
-
export type SafeAreaSpacerViewProps = {
|
|
4
|
-
style?: StyleProp<ViewStyle>;
|
|
5
|
-
};
|
|
6
|
-
declare const SafeAreaSpacerView: {
|
|
7
|
-
({ style }: SafeAreaSpacerViewProps): React.JSX.Element;
|
|
8
|
-
displayName: string;
|
|
9
|
-
};
|
|
10
|
-
export default SafeAreaSpacerView;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { View, Platform } from 'react-native';
|
|
3
|
-
import SafeAreaSpacerViewIos from "./SafeAreaSpacerView";
|
|
4
|
-
const isIOS = Platform.OS === 'ios';
|
|
5
|
-
const SafeAreaSpacerView = ({
|
|
6
|
-
style
|
|
7
|
-
}) => {
|
|
8
|
-
return isIOS ? <SafeAreaSpacerViewIos style={style} /> : <View style={style} />;
|
|
9
|
-
};
|
|
10
|
-
SafeAreaSpacerView.displayName = 'SafeAreaSpacerView';
|
|
11
|
-
export default SafeAreaSpacerView;
|
package/components/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import DynamicFonts, { FontExtension } from './DynamicFonts';
|
|
2
|
-
import HighlighterOverlayView from './HighlighterOverlayView';
|
|
3
|
-
import SafeAreaSpacerView from './SafeArea';
|
|
4
|
-
import SafeAreaInsetsManager from './SafeArea/SafeAreaInsetsManager';
|
|
5
|
-
import Keyboard, { KeyboardTrackingViewProps, KeyboardAccessoryViewProps } from './Keyboard';
|
|
6
|
-
export { DynamicFonts, FontExtension, HighlighterOverlayView, SafeAreaSpacerView, SafeAreaInsetsManager, Keyboard, KeyboardTrackingViewProps, KeyboardAccessoryViewProps };
|
package/components/index.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import DynamicFonts, { FontExtension } from "./DynamicFonts";
|
|
2
|
-
import HighlighterOverlayView from "./HighlighterOverlayView";
|
|
3
|
-
import SafeAreaSpacerView from "./SafeArea";
|
|
4
|
-
import SafeAreaInsetsManager from "./SafeArea/SafeAreaInsetsManager";
|
|
5
|
-
import Keyboard, { KeyboardTrackingViewProps, KeyboardAccessoryViewProps } from "./Keyboard";
|
|
6
|
-
export { DynamicFonts, FontExtension, HighlighterOverlayView, SafeAreaSpacerView, SafeAreaInsetsManager, Keyboard, KeyboardTrackingViewProps, KeyboardAccessoryViewProps };
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/// <reference types="react-native/types/modules/codegen" />
|
|
2
|
-
import type { ViewProps } from 'react-native';
|
|
3
|
-
import type { Float, Int32, WithDefault } from 'react-native/Libraries/Types/CodegenTypes';
|
|
4
|
-
export interface HighlightFrame {
|
|
5
|
-
x: Float;
|
|
6
|
-
y: Float;
|
|
7
|
-
width: Float;
|
|
8
|
-
height: Float;
|
|
9
|
-
}
|
|
10
|
-
export interface MinimumRectSize {
|
|
11
|
-
width: Float;
|
|
12
|
-
height: Float;
|
|
13
|
-
}
|
|
14
|
-
export interface HighlightViewTagParams {
|
|
15
|
-
paddingLeft?: WithDefault<Float, 0>;
|
|
16
|
-
paddingTop?: WithDefault<Float, 0>;
|
|
17
|
-
paddingRight?: WithDefault<Float, 0>;
|
|
18
|
-
paddingBottom?: WithDefault<Float, 0>;
|
|
19
|
-
offsetX?: WithDefault<Float, 0>;
|
|
20
|
-
offsetY?: WithDefault<Float, 0>;
|
|
21
|
-
}
|
|
22
|
-
export interface NativeProps extends ViewProps {
|
|
23
|
-
/**
|
|
24
|
-
* The frame to highlight with x, y, width, height coordinates
|
|
25
|
-
*/
|
|
26
|
-
highlightFrame?: HighlightFrame;
|
|
27
|
-
/**
|
|
28
|
-
* The overlay color (processed color int for Android)
|
|
29
|
-
*/
|
|
30
|
-
overlayColor?: WithDefault<Int32, 0>;
|
|
31
|
-
/**
|
|
32
|
-
* The border radius for the highlighted area
|
|
33
|
-
*/
|
|
34
|
-
borderRadius?: WithDefault<Float, 0>;
|
|
35
|
-
/**
|
|
36
|
-
* The stroke color (processed color int for Android)
|
|
37
|
-
*/
|
|
38
|
-
strokeColor?: WithDefault<Int32, 0>;
|
|
39
|
-
/**
|
|
40
|
-
* The stroke width
|
|
41
|
-
*/
|
|
42
|
-
strokeWidth?: WithDefault<Float, 0>;
|
|
43
|
-
/**
|
|
44
|
-
* The React tag of the view to highlight
|
|
45
|
-
*/
|
|
46
|
-
highlightViewTag?: Int32;
|
|
47
|
-
/**
|
|
48
|
-
* Parameters for view-based highlighting including padding and offset
|
|
49
|
-
*/
|
|
50
|
-
highlightViewTagParams?: HighlightViewTagParams;
|
|
51
|
-
/**
|
|
52
|
-
* Minimum rectangle size for the highlight area
|
|
53
|
-
*/
|
|
54
|
-
minimumRectSize?: MinimumRectSize;
|
|
55
|
-
/**
|
|
56
|
-
* Inner padding for the highlight area
|
|
57
|
-
*/
|
|
58
|
-
innerPadding?: WithDefault<Float, 0>;
|
|
59
|
-
}
|
|
60
|
-
declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
|
|
61
|
-
export default _default;
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/// <reference types="react-native/types/modules/codegen" />
|
|
2
|
-
import type { ViewProps } from 'react-native';
|
|
3
|
-
import type { Int32, WithDefault } from 'react-native/Libraries/Types/CodegenTypes';
|
|
4
|
-
export interface NativeProps extends ViewProps {
|
|
5
|
-
/**
|
|
6
|
-
* Enables tracking of the keyboard when it's dismissed interactively (false by default).
|
|
7
|
-
*/
|
|
8
|
-
trackInteractive?: WithDefault<boolean, false>;
|
|
9
|
-
/**
|
|
10
|
-
* iOS only.
|
|
11
|
-
* Show the keyboard on a negative scroll
|
|
12
|
-
*/
|
|
13
|
-
revealKeyboardInteractive?: WithDefault<boolean, false>;
|
|
14
|
-
/**
|
|
15
|
-
* iOS only.
|
|
16
|
-
* Set to false to turn off inset management and manage it yourself
|
|
17
|
-
*/
|
|
18
|
-
manageScrollView?: WithDefault<boolean, true>;
|
|
19
|
-
/**
|
|
20
|
-
* iOS only.
|
|
21
|
-
* Set to true manageScrollView is set to true and still does not work
|
|
22
|
-
*/
|
|
23
|
-
requiresSameParentToManageScrollView?: WithDefault<boolean, false>;
|
|
24
|
-
/**
|
|
25
|
-
* iOS only.
|
|
26
|
-
* Allow hitting sub-views that are placed beyond the view bounds
|
|
27
|
-
*/
|
|
28
|
-
allowHitsOutsideBounds?: WithDefault<boolean, false>;
|
|
29
|
-
/**
|
|
30
|
-
* Should the scrollView scroll to the focused input
|
|
31
|
-
*/
|
|
32
|
-
scrollToFocusedInput?: WithDefault<boolean, false>;
|
|
33
|
-
/**
|
|
34
|
-
* iOS only.
|
|
35
|
-
* The scrolling behavior (NONE | SCROLL_TO_BOTTOM_INVERTED_ONLY | FIXED_OFFSET)
|
|
36
|
-
*/
|
|
37
|
-
scrollBehavior?: WithDefault<Int32, 0>;
|
|
38
|
-
/**
|
|
39
|
-
* iOS only.
|
|
40
|
-
* Add a SafeArea view beneath the KeyboardAccessoryView
|
|
41
|
-
*/
|
|
42
|
-
addBottomView?: WithDefault<boolean, false>;
|
|
43
|
-
/**
|
|
44
|
-
* iOS only.
|
|
45
|
-
* The bottom view's color
|
|
46
|
-
*/
|
|
47
|
-
bottomViewColor?: string;
|
|
48
|
-
/**
|
|
49
|
-
* Allow control safe area
|
|
50
|
-
*/
|
|
51
|
-
useSafeArea?: WithDefault<boolean, false>;
|
|
52
|
-
/**
|
|
53
|
-
* Whether or not to include bottom tab bar inset
|
|
54
|
-
*/
|
|
55
|
-
usesBottomTabs?: WithDefault<boolean, false>;
|
|
56
|
-
}
|
|
57
|
-
declare const _default: import("react-native/Libraries/Utilities/codegenNativeComponent").NativeComponentType<NativeProps>;
|
|
58
|
-
export default _default;
|