From 6de70ef31ced064992b904f200072cfb7b6e75fe Mon Sep 17 00:00:00 2001 From: Paito Anderson Date: Thu, 24 Jan 2019 10:08:56 -0500 Subject: [PATCH] [@types/react-native-popup-dialog] Update for major new version --- types/react-native-popup-dialog/index.d.ts | 45 +++++++++++++------ .../react-native-popup-dialog-tests.tsx | 35 ++++++++------- 2 files changed, 51 insertions(+), 29 deletions(-) diff --git a/types/react-native-popup-dialog/index.d.ts b/types/react-native-popup-dialog/index.d.ts index dcf6e5cb1c..9bb56e6182 100644 --- a/types/react-native-popup-dialog/index.d.ts +++ b/types/react-native-popup-dialog/index.d.ts @@ -7,41 +7,52 @@ // TypeScript Version: 2.8 import * as React from 'react'; -import { GestureResponderEvent, StyleProp, ViewStyle, TextStyle } from 'react-native'; +import { GestureResponderEvent, StyleProp, ViewStyle, TextStyle, View } from 'react-native'; export type AlignTypes = 'left' | 'right' | 'center'; export type OverlayPointerEventTypes = 'auto' | 'none'; export type SlideFromTypes = 'top' | 'bottom' | 'left' | 'right'; +export interface DialogContentProps { + style?: StyleProp; +} + +export interface DialogActionListProps { + bordered?: boolean; + style?: StyleProp; +} + export interface DialogButtonProps { text: string; align?: AlignTypes; onPress?: (event: GestureResponderEvent) => void; - buttonStyle?: StyleProp; textStyle?: StyleProp; - textContainerStyle?: StyleProp; + style?: StyleProp; disabled?: boolean; activeOpacity?: number; + bordered?: boolean; } export interface DialogTitleProps { title: string; - titleStyle?: StyleProp; - titleTextStyle?: StyleProp; - titleAlign?: AlignTypes; - haveTitleBar?: boolean; + style?: StyleProp; + textStyle?: StyleProp; + align?: AlignTypes; + hasTitleBar?: boolean; } export interface OverlayProps { + visible?: boolean; onPress: (event: GestureResponderEvent) => void; backgroundColor?: string; opacity?: number; animationDuration?: number; showOverlay?: boolean; pointerEvents?: string; + useNativeDriver?: boolean; } -export interface PopupDialogProps { +export interface DialogProps { dialogTitle?: any; width?: number; height?: number; @@ -49,16 +60,20 @@ export interface PopupDialogProps { dialogStyle?: StyleProp; containerStyle?: StyleProp; animationDuration?: number; + hasOverlay?: boolean; overlayPointerEvents?: OverlayPointerEventTypes; overlayBackgroundColor?: string; overlayOpacity?: number; - dismissOnTouchOutside?: boolean; - dismissOnHardwareBackPress?: boolean; - haveOverlay?: boolean; visible?: boolean; - onShown?: () => void; - onDismissed?: () => void; + rounded?: boolean; + onShow?: () => void; + onDismiss?: () => void; + onTouchOutside?: () => void; + onHardwareBackPress?: () => boolean; actions?: any[]; + actionContainerStyle?: StyleProp; + actionsBordered?: boolean; + useNativeDriver?: boolean; } export class FadeAnimation { @@ -81,10 +96,12 @@ export class SlideAnimation { createAnimations(): object; } +export class DialogContent extends React.Component { } +export class DialogActionList extends React.Component { } export class DialogButton extends React.Component { } export class DialogTitle extends React.Component { } export class Overlay extends React.Component { } -export default class PopupDialog extends React.Component { +export default class Dialog extends React.Component { show(onShown?: () => void): void; dismiss(onDismissed?: () => void): void; } diff --git a/types/react-native-popup-dialog/react-native-popup-dialog-tests.tsx b/types/react-native-popup-dialog/react-native-popup-dialog-tests.tsx index 95bfa66f4e..55f979f506 100644 --- a/types/react-native-popup-dialog/react-native-popup-dialog-tests.tsx +++ b/types/react-native-popup-dialog/react-native-popup-dialog-tests.tsx @@ -1,7 +1,8 @@ import * as React from 'react'; import { StyleSheet, View, Button } from 'react-native'; -import PopupDialog, { +import Dialog, { DialogTitle, + DialogContent, DialogButton, SlideAnimation, ScaleAnimation, @@ -13,17 +14,17 @@ const scaleAnimation = new ScaleAnimation(); const fadeAnimation = new FadeAnimation({ animationDuration: 150 }); class Test extends React.Component { - fadingPopupDialog: PopupDialog | null; - scalingPopupDialog: PopupDialog | null; - slidingPopupDialog: PopupDialog | null; + fadingPopupDialog: Dialog | null; + scalingPopupDialog: Dialog | null; + slidingPopupDialog: Dialog | null; - showPopupDialog(popupDialog: PopupDialog | null) { + showPopupDialog(popupDialog: Dialog | null) { if (popupDialog !== null) { popupDialog.show(() => console.log('show callback')); } } - dismissPopupDialog(popupDialog: PopupDialog | null) { + dismissPopupDialog(popupDialog: Dialog | null) { if (popupDialog !== null) { popupDialog.dismiss(() => console.log('dismiss callback')); } @@ -42,11 +43,11 @@ class Test extends React.Component { onPress={() => this.showPopupDialog(this.slidingPopupDialog)} title="Show Sliding Dialog" /> - this.fadingPopupDialog = popupDialog} + this.fadingPopupDialog = popupDialog} dialogTitle={} dialogAnimation={fadeAnimation} /> - this.scalingPopupDialog = popupDialog} + this.scalingPopupDialog = popupDialog} dialogTitle={} dialogAnimation={scaleAnimation} actions={[ @@ -58,7 +59,7 @@ class Test extends React.Component { />, ]} /> - this.slidingPopupDialog = popupDialog} + this.slidingPopupDialog = popupDialog} dialogTitle={} width={300} height={300} @@ -69,13 +70,17 @@ class Test extends React.Component { overlayPointerEvents='auto' overlayBackgroundColor='white' overlayOpacity={0.5} - dismissOnTouchOutside={false} - dismissOnHardwareBackPress={false} - haveOverlay={true} + hasOverlay={true} visible={true} - onShown={() => { console.log('onShown'); }} - onDismissed={() => { console.log('onDismissed'); }} - /> + onShow={() => { console.log('onShow'); }} + onDismiss={() => { console.log('onDismiss'); }} + onTouchOutside={() => { console.log('onTouchOutside'); }} + onHardwareBackPress={() => true } + > + + + + > ); } }