Skip to content

Commit 2681da9

Browse files
committed
feat: add minHeight props
1 parent 4de27e3 commit 2681da9

File tree

3 files changed

+23
-6
lines changed

3 files changed

+23
-6
lines changed

dist/KeyboardArea.d.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,14 @@ interface IProps {
1515
/**
1616
* Until the keyboard shows once, we don't know it real height,
1717
* so we need a initial default height
18-
* (Default: 270)
18+
* (Default: 250)
1919
*/
2020
initialHeight?: number;
21+
/**
22+
* Minimum height for manually open view
23+
* (Default: 250)
24+
*/
25+
minHeight?: number;
2126
/**
2227
* Event fired when keyboard height changes
2328
*/

dist/KeyboardArea.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import React, { forwardRef, useEffect, useImperativeHandle, useRef, useState, } from 'react';
22
import { View } from 'react-native';
33
import { RNKeyboard } from './module';
4-
export const KeyboardArea = forwardRef(({ style, children, isOpen: externalOpen, initialHeight = 270, onChange }, ref) => {
4+
export const KeyboardArea = forwardRef(({ style, children, isOpen: externalOpen, initialHeight = 250, minHeight = 250, onChange, }, ref) => {
55
const isOpen = useRef(false);
66
const forceOpen = useRef(false);
77
const keyboardHeight = useRef(initialHeight);
@@ -28,7 +28,7 @@ export const KeyboardArea = forwardRef(({ style, children, isOpen: externalOpen,
2828
useEffect(() => {
2929
const keyboardHeightChanged = (height) => {
3030
if (height > 0 && height !== keyboardHeight.current) {
31-
keyboardHeight.current = height;
31+
keyboardHeight.current = height > minHeight ? height : minHeight;
3232
}
3333
const needToOpen = forceOpen.current || height > 0;
3434
if (needToOpen) {

src/KeyboardArea.tsx

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,9 +39,14 @@ interface IProps {
3939
/**
4040
* Until the keyboard shows once, we don't know it real height,
4141
* so we need a initial default height
42-
* (Default: 270)
42+
* (Default: 250)
4343
*/
4444
initialHeight?: number;
45+
/**
46+
* Minimum height for manually open view
47+
* (Default: 250)
48+
*/
49+
minHeight?: number;
4550
/**
4651
* Event fired when keyboard height changes
4752
*/
@@ -56,7 +61,14 @@ export type KeyboardAreaRef = {
5661

5762
export const KeyboardArea = forwardRef<KeyboardAreaRef, IProps>(
5863
(
59-
{ style, children, isOpen: externalOpen, initialHeight = 270, onChange },
64+
{
65+
style,
66+
children,
67+
isOpen: externalOpen,
68+
initialHeight = 250,
69+
minHeight = 250,
70+
onChange,
71+
},
6072
ref,
6173
) => {
6274
const isOpen = useRef(false);
@@ -89,7 +101,7 @@ export const KeyboardArea = forwardRef<KeyboardAreaRef, IProps>(
89101
useEffect(() => {
90102
const keyboardHeightChanged = (height: number) => {
91103
if (height > 0 && height !== keyboardHeight.current) {
92-
keyboardHeight.current = height;
104+
keyboardHeight.current = height > minHeight ? height : minHeight;
93105
}
94106
const needToOpen = forceOpen.current || height > 0;
95107
if (needToOpen) {

0 commit comments

Comments
 (0)