UNPKG

@nativescript-community/ui-drawer

Version:

Easily add a side drawer (side menu) to your projects.

186 lines (185 loc) 7.5 kB
import { GestureState, GestureStateEventData, GestureTouchEventData, PanGestureHandler } from '@nativescript-community/gesturehandler'; import { AnimationDefinition, Color, EventData, GridLayout, Property, View } from '@nativescript/core'; export declare const PAN_GESTURE_TAG = 12431; export type Side = 'left' | 'right'; export type VerticalSide = 'bottom' | 'top'; export type Mode = 'under' | 'slide'; export interface DrawerEventData extends EventData { side: Side; duration?: number; } export declare const leftDrawerContentProperty: Property<Drawer, View>; export declare const rightDrawerContentProperty: Property<Drawer, View>; export declare const topDrawerContentProperty: Property<Drawer, View>; export declare const bottomDrawerContentProperty: Property<Drawer, View>; export declare const gestureEnabledProperty: Property<Drawer, boolean>; export declare const backdropColorProperty: Property<Drawer, Color>; export declare const backdropPropertiesProperty: Property<Drawer, Object>; export declare const leftDrawerModeProperty: Property<Drawer, Mode>; export declare const rightDrawerModeProperty: Property<Drawer, Mode>; export declare const topDrawerModeProperty: Property<Drawer, Mode>; export declare const bottomDrawerModeProperty: Property<Drawer, Mode>; export declare const translationFunctionProperty: Property<Drawer, TranslationFunctionType>; export declare const animationFunctionProperty: Property<Drawer, AnimationFunctionType>; export declare const backDropEnabledProperty: Property<Drawer, boolean>; export declare const startingSideProperty: Property<Drawer, Side | VerticalSide | "none">; export declare const gestureHandlerOptionsProperty: Property<import("@nativescript/core").ViewBase, unknown>; export interface TrData { [k: string]: AnimationDefinition; leftDrawer?: AnimationDefinition; rightDrawer?: AnimationDefinition; bottomDrawer?: AnimationDefinition; topDrawer?: AnimationDefinition; backDrop?: AnimationDefinition; mainContent?: AnimationDefinition; } export type TranslationFunctionType = (side: Side | VerticalSide, width: number, value: number, delta: number, progress: number, drawer: Drawer) => TrData; export type AnimationFunctionType = (side: Side | VerticalSide, duration: number, trData: TrData, animationParams: AnimationDefinition[], drawer: Drawer) => Promise<void>; export declare class Drawer extends GridLayout { leftDrawer?: View; rightDrawer?: View; bottomDrawer?: View; topDrawer?: View; mainContent: View; backDrop: View; leftDrawerMode: any; rightDrawerMode: any; bottomDrawerMode: any; topDrawerMode: any; gestureTag: number; gestureMinDist: number; gestureHandlerOptions: any; waitFor: any[]; simultaneousHandlers: any[]; shouldStartSheetDragging?: (side: Side | VerticalSide) => boolean; shouldPan?: (side: Side | VerticalSide) => boolean; leftSwipeDistance: number; rightSwipeDistance: number; bottomSwipeDistance: number; topSwipeDistance: number; backdropColor: Color; backdropProperties: {}; leftOpenedDrawerAllowDraging: boolean; rightOpenedDrawerAllowDraging: boolean; bottomOpenedDrawerAllowDraging: boolean; topOpenedDrawerAllowDraging: boolean; leftClosedDrawerAllowDraging: boolean; rightClosedDrawerAllowDraging: boolean; bottomClosedDrawerAllowDraging: boolean; topClosedDrawerAllowDraging: boolean; panGestureHandler: PanGestureHandler; gestureEnabled: boolean; backdropTapGestureEnabled: boolean; startingSide: Side | VerticalSide; openAnimationDuration: number; closeAnimationDuration: number; private mIsPanning; private mIsAnimating; private mPrevDeltaX; private mPrevDeltaY; private mViewWidth; private mViewHeight; private mTranslationX; private mTranslationY; private mShowingSide; private mModes; translationFunction?: TranslationFunctionType; animationFunction?: AnimationFunctionType; backDropEnabled: boolean; constructor(); _onBackDropEnabledValueChanged(): void; getActualSide(side: Side | VerticalSide): Side | VerticalSide; updateStartingSide(side: any): void; onBackdropTap(): void; initGestures(): void; initNativeView(): void; disposeNativeView(): void; shouldStartSheetDraggingInternal(side: Side | VerticalSide): any; shouldStartGesture(data: any): any; getDrawerToOpen(extraData: any): "left" | "right" | "bottom" | "top"; onGestureState(args: GestureStateEventData): void; isSideVisible(side: Side | VerticalSide): number; onGestureTouch(args: GestureTouchEventData): void; _onMainContentChanged(oldValue: View, newValue: View): void; leftLayoutChanged(event: EventData): void; rightLayoutChanged(event: EventData): void; topLayoutChanged(event: EventData): void; bottomLayoutChanged(event: EventData): void; addChild(child: any): void; _onDrawerContentChanged(side: Side | VerticalSide, oldValue: View, newValue: View): void; onSideModeChanged(side: Side | VerticalSide, mode: Mode, oldMode?: Mode): void; computeTranslationData(side: any, value: any): TrData | { [x: string]: { translateX: number; opacity?: undefined; } | { translateX: number; opacity: number; }; mainContent: { translateX: number; translateY?: undefined; }; backDrop: { translateX: number; opacity: number; translateY?: undefined; }; } | { [x: string]: { translateX?: undefined; opacity?: undefined; } | { translateX: any; opacity?: undefined; } | { opacity: number; translateX?: undefined; }; mainContent: { translateX?: undefined; translateY?: undefined; }; backDrop: { opacity: number; translateX?: undefined; translateY?: undefined; }; } | { [x: string]: { translateY: any; opacity?: undefined; } | { translateY: number; opacity: number; }; mainContent: { translateY: number; translateX?: undefined; }; backDrop: { translateY: number; opacity: number; translateX?: undefined; }; }; onLayoutChange(side: Side | VerticalSide, event: EventData): void; forceEnsureSize(side: Side | VerticalSide): void; onTapGestureState(args: GestureStateEventData): void; updateIsPanning(state: GestureState): void; mViewByIdCache: {}; applyTrData(trData: { [k: string]: any; }, side: Side | VerticalSide): void; constrainX(side: any, x: any): any; constrainY(side: any, y: any): any; animateToPosition(side: Side | VerticalSide, position: any, duration?: number): Promise<void>; isSideOpened(): boolean; isOpened(side?: Side | VerticalSide): boolean; getDefaultSide(): "left" | "right" | "bottom" | "top"; toggle(side?: Side | VerticalSide): Promise<void>; open(side?: Side | VerticalSide, duration?: number): Promise<void>; close(side?: Side | VerticalSide, duration?: number): Promise<void>; } export declare const mainContentProperty: Property<Drawer, View>; export declare function install(): void;