import React from 'react';
import { KeyboardAvoidingView } from 'react-native';
import { isIOS } from '../../constants/device';
import styles from './styles';
import type { KeyboardAvoidingContainerProps } from './types';

const KeyboardAvoidingContainer = ({
    children,
    style,
    behavior,
    keyboardVerticalOffset,
    testID = 'keyboardAvoidingContainer'
}: KeyboardAvoidingContainerProps) => (
    <KeyboardAvoidingView
        style={[styles.container, style]}
        behavior={behavior ?? (isIOS() ? 'padding' : 'height')}
        keyboardVerticalOffset={keyboardVerticalOffset}
        testID={testID}
    >
        {children}
    </KeyboardAvoidingView>
);

export default KeyboardAvoidingContainer;
