UNPKG

ionic-angular

Version:

A powerful framework for building mobile and progressive web apps with JavaScript and Angular 2

175 lines (174 loc) 5.55 kB
import { ElementRef, Renderer } from '@angular/core'; import { Config } from '../../config/config'; import { Ion } from '../ion'; import { ToolbarTitle } from './toolbar-title'; import { ViewController } from '../../navigation/view-controller'; /** * @name Header * @description * Header is a parent component that holds the navbar and toolbar component. * It's important to note that `ion-header` needs to be the one of the three root elements of a page * * @usage * * ```html * <ion-header> * <ion-navbar> * <ion-title>Page1</ion-title> * </ion-navbar> * * <ion-toolbar> * <ion-title>Subheader</ion-title> * </ion-toolbar> * </ion-header> * * <ion-content></ion-content> * ``` * */ export declare class Header extends Ion { constructor(config: Config, elementRef: ElementRef, renderer: Renderer, viewCtrl: ViewController); } /** * @name Footer * @description * Footer is a root component of a page that sits at the bottom of the page. * Footer can be a wrapper for `ion-toolbar` to make sure the content area is sized correctly. * * @usage * * ```html * <ion-content></ion-content> * * <ion-footer> * <ion-toolbar> * <ion-title>Footer</ion-title> * </ion-toolbar> * </ion-footer> * ``` * */ export declare class Footer extends Ion { constructor(config: Config, elementRef: ElementRef, renderer: Renderer, viewCtrl: ViewController); } /** * @private */ export declare class ToolbarBase extends Ion { private _title; constructor(config: Config, elementRef: ElementRef, renderer: Renderer); /** * @private */ _setTitle(titleCmp: ToolbarTitle): void; /** * @private * Returns the toolbar title text if it exists or an empty string */ getTitleText(): any; } /** * @name Toolbar * @description * A Toolbar is a generic bar that is positioned above or below content. * Unlike a [Navbar](../../navbar/Navbar), a toolbar can be used as a subheader. * When toolbars are placed within an `<ion-header>` or `<ion-footer>`, * the toolbars stay fixed in their respective location. When placed within * `<ion-content>`, toolbars will scroll with the content. * * * ### Buttons in a Toolbar * Buttons placed in a toolbar should be placed inside of the `<ion-buttons>` * element. An exception to this is a [menuToggle](../../menu/MenuToggle) button. * It should not be placed inside of the `<ion-buttons>` element. Both the * `<ion-buttons>` element and the `menuToggle` can be positioned inside of the * toolbar using different properties. The below chart has a description of each * property. * * | Property | Description | * |-------------|-----------------------------------------------------------------------------------------------------------------------| * | `start` | Positions element to the left of the content in `ios` mode, and directly to the right in `md` and `wp` mode. | * | `end` | Positions element to the right of the content in `ios` mode, and to the far right in `md` and `wp` mode. | * | `left` | Positions element to the left of all other elements. | * | `right` | Positions element to the right of all other elements. | * * * ### Header / Footer Box Shadow and Border * In `md` mode, the `<ion-header>` will receive a box-shadow on the bottom, and the * `<ion-footer>` will receive a box-shadow on the top. In `ios` mode, the `<ion-header>` * will receive a border on the bottom, and the `<ion-footer>` will receive a border on the * top. Both the `md` box-shadow and the `ios` border can be removed by adding the `no-border` * attribute to the element. * * ```html * <ion-header no-border> * <ion-toolbar> * <ion-title>Header</ion-title> * </ion-toolbar> * </ion-header> * * <ion-content> * </ion-content> * * <ion-footer no-border> * <ion-toolbar> * <ion-title>Footer</ion-title> * </ion-toolbar> * </ion-footer> * ``` * * @usage * * ```html * * <ion-header no-border> * * <ion-toolbar> * <ion-title>My Toolbar Title</ion-title> * </ion-toolbar> * * <ion-toolbar> * <ion-title>I'm a subheader</ion-title> * </ion-toolbar> * * <ion-header> * * * <ion-content> * * <ion-toolbar> * <ion-title>Scrolls with the content</ion-title> * </ion-toolbar> * * </ion-content> * * * <ion-footer no-border> * * <ion-toolbar> * <ion-title>I'm a footer</ion-title> * </ion-toolbar> * * </ion-footer> * ``` * * @demo /docs/v2/demos/src/toolbar/ * @see {@link ../../navbar/Navbar/ Navbar API Docs} */ export declare class Toolbar extends ToolbarBase { /** @private */ _sbPadding: boolean; /** * @input {string} The color to use from your Sass `$colors` map. * Default options are: `"primary"`, `"secondary"`, `"danger"`, `"light"`, and `"dark"`. * For more information, see [Theming your App](/docs/v2/theming/theming-your-app). */ color: string; /** * @input {string} The mode determines which platform styles to use. * Possible values are: `"ios"`, `"md"`, or `"wp"`. * For more information, see [Platform Styles](/docs/v2/theming/platform-specific-styles). */ mode: string; constructor(viewCtrl: ViewController, config: Config, elementRef: ElementRef, renderer: Renderer); }