@taiga-ui/kit
Version:
Taiga UI Angular main components kit
30 lines • 10.3 kB
JavaScript
import { AsyncPipe, NgIf } from '@angular/common';
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
import { TuiAutoFocus } from '@taiga-ui/cdk/directives/auto-focus';
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
import { tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
import { TuiButton } from '@taiga-ui/core/components/button';
import { TUI_CONFIRM_WORDS } from '@taiga-ui/kit/tokens';
import { injectContext, PolymorpheusComponent, PolymorpheusOutlet, } from '@taiga-ui/polymorpheus';
import * as i0 from "@angular/core";
// TODO: Remove selector in v5
class TuiConfirm {
constructor() {
this.isMobile = inject(TUI_IS_MOBILE);
this.words$ = inject(TUI_CONFIRM_WORDS);
this.context = injectContext();
}
get appearance() {
return this.isMobile ? 'secondary' : 'flat';
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirm, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiConfirm, isStandalone: true, selector: "tui-confirm", ngImport: i0, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</footer>\n", styles: [":host{display:block}.t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog[new]){margin-block-start:-.75rem}:host-context(tui-dialog[new]) .t-button{margin:0}:host-context(tui-dialog[new]) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}:host-context(tui-dialog[new]) .t-buttons:first-child{margin-block-start:2rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAutoFocus, selector: "[tuiAutoFocus]", inputs: ["tuiAutoFocus"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
}
export { TuiConfirm };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirm, decorators: [{
type: Component,
args: [{ standalone: true, selector: 'tui-confirm', imports: [AsyncPipe, NgIf, PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text; context: context\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</footer>\n", styles: [":host{display:block}.t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog[new]){margin-block-start:-.75rem}:host-context(tui-dialog[new]) .t-button{margin:0}:host-context(tui-dialog[new]) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}:host-context(tui-dialog[new]) .t-buttons:first-child{margin-block-start:2rem}\n"] }]
}] });
export const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);
export const TUI_CONFIRM_DIALOG = tuiCreateToken(TUI_CONFIRM);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY29uZmlybS9jb25maXJtLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUNILGFBQWEsRUFDYixxQkFBcUIsRUFFckIsa0JBQWtCLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7O0FBU2hDLDhCQUE4QjtBQUM5QixNQVFhLFVBQVU7SUFSdkI7UUFTcUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixXQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFdEMsWUFBTyxHQUNuQixhQUFhLEVBQXlELENBQUM7S0FLOUU7SUFIRyxJQUFjLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDOytHQVRRLFVBQVU7bUdBQVYsVUFBVSx1RUMvQnZCLHd4QkErQkEsNG9CRExjLFNBQVMsOENBQUUsSUFBSSw2RkFBRSxrQkFBa0IsOEhBQUUsWUFBWSxxRkFBRSxTQUFTOztTQUs3RCxVQUFVOzRGQUFWLFVBQVU7a0JBUnRCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGFBQWEsV0FDZCxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxtQkFHdEQsdUJBQXVCLENBQUMsTUFBTTs7QUFjbkQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUkscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQzNCLGNBQWMsQ0FBMEQsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQXV0b0ZvY3VzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHt0eXBlIFR1aURpYWxvZ0NvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7VFVJX0NPTkZJUk1fV09SRFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7XG4gICAgaW5qZWN0Q29udGV4dCxcbiAgICBQb2x5bW9ycGhldXNDb21wb25lbnQsXG4gICAgdHlwZSBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgIFBvbHltb3JwaGV1c091dGxldCxcbn0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQ29uZmlybURhdGEge1xuICAgIHJlYWRvbmx5IGNvbnRlbnQ/OiBQb2x5bW9ycGhldXNDb250ZW50O1xuICAgIHJlYWRvbmx5IG5vPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHllcz86IHN0cmluZztcbiAgICByZWFkb25seSBhcHBlYXJhbmNlPzogc3RyaW5nO1xufVxuXG4vLyBUT0RPOiBSZW1vdmUgc2VsZWN0b3IgaW4gdjVcbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktY29uZmlybScsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgTmdJZiwgUG9seW1vcnBoZXVzT3V0bGV0LCBUdWlBdXRvRm9jdXMsIFR1aUJ1dHRvbl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNvbmZpcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHdvcmRzJCA9IGluamVjdChUVUlfQ09ORklSTV9XT1JEUyk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29udGV4dCA9XG4gICAgICAgIGluamVjdENvbnRleHQ8VHVpRGlhbG9nQ29udGV4dDxib29sZWFuLCBUdWlDb25maXJtRGF0YSB8IHVuZGVmaW5lZD4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyAnc2Vjb25kYXJ5JyA6ICdmbGF0JztcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfQ09ORklSTSA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoVHVpQ29uZmlybSk7XG5leHBvcnQgY29uc3QgVFVJX0NPTkZJUk1fRElBTE9HID1cbiAgICB0dWlDcmVhdGVUb2tlbjxQb2x5bW9ycGhldXNDb250ZW50PFR1aURpYWxvZ0NvbnRleHQ8Ym9vbGVhbiwgdW5rbm93bj4+PihUVUlfQ09ORklSTSk7XG4iLCI8cFxuICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZXh0LmRhdGE/LmNvbnRlbnQgYXMgdGV4dDsgY29udGV4dDogY29udGV4dFwiXG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4+PC9wPlxuPGZvb3RlclxuICAgICpuZ0lmPVwid29yZHMkIHwgYXN5bmMgYXMgd29yZHNcIlxuICAgIGNsYXNzPVwidC1idXR0b25zXCJcbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LmNvbXBsZXRlV2l0aChmYWxzZSlcIlxuICAgID5cbiAgICAgICAge3sgY29udGV4dC5kYXRhPy5ubyB8fCB3b3Jkcy5ubyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICB0dWlBdXRvRm9jdXNcbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiY29udGV4dC5kYXRhPy5hcHBlYXJhbmNlIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LmNvbXBsZXRlV2l0aCh0cnVlKVwiXG4gICAgPlxuICAgICAgICB7eyBjb250ZXh0LmRhdGE/LnllcyB8fCB3b3Jkcy55ZXMgfX1cbiAgICA8L2J1dHRvbj5cbjwvZm9vdGVyPlxuIl19