import { Component, ChangeDetectionStrategy, ElementRef, Renderer, ViewEncapsulation } from '@angular/core'; import { Config } from '../../config/config'; import { Ion } from '../ion'; /** * @name FabButton * @module ionic * * @description * FABs (Floating Action Buttons) are standard material design components. They are shaped as a circle that represents a promoted action. When pressed, it may contain more related actions. * FABs as its name suggests are floating over the content in a fixed position. This is not achieved exclusively with `` but it has to wrapped with the `` component, like this: * * ```html * * * * * * * * * * * ``` * * In case the button is not wrapped with ``, the fab button will behave like a normal button, scrolling with the content. * * See [ion-fab] to learn more information about how to position the fab button. * * @property [mini] - Makes a fab button with a reduced size. * * @usage * * ```html * * * * * * * * * * * ``` * * @demo /docs/demos/src/fab/ * @see {@link /docs/components#fabs FAB Component Docs} */ @Component({ selector: '[ion-fab]', template: '' + '' + '' + '' + '
', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, }) export class FabButton extends Ion { constructor( config: Config, elementRef: ElementRef, renderer: Renderer, ) { super(config, elementRef, renderer, 'fab'); } /** * @hidden */ setActiveClose(closeVisible: boolean) { this.setElementClass('fab-close-active', closeVisible); } }