UNPKG

@taiga-ui/kit

Version:

Taiga UI Angular main components kit

70 lines 7.21 kB
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core'; import { tuiIsString } from '@taiga-ui/cdk/utils/miscellaneous'; import { TUI_BUTTON_OPTIONS } from '@taiga-ui/core/components/button'; import { TuiLoader } from '@taiga-ui/core/components/loader'; import { tuiSizeBigger } from '@taiga-ui/core/utils/miscellaneous'; import * as i0 from "@angular/core"; class TuiButtonLoading { constructor() { this.options = inject(TUI_BUTTON_OPTIONS); this.size = this.options.size; this.loading = false; } get loaderSize() { return tuiSizeBigger(this.size) ? 'm' : 's'; } get label() { return tuiIsString(this.loading) ? this.loading : ''; } onClick(event) { if (this.loading) { event.preventDefault(); event.stopPropagation(); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonLoading, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonLoading, isStandalone: true, selector: "[tuiButton][loading],[tuiIconButton][loading]", inputs: { size: "size", loading: "loading" }, host: { listeners: { "click.capture": "onClick($event)" }, properties: { "attr.aria-disabled": "loading", "class._loading": "loading" } }, ngImport: i0, template: ` <ng-content /> <tui-loader aria-live="polite" role="status" class="t-loader" [inheritColor]="true" [showLoader]="!!loading" [size]="loaderSize" [textContent]="label" /> `, isInline: true, dependencies: [{ kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } export { TuiButtonLoading }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonLoading, decorators: [{ type: Component, args: [{ standalone: true, selector: '[tuiButton][loading],[tuiIconButton][loading]', imports: [TuiLoader], template: ` <ng-content /> <tui-loader aria-live="polite" role="status" class="t-loader" [inheritColor]="true" [showLoader]="!!loading" [size]="loaderSize" [textContent]="label" /> `, changeDetection: ChangeDetectionStrategy.OnPush, host: { '[attr.aria-disabled]': 'loading', '[class._loading]': 'loading', '(click.capture)': 'onClick($event)', }, }] }], propDecorators: { size: [{ type: Input }], loading: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWxvYWRpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvYnV0dG9uLWxvYWRpbmcvYnV0dG9uLWxvYWRpbmcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDOUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRTNELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQzs7QUFFakUsTUF1QmEsZ0JBQWdCO0lBdkI3QjtRQXdCcUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRy9DLFNBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztRQUd6QixZQUFPLEdBQTRCLEtBQUssQ0FBQztLQWdCbkQ7SUFkRyxJQUFjLFVBQVU7UUFDcEIsT0FBTyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNoRCxDQUFDO0lBRUQsSUFBYyxLQUFLO1FBQ2YsT0FBTyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDekQsQ0FBQztJQUVTLE9BQU8sQ0FBQyxLQUFpQjtRQUMvQixJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDZCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1NBQzNCO0lBQ0wsQ0FBQzsrR0F0QlEsZ0JBQWdCO21HQUFoQixnQkFBZ0Isa1NBbkJmOzs7Ozs7Ozs7OztLQVdULDREQVpTLFNBQVM7O1NBb0JWLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQXZCNUIsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLCtDQUErQztvQkFDekQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDO29CQUNwQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0tBV1Q7b0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDRixzQkFBc0IsRUFBRSxTQUFTO3dCQUNqQyxrQkFBa0IsRUFBRSxTQUFTO3dCQUM3QixpQkFBaUIsRUFBRSxpQkFBaUI7cUJBQ3ZDO2lCQUNKOzhCQUtVLElBQUk7c0JBRFYsS0FBSztnQkFJQyxPQUFPO3NCQURiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0dWlJc1N0cmluZ30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7VFVJX0JVVFRPTl9PUFRJT05TfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2J1dHRvbic7XG5pbXBvcnQge1R1aUxvYWRlcn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9sb2FkZXInO1xuaW1wb3J0IHt0eXBlIFR1aVNpemVTfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge3R1aVNpemVCaWdnZXJ9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUJ1dHRvbl1bbG9hZGluZ10sW3R1aUljb25CdXR0b25dW2xvYWRpbmddJyxcbiAgICBpbXBvcnRzOiBbVHVpTG9hZGVyXSxcbiAgICB0ZW1wbGF0ZTogYFxuICAgICAgICA8bmctY29udGVudCAvPlxuICAgICAgICA8dHVpLWxvYWRlclxuICAgICAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgICAgIHJvbGU9XCJzdGF0dXNcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWxvYWRlclwiXG4gICAgICAgICAgICBbaW5oZXJpdENvbG9yXT1cInRydWVcIlxuICAgICAgICAgICAgW3Nob3dMb2FkZXJdPVwiISFsb2FkaW5nXCJcbiAgICAgICAgICAgIFtzaXplXT1cImxvYWRlclNpemVcIlxuICAgICAgICAgICAgW3RleHRDb250ZW50XT1cImxhYmVsXCJcbiAgICAgICAgLz5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmFyaWEtZGlzYWJsZWRdJzogJ2xvYWRpbmcnLFxuICAgICAgICAnW2NsYXNzLl9sb2FkaW5nXSc6ICdsb2FkaW5nJyxcbiAgICAgICAgJyhjbGljay5jYXB0dXJlKSc6ICdvbkNsaWNrKCRldmVudCknLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUJ1dHRvbkxvYWRpbmcge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfQlVUVE9OX09QVElPTlMpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2l6ZSA9IHRoaXMub3B0aW9ucy5zaXplO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbG9hZGluZzogYm9vbGVhbiB8IHN0cmluZyB8IG51bGwgPSBmYWxzZTtcblxuICAgIHByb3RlY3RlZCBnZXQgbG9hZGVyU2l6ZSgpOiBUdWlTaXplUyB7XG4gICAgICAgIHJldHVybiB0dWlTaXplQmlnZ2VyKHRoaXMuc2l6ZSkgPyAnbScgOiAncyc7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBsYWJlbCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdHVpSXNTdHJpbmcodGhpcy5sb2FkaW5nKSA/IHRoaXMubG9hZGluZyA6ICcnO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRpbmcpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==