@controladad/ng-base
Version:
Everything you need for Angular
63 lines (62 loc) • 3.31 kB
TypeScript
import { AfterViewInit, ElementRef, EventEmitter, InjectionToken, OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { UnaryFunction } from 'rxjs';
import { ActionTypes } from '../../../../core';
import * as i0 from "@angular/core";
export interface ButtonClickEvent {
event: MouseEvent;
setLoading: (state?: boolean) => void;
pipe: <T>() => UnaryFunction<T, T>;
}
export type ButtonAppearanceType = 'stroked' | 'filled' | 'text';
export type ButtonThemeType = 'primary' | 'secondary' | 'tertiary' | 'error' | 'custom';
export type ButtonComponentType = InstanceType<typeof CacButtonComponent>;
export declare const BUTTON_COMPONENT_CONFIG: InjectionToken<Partial<CacButtonComponent>>;
export declare class CacButtonComponent implements OnInit, AfterViewInit, OnChanges {
btnElement?: ElementRef<HTMLButtonElement>;
icon?: string;
iconPosition: 'prefix' | 'suffix';
appearance: ButtonAppearanceType;
tonal: boolean;
elevated: boolean;
theme: ButtonThemeType;
disabled?: boolean | null;
loadingProp?: boolean;
iconSize: string;
padding: string;
fitContent: boolean;
align?: 'start' | 'end' | 'center';
route?: string[];
tab: number;
permission?: string;
action?: ActionTypes | ActionTypes[];
onClick: EventEmitter<ButtonClickEvent>;
filledClass: boolean;
strokedClass: boolean;
textClass: boolean;
isElevated: boolean;
isTonal: boolean;
isClicking: boolean;
primaryClass: boolean;
secondaryClass: boolean;
tertiaryClass: boolean;
errorClass: boolean;
disabledClass: boolean;
cursorNotAllowed: boolean;
loading: import("@angular/core").WritableSignal<boolean>;
insufficientPermission: import("@angular/core").WritableSignal<boolean>;
constructor();
ngOnInit(): void;
ngAfterViewInit(): void;
ngOnChanges(changes: SimpleChanges): void;
onPointerDown(): void;
onPointerCancel(): void;
onPointerLeave(): void;
onPointerUp(): void;
onClickEvent(e: MouseEvent): void;
createClickEvent(mouseEvent: MouseEvent | undefined): ButtonClickEvent;
private setTheme;
private checkPermission;
private setDisabledClass;
static ɵfac: i0.ɵɵFactoryDeclaration<CacButtonComponent, never>;
static ɵcmp: i0.ɵɵComponentDeclaration<CacButtonComponent, "cac-button", never, { "icon": { "alias": "icon"; "required": false; }; "iconPosition": { "alias": "iconPosition"; "required": false; }; "appearance": { "alias": "appearance"; "required": false; }; "tonal": { "alias": "tonal"; "required": false; }; "elevated": { "alias": "elevated"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "loadingProp": { "alias": "loading"; "required": false; }; "iconSize": { "alias": "iconSize"; "required": false; }; "padding": { "alias": "padding"; "required": false; }; "fitContent": { "alias": "fitContent"; "required": false; }; "align": { "alias": "align"; "required": false; }; "route": { "alias": "route"; "required": false; }; "tab": { "alias": "tab"; "required": false; }; "permission": { "alias": "permission"; "required": false; }; "action": { "alias": "action"; "required": false; }; }, { "onClick": "onClick"; }, never, ["*"], true, never>;
}