import { ChangeDetectionStrategy, Component, ElementRef, Renderer } from '@angular/core'; import { Config } from '../../config/config'; import { ToolbarBase } from './toolbar-base'; /** * @name Toolbar * @description * A Toolbar is a generic bar that is positioned above or below content. * Unlike a [Navbar](../Navbar/), a toolbar can be used as a subheader. * When toolbars are placed within an `` or ``, * the toolbars stay fixed in their respective location. When placed within * ``, toolbars will scroll with the content. * * * ### Buttons in a Toolbar * Buttons placed in a toolbar should be placed inside of the `` * element. An exception to this is a [menuToggle](../../menu/MenuToggle) button. * It should not be placed inside of the `` element. Both the * `` 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 `` will receive a box-shadow on the bottom, and the * `` will receive a box-shadow on the top. In `ios` mode, the `` * will receive a border on the bottom, and the `` 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 * * * Header * * * * * * * * * Footer * * * ``` * * @usage * * ```html * * * * * My Toolbar Title * * * * I'm a subheader * * * * * * * * * Scrolls with the content * * * * * * * * * I'm a footer * * * * ``` * * @demo /docs/demos/src/toolbar/ * @see {@link ../Navbar/ Navbar API Docs} */ export class Toolbar extends ToolbarBase { constructor(config, elementRef, renderer) { super(config, elementRef, renderer); this._sbPadding = config.getBoolean('statusbarPadding'); } } Toolbar.decorators = [ { type: Component, args: [{ selector: 'ion-toolbar', template: '
' + '' + '' + '' + '
' + '' + '
', host: { 'class': 'toolbar', '[class.statusbar-padding]': '_sbPadding' }, changeDetection: ChangeDetectionStrategy.OnPush, },] }, ]; /** @nocollapse */ Toolbar.ctorParameters = () => [ { type: Config, }, { type: ElementRef, }, { type: Renderer, }, ]; //# sourceMappingURL=toolbar.js.map