@alyle/ui
Version:
Minimal Design, a set of components for Angular
94 lines (93 loc) • 5.77 kB
TypeScript
import { ElementRef, Renderer2, NgZone, OnDestroy, OnInit, AfterViewInit, OnChanges, InjectionToken } from '@angular/core';
import { LyTheme2, ThemeVariables, LyRippleService, StyleTemplate, LyClasses, StyleCollection, StyleRenderer, SelectorsFn } from '@alyle/ui';
import { Platform } from '@angular/cdk/platform';
import { FocusMonitor, FocusOrigin } from '@angular/cdk/a11y';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
export interface LyButtonTheme {
/** Styles for Button Component */
root?: StyleCollection<((classes: LyClasses<typeof STYLES>) => StyleTemplate)> | ((classes: LyClasses<typeof STYLES>) => StyleTemplate);
appearance?: {
icon?: (classes: LyClasses<typeof STYLES>) => StyleTemplate;
fab?: (classes: LyClasses<typeof STYLES>) => StyleTemplate;
miniFab?: (classes: LyClasses<typeof STYLES>) => StyleTemplate;
[name: string]: ((classes: LyClasses<typeof STYLES>) => StyleTemplate) | undefined;
};
size?: {
small?: (classes: LyClasses<typeof STYLES>) => StyleTemplate;
medium?: (classes: LyClasses<typeof STYLES>) => StyleTemplate;
large?: (classes: LyClasses<typeof STYLES>) => StyleTemplate;
[name: string]: ((classes: LyClasses<typeof STYLES>) => StyleTemplate) | undefined;
};
}
export interface LyButtonDefaultOptions {
size?: string;
appearance?: string;
}
export interface LyButtonVariables {
button?: LyButtonTheme;
}
export declare const LY_BUTTON_DEFAULT_OPTIONS: InjectionToken<LyButtonDefaultOptions>;
export declare const STYLES: (theme: ThemeVariables & LyButtonVariables, selectors: SelectorsFn) => {
$priority: number;
$name: string;
root: () => StyleTemplate[];
content: ((_className: string) => string)[];
animations: (_className: string) => string;
};
/** @docs-private */
export declare class LyButtonBase {
_theme: LyTheme2;
_ngZone: NgZone;
_platform: Platform;
constructor(_theme: LyTheme2, _ngZone: NgZone, _platform: Platform);
}
/** @docs-private */
export declare const LyButtonMixinBase: import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/build-common-behaviors").CanStyleUpdater> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/bg").CanBg> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/color").CanColor> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/raised").CanRaised> & import("@alyle/ui").CanDisableCtor & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/outlined").CanOutlined> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/elevation").CanElevation> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/shadow-color").CanShadowColor> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/disable-ripple").CanDisableRipple> & typeof LyButtonBase;
export declare class LyButton extends LyButtonMixinBase implements OnChanges, OnInit, AfterViewInit, OnDestroy {
protected _el: ElementRef<HTMLButtonElement | HTMLAnchorElement>;
protected _renderer: Renderer2;
_rippleService: LyRippleService;
private _focusMonitor;
readonly sRenderer: StyleRenderer;
private _defaultConfig;
static readonly и = "LyButton";
/**
* Style
* @docs-private
*/
readonly classes: LyClasses<(theme: ThemeVariables & LyButtonVariables, selectors: SelectorsFn) => {
$priority: number;
$name: string;
root: () => StyleTemplate[];
content: ((_className: string) => string)[];
animations: (_className: string) => string;
}>;
private _rippleSensitive;
private _size;
private _sizeClass;
private _appearance;
private _appearanceClass;
_rippleContainer: ElementRef;
/** @docs-private */
get rippleSensitive(): boolean;
set rippleSensitive(value: BooleanInput);
/** Button size */
get size(): string;
set size(val: string);
/** Button appearance */
get appearance(): string;
set appearance(val: string);
/** @docs-private */
get hostElement(): HTMLButtonElement | HTMLAnchorElement;
constructor(_el: ElementRef<HTMLButtonElement | HTMLAnchorElement>, _renderer: Renderer2, _theme: LyTheme2, _ngZone: NgZone, _rippleService: LyRippleService, _focusMonitor: FocusMonitor, sRenderer: StyleRenderer, platform: Platform, _defaultConfig: LyButtonDefaultOptions);
ngOnChanges(): void;
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
/** Focuses the button. */
focus(origin?: FocusOrigin, options?: FocusOptions): void;
_getHostElement(): HTMLButtonElement | HTMLAnchorElement;
static ɵfac: i0.ɵɵFactoryDeclaration<LyButton, [null, null, null, null, null, null, null, null, { optional: true; }]>;
static ɵcmp: i0.ɵɵComponentDeclaration<LyButton, "button[ly-button], a[ly-button]", ["lyButton"], { "bg": { "alias": "bg"; "required": false; }; "color": { "alias": "color"; "required": false; }; "raised": { "alias": "raised"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "outlined": { "alias": "outlined"; "required": false; }; "elevation": { "alias": "elevation"; "required": false; }; "shadowColor": { "alias": "shadowColor"; "required": false; }; "disableRipple": { "alias": "disableRipple"; "required": false; }; "rippleSensitive": { "alias": "sensitive"; "required": false; }; "size": { "alias": "size"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; }, {}, never, ["*"], false, never>;
}