@nativescript-community/ui-material-bottom-navigation
Version:
Material Design Bottom Navigation bars allow movement between primary destinations in an app. Tapping on a bottom navigation icon takes you directly to the associated view or refreshes the currently active view.
89 lines (74 loc) • 3.42 kB
TypeScript
/**
* Material BottomNavigation component
* @module @nativescript-community/ui-material-bottom-navigation
*/
import { TabContentItem } from '@nativescript-community/ui-material-core-tabs/tab-content-item';
import { TabNavigationBase } from '@nativescript-community/ui-material-core-tabs/tab-navigation-base';
import { TabStrip } from '@nativescript-community/ui-material-core-tabs/tab-strip';
import { CoercibleProperty, EventData, Property } from '@nativescript/core';
import { TabStripItem } from '@nativescript-community/ui-material-core-tabs/tab-strip-item';
export { TabContentItem, TabStrip, TabStripItem };
/**
* Defines the data for the TabView.selectedIndexChanged event.
*/
export interface SelectedIndexChangedEventData extends EventData {
/**
* The old selected index.
*/
oldIndex: number;
/**
* The new selected index.
*/
newIndex: number;
}
/**
* Represents a tab navigation widget with static tabs at the bottom.
*/
export class BottomNavigation extends TabNavigationBase {
/**
* Gets or sets the items of the BottomNavigation.
*/
items: TabContentItem[];
/**
* Gets or sets the tab strip of the BottomNavigation.
*/
tabStrip: TabStrip;
/**
* Gets or sets the selectedIndex of the BottomNavigation.
*/
selectedIndex: number;
/**
* Allow custom positioning of Tabs within another view
*/
public iosCustomPositioning?: boolean;
/**
* Gets the native [android widget](http://developer.android.com/reference/android/support/v4/view/ViewPager.html) that represents the user interface for this component. Valid only when running on Android OS.
*/
android: any /* android.view.View */; //android.support.v4.view.ViewPager;
/**
* Gets the native iOS [UITabBarController](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITabBarController_Class/) that represents the user interface for this component. Valid only when running on iOS.
*/
ios: any /* UITabBarController */;
/**
* String value used when hooking to the selectedIndexChanged event.
*/
public static selectedIndexChangedEvent: string;
/**
* @hidden
* A basic method signature to hook an event listener (shortcut alias to the addEventListener method).
* @param eventNames - String corresponding to events (e.g. "propertyChange"). Optionally could be used more events separated by `,` (e.g. "propertyChange", "change").
* @param callback - Callback function which will be executed when event is raised.
* @param thisArg - An optional parameter which will be used as `this` context for callback execution.
*/
on(eventNames: string, callback: (data: EventData) => void, thisArg?: any);
/**
* Raised when the selected index changes.
*/
on(event: 'selectedIndexChanged', callback: (args: SelectedIndexChangedEventData) => void, thisArg?: any);
// parameter to allow the bottom-navigation to be positioned correcly within layouts and thus not be full size
// be careful it will then be influenced by safeArea. Default is false
iosCustomPositioning: boolean;
}
export const itemsProperty: Property<BottomNavigation, TabContentItem[]>;
export const tabStripProperty: Property<BottomNavigation, TabStrip>;
export const selectedIndexProperty: CoercibleProperty<BottomNavigation, number>;