@nebular/theme
Version:
@nebular/theme
54 lines (53 loc) • 1.98 kB
TypeScript
/**
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
import { ChangeDetectorRef, ElementRef, EventEmitter, NgZone, Renderer2 } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { NbStatusService } from '../../services/status.service';
import { NbBooleanInput } from '../helpers';
import { NbButton, NbButtonAppearance } from '../button/base-button';
export declare type NbButtonToggleAppearance = Exclude<NbButtonAppearance, 'hero'>;
export interface NbButtonToggleChange {
source: NbButtonToggleDirective;
pressed: boolean;
}
/**
* `[nbButtonToggle]` is a directive to add a `pressed` state to a button.
*/
export declare class NbButtonToggleDirective extends NbButton {
protected renderer: Renderer2;
protected hostElement: ElementRef<HTMLElement>;
protected cd: ChangeDetectorRef;
protected zone: NgZone;
protected statusService: NbStatusService;
protected readonly _pressedChange$: Subject<NbButtonToggleChange>;
get pressedChange$(): Observable<NbButtonToggleChange>;
appearance: NbButtonToggleAppearance;
/**
* Controls button pressed state
**/
get pressed(): boolean;
set pressed(value: boolean);
protected _pressed: boolean;
static ngAcceptInputType_pressed: NbBooleanInput;
/**
* Emits whenever button pressed state change
**/
readonly pressedChange: EventEmitter<boolean>;
get basic(): boolean;
get primary(): boolean;
get success(): boolean;
get info(): boolean;
get warning(): boolean;
get danger(): boolean;
get control(): boolean;
get additionalClasses(): string[];
onClick(): void;
constructor(renderer: Renderer2, hostElement: ElementRef<HTMLElement>, cd: ChangeDetectorRef, zone: NgZone, statusService: NbStatusService);
/**
* @docs-private
*/
_updatePressed(value: boolean): void;
}