@taiga-ui/experimental 4.52.0-canary.a4e325d → 4.52.0-canary.aaf153c

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/components/index.d.ts +0 -5
  2. package/components/search-results/search-history.component.d.ts +2 -2
  3. package/components/search-results/search-hotkey.directive.d.ts +2 -1
  4. package/components/search-results/search-results.component.d.ts +1 -1
  5. package/components/search-results/search-results.options.d.ts +1 -7
  6. package/fesm2022/taiga-ui-experimental-components-search-results.mjs +22 -25
  7. package/fesm2022/taiga-ui-experimental-components-search-results.mjs.map +1 -1
  8. package/fesm2022/taiga-ui-experimental-components.mjs +0 -5
  9. package/fesm2022/taiga-ui-experimental-components.mjs.map +1 -1
  10. package/package.json +1 -21
  11. package/components/accordion/accordion.component.d.ts +0 -20
  12. package/components/accordion/accordion.d.ts +0 -5
  13. package/components/accordion/accordion.directive.d.ts +0 -15
  14. package/components/accordion/index.d.ts +0 -3
  15. package/components/dialog/dialog.component.d.ts +0 -15
  16. package/components/dialog/dialog.directive.d.ts +0 -7
  17. package/components/dialog/dialog.options.d.ts +0 -27
  18. package/components/dialog/dialog.service.d.ts +0 -7
  19. package/components/dialog/index.d.ts +0 -4
  20. package/components/expand/expand.component.d.ts +0 -13
  21. package/components/expand/index.d.ts +0 -1
  22. package/components/hint/hint.component.d.ts +0 -26
  23. package/components/hint/index.d.ts +0 -1
  24. package/components/input-phone-international/index.d.ts +0 -1
  25. package/components/input-phone-international/input-phone-international.component.d.ts +0 -45
  26. package/fesm2022/taiga-ui-experimental-components-accordion.mjs +0 -147
  27. package/fesm2022/taiga-ui-experimental-components-accordion.mjs.map +0 -1
  28. package/fesm2022/taiga-ui-experimental-components-dialog.mjs +0 -120
  29. package/fesm2022/taiga-ui-experimental-components-dialog.mjs.map +0 -1
  30. package/fesm2022/taiga-ui-experimental-components-expand.mjs +0 -65
  31. package/fesm2022/taiga-ui-experimental-components-expand.mjs.map +0 -1
  32. package/fesm2022/taiga-ui-experimental-components-hint.mjs +0 -118
  33. package/fesm2022/taiga-ui-experimental-components-hint.mjs.map +0 -1
  34. package/fesm2022/taiga-ui-experimental-components-input-phone-international.mjs +0 -190
  35. package/fesm2022/taiga-ui-experimental-components-input-phone-international.mjs.map +0 -1
@@ -1,45 +0,0 @@
1
- import { ElementRef, type QueryList } from '@angular/core';
2
- import { type MaskitoOptions } from '@maskito/core';
3
- import { TuiControl } from '@taiga-ui/cdk/classes';
4
- import { type TuiCountryIsoCode } from '@taiga-ui/i18n/types';
5
- import { type MetadataJson } from 'libphonenumber-js/core';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@maskito/angular";
8
- import * as i2 from "@taiga-ui/core/components/textfield";
9
- export declare class TuiInputPhoneInternational extends TuiControl<string> {
10
- protected readonly list: QueryList<ElementRef<HTMLButtonElement>>;
11
- protected readonly el: HTMLInputElement;
12
- protected readonly ios: boolean;
13
- protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
14
- protected readonly options: import("@taiga-ui/kit/components/input-phone-international").TuiInputPhoneInternationalOptions;
15
- protected readonly countries: import("@angular/core").WritableSignal<readonly TuiCountryIsoCode[]>;
16
- protected readonly code: import("@angular/core").WritableSignal<TuiCountryIsoCode>;
17
- protected readonly label: import("@angular/core").Signal<string | undefined>;
18
- protected readonly metadata: import("@angular/core").Signal<MetadataJson | undefined>;
19
- protected readonly names: import("@angular/core").Signal<Record<TuiCountryIsoCode, string> | undefined>;
20
- protected readonly open: import("@angular/core").WritableSignal<boolean>;
21
- protected readonly search: import("@angular/core").WritableSignal<string>;
22
- protected readonly size: import("@angular/core").WritableSignal<"m" | "l" | "s">;
23
- protected readonly mask: import("@angular/core").Signal<MaskitoOptions | null>;
24
- protected readonly masked: import("@angular/core").WritableSignal<string>;
25
- protected valueChangeEffect: import("@angular/core").EffectRef;
26
- protected readonly filtered: import("@angular/core").Signal<{
27
- iso: TuiCountryIsoCode;
28
- name: string;
29
- code: string;
30
- }[]>;
31
- protected readonly enabled: import("@angular/core").Signal<boolean>;
32
- protected readonly $: import("rxjs").Subscription;
33
- countrySearch: boolean;
34
- readonly countryIsoCodeChange: import("rxjs").Observable<TuiCountryIsoCode>;
35
- set countriesValue(value: readonly TuiCountryIsoCode[]);
36
- set isoCode(code: TuiCountryIsoCode);
37
- writeValue(unmasked: string | null): void;
38
- protected onPaste(event: Event): void;
39
- protected onItemClick(code: TuiCountryIsoCode): void;
40
- private computeMask;
41
- private unmask;
42
- private getCountryCode;
43
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputPhoneInternational, never>;
44
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputPhoneInternational, "input[tuiInputPhoneInternational]", never, { "countrySearch": { "alias": "countrySearch"; "required": false; }; "countriesValue": { "alias": "countries"; "required": false; }; "isoCode": { "alias": "countryIsoCode"; "required": false; }; }, { "countryIsoCodeChange": "countryIsoCodeChange"; }, never, never, true, [{ directive: typeof i1.MaskitoDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiWithTextfield; inputs: {}; outputs: {}; }]>;
45
- }
@@ -1,147 +0,0 @@
1
- import { TuiItem } from '@taiga-ui/cdk/directives/item';
2
- import { TuiExpand } from '@taiga-ui/experimental/components/expand';
3
- import * as i0 from '@angular/core';
4
- import { inject, EventEmitter, signal, Output, Input, Directive, DestroyRef, ContentChildren, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core';
5
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
6
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
7
- import * as i1$1 from '@taiga-ui/core/directives/group';
8
- import { tuiGroupOptionsProvider, TuiGroup } from '@taiga-ui/core/directives/group';
9
- import { ReplaySubject, merge, combineLatest, withLatestFrom, map } from 'rxjs';
10
- import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils';
11
- import * as i1 from '@taiga-ui/core/components/button';
12
- import { TuiButton, tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
13
- import { tuiAvatarOptionsProvider } from '@taiga-ui/kit/components/avatar';
14
- import * as i2 from '@taiga-ui/kit/directives/chevron';
15
- import { TuiChevron } from '@taiga-ui/kit/directives/chevron';
16
-
17
- class TuiAccordionDirective {
18
- constructor() {
19
- this.accordion = inject(TuiAccordionComponent);
20
- this.size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);
21
- this.tuiAccordion = '';
22
- this.tuiAccordionChange = new EventEmitter();
23
- this.open = tuiDirectiveBinding(TuiChevron, 'tuiChevron', signal(false));
24
- }
25
- ngOnChanges() {
26
- this.open.set(!!this.tuiAccordion);
27
- this.accordion.toggle(this);
28
- }
29
- toggle() {
30
- this.open.set(!this.open());
31
- this.tuiAccordion = this.open();
32
- this.tuiAccordionChange.emit(this.open());
33
- this.accordion.toggle(this);
34
- }
35
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiAccordionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
36
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiAccordionDirective, isStandalone: true, selector: "button[tuiAccordion]", inputs: { tuiAccordion: "tuiAccordion" }, outputs: { tuiAccordionChange: "tuiAccordionChange" }, host: { attributes: { "tuiButton": "", "tuiAccordion": "", "type": "button" }, listeners: { "click": "toggle()" }, properties: { "class._open": "open()" } }, providers: [
37
- tuiAvatarOptionsProvider({ size: 's' }),
38
- tuiButtonOptionsProvider({ appearance: 'outline-grayscale' }),
39
- ], usesOnChanges: true, hostDirectives: [{ directive: i1.TuiButton }, { directive: i2.TuiChevron }], ngImport: i0 }); }
40
- }
41
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiAccordionDirective, decorators: [{
42
- type: Directive,
43
- args: [{
44
- standalone: true,
45
- selector: 'button[tuiAccordion]',
46
- providers: [
47
- tuiAvatarOptionsProvider({ size: 's' }),
48
- tuiButtonOptionsProvider({ appearance: 'outline-grayscale' }),
49
- ],
50
- hostDirectives: [TuiButton, TuiChevron],
51
- host: {
52
- tuiButton: '',
53
- tuiAccordion: '',
54
- type: 'button',
55
- '[class._open]': 'open()',
56
- '(click)': 'toggle()',
57
- },
58
- }]
59
- }], propDecorators: { tuiAccordion: [{
60
- type: Input
61
- }], tuiAccordionChange: [{
62
- type: Output
63
- }] } });
64
-
65
- class TuiAccordionComponent {
66
- constructor() {
67
- this.destroyRef = inject(DestroyRef);
68
- this.toggle$ = new ReplaySubject(Infinity);
69
- this.expands = EMPTY_QUERY;
70
- this.directives = EMPTY_QUERY;
71
- this.closeOthers = true;
72
- this.size = signal('l');
73
- }
74
- set sizeSetter(size) {
75
- this.size.set(size);
76
- }
77
- ngAfterViewInit() {
78
- merge(combineLatest([this.directives.changes, this.expands.changes]).pipe(withLatestFrom(this.toggle$), map(([, accordion]) => accordion)), this.toggle$)
79
- .pipe(takeUntilDestroyed(this.destroyRef))
80
- .subscribe((accordion) => this.expand(accordion));
81
- }
82
- toggle(directive) {
83
- this.toggle$.next(directive);
84
- }
85
- expand(accordion) {
86
- if (this.closeOthers && accordion.open()) {
87
- this.expands.forEach((expand) => {
88
- expand.expanded = false;
89
- });
90
- this.directives.forEach((dir) => {
91
- if (dir === accordion) {
92
- return;
93
- }
94
- dir.open.set(false);
95
- dir.tuiAccordion = false;
96
- dir.tuiAccordionChange.emit(false);
97
- });
98
- }
99
- const expand = this.expands.get(this.directives.toArray().indexOf(accordion));
100
- if (expand) {
101
- expand.expanded = accordion.open();
102
- }
103
- }
104
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiAccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
105
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiAccordionComponent, isStandalone: true, selector: "tui-accordion", inputs: { closeOthers: "closeOthers", sizeSetter: ["size", "sizeSetter"] }, host: { properties: { "attr.data-size": "size()" } }, providers: [
106
- tuiGroupOptionsProvider({
107
- orientation: 'vertical',
108
- collapsed: true,
109
- }),
110
- ], queries: [{ propertyName: "expands", predicate: TuiExpand }, { propertyName: "directives", predicate: TuiAccordionDirective }], hostDirectives: [{ directive: i1$1.TuiGroup }], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["tui-accordion{inline-size:stretch;border-radius:var(--t-group-radius);font:var(--tui-font-text-m);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>[tuiAccordion]>tui-avatar,tui-accordion>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion[data-size=m]{font:var(--tui-font-text-s)}tui-accordion[data-size=m]>tui-expand{padding:1rem}tui-accordion[data-size=s]{font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
111
- }
112
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiAccordionComponent, decorators: [{
113
- type: Component,
114
- args: [{ standalone: true, selector: 'tui-accordion', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
115
- tuiGroupOptionsProvider({
116
- orientation: 'vertical',
117
- collapsed: true,
118
- }),
119
- ], hostDirectives: [TuiGroup], host: {
120
- '[attr.data-size]': 'size()',
121
- }, styles: ["tui-accordion{inline-size:stretch;border-radius:var(--t-group-radius);font:var(--tui-font-text-m);overflow:hidden}tui-accordion>[tuiAccordion]{text-align:start;justify-content:flex-start}tui-accordion>[tuiAccordion]:last-of-type:not(._open){-webkit-mask-image:var(--t-group-mask-end);mask-image:var(--t-group-mask-end);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}tui-accordion>[tuiAccordion]:first-child{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}tui-accordion>[tuiAccordion]:first-child:last-of-type:not(._open){mask:none}tui-accordion>[tuiAccordion]:after{margin-inline-start:auto!important}tui-accordion>[tuiAccordion]._open+tui-expand{visibility:visible}tui-accordion>[tuiAccordion]>tui-avatar,tui-accordion>[tuiAccordion]>[tuiAvatar]{margin:0}tui-accordion>tui-expand{visibility:hidden;min-block-size:1px!important;padding:1.25rem;transition-property:grid-template-rows,padding,visibility!important;box-shadow:inset 0 0 0 1px var(--tui-border-normal)}tui-accordion>tui-expand:last-child{border-bottom-left-radius:inherit!important;border-bottom-right-radius:inherit!important}tui-accordion[data-size=m]{font:var(--tui-font-text-s)}tui-accordion[data-size=m]>tui-expand{padding:1rem}tui-accordion[data-size=s]{font:var(--tui-font-text-s)}tui-accordion[data-size=s]>tui-expand{padding:.625rem}\n"] }]
122
- }], propDecorators: { expands: [{
123
- type: ContentChildren,
124
- args: [TuiExpand]
125
- }], directives: [{
126
- type: ContentChildren,
127
- args: [TuiAccordionDirective]
128
- }], closeOthers: [{
129
- type: Input
130
- }], sizeSetter: [{
131
- type: Input,
132
- args: ['size']
133
- }] } });
134
-
135
- const TuiAccordion = [
136
- TuiAccordionComponent,
137
- TuiAccordionDirective,
138
- TuiExpand,
139
- TuiItem,
140
- ];
141
-
142
- /**
143
- * Generated bundle index. Do not edit.
144
- */
145
-
146
- export { TuiAccordion, TuiAccordionComponent, TuiAccordionDirective };
147
- //# sourceMappingURL=taiga-ui-experimental-components-accordion.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-accordion.mjs","sources":["../../../projects/experimental/components/accordion/accordion.directive.ts","../../../projects/experimental/components/accordion/accordion.component.ts","../../../projects/experimental/components/accordion/accordion.ts","../../../projects/experimental/components/accordion/taiga-ui-experimental-components-accordion.ts"],"sourcesContent":["import {\n Directive,\n EventEmitter,\n inject,\n Input,\n type OnChanges,\n Output,\n signal,\n} from '@angular/core';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils';\nimport {TuiButton, tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\nimport {tuiAvatarOptionsProvider} from '@taiga-ui/kit/components/avatar';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\n\nimport {TuiAccordionComponent} from './accordion.component';\n\n@Directive({\n standalone: true,\n selector: 'button[tuiAccordion]',\n providers: [\n tuiAvatarOptionsProvider({size: 's'}),\n tuiButtonOptionsProvider({appearance: 'outline-grayscale'}),\n ],\n hostDirectives: [TuiButton, TuiChevron],\n host: {\n tuiButton: '',\n tuiAccordion: '',\n type: 'button',\n '[class._open]': 'open()',\n '(click)': 'toggle()',\n },\n})\nexport class TuiAccordionDirective implements OnChanges {\n private readonly accordion = inject(TuiAccordionComponent);\n\n protected readonly size = tuiDirectiveBinding(TuiButton, 'size', this.accordion.size);\n\n @Input()\n public tuiAccordion: boolean | string = '';\n\n @Output()\n public readonly tuiAccordionChange = new EventEmitter<boolean>();\n\n public readonly open = tuiDirectiveBinding(TuiChevron, 'tuiChevron', signal(false));\n\n public ngOnChanges(): void {\n this.open.set(!!this.tuiAccordion);\n this.accordion.toggle(this);\n }\n\n public toggle(): void {\n this.open.set(!this.open());\n this.tuiAccordion = this.open();\n this.tuiAccordionChange.emit(this.open());\n this.accordion.toggle(this);\n }\n}\n","import {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DestroyRef,\n inject,\n Input,\n type QueryList,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {TuiGroup, tuiGroupOptionsProvider} from '@taiga-ui/core/directives/group';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {TuiExpand} from '@taiga-ui/experimental/components/expand';\nimport {combineLatest, map, merge, ReplaySubject, withLatestFrom} from 'rxjs';\n\nimport {TuiAccordionDirective} from './accordion.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-accordion',\n template: '<ng-content />',\n styleUrls: ['./accordion.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiGroupOptionsProvider({\n orientation: 'vertical',\n collapsed: true,\n }),\n ],\n hostDirectives: [TuiGroup],\n host: {\n '[attr.data-size]': 'size()',\n },\n})\nexport class TuiAccordionComponent implements AfterViewInit {\n private readonly destroyRef = inject(DestroyRef);\n private readonly toggle$ = new ReplaySubject<TuiAccordionDirective>(Infinity);\n\n @ContentChildren(TuiExpand)\n public readonly expands: QueryList<TuiExpand> = EMPTY_QUERY;\n\n @ContentChildren(TuiAccordionDirective)\n public readonly directives: QueryList<TuiAccordionDirective> = EMPTY_QUERY;\n\n @Input()\n public closeOthers = true;\n\n public readonly size = signal<TuiSizeL | TuiSizeS>('l');\n\n @Input('size')\n public set sizeSetter(size: TuiSizeL | TuiSizeS) {\n this.size.set(size);\n }\n\n public ngAfterViewInit(): void {\n merge(\n combineLatest([this.directives.changes, this.expands.changes]).pipe(\n withLatestFrom(this.toggle$),\n map(([, accordion]) => accordion),\n ),\n this.toggle$,\n )\n .pipe(takeUntilDestroyed(this.destroyRef))\n .subscribe((accordion) => this.expand(accordion));\n }\n\n public toggle(directive: TuiAccordionDirective): void {\n this.toggle$.next(directive);\n }\n\n private expand(accordion: TuiAccordionDirective): void {\n if (this.closeOthers && accordion.open()) {\n this.expands.forEach((expand) => {\n expand.expanded = false;\n });\n\n this.directives.forEach((dir) => {\n if (dir === accordion) {\n return;\n }\n\n dir.open.set(false);\n dir.tuiAccordion = false;\n dir.tuiAccordionChange.emit(false);\n });\n }\n\n const expand = this.expands.get(this.directives.toArray().indexOf(accordion));\n\n if (expand) {\n expand.expanded = accordion.open();\n }\n }\n}\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {TuiExpand} from '@taiga-ui/experimental/components/expand';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionDirective} from './accordion.directive';\n\nexport const TuiAccordion = [\n TuiAccordionComponent,\n TuiAccordionDirective,\n TuiExpand,\n TuiItem,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
@@ -1,120 +0,0 @@
1
- import { NgIf } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { inject, TemplateRef, ChangeDetectionStrategy, ViewEncapsulation, Component, Injectable, Directive } from '@angular/core';
4
- import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
5
- import { TUI_TRUE_HANDLER } from '@taiga-ui/cdk/constants';
6
- import * as i1 from '@taiga-ui/cdk/directives/animated';
7
- import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
8
- import { TuiAutoFocus } from '@taiga-ui/cdk/directives/auto-focus';
9
- import { TuiButton } from '@taiga-ui/core/components/button';
10
- import { TuiDialogCloseService, TUI_DIALOGS_CLOSE, TUI_DIALOGS } from '@taiga-ui/core/components/dialog';
11
- import { TuiTitle } from '@taiga-ui/core/directives/title';
12
- import { TUI_CLOSE_WORD, TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
13
- import { TuiHeader, TUI_HEADER_OPTIONS } from '@taiga-ui/layout/components/header';
14
- import { injectContext, PolymorpheusOutlet, PolymorpheusComponent } from '@taiga-ui/polymorpheus';
15
- import { of, isObservable, Subject, merge, switchMap, exhaustMap, take, map, filter } from 'rxjs';
16
- import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
17
- import { TuiPopoverService, tuiAsPopover } from '@taiga-ui/cdk/services';
18
- import { tuiCreateOptions } from '@taiga-ui/cdk/utils/di';
19
-
20
- const REQUIRED_ERROR = new Error('Required dialog was dismissed');
21
- function toObservable(valueOrStream) {
22
- return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);
23
- }
24
- class TuiDialogComponent {
25
- constructor() {
26
- this.close$ = new Subject();
27
- this.close = toSignal(inject(TUI_CLOSE_WORD));
28
- this.icons = inject(TUI_COMMON_ICONS);
29
- this.context = injectContext();
30
- this.sub = merge(this.close$.pipe(switchMap(() => toObservable(this.context.closable))), inject(TuiDialogCloseService).pipe(exhaustMap(() => toObservable(this.context.dismissible).pipe(take(1)))), inject(TUI_DIALOGS_CLOSE).pipe(map(TUI_TRUE_HANDLER)))
31
- .pipe(filter(Boolean), takeUntilDestroyed())
32
- .subscribe(() => {
33
- if (this.context.required) {
34
- this.context.$implicit.error(REQUIRED_ERROR);
35
- }
36
- else {
37
- this.context.$implicit.complete();
38
- }
39
- });
40
- }
41
- get primitive() {
42
- return (!(this.context.content instanceof TemplateRef) &&
43
- !(this.context.content instanceof PolymorpheusOutlet) &&
44
- !(this.context.content instanceof PolymorpheusComponent));
45
- }
46
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiDialogComponent, isStandalone: true, selector: "tui-dialog", host: { attributes: { "new": "" }, properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "context.size", "class._closable": "context.closable" } }, providers: [
48
- TuiDialogCloseService,
49
- {
50
- provide: TUI_HEADER_OPTIONS,
51
- useFactory: () => ({ size: getSize(injectContext()) }),
52
- },
53
- ], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "<button\n *ngIf=\"context.closable\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"context.appearance === 'fullscreen' ? 'action' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ close() }}\n</button>\n\n<header\n *ngIf=\"!primitive\"\n tuiHeader\n>\n <hgroup tuiTitle>\n <h2\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></h2>\n </hgroup>\n</header>\n\n<ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <header tuiHeader>\n <hgroup tuiTitle>\n <h2\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></h2>\n <p [innerHTML]=\"text\"></p>\n </hgroup>\n </header>\n <footer *ngIf=\"context.closable || context.dismissible\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data || 'OK' }}\n </button>\n </footer>\n</ng-container>\n", styles: ["tui-dialog[new]{position:relative;box-sizing:border-box;font:var(--tui-font-text-m);background:var(--tui-background-elevation-1);box-shadow:var(--tui-shadow-popup)}tui-dialog[new]:not([data-appearance~=fullscreen])._closable>header,tui-dialog[new]:not([data-appearance~=fullscreen])._closable>ng-component>header{padding-inline-end:2.5rem}tui-dialog[new]>.t-close{position:absolute;top:1rem;z-index:1;inset-inline-end:1rem}tui-dialog[new][data-appearance~=taiga]{max-inline-size:calc(100vw - 5rem);margin:2.5rem;padding:1.75rem;border-radius:1.5rem;--tui-from: translateY(2.5rem)}tui-dialog[new][data-appearance~=taiga].tui-enter,tui-dialog[new][data-appearance~=taiga].tui-leave{animation-name:tuiFade,tuiSlide}tui-dialog[new][data-appearance~=taiga][data-size=s]{inline-size:25rem;padding:1.5rem}tui-dialog[new][data-appearance~=taiga][data-size=s]>header:not(:last-child),tui-dialog[new][data-appearance~=taiga][data-size=s]>ng-component>header:not(:last-child){margin-block-end:1.25rem}tui-dialog[new][data-appearance~=taiga][data-size=s]>footer,tui-dialog[new][data-appearance~=taiga][data-size=s]>ng-component>footer,tui-dialog[new][data-appearance~=taiga][data-size=s]>tui-confirm>footer{margin-block-start:1.25rem}tui-dialog[new][data-appearance~=taiga][data-size=m]{inline-size:37.5rem}tui-dialog[new][data-appearance~=taiga][data-size=l]{inline-size:50rem}tui-dialog[new][data-appearance~=taiga]>header:not(:last-child),tui-dialog[new][data-appearance~=taiga]>ng-component>header:not(:last-child){margin-block-end:1.5rem}tui-dialog[new][data-appearance~=taiga]>footer,tui-dialog[new][data-appearance~=taiga]>ng-component>footer,tui-dialog[new][data-appearance~=taiga]>tui-confirm>footer{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;gap:.75rem;margin-block-start:2rem}tui-dialog[new][data-appearance~=fullscreen]{display:flex;flex-direction:column;block-size:100%;inline-size:100%;padding:env(safe-area-inset-top) max(calc(50vw - var(--tui-width) / 2),1rem) 2rem;background:var(--tui-background-base);box-shadow:none;--tui-width: 45rem;--tui-from: translateY(2rem)}tui-dialog[new][data-appearance~=fullscreen].tui-enter,tui-dialog[new][data-appearance~=fullscreen].tui-leave{animation-name:tuiFade,tuiSlide}tui-dialog[new][data-appearance~=fullscreen]>.t-close{position:sticky;top:env(safe-area-inset-top);block-size:4rem;inline-size:auto;align-self:flex-end;margin-block-end:2rem;border-radius:0!important;font:var(--tui-font-text-m)!important;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0 / 0 / env(safe-area-inset-top) 100vw 0}tui-dialog[new][data-appearance~=fullscreen]>.t-close:before{display:none}tui-dialog[new][data-appearance~=fullscreen].tui-app-bar .t-close{display:none}tui-dialog[new][data-appearance~=fullscreen]:not(._closable):not(.tui-app-bar):before{content:\"\";block-size:1.5rem}tui-dialog[new][data-appearance~=fullscreen]>tui-app-bar,tui-dialog[new][data-appearance~=fullscreen]>ng-component>tui-app-bar{position:sticky;top:0;z-index:1;order:-1;border-inline-end:calc(50vw - var(--tui-width) / 2) solid transparent;border-inline-start:calc(50vw - var(--tui-width) / 2) solid transparent;margin:0 calc(var(--tui-width) / 2 - 50vw) 2rem}tui-dialog[new][data-appearance~=fullscreen]>header,tui-dialog[new][data-appearance~=fullscreen]>[tuiSlides]>*>header,tui-dialog[new][data-appearance~=fullscreen]>ng-component>header,tui-dialog[new][data-appearance~=fullscreen]>ng-component>[tuiSlides]>*>header{margin-block-end:2rem}tui-dialog[new][data-appearance~=fullscreen]>footer,tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer{display:flex;gap:.5rem .75rem;padding:2rem calc(50vw - var(--tui-width) / 2);margin:0 calc(var(--tui-width) / 2 - 50vw) calc(-2rem - env(safe-area-inset-top))}tui-dialog[new][data-appearance~=fullscreen]>footer:before,tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer:before{left:0;right:0}tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>footer,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer{flex-direction:row;background:color-mix(in hsl,var(--tui-background-base) 80%,transparent);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem)}tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>footer:before,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer:before{display:none}tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>footer>button,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer>button,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>footer>a,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer>a{inline-size:auto}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]{padding-block-end:max(1rem,env(safe-area-inset-bottom));--tui-from: translateY(4rem)}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen] .t-close{align-self:flex-start;block-size:3.5rem;margin-block-end:1rem}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>tui-app-bar,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>ng-component>tui-app-bar{margin:calc(-1*env(safe-area-inset-top)) -1rem 1rem;padding-block-start:env(safe-area-inset-top);box-sizing:content-box}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>header,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>[tuiSlides]>*>header,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>ng-component>header,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>ng-component>[tuiSlides]>*>header{margin:-.25rem 0 1.5rem}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>footer,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer{padding:0 1rem max(1rem,env(safe-area-inset-bottom));margin:1.5rem -1rem calc(-1*max(1rem,env(safe-area-inset-bottom)))}\n"], dependencies: [{ 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"] }, { kind: "directive", type: TuiHeader, selector: "[tuiHeader]", inputs: ["tuiHeader"] }, { kind: "directive", type: TuiTitle, selector: "[tuiTitle]", inputs: ["tuiTitle"] }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
54
- }
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDialogComponent, decorators: [{
56
- type: Component,
57
- args: [{ selector: 'tui-dialog', imports: [NgIf, PolymorpheusOutlet, TuiAutoFocus, TuiButton, TuiHeader, TuiTitle], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.Default, providers: [
58
- TuiDialogCloseService,
59
- {
60
- provide: TUI_HEADER_OPTIONS,
61
- useFactory: () => ({ size: getSize(injectContext()) }),
62
- },
63
- ], hostDirectives: [TuiAnimated], host: {
64
- new: '',
65
- '[attr.data-appearance]': 'context.appearance',
66
- '[attr.data-size]': 'context.size',
67
- '[class._closable]': 'context.closable',
68
- }, template: "<button\n *ngIf=\"context.closable\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"context.appearance === 'fullscreen' ? 'action' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ close() }}\n</button>\n\n<header\n *ngIf=\"!primitive\"\n tuiHeader\n>\n <hgroup tuiTitle>\n <h2\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></h2>\n </hgroup>\n</header>\n\n<ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <header tuiHeader>\n <hgroup tuiTitle>\n <h2\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></h2>\n <p [innerHTML]=\"text\"></p>\n </hgroup>\n </header>\n <footer *ngIf=\"context.closable || context.dismissible\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data || 'OK' }}\n </button>\n </footer>\n</ng-container>\n", styles: ["tui-dialog[new]{position:relative;box-sizing:border-box;font:var(--tui-font-text-m);background:var(--tui-background-elevation-1);box-shadow:var(--tui-shadow-popup)}tui-dialog[new]:not([data-appearance~=fullscreen])._closable>header,tui-dialog[new]:not([data-appearance~=fullscreen])._closable>ng-component>header{padding-inline-end:2.5rem}tui-dialog[new]>.t-close{position:absolute;top:1rem;z-index:1;inset-inline-end:1rem}tui-dialog[new][data-appearance~=taiga]{max-inline-size:calc(100vw - 5rem);margin:2.5rem;padding:1.75rem;border-radius:1.5rem;--tui-from: translateY(2.5rem)}tui-dialog[new][data-appearance~=taiga].tui-enter,tui-dialog[new][data-appearance~=taiga].tui-leave{animation-name:tuiFade,tuiSlide}tui-dialog[new][data-appearance~=taiga][data-size=s]{inline-size:25rem;padding:1.5rem}tui-dialog[new][data-appearance~=taiga][data-size=s]>header:not(:last-child),tui-dialog[new][data-appearance~=taiga][data-size=s]>ng-component>header:not(:last-child){margin-block-end:1.25rem}tui-dialog[new][data-appearance~=taiga][data-size=s]>footer,tui-dialog[new][data-appearance~=taiga][data-size=s]>ng-component>footer,tui-dialog[new][data-appearance~=taiga][data-size=s]>tui-confirm>footer{margin-block-start:1.25rem}tui-dialog[new][data-appearance~=taiga][data-size=m]{inline-size:37.5rem}tui-dialog[new][data-appearance~=taiga][data-size=l]{inline-size:50rem}tui-dialog[new][data-appearance~=taiga]>header:not(:last-child),tui-dialog[new][data-appearance~=taiga]>ng-component>header:not(:last-child){margin-block-end:1.5rem}tui-dialog[new][data-appearance~=taiga]>footer,tui-dialog[new][data-appearance~=taiga]>ng-component>footer,tui-dialog[new][data-appearance~=taiga]>tui-confirm>footer{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;gap:.75rem;margin-block-start:2rem}tui-dialog[new][data-appearance~=fullscreen]{display:flex;flex-direction:column;block-size:100%;inline-size:100%;padding:env(safe-area-inset-top) max(calc(50vw - var(--tui-width) / 2),1rem) 2rem;background:var(--tui-background-base);box-shadow:none;--tui-width: 45rem;--tui-from: translateY(2rem)}tui-dialog[new][data-appearance~=fullscreen].tui-enter,tui-dialog[new][data-appearance~=fullscreen].tui-leave{animation-name:tuiFade,tuiSlide}tui-dialog[new][data-appearance~=fullscreen]>.t-close{position:sticky;top:env(safe-area-inset-top);block-size:4rem;inline-size:auto;align-self:flex-end;margin-block-end:2rem;border-radius:0!important;font:var(--tui-font-text-m)!important;border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0 / 0 / env(safe-area-inset-top) 100vw 0}tui-dialog[new][data-appearance~=fullscreen]>.t-close:before{display:none}tui-dialog[new][data-appearance~=fullscreen].tui-app-bar .t-close{display:none}tui-dialog[new][data-appearance~=fullscreen]:not(._closable):not(.tui-app-bar):before{content:\"\";block-size:1.5rem}tui-dialog[new][data-appearance~=fullscreen]>tui-app-bar,tui-dialog[new][data-appearance~=fullscreen]>ng-component>tui-app-bar{position:sticky;top:0;z-index:1;order:-1;border-inline-end:calc(50vw - var(--tui-width) / 2) solid transparent;border-inline-start:calc(50vw - var(--tui-width) / 2) solid transparent;margin:0 calc(var(--tui-width) / 2 - 50vw) 2rem}tui-dialog[new][data-appearance~=fullscreen]>header,tui-dialog[new][data-appearance~=fullscreen]>[tuiSlides]>*>header,tui-dialog[new][data-appearance~=fullscreen]>ng-component>header,tui-dialog[new][data-appearance~=fullscreen]>ng-component>[tuiSlides]>*>header{margin-block-end:2rem}tui-dialog[new][data-appearance~=fullscreen]>footer,tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer{display:flex;gap:.5rem .75rem;padding:2rem calc(50vw - var(--tui-width) / 2);margin:0 calc(var(--tui-width) / 2 - 50vw) calc(-2rem - env(safe-area-inset-top))}tui-dialog[new][data-appearance~=fullscreen]>footer:before,tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer:before{left:0;right:0}tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>footer,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer{flex-direction:row;background:color-mix(in hsl,var(--tui-background-base) 80%,transparent);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem)}tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>footer:before,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer:before{display:none}tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>footer>button,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer>button,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>footer>a,tui-root:not(._mobile) tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer>a{inline-size:auto}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]{padding-block-end:max(1rem,env(safe-area-inset-bottom));--tui-from: translateY(4rem)}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen] .t-close{align-self:flex-start;block-size:3.5rem;margin-block-end:1rem}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>tui-app-bar,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>ng-component>tui-app-bar{margin:calc(-1*env(safe-area-inset-top)) -1rem 1rem;padding-block-start:env(safe-area-inset-top);box-sizing:content-box}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>header,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>[tuiSlides]>*>header,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>ng-component>header,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>ng-component>[tuiSlides]>*>header{margin:-.25rem 0 1.5rem}tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>footer,tui-root._mobile tui-dialog[new][data-appearance~=fullscreen]>ng-component>footer{padding:0 1rem max(1rem,env(safe-area-inset-bottom));margin:1.5rem -1rem calc(-1*max(1rem,env(safe-area-inset-bottom)))}\n"] }]
69
- }] });
70
- function getSize({ appearance, size }) {
71
- if (appearance.includes('fullscreen')) {
72
- return 'h3';
73
- }
74
- return size === 's' ? 'h5' : 'h4';
75
- }
76
-
77
- const TUI_DIALOG_DEFAULT_OPTIONS = {
78
- appearance: 'taiga',
79
- size: 'm',
80
- required: false,
81
- closable: true,
82
- dismissible: true,
83
- label: '',
84
- data: undefined,
85
- };
86
- const [TUI_DIALOG_OPTIONS, tuiDialogOptionsProvider] = tuiCreateOptions(TUI_DIALOG_DEFAULT_OPTIONS);
87
-
88
- class TuiDialogService extends TuiPopoverService {
89
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDialogService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
90
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDialogService, providedIn: 'root', useFactory: () => new TuiDialogService(TUI_DIALOGS, TuiDialogComponent, inject(TUI_DIALOG_OPTIONS)) }); }
91
- }
92
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDialogService, decorators: [{
93
- type: Injectable,
94
- args: [{
95
- providedIn: 'root',
96
- useFactory: () => new TuiDialogService(TUI_DIALOGS, TuiDialogComponent, inject(TUI_DIALOG_OPTIONS)),
97
- }]
98
- }] });
99
-
100
- class TuiDialog extends TuiPopoverDirective {
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDialog, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
102
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.9", type: TuiDialog, isStandalone: true, selector: "ng-template[tuiDialog]", inputs: { options: ["tuiDialogOptions", "options"], open: ["tuiDialog", "open"] }, outputs: { openChange: "tuiDialogChange" }, providers: [tuiAsPopover(TuiDialogService)], usesInheritance: true, ngImport: i0 }); }
103
- }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiDialog, decorators: [{
105
- type: Directive,
106
- args: [{
107
- standalone: true,
108
- selector: 'ng-template[tuiDialog]',
109
- inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],
110
- outputs: ['openChange: tuiDialogChange'],
111
- providers: [tuiAsPopover(TuiDialogService)],
112
- }]
113
- }] });
114
-
115
- /**
116
- * Generated bundle index. Do not edit.
117
- */
118
-
119
- export { TUI_DIALOG_DEFAULT_OPTIONS, TUI_DIALOG_OPTIONS, TuiDialog, TuiDialogComponent, TuiDialogService, tuiDialogOptionsProvider };
120
- //# sourceMappingURL=taiga-ui-experimental-components-dialog.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-dialog.mjs","sources":["../../../projects/experimental/components/dialog/dialog.component.ts","../../../projects/experimental/components/dialog/dialog.template.html","../../../projects/experimental/components/dialog/dialog.options.ts","../../../projects/experimental/components/dialog/dialog.service.ts","../../../projects/experimental/components/dialog/dialog.directive.ts","../../../projects/experimental/components/dialog/taiga-ui-experimental-components-dialog.ts"],"sourcesContent":["import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n TemplateRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {TuiAutoFocus} from '@taiga-ui/cdk/directives/auto-focus';\nimport {type TuiPopover} from '@taiga-ui/cdk/services';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {TUI_DIALOGS_CLOSE, TuiDialogCloseService} from '@taiga-ui/core/components/dialog';\nimport {TuiTitle} from '@taiga-ui/core/directives/title';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {TUI_HEADER_OPTIONS, TuiHeader} from '@taiga-ui/layout/components/header';\nimport {\n injectContext,\n PolymorpheusComponent,\n PolymorpheusOutlet,\n} from '@taiga-ui/polymorpheus';\nimport {\n exhaustMap,\n filter,\n isObservable,\n map,\n merge,\n type Observable,\n of,\n Subject,\n switchMap,\n take,\n} from 'rxjs';\n\nimport {type TuiDialogOptions} from './dialog.options';\n\nconst REQUIRED_ERROR = new Error('Required dialog was dismissed');\n\nfunction toObservable<T>(valueOrStream: Observable<T> | T): Observable<T> {\n return isObservable(valueOrStream) ? valueOrStream : of(valueOrStream);\n}\n\n@Component({\n selector: 'tui-dialog',\n imports: [NgIf, PolymorpheusOutlet, TuiAutoFocus, TuiButton, TuiHeader, TuiTitle],\n templateUrl: './dialog.template.html',\n styleUrls: ['./dialog.style.less'],\n encapsulation: ViewEncapsulation.None,\n // So we don't force OnPush on dialog content\n // eslint-disable-next-line @angular-eslint/prefer-on-push-component-change-detection\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [\n TuiDialogCloseService,\n {\n provide: TUI_HEADER_OPTIONS,\n useFactory: (): {\n size: string;\n } => ({size: getSize(injectContext())}),\n },\n ],\n hostDirectives: [TuiAnimated],\n host: {\n new: '',\n '[attr.data-appearance]': 'context.appearance',\n '[attr.data-size]': 'context.size',\n '[class._closable]': 'context.closable',\n },\n})\nexport class TuiDialogComponent<O, I> {\n protected readonly close$ = new Subject<void>();\n protected readonly close = toSignal(inject(TUI_CLOSE_WORD));\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly context = injectContext<TuiPopover<TuiDialogOptions<I>, O>>();\n\n protected readonly sub = merge(\n this.close$.pipe(switchMap(() => toObservable(this.context.closable))),\n inject(TuiDialogCloseService).pipe(\n exhaustMap(() => toObservable(this.context.dismissible).pipe(take(1))),\n ),\n inject(TUI_DIALOGS_CLOSE).pipe(map(TUI_TRUE_HANDLER)),\n )\n .pipe(filter(Boolean), takeUntilDestroyed())\n .subscribe(() => {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n });\n\n protected get primitive(): boolean {\n return (\n !(this.context.content instanceof TemplateRef) &&\n !(this.context.content instanceof PolymorpheusOutlet) &&\n !(this.context.content instanceof PolymorpheusComponent)\n );\n }\n}\n\nfunction getSize({appearance, size}: TuiDialogOptions<unknown>): 'h3' | 'h4' | 'h5' {\n if (appearance.includes('fullscreen')) {\n return 'h3';\n }\n\n return size === 's' ? 'h5' : 'h4';\n}\n","<button\n *ngIf=\"context.closable\"\n size=\"s\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"context.appearance === 'fullscreen' ? 'action' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n>\n {{ close() }}\n</button>\n\n<header\n *ngIf=\"!primitive\"\n tuiHeader\n>\n <hgroup tuiTitle>\n <h2\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></h2>\n </hgroup>\n</header>\n\n<ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <header tuiHeader>\n <hgroup tuiTitle>\n <h2\n [id]=\"context.id\"\n [innerHTML]=\"context.label\"\n ></h2>\n <p [innerHTML]=\"text\"></p>\n </hgroup>\n </header>\n <footer *ngIf=\"context.closable || context.dismissible\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data || 'OK' }}\n </button>\n </footer>\n</ng-container>\n","import {type TuiPopoverContext} from '@taiga-ui/cdk/services';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type Observable} from 'rxjs';\n\n/**\n * Options for a dialog\n *\n * appearance - data-appearance attribute of the dialog ('taiga' by default)\n * closable - show close button (true by default)\n * data - arbitrary data for dialog\n * dismissible - close dialog by Esc button or click on overlay (true by default)\n * label - string title for the dialog ('' by default)\n * required - dismissing or closing dialog by X button throws (false by default)\n * size - size of the dialog ('m' by default)\n */\nexport interface TuiDialogOptions<I> {\n readonly appearance: string;\n readonly closable: Observable<boolean> | boolean;\n readonly data: I extends void ? undefined : I;\n readonly dismissible: Observable<boolean> | boolean;\n readonly label: string;\n readonly required: boolean;\n readonly size: TuiSizeL | TuiSizeS;\n}\n\nexport interface TuiDialogContext<O = void, I = undefined>\n extends TuiPopoverContext<O>,\n TuiDialogOptions<I> {}\n\nexport const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogOptions<void> = {\n appearance: 'taiga',\n size: 'm',\n required: false,\n closable: true,\n dismissible: true,\n label: '',\n data: undefined,\n};\n\nexport const [TUI_DIALOG_OPTIONS, tuiDialogOptionsProvider] = tuiCreateOptions(\n TUI_DIALOG_DEFAULT_OPTIONS,\n);\n","import {inject, Injectable} from '@angular/core';\nimport {TuiPopoverService} from '@taiga-ui/cdk/services';\nimport {TUI_DIALOGS} from '@taiga-ui/core/components/dialog';\n\nimport {TuiDialogComponent} from './dialog.component';\nimport {TUI_DIALOG_OPTIONS, type TuiDialogOptions} from './dialog.options';\n\n@Injectable({\n providedIn: 'root',\n useFactory: () =>\n new TuiDialogService(TUI_DIALOGS, TuiDialogComponent, inject(TUI_DIALOG_OPTIONS)),\n})\nexport class TuiDialogService extends TuiPopoverService<TuiDialogOptions<any>> {}\n","import {Directive} from '@angular/core';\nimport {TuiPopoverDirective} from '@taiga-ui/cdk/directives/popover';\nimport {tuiAsPopover} from '@taiga-ui/cdk/services';\n\nimport {type TuiDialogOptions} from './dialog.options';\nimport {TuiDialogService} from './dialog.service';\n\n@Directive({\n standalone: true,\n selector: 'ng-template[tuiDialog]',\n inputs: ['options: tuiDialogOptions', 'open: tuiDialog'],\n outputs: ['openChange: tuiDialogChange'],\n providers: [tuiAsPopover(TuiDialogService)],\n})\nexport class TuiDialog<T> extends TuiPopoverDirective<TuiDialogOptions<T>> {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- import { NgIf, NgTemplateOutlet } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { inject, ChangeDetectorRef, signal, TemplateRef, Input, ContentChild, ChangeDetectionStrategy, Component } from '@angular/core';
4
- import { TuiItem } from '@taiga-ui/cdk/directives/item';
5
- import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
6
-
7
- class TuiExpand {
8
- constructor() {
9
- this.el = tuiInjectElement();
10
- this.cdr = inject(ChangeDetectorRef);
11
- this.signal = signal(false);
12
- this.animating = signal(false);
13
- }
14
- set expanded(expanded) {
15
- if (expanded === this.signal()) {
16
- return;
17
- }
18
- this.signal.set(expanded);
19
- // TODO: try removing in Angular 17
20
- this.cdr.detectChanges();
21
- this.el.classList.toggle('_expanded', expanded);
22
- }
23
- onTransitionEnd({ propertyName }) {
24
- if (propertyName === 'grid-template-rows') {
25
- this.animating.set(this.signal());
26
- }
27
- }
28
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiExpand, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
29
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: TuiExpand, isStandalone: true, selector: "tui-expand", inputs: { expanded: "expanded" }, host: { listeners: { "transitionend.self": "onTransitionEnd($event)" }, properties: { "class._expanded": "signal()" } }, queries: [{ propertyName: "content", first: true, predicate: TuiItem, descendants: true, read: TemplateRef }], ngImport: i0, template: `
30
- <div class="t-wrapper">
31
- <ng-container
32
- *ngIf="signal() || animating()"
33
- [ngTemplateOutlet]="content || null"
34
- />
35
- <ng-content />
36
- </div>
37
- `, isInline: true, styles: [":host{transition-property:grid-template-rows,padding;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:grid;grid-template-rows:0fr;transition-delay:1ms}:host:not(._expanded){padding-block:0}:host._expanded{grid-template-rows:1fr}:host._expanded .t-wrapper{opacity:1;visibility:visible}.t-wrapper{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;grid-row:1 / span 2;overflow:hidden;opacity:0;visibility:hidden}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
38
- }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: TuiExpand, decorators: [{
40
- type: Component,
41
- args: [{ selector: 'tui-expand', imports: [NgIf, NgTemplateOutlet], template: `
42
- <div class="t-wrapper">
43
- <ng-container
44
- *ngIf="signal() || animating()"
45
- [ngTemplateOutlet]="content || null"
46
- />
47
- <ng-content />
48
- </div>
49
- `, changeDetection: ChangeDetectionStrategy.OnPush, host: {
50
- '[class._expanded]': 'signal()',
51
- '(transitionend.self)': 'onTransitionEnd($event)',
52
- }, styles: [":host{transition-property:grid-template-rows,padding;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:grid;grid-template-rows:0fr;transition-delay:1ms}:host:not(._expanded){padding-block:0}:host._expanded{grid-template-rows:1fr}:host._expanded .t-wrapper{opacity:1;visibility:visible}.t-wrapper{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;grid-row:1 / span 2;overflow:hidden;opacity:0;visibility:hidden}\n"] }]
53
- }], propDecorators: { content: [{
54
- type: ContentChild,
55
- args: [TuiItem, { read: TemplateRef }]
56
- }], expanded: [{
57
- type: Input
58
- }] } });
59
-
60
- /**
61
- * Generated bundle index. Do not edit.
62
- */
63
-
64
- export { TuiExpand };
65
- //# sourceMappingURL=taiga-ui-experimental-components-expand.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-experimental-components-expand.mjs","sources":["../../../projects/experimental/components/expand/expand.component.ts","../../../projects/experimental/components/expand/taiga-ui-experimental-components-expand.ts"],"sourcesContent":["import {NgIf, NgTemplateOutlet} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n inject,\n Input,\n signal,\n TemplateRef,\n} from '@angular/core';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\n\n@Component({\n selector: 'tui-expand',\n imports: [NgIf, NgTemplateOutlet],\n template: `\n <div class=\"t-wrapper\">\n <ng-container\n *ngIf=\"signal() || animating()\"\n [ngTemplateOutlet]=\"content || null\"\n />\n <ng-content />\n </div>\n `,\n styleUrls: ['./expand.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '[class._expanded]': 'signal()',\n '(transitionend.self)': 'onTransitionEnd($event)',\n },\n})\nexport class TuiExpand {\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n\n @ContentChild(TuiItem, {read: TemplateRef})\n protected content?: TemplateRef<any>;\n\n protected readonly signal = signal(false);\n protected readonly animating = signal(false);\n\n @Input()\n public set expanded(expanded: boolean) {\n if (expanded === this.signal()) {\n return;\n }\n\n this.signal.set(expanded);\n // TODO: try removing in Angular 17\n this.cdr.detectChanges();\n this.el.classList.toggle('_expanded', expanded);\n }\n\n protected onTransitionEnd({propertyName}: TransitionEvent): void {\n if (propertyName === 'grid-template-rows') {\n this.animating.set(this.signal());\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;MAiCa,SAAS,CAAA;AAnBtB,IAAA,WAAA,GAAA;QAoBqB,IAAA,CAAA,EAAE,GAAG,gBAAgB,EAAE;AACvB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;AAK7B,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;AACtB,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC;AAmB/C,IAAA;IAjBG,IACW,QAAQ,CAAC,QAAiB,EAAA;AACjC,QAAA,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM,EAAE,EAAE;YAC5B;QACJ;AAEA,QAAA,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC;;AAEzB,QAAA,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE;QACxB,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC;IACnD;IAEU,eAAe,CAAC,EAAC,YAAY,EAAkB,EAAA;AACrD,QAAA,IAAI,YAAY,KAAK,oBAAoB,EAAE;YACvC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACrC;IACJ;8GA1BS,SAAS,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,oBAAA,EAAA,yBAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,EAAA,EAAA,OAAA,EAAA,CAAA,EAAA,YAAA,EAAA,SAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAIJ,OAAO,EAAA,WAAA,EAAA,IAAA,EAAA,IAAA,EAAS,WAAW,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EApB/B;;;;;;;;KAQT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,ohBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EATS,IAAI,6FAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;2FAiBvB,SAAS,EAAA,UAAA,EAAA,CAAA;kBAnBrB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,YAAY,WACb,CAAC,IAAI,EAAE,gBAAgB,CAAC,EAAA,QAAA,EACvB;;;;;;;;KAQT,EAAA,eAAA,EAEgB,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC;AACF,wBAAA,mBAAmB,EAAE,UAAU;AAC/B,wBAAA,sBAAsB,EAAE,yBAAyB;AACpD,qBAAA,EAAA,MAAA,EAAA,CAAA,ohBAAA,CAAA,EAAA;8BAOS,OAAO,EAAA,CAAA;sBADhB,YAAY;AAAC,gBAAA,IAAA,EAAA,CAAA,OAAO,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC;gBAO/B,QAAQ,EAAA,CAAA;sBADlB;;;AC3CL;;AAEG;;;;"}