@sendbird/uikit-utils
Version:
A collection of utility functions and constants for building chat UI components with Sendbird UIKit.
23 lines (22 loc) • 1.12 kB
TypeScript
import { AppStateEvent, AppStateStatus } from 'react-native';
import { EdgeInsets } from 'react-native-safe-area-context';
type EdgePaddingMap = {
left: 'paddingStart' | 'paddingEnd';
right: 'paddingStart' | 'paddingEnd';
top: 'paddingTop';
bottom: 'paddingBottom';
};
export declare const useSafeAreaPadding: <T extends keyof EdgeInsets, Result extends { [key in EdgePaddingMap[T]]: EdgeInsets[T]; }>(edges: T[], direction?: "ltr" | "rtl") => Result;
type AppStateListener = (status: AppStateStatus) => void;
export declare const useAppState: (type: AppStateEvent, listener: AppStateListener) => void;
/**
* To display a new modal in React-Native, you should ensure that a new modal is opened only after the existing modal has been dismissed to avoid conflicts.
* To achieve this, you can use a deferred onClose that can be awaited until the onDismiss is called.
* */
export declare const useDeferredModalState: () => {
onClose: () => Promise<void>;
onDismiss: () => void;
visible: boolean;
setVisible: import("react").Dispatch<import("react").SetStateAction<boolean>>;
};
export {};