UNPKG

@taiga-ui/core

Version:

Core library for creating Angular components and applications using Taiga UI

33 lines 11 kB
import { NgForOf } from '@angular/common'; import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; import { TuiAnimatedParent } from '@taiga-ui/cdk/directives/animated'; import { TuiFocusTrap } from '@taiga-ui/cdk/directives/focus-trap'; import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom'; import { TuiScrollControls, TuiScrollRef } from '@taiga-ui/core/components/scrollbar'; import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus'; import { TUI_DIALOGS } from './dialog.tokens'; import * as i0 from "@angular/core"; class TuiDialogs { constructor() { this.el = tuiInjectElement(); this.dialogs = toSignal(inject(TUI_DIALOGS), { initialValue: [] }); } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDialogs, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDialogs, isStandalone: true, selector: "tui-dialogs", host: { listeners: { "keydown.zoneless": "el.scrollTop = el.scrollHeight / 2" } }, ngImport: i0, template: "<div\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs().length\"\n></div>\n<section\n *ngFor=\"let item of dialogs()\"\n aria-modal=\"true\"\n role=\"dialog\"\n tuiAnimatedParent\n tuiFocusTrap\n tuiScrollRef\n class=\"t-dialog\"\n [attr.aria-labelledby]=\"item.id\"\n>\n <ng-container *polymorpheusOutlet=\"item.component; context: item\" />\n <tui-scroll-controls class=\"t-scrollbars\" />\n</section>\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;scrollbar-width:none;-ms-overflow-style:none;pointer-events:none;overflow:hidden;overscroll-behavior:none;overflow-wrap:break-word;margin-block-start:var(--t-root-top)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:has(section){pointer-events:auto;overflow:auto}:host:before{content:\"\";display:block;block-size:1000%}.t-overlay,.t-dialog{transition-property:filter;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;scrollbar-width:none;-ms-overflow-style:none;position:fixed;top:0;left:0;bottom:0;right:0;display:flex;block-size:100%;align-items:flex-start;outline:none;overflow:auto}.t-overlay::-webkit-scrollbar,.t-dialog::-webkit-scrollbar,.t-overlay::-webkit-scrollbar-thumb,.t-dialog::-webkit-scrollbar-thumb{display:none}.t-overlay:has(>.tui-enter),.t-dialog:has(>.tui-enter),.t-overlay:has(>.tui-leave),.t-dialog:has(>.tui-leave){overflow:clip}.t-dialog{position:sticky;overscroll-behavior:none;filter:brightness(.25)}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;background:var(--tui-service-backdrop);-webkit-backdrop-filter:var(--tui-backdrop, none);backdrop-filter:var(--tui-backdrop, none);opacity:0;transition-timing-function:ease-in}.t-overlay_visible{opacity:1;transition-timing-function:ease-out}.t-dialog:last-child{pointer-events:auto;filter:none}:host-context(tui-root:has(tui-dropdown-mobile._sheet)) .t-dialog:last-child{filter:brightness(.5)}.t-scrollbars{position:fixed;top:0;left:0;bottom:0;right:0;margin:0;color:#747474}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiAnimatedParent, selector: "[tuiAnimatedParent]" }, { kind: "directive", type: TuiFocusTrap, selector: "[tuiFocusTrap]" }, { kind: "component", type: TuiScrollControls, selector: "tui-scroll-controls" }, { kind: "directive", type: TuiScrollRef, selector: "[tuiScrollRef]" }], changeDetection: i0.ChangeDetectionStrategy.Default }); } } export { TuiDialogs }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDialogs, decorators: [{ type: Component, args: [{ standalone: true, selector: 'tui-dialogs', imports: [ NgForOf, PolymorpheusOutlet, TuiAnimatedParent, TuiFocusTrap, TuiScrollControls, TuiScrollRef, ], changeDetection: ChangeDetectionStrategy.Default, host: { '(keydown.zoneless)': 'el.scrollTop = el.scrollHeight / 2', }, template: "<div\n class=\"t-overlay\"\n [class.t-overlay_visible]=\"dialogs().length\"\n></div>\n<section\n *ngFor=\"let item of dialogs()\"\n aria-modal=\"true\"\n role=\"dialog\"\n tuiAnimatedParent\n tuiFocusTrap\n tuiScrollRef\n class=\"t-dialog\"\n [attr.aria-labelledby]=\"item.id\"\n>\n <ng-container *polymorpheusOutlet=\"item.component; context: item\" />\n <tui-scroll-controls class=\"t-scrollbars\" />\n</section>\n", styles: [":host{position:fixed;top:0;left:0;inline-size:100%;block-size:100%;scrollbar-width:none;-ms-overflow-style:none;pointer-events:none;overflow:hidden;overscroll-behavior:none;overflow-wrap:break-word;margin-block-start:var(--t-root-top)}:host::-webkit-scrollbar,:host::-webkit-scrollbar-thumb{display:none}:host:has(section){pointer-events:auto;overflow:auto}:host:before{content:\"\";display:block;block-size:1000%}.t-overlay,.t-dialog{transition-property:filter;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;scrollbar-width:none;-ms-overflow-style:none;position:fixed;top:0;left:0;bottom:0;right:0;display:flex;block-size:100%;align-items:flex-start;outline:none;overflow:auto}.t-overlay::-webkit-scrollbar,.t-dialog::-webkit-scrollbar,.t-overlay::-webkit-scrollbar-thumb,.t-dialog::-webkit-scrollbar-thumb{display:none}.t-overlay:has(>.tui-enter),.t-dialog:has(>.tui-enter),.t-overlay:has(>.tui-leave),.t-dialog:has(>.tui-leave){overflow:clip}.t-dialog{position:sticky;overscroll-behavior:none;filter:brightness(.25)}.t-overlay{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;background:var(--tui-service-backdrop);-webkit-backdrop-filter:var(--tui-backdrop, none);backdrop-filter:var(--tui-backdrop, none);opacity:0;transition-timing-function:ease-in}.t-overlay_visible{opacity:1;transition-timing-function:ease-out}.t-dialog:last-child{pointer-events:auto;filter:none}:host-context(tui-root:has(tui-dropdown-mobile._sheet)) .t-dialog:last-child{filter:brightness(.5)}.t-scrollbars{position:fixed;top:0;left:0;bottom:0;right:0;margin:0;color:#747474}\n"] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9ncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL2NvbXBvbmVudHMvZGlhbG9nL2RpYWxvZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jb21wb25lbnRzL2RpYWxvZy9kaWFsb2dzLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFakUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3BGLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFNUMsTUFvQmEsVUFBVTtJQXBCdkI7UUFxQnVCLE9BQUUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLFlBQU8sR0FBZ0QsUUFBUSxDQUM5RSxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQ25CLEVBQUMsWUFBWSxFQUFFLEVBQUUsRUFBQyxDQUNyQixDQUFDO0tBQ0w7K0dBTlksVUFBVTttR0FBVixVQUFVLDBKQ2hDdkIsc2NBaUJBLGtyREREUSxPQUFPLG1IQUNQLGtCQUFrQiw4SEFDbEIsaUJBQWlCLGdFQUNqQixZQUFZLDJEQUNaLGlCQUFpQixnRUFDakIsWUFBWTs7U0FXUCxVQUFVOzRGQUFWLFVBQVU7a0JBcEJ0QixTQUFTO2lDQUNNLElBQUksWUFDTixhQUFhLFdBQ2Q7d0JBQ0wsT0FBTzt3QkFDUCxrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIsWUFBWTt3QkFDWixpQkFBaUI7d0JBQ2pCLFlBQVk7cUJBQ2YsbUJBS2dCLHVCQUF1QixDQUFDLE9BQU8sUUFDMUM7d0JBQ0Ysb0JBQW9CLEVBQUUsb0NBQW9DO3FCQUM3RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdGb3JPZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCB0eXBlIFNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1R1aUFuaW1hdGVkUGFyZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYW5pbWF0ZWQnO1xuaW1wb3J0IHtUdWlGb2N1c1RyYXB9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9mb2N1cy10cmFwJztcbmltcG9ydCB7dHlwZSBUdWlQb3BvdmVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3NlcnZpY2VzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9kb20nO1xuaW1wb3J0IHtUdWlTY3JvbGxDb250cm9scywgVHVpU2Nyb2xsUmVmfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL3Njcm9sbGJhcic7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmltcG9ydCB7VFVJX0RJQUxPR1N9IGZyb20gJy4vZGlhbG9nLnRva2Vucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktZGlhbG9ncycsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBOZ0Zvck9mLFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFR1aUFuaW1hdGVkUGFyZW50LFxuICAgICAgICBUdWlGb2N1c1RyYXAsXG4gICAgICAgIFR1aVNjcm9sbENvbnRyb2xzLFxuICAgICAgICBUdWlTY3JvbGxSZWYsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGlhbG9ncy50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kaWFsb2dzLnN0eWxlLmxlc3MnXSxcbiAgICAvLyBTbyB0aGF0IHdlIGRvIG5vdCBmb3JjZSBPblB1c2ggb24gY3VzdG9tIGRpYWxvZ3NcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L3ByZWZlci1vbi1wdXNoLWNvbXBvbmVudC1jaGFuZ2UtZGV0ZWN0aW9uXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5EZWZhdWx0LFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhrZXlkb3duLnpvbmVsZXNzKSc6ICdlbC5zY3JvbGxUb3AgPSBlbC5zY3JvbGxIZWlnaHQgLyAyJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEaWFsb2dzIHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGRpYWxvZ3M6IFNpZ25hbDxSZWFkb25seUFycmF5PFR1aVBvcG92ZXI8YW55LCBhbnk+Pj4gPSB0b1NpZ25hbChcbiAgICAgICAgaW5qZWN0KFRVSV9ESUFMT0dTKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZTogW119LFxuICAgICk7XG59XG4iLCI8ZGl2XG4gICAgY2xhc3M9XCJ0LW92ZXJsYXlcIlxuICAgIFtjbGFzcy50LW92ZXJsYXlfdmlzaWJsZV09XCJkaWFsb2dzKCkubGVuZ3RoXCJcbj48L2Rpdj5cbjxzZWN0aW9uXG4gICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZGlhbG9ncygpXCJcbiAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgdHVpQW5pbWF0ZWRQYXJlbnRcbiAgICB0dWlGb2N1c1RyYXBcbiAgICB0dWlTY3JvbGxSZWZcbiAgICBjbGFzcz1cInQtZGlhbG9nXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiaXRlbS5pZFwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwiaXRlbS5jb21wb25lbnQ7IGNvbnRleHQ6IGl0ZW1cIiAvPlxuICAgIDx0dWktc2Nyb2xsLWNvbnRyb2xzIGNsYXNzPVwidC1zY3JvbGxiYXJzXCIgLz5cbjwvc2VjdGlvbj5cbiJdfQ==