@taiga-ui/legacy 4.52.0-canary.a59c4d0 → 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.
- package/components/dialog/dialog.component.d.ts +2 -2
- package/components/index.d.ts +0 -1
- package/components/input-date-range/input-date-range.module.d.ts +8 -9
- package/components/input-date-time/input-date-time.component.d.ts +4 -3
- package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
- package/components/multi-select/multi-select.module.d.ts +9 -10
- package/components/pdf-viewer/pdf-viewer.component.d.ts +1 -1
- package/fesm2022/taiga-ui-legacy-components-dialog.mjs +4 -5
- package/fesm2022/taiga-ui-legacy-components-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs +11 -15
- package/fesm2022/taiga-ui-legacy-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs +4 -4
- package/fesm2022/taiga-ui-legacy-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs +1 -1
- package/fesm2022/taiga-ui-legacy-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs +9 -13
- package/fesm2022/taiga-ui-legacy-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs +4 -5
- package/fesm2022/taiga-ui-legacy-components-pdf-viewer.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components-tag.mjs +1 -1
- package/fesm2022/taiga-ui-legacy-components-tag.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-components.mjs +0 -1
- package/fesm2022/taiga-ui-legacy-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs +1 -2
- package/fesm2022/taiga-ui-legacy-directives-unfinished-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-legacy-utils.mjs +1 -7
- package/fesm2022/taiga-ui-legacy-utils.mjs.map +1 -1
- package/package.json +13 -17
- package/utils/icons-path-factory.d.ts +1 -1
- package/utils/index.d.ts +0 -1
- package/components/combo-box/combo-box-strict.directive.d.ts +0 -12
- package/components/combo-box/combo-box.component.d.ts +0 -52
- package/components/combo-box/combo-box.directive.d.ts +0 -13
- package/components/combo-box/combo-box.module.d.ts +0 -20
- package/components/combo-box/index.d.ts +0 -4
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs +0 -299
- package/fesm2022/taiga-ui-legacy-components-combo-box.mjs.map +0 -1
- package/utils/is-apple.d.ts +0 -5
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { type TuiPopover } from '@taiga-ui/cdk/services';
|
|
2
2
|
import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
|
|
3
|
-
import {
|
|
3
|
+
import { Subject } from 'rxjs';
|
|
4
4
|
import { type TuiDialogOptions, type TuiDialogSize } from './dialog.interfaces';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@taiga-ui/cdk/directives/animated";
|
|
7
7
|
export declare class TuiDialogComponent<O, I> {
|
|
8
8
|
protected readonly close$: Subject<void>;
|
|
9
9
|
protected readonly context: TuiPopover<TuiDialogOptions<I>, O>;
|
|
10
|
-
protected readonly closeWord
|
|
10
|
+
protected readonly closeWord: import("@angular/core").Signal<string>;
|
|
11
11
|
protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
|
|
12
12
|
protected readonly from: import("@angular/core").Signal<"translateY(100vh)" | "translateY(2.5rem)">;
|
|
13
13
|
protected readonly isMobile: import("@angular/core").Signal<boolean | undefined>;
|
package/components/index.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export * from '@taiga-ui/legacy/components/arrow';
|
|
2
|
-
export * from '@taiga-ui/legacy/components/combo-box';
|
|
3
2
|
export * from '@taiga-ui/legacy/components/dialog';
|
|
4
3
|
export * from '@taiga-ui/legacy/components/input';
|
|
5
4
|
export * from '@taiga-ui/legacy/components/input-date-range';
|
|
@@ -3,20 +3,19 @@ import * as i1 from "./input-date-range.component";
|
|
|
3
3
|
import * as i2 from "./input-date-range.directive";
|
|
4
4
|
import * as i3 from "@angular/common";
|
|
5
5
|
import * as i4 from "@maskito/angular";
|
|
6
|
-
import * as i5 from "@taiga-ui/
|
|
7
|
-
import * as i6 from "@taiga-ui/
|
|
8
|
-
import * as i7 from "@taiga-ui/legacy/
|
|
9
|
-
import * as i8 from "@taiga-ui/
|
|
10
|
-
import * as i9 from "@taiga-ui/
|
|
11
|
-
import * as i10 from "@taiga-ui/core/
|
|
12
|
-
import * as i11 from "@taiga-ui/core/directives/
|
|
13
|
-
import * as i12 from "@taiga-ui/core/directives/dropdown";
|
|
6
|
+
import * as i5 from "@taiga-ui/polymorpheus";
|
|
7
|
+
import * as i6 from "@taiga-ui/legacy/components/primitive-textfield";
|
|
8
|
+
import * as i7 from "@taiga-ui/legacy/directives";
|
|
9
|
+
import * as i8 from "@taiga-ui/kit/components/calendar-range";
|
|
10
|
+
import * as i9 from "@taiga-ui/core/components/icon";
|
|
11
|
+
import * as i10 from "@taiga-ui/core/directives/appearance";
|
|
12
|
+
import * as i11 from "@taiga-ui/core/directives/dropdown";
|
|
14
13
|
/**
|
|
15
14
|
* TODO(v5): delete it
|
|
16
15
|
* @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead
|
|
17
16
|
*/
|
|
18
17
|
export declare class TuiInputDateRangeModule {
|
|
19
18
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputDateRangeModule, never>;
|
|
20
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiInputDateRangeModule, [typeof i1.TuiInputDateRangeComponent, typeof i2.TuiInputDateRangeDirective], [typeof i3.CommonModule, typeof i4.MaskitoDirective, typeof i5.
|
|
19
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiInputDateRangeModule, [typeof i1.TuiInputDateRangeComponent, typeof i2.TuiInputDateRangeDirective], [typeof i3.CommonModule, typeof i4.MaskitoDirective, typeof i5.PolymorpheusOutlet, typeof i5.PolymorpheusTemplate, typeof i6.TuiPrimitiveTextfieldModule, typeof i7.TuiTextfieldControllerModule, typeof i8.TuiCalendarRange, typeof i7.TuiValueAccessorModule, typeof i7.TuiLegacyDropdownOpenMonitorDirective, typeof i9.TuiIcon, typeof i10.TuiAppearance, typeof i11.TuiDropdownOptionsDirective, typeof i11.TuiDropdownDriverDirective, typeof i11.TuiDropdownDirective, typeof i11.TuiDropdownComponent, typeof i11.TuiDropdownOpen, typeof i11.TuiDropdownOpenLegacy, typeof i11.TuiDropdownManual, typeof i11.TuiDropdownHover, typeof i11.TuiDropdownContent, typeof i11.TuiDropdownContext, typeof i11.TuiDropdownPosition, typeof i11.TuiDropdownPositionSided, typeof i11.TuiDropdownSelection], [typeof i1.TuiInputDateRangeComponent, typeof i2.TuiInputDateRangeDirective, typeof i6.TuiTextfieldComponent, typeof i11.TuiDropdownOptionsDirective, typeof i11.TuiDropdownDriverDirective, typeof i11.TuiDropdownDirective, typeof i11.TuiDropdownComponent, typeof i11.TuiDropdownOpen, typeof i11.TuiDropdownOpenLegacy, typeof i11.TuiDropdownManual, typeof i11.TuiDropdownHover, typeof i11.TuiDropdownContent, typeof i11.TuiDropdownContext, typeof i11.TuiDropdownPosition, typeof i11.TuiDropdownPositionSided, typeof i11.TuiDropdownSelection]>;
|
|
21
20
|
static ɵinj: i0.ɵɵInjectorDeclaration<TuiInputDateRangeModule>;
|
|
22
21
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type MaskitoOptions } from '@maskito/core';
|
|
2
|
+
import { type MaskitoTimeMode } from '@maskito/kit';
|
|
2
3
|
import { type TuiValueTransformer } from '@taiga-ui/cdk/classes';
|
|
3
|
-
import { type TuiDateMode, TuiDay, TuiMonth, TuiTime
|
|
4
|
+
import { type TuiDateMode, TuiDay, TuiMonth, TuiTime } from '@taiga-ui/cdk/date-time';
|
|
4
5
|
import { type TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
|
|
5
6
|
import { type TuiBooleanHandler, type TuiContext } from '@taiga-ui/cdk/types';
|
|
6
7
|
import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
|
|
@@ -49,8 +50,8 @@ export declare class TuiInputDateTimeComponent extends AbstractTuiControl<[TuiDa
|
|
|
49
50
|
disabledItemHandler: TuiBooleanHandler<TuiDay>;
|
|
50
51
|
defaultActiveYearMonth: TuiMonth;
|
|
51
52
|
open: boolean;
|
|
52
|
-
set timeMode(value:
|
|
53
|
-
get timeMode():
|
|
53
|
+
set timeMode(value: MaskitoTimeMode);
|
|
54
|
+
get timeMode(): MaskitoTimeMode;
|
|
54
55
|
get nativeFocusableElement(): HTMLInputElement | null;
|
|
55
56
|
get focused(): boolean;
|
|
56
57
|
get computedValue(): string;
|
|
@@ -4,7 +4,7 @@ export declare class TuiMultiSelectGroupComponent<T> {
|
|
|
4
4
|
private readonly options;
|
|
5
5
|
private readonly host;
|
|
6
6
|
private readonly control;
|
|
7
|
-
protected readonly multiSelectTexts
|
|
7
|
+
protected readonly multiSelectTexts: import("@angular/core").Signal<{
|
|
8
8
|
all: string;
|
|
9
9
|
none: string;
|
|
10
10
|
}>;
|
|
@@ -11,21 +11,20 @@ import * as i9 from "@angular/forms";
|
|
|
11
11
|
import * as i10 from "@taiga-ui/polymorpheus";
|
|
12
12
|
import * as i11 from "@taiga-ui/legacy/directives";
|
|
13
13
|
import * as i12 from "@taiga-ui/legacy/components/arrow";
|
|
14
|
-
import * as i13 from "@taiga-ui/
|
|
15
|
-
import * as i14 from "@taiga-ui/legacy/components/
|
|
16
|
-
import * as i15 from "@taiga-ui/
|
|
17
|
-
import * as i16 from "@taiga-ui/
|
|
18
|
-
import * as i17 from "@taiga-ui/
|
|
19
|
-
import * as i18 from "@taiga-ui/
|
|
20
|
-
import * as i19 from "@taiga-ui/core/
|
|
21
|
-
import * as i20 from "@taiga-ui/
|
|
22
|
-
import * as i21 from "@taiga-ui/kit/components/data-list-wrapper";
|
|
14
|
+
import * as i13 from "@taiga-ui/legacy/components/input-tag";
|
|
15
|
+
import * as i14 from "@taiga-ui/legacy/components/multi-select-option";
|
|
16
|
+
import * as i15 from "@taiga-ui/cdk/pipes/mapper";
|
|
17
|
+
import * as i16 from "@taiga-ui/core/components/link";
|
|
18
|
+
import * as i17 from "@taiga-ui/kit/pipes/stringify-content";
|
|
19
|
+
import * as i18 from "@taiga-ui/core/directives/dropdown";
|
|
20
|
+
import * as i19 from "@taiga-ui/core/components/data-list";
|
|
21
|
+
import * as i20 from "@taiga-ui/kit/components/data-list-wrapper";
|
|
23
22
|
/**
|
|
24
23
|
* TODO(v5): delete it
|
|
25
24
|
* @deprecated use new version of {@link https://taiga-ui.dev/components/input-chip TuiInputChip} (from @taiga-ui/kit) instead
|
|
26
25
|
*/
|
|
27
26
|
export declare class TuiMultiSelectModule {
|
|
28
27
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiMultiSelectModule, never>;
|
|
29
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiMultiSelectModule, [typeof i1.TuiMultiSelectComponent, typeof i2.TuiMultiSelectGroupComponent, typeof i3.TuiMultiSelectGroupDirective, typeof i4.TuiHideSelectedPipe, typeof i5.TuiNativeMultiSelectComponent, typeof i6.TuiNativeMultiSelectGroupComponent, typeof i7.TuiMultiSelectDirective], [typeof i8.CommonModule, typeof i9.FormsModule, typeof i10.PolymorpheusOutlet, typeof i10.PolymorpheusTemplate, typeof i11.TuiWrapperModule, typeof i12.TuiArrowComponent, typeof i13.
|
|
28
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiMultiSelectModule, [typeof i1.TuiMultiSelectComponent, typeof i2.TuiMultiSelectGroupComponent, typeof i3.TuiMultiSelectGroupDirective, typeof i4.TuiHideSelectedPipe, typeof i5.TuiNativeMultiSelectComponent, typeof i6.TuiNativeMultiSelectGroupComponent, typeof i7.TuiMultiSelectDirective], [typeof i8.CommonModule, typeof i9.FormsModule, typeof i10.PolymorpheusOutlet, typeof i10.PolymorpheusTemplate, typeof i11.TuiWrapperModule, typeof i12.TuiArrowComponent, typeof i13.TuiInputTagModule, typeof i14.TuiMultiSelectOptionModule, typeof i15.TuiMapperPipe, typeof i16.TuiLink, typeof i11.TuiTextfieldControllerModule, typeof i17.TuiStringifyContentPipe, typeof i11.TuiLegacyDropdownOpenMonitorDirective, typeof i18.TuiDropdownOptionsDirective, typeof i18.TuiDropdownDriverDirective, typeof i18.TuiDropdownDirective, typeof i18.TuiDropdownComponent, typeof i18.TuiDropdownOpen, typeof i18.TuiDropdownOpenLegacy, typeof i18.TuiDropdownManual, typeof i18.TuiDropdownHover, typeof i18.TuiDropdownContent, typeof i18.TuiDropdownContext, typeof i18.TuiDropdownPosition, typeof i18.TuiDropdownPositionSided, typeof i18.TuiDropdownSelection, typeof i19.TuiDataListComponent, typeof i19.TuiDataListDirective, typeof i19.TuiOption, typeof i19.TuiOptionNew, typeof i19.TuiOptionWithValue, typeof i19.TuiOptGroup, typeof i20.TuiDataListWrapperComponent, typeof i20.TuiDataListGroupWrapperComponent, typeof i19.TuiDataListDirective], [typeof i1.TuiMultiSelectComponent, typeof i2.TuiMultiSelectGroupComponent, typeof i3.TuiMultiSelectGroupDirective, typeof i4.TuiHideSelectedPipe, typeof i7.TuiMultiSelectDirective, typeof i5.TuiNativeMultiSelectComponent, typeof i6.TuiNativeMultiSelectGroupComponent, typeof i18.TuiDropdownOptionsDirective, typeof i18.TuiDropdownDriverDirective, typeof i18.TuiDropdownDirective, typeof i18.TuiDropdownComponent, typeof i18.TuiDropdownOpen, typeof i18.TuiDropdownOpenLegacy, typeof i18.TuiDropdownManual, typeof i18.TuiDropdownHover, typeof i18.TuiDropdownContent, typeof i18.TuiDropdownContext, typeof i18.TuiDropdownPosition, typeof i18.TuiDropdownPositionSided, typeof i18.TuiDropdownSelection, typeof i19.TuiDataListComponent, typeof i19.TuiDataListDirective, typeof i19.TuiOption, typeof i19.TuiOptionNew, typeof i19.TuiOptionWithValue, typeof i19.TuiOptGroup, typeof i20.TuiDataListWrapperComponent, typeof i20.TuiDataListGroupWrapperComponent, typeof i19.TuiDataListDirective]>;
|
|
30
29
|
static ɵinj: i0.ɵɵInjectorDeclaration<TuiMultiSelectModule>;
|
|
31
30
|
}
|
|
@@ -3,7 +3,7 @@ import { type TuiPdfViewerOptions } from './pdf-viewer.options';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@taiga-ui/cdk/directives/animated";
|
|
5
5
|
export declare class TuiPdfViewerComponent<I, O> {
|
|
6
|
-
protected readonly closeWord
|
|
6
|
+
protected readonly closeWord: import("@angular/core").Signal<string>;
|
|
7
7
|
protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
|
|
8
8
|
protected readonly context: TuiPopover<TuiPdfViewerOptions<I>, O>;
|
|
9
9
|
protected onKeyDownEsc(): void;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { AsyncPipe } from '@angular/common';
|
|
2
1
|
import * as i0 from '@angular/core';
|
|
3
2
|
import { inject, computed, ChangeDetectionStrategy, Component, InjectionToken, Injectable, Directive, assertInInjectionContext, INJECTOR } from '@angular/core';
|
|
4
3
|
import { toSignal, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
@@ -24,7 +23,7 @@ class TuiDialogComponent {
|
|
|
24
23
|
constructor() {
|
|
25
24
|
this.close$ = new Subject();
|
|
26
25
|
this.context = injectContext();
|
|
27
|
-
this.closeWord
|
|
26
|
+
this.closeWord = inject(TUI_CLOSE_WORD);
|
|
28
27
|
this.icons = inject(TUI_COMMON_ICONS);
|
|
29
28
|
this.from = computed(() => this.size === 'fullscreen' || this.size === 'page' || this.isMobile()
|
|
30
29
|
? 'translateY(100vh)'
|
|
@@ -51,16 +50,16 @@ class TuiDialogComponent {
|
|
|
51
50
|
}
|
|
52
51
|
}
|
|
53
52
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiDialogComponent, isStandalone: true, selector: "tui-dialog-legacy", host: { properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "size", "class._centered": "header", "style.--tui-from": "from()" } }, providers: [TuiDialogCloseService], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.15", type: TuiDialogComponent, isStandalone: true, selector: "tui-dialog-legacy", host: { properties: { "attr.data-appearance": "context.appearance", "attr.data-size": "size", "class._centered": "header", "style.--tui-from": "from()" } }, providers: [TuiDialogCloseService], hostDirectives: [{ directive: i1.TuiAnimated }], ngImport: i0, template: "@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord() }}\n </button>\n}\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:2.5rem;border-radius:1.5rem}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-popup)}:host[data-size=auto]{inline-size:auto}:host[data-size=s]{inline-size:25rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{font:var(--tui-font-heading-5)}:host[data-size=m]{inline-size:37.5rem}:host[data-size=l]{inline-size:50rem}:host[data-size=fullscreen],:host[data-size=page]{min-inline-size:100vw;min-block-size:100%;border-radius:0;border:none;background:var(--tui-background-elevation-1);box-shadow:0 4rem var(--tui-background-elevation-1)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - 22.5rem)}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{font:var(--tui-font-heading-3)}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-inline-size:100%;inline-size:100%;max-inline-size:100%;border-radius:0;border:none;margin:auto 0 0;background:var(--tui-background-elevation-1);padding-block-end:env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{font:var(--tui-font-heading-5)}:host :host-context(tui-root._mobile)[data-size=fullscreen],:host :host-context(tui-root._mobile)[data-size=page]{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size=fullscreen] .t-close,:host :host-context(tui-root._mobile)[data-size=page] .t-close{top:max(1rem,env(safe-area-inset-top))}:host[data-size=page] .t-content,:host-context(tui-root._mobile) :host[data-size=page] .t-content{padding:0}.t-heading{margin:0 0 .5rem;overflow-wrap:break-word;font:var(--tui-font-heading-4)}.t-heading_closable{padding-inline-end:2rem}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:1.75rem;background:var(--tui-background-elevation-1)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-content>section{border-radius:inherit}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:1rem;right:1rem}@supports (inset-inline-end: 0){.t-close{right:unset;inset-inline-end:1rem}}.t-buttons{margin-block-start:1.25rem;text-align:end}\n"], dependencies: [{ 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.Default }); }
|
|
55
54
|
}
|
|
56
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDialogComponent, decorators: [{
|
|
57
56
|
type: Component,
|
|
58
|
-
args: [{ selector: 'tui-dialog-legacy', imports: [
|
|
57
|
+
args: [{ selector: 'tui-dialog-legacy', imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.Default, providers: [TuiDialogCloseService], hostDirectives: [TuiAnimated], host: {
|
|
59
58
|
'[attr.data-appearance]': 'context.appearance',
|
|
60
59
|
'[attr.data-size]': 'size',
|
|
61
60
|
'[class._centered]': 'header',
|
|
62
61
|
'[style.--tui-from]': 'from()',
|
|
63
|
-
}, template: "@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord
|
|
62
|
+
}, template: "@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord() }}\n </button>\n}\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);flex-direction:column;box-sizing:border-box;margin:2.5rem;border-radius:1.5rem}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiSlide}:host:after{position:absolute;top:0;left:0;inline-size:100%;block-size:100%;content:\"\";border-radius:inherit;pointer-events:none;box-shadow:var(--tui-shadow-popup)}:host[data-size=auto]{inline-size:auto}:host[data-size=s]{inline-size:25rem}:host[data-size=s] .t-content{padding:1.5rem}:host[data-size=s] .t-heading{font:var(--tui-font-heading-5)}:host[data-size=m]{inline-size:37.5rem}:host[data-size=l]{inline-size:50rem}:host[data-size=fullscreen],:host[data-size=page]{min-inline-size:100vw;min-block-size:100%;border-radius:0;border:none;background:var(--tui-background-elevation-1);box-shadow:0 4rem var(--tui-background-elevation-1)}:host[data-size=fullscreen] .t-content,:host[data-size=page] .t-content{padding:3rem calc(50vw - 22.5rem)}:host[data-size=fullscreen] .t-heading,:host[data-size=page] .t-heading{font:var(--tui-font-heading-3)}:host._centered{text-align:center}:host :host-context(tui-root._mobile)[data-size]{min-inline-size:100%;inline-size:100%;max-inline-size:100%;border-radius:0;border:none;margin:auto 0 0;background:var(--tui-background-elevation-1);padding-block-end:env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size] .t-content{padding:1rem}:host :host-context(tui-root._mobile)[data-size] .t-heading{font:var(--tui-font-heading-5)}:host :host-context(tui-root._mobile)[data-size=fullscreen],:host :host-context(tui-root._mobile)[data-size=page]{padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}:host :host-context(tui-root._mobile)[data-size=fullscreen] .t-close,:host :host-context(tui-root._mobile)[data-size=page] .t-close{top:max(1rem,env(safe-area-inset-top))}:host[data-size=page] .t-content,:host-context(tui-root._mobile) :host[data-size=page] .t-content{padding:0}.t-heading{margin:0 0 .5rem;overflow-wrap:break-word;font:var(--tui-font-heading-4)}.t-heading_closable{padding-inline-end:2rem}.t-heading:empty{display:none}.t-header{display:flex;border-top-left-radius:inherit;border-top-right-radius:inherit;overflow:hidden}:host[data-size=fullscreen] :host-context(tui-root._mobile) .t-header{flex:1}.t-content{border-radius:inherit;padding:1.75rem;background:var(--tui-background-elevation-1)}.t-content:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.t-content>section{border-radius:inherit}.t-filler{flex-grow:1}.t-close{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:1rem;right:1rem}@supports (inset-inline-end: 0){.t-close{right:unset;inset-inline-end:1rem}}.t-buttons{margin-block-start:1.25rem;text-align:end}\n"] }]
|
|
64
63
|
}], ctorParameters: () => [] });
|
|
65
64
|
|
|
66
65
|
const TUI_DIALOG_DEFAULT_OPTIONS = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-dialog.mjs","sources":["../../../projects/legacy/components/dialog/dialog.component.ts","../../../projects/legacy/components/dialog/dialog.template.html","../../../projects/legacy/components/dialog/dialog.tokens.ts","../../../projects/legacy/components/dialog/dialog.service.ts","../../../projects/legacy/components/dialog/dialog.directive.ts","../../../projects/legacy/components/dialog/dialog.factory.ts","../../../projects/legacy/components/dialog/taiga-ui-legacy-components-dialog.ts"],"sourcesContent":["import {AsyncPipe} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, inject} 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 {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {\n injectContext,\n type PolymorpheusContent,\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, type TuiDialogSize} from './dialog.interfaces';\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-legacy',\n imports: [AsyncPipe, PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './dialog.template.html',\n styleUrl: './dialog.style.less',\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: [TuiDialogCloseService],\n hostDirectives: [TuiAnimated],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n '[attr.data-size]': 'size',\n '[class._centered]': 'header',\n '[style.--tui-from]': 'from()',\n },\n})\nexport class TuiDialogComponent<O, I> {\n protected readonly close$ = new Subject<void>();\n protected readonly context = injectContext<TuiPopover<TuiDialogOptions<I>, O>>();\n protected readonly closeWord$ = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly from = computed(() =>\n this.size === 'fullscreen' || this.size === 'page' || this.isMobile()\n ? 'translateY(100vh)'\n : 'translateY(2.5rem)',\n );\n\n protected readonly isMobile = toSignal(\n inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile')),\n );\n\n constructor() {\n 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 this.close();\n });\n }\n\n protected get size(): TuiDialogSize {\n return this.context.size;\n }\n\n protected get header(): PolymorpheusContent<TuiPopover<TuiDialogOptions<I>, O>> {\n return this.context.header;\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord$ | async }}\n </button>\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {type TuiDialogOptions} from './dialog.interfaces';\n\nexport const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogOptions<void> = {\n appearance: '',\n size: 'm',\n required: false,\n closable: true,\n dismissible: true,\n label: '',\n header: '',\n data: undefined,\n};\n\n/**\n * Default parameters for dialog component\n */\nexport const TUI_DIALOG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_DIALOG_OPTIONS' : '',\n {\n factory: () => TUI_DIALOG_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiDialogOptionsProvider(\n options: Partial<TuiDialogOptions<unknown>>,\n): Provider {\n return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, 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 {type TuiDialogOptions} from './dialog.interfaces';\nimport {TUI_DIALOG_OPTIONS} from './dialog.tokens';\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.interfaces';\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","import {assertInInjectionContext, inject, INJECTOR, type Injector} from '@angular/core';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {type TuiDialogContext, type TuiDialogOptions} from './dialog.interfaces';\nimport {TuiDialogService} from './dialog.service';\n\ntype SingleUnionOrNever<T, U = T> = [T] extends [never]\n ? never\n : T extends U\n ? [U] extends [T]\n ? T\n : never\n : never;\n\ntype ReplaceAny<T> = 0 extends T & 1 ? void : T;\n\ntype ContextKeys<T> = {\n [K in keyof T]: ReplaceAny<T[K]> extends TuiDialogContext<any, any> | null\n ? K\n : never;\n}[keyof T];\n\ntype AssertNotMultipleContexts<T, K extends keyof T> = [K] extends [never]\n ? new (...args: any[]) => T\n : [SingleUnionOrNever<K>] extends [never]\n ? 'Component has multiple context. Cannot determine the type...'\n : new (...args: any[]) => T;\n\ntype ExtractDialogData<T, K extends keyof T = ContextKeys<T>> = [K] extends [never]\n ? void\n : [SingleUnionOrNever<K>] extends [never]\n ? never\n : T[K] extends TuiDialogContext<any, infer D> | null\n ? D\n : void;\n\ntype ExtractDialogResult<T, K extends keyof T = ContextKeys<T>> = [K] extends [never]\n ? void\n : [SingleUnionOrNever<K>] extends [never]\n ? never\n : T[K] extends TuiDialogContext<infer R, any> | null\n ? R\n : void;\n\ntype Options<T> = Omit<TuiDialogOptions<T>, 'data'> & {injector: Injector};\n\nexport function tuiDialog<\n T,\n K extends ContextKeys<T>,\n D extends ExtractDialogData<T, K>,\n R extends ExtractDialogResult<T, K>,\n>(\n component: AssertNotMultipleContexts<T, K>,\n {injector, ...options}: Partial<Options<D>> = {},\n): (data: D) => Observable<R> {\n if (!injector) {\n assertInInjectionContext(tuiDialog);\n injector = inject(INJECTOR);\n }\n\n const dialogService = injector.get(TuiDialogService);\n\n return (data) =>\n dialogService.open(\n new PolymorpheusComponent(component as new () => T, injector),\n {\n ...options,\n data,\n },\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-dialog.mjs","sources":["../../../projects/legacy/components/dialog/dialog.component.ts","../../../projects/legacy/components/dialog/dialog.template.html","../../../projects/legacy/components/dialog/dialog.tokens.ts","../../../projects/legacy/components/dialog/dialog.service.ts","../../../projects/legacy/components/dialog/dialog.directive.ts","../../../projects/legacy/components/dialog/dialog.factory.ts","../../../projects/legacy/components/dialog/taiga-ui-legacy-components-dialog.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, computed, inject} 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 {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {TUI_CLOSE_WORD, TUI_COMMON_ICONS} from '@taiga-ui/core/tokens';\nimport {\n injectContext,\n type PolymorpheusContent,\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, type TuiDialogSize} from './dialog.interfaces';\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-legacy',\n imports: [PolymorpheusOutlet, TuiAutoFocus, TuiButton],\n templateUrl: './dialog.template.html',\n styleUrl: './dialog.style.less',\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: [TuiDialogCloseService],\n hostDirectives: [TuiAnimated],\n host: {\n '[attr.data-appearance]': 'context.appearance',\n '[attr.data-size]': 'size',\n '[class._centered]': 'header',\n '[style.--tui-from]': 'from()',\n },\n})\nexport class TuiDialogComponent<O, I> {\n protected readonly close$ = new Subject<void>();\n protected readonly context = injectContext<TuiPopover<TuiDialogOptions<I>, O>>();\n protected readonly closeWord = inject(TUI_CLOSE_WORD);\n protected readonly icons = inject(TUI_COMMON_ICONS);\n protected readonly from = computed(() =>\n this.size === 'fullscreen' || this.size === 'page' || this.isMobile()\n ? 'translateY(100vh)'\n : 'translateY(2.5rem)',\n );\n\n protected readonly isMobile = toSignal(\n inject(TuiBreakpointService).pipe(map((breakpoint) => breakpoint === 'mobile')),\n );\n\n constructor() {\n 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 this.close();\n });\n }\n\n protected get size(): TuiDialogSize {\n return this.context.size;\n }\n\n protected get header(): PolymorpheusContent<TuiPopover<TuiDialogOptions<I>, O>> {\n return this.context.header;\n }\n\n private close(): void {\n if (this.context.required) {\n this.context.$implicit.error(REQUIRED_ERROR);\n } else {\n this.context.$implicit.complete();\n }\n }\n}\n","@if (header) {\n <header class=\"t-header\">\n <ng-container *polymorpheusOutlet=\"header as text; context: context\">\n {{ text }}\n </ng-container>\n </header>\n}\n<div class=\"t-content\">\n <h2\n class=\"t-heading\"\n [class.t-heading_closable]=\"context.closable && !header\"\n [id]=\"context.id\"\n [textContent]=\"context.label\"\n ></h2>\n <section>\n <ng-container *polymorpheusOutlet=\"context.content as text; context: context\">\n <div [innerHTML]=\"text\"></div>\n @if (context.closable || context.dismissible) {\n <div class=\"t-buttons\">\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n (click)=\"context.$implicit.complete()\"\n >\n {{ context.data?.button || 'OK' }}\n </button>\n </div>\n }\n </ng-container>\n </section>\n</div>\n<div class=\"t-filler\"></div>\n\n<!-- Close button is insensitive to `context.closable === Observable<false>` by design -->\n@if (context.closable) {\n <button\n automation-id=\"tui-dialog__close\"\n tuiIconButton\n type=\"button\"\n class=\"t-close\"\n [appearance]=\"isMobile() ? 'icon' : 'neutral'\"\n [iconStart]=\"icons.close\"\n [size]=\"isMobile() ? 'xs' : 's'\"\n [style.border-radius.%]=\"100\"\n (click)=\"close$.next()\"\n (mousedown.prevent.zoneless)=\"(0)\"\n >\n {{ closeWord() }}\n </button>\n}\n","import {InjectionToken, type Provider} from '@angular/core';\nimport {tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {type TuiDialogOptions} from './dialog.interfaces';\n\nexport const TUI_DIALOG_DEFAULT_OPTIONS: TuiDialogOptions<void> = {\n appearance: '',\n size: 'm',\n required: false,\n closable: true,\n dismissible: true,\n label: '',\n header: '',\n data: undefined,\n};\n\n/**\n * Default parameters for dialog component\n */\nexport const TUI_DIALOG_OPTIONS = new InjectionToken(\n ngDevMode ? 'TUI_DIALOG_OPTIONS' : '',\n {\n factory: () => TUI_DIALOG_DEFAULT_OPTIONS,\n },\n);\n\nexport function tuiDialogOptionsProvider(\n options: Partial<TuiDialogOptions<unknown>>,\n): Provider {\n return tuiProvideOptions(TUI_DIALOG_OPTIONS, options, 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 {type TuiDialogOptions} from './dialog.interfaces';\nimport {TUI_DIALOG_OPTIONS} from './dialog.tokens';\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.interfaces';\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","import {assertInInjectionContext, inject, INJECTOR, type Injector} from '@angular/core';\nimport {PolymorpheusComponent} from '@taiga-ui/polymorpheus';\nimport {type Observable} from 'rxjs';\n\nimport {type TuiDialogContext, type TuiDialogOptions} from './dialog.interfaces';\nimport {TuiDialogService} from './dialog.service';\n\ntype SingleUnionOrNever<T, U = T> = [T] extends [never]\n ? never\n : T extends U\n ? [U] extends [T]\n ? T\n : never\n : never;\n\ntype ReplaceAny<T> = 0 extends T & 1 ? void : T;\n\ntype ContextKeys<T> = {\n [K in keyof T]: ReplaceAny<T[K]> extends TuiDialogContext<any, any> | null\n ? K\n : never;\n}[keyof T];\n\ntype AssertNotMultipleContexts<T, K extends keyof T> = [K] extends [never]\n ? new (...args: any[]) => T\n : [SingleUnionOrNever<K>] extends [never]\n ? 'Component has multiple context. Cannot determine the type...'\n : new (...args: any[]) => T;\n\ntype ExtractDialogData<T, K extends keyof T = ContextKeys<T>> = [K] extends [never]\n ? void\n : [SingleUnionOrNever<K>] extends [never]\n ? never\n : T[K] extends TuiDialogContext<any, infer D> | null\n ? D\n : void;\n\ntype ExtractDialogResult<T, K extends keyof T = ContextKeys<T>> = [K] extends [never]\n ? void\n : [SingleUnionOrNever<K>] extends [never]\n ? never\n : T[K] extends TuiDialogContext<infer R, any> | null\n ? R\n : void;\n\ntype Options<T> = Omit<TuiDialogOptions<T>, 'data'> & {injector: Injector};\n\nexport function tuiDialog<\n T,\n K extends ContextKeys<T>,\n D extends ExtractDialogData<T, K>,\n R extends ExtractDialogResult<T, K>,\n>(\n component: AssertNotMultipleContexts<T, K>,\n {injector, ...options}: Partial<Options<D>> = {},\n): (data: D) => Observable<R> {\n if (!injector) {\n assertInInjectionContext(tuiDialog);\n injector = inject(INJECTOR);\n }\n\n const dialogService = injector.get(TuiDialogService);\n\n return (data) =>\n dialogService.open(\n new PolymorpheusComponent(component as new () => T, injector),\n {\n ...options,\n data,\n },\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { __decorate } from 'tslib';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { inject, signal, Input, ViewChild, ChangeDetectionStrategy, Component, Directive, NgModule } from '@angular/core';
|
|
4
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
5
|
import { MASKITO_DEFAULT_OPTIONS } from '@maskito/core';
|
|
6
6
|
import { maskitoDateRangeOptionsGenerator } from '@maskito/kit';
|
|
7
7
|
import { tuiAsControl } from '@taiga-ui/cdk/classes';
|
|
@@ -14,28 +14,26 @@ import { tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
|
|
|
14
14
|
import { TUI_DEFAULT_DATE_FORMAT, TUI_DATE_FORMAT } from '@taiga-ui/core/tokens';
|
|
15
15
|
import { TUI_MOBILE_CALENDAR, TUI_INPUT_DATE_OPTIONS, TUI_DATE_TEXTS, TUI_DATE_RANGE_VALUE_TRANSFORMER, tuiDateStreamWithTransformer, TUI_MOBILE_CALENDAR_PROVIDER } from '@taiga-ui/kit/tokens';
|
|
16
16
|
import { AbstractTuiNullableControl, tuiAsControl as tuiAsControl$1, AbstractTuiTextfieldHost } from '@taiga-ui/legacy/classes';
|
|
17
|
-
import * as
|
|
17
|
+
import * as i3 from '@taiga-ui/legacy/components/primitive-textfield';
|
|
18
18
|
import { TuiPrimitiveTextfieldComponent, TuiTextfieldComponent, TuiPrimitiveTextfieldModule } from '@taiga-ui/legacy/components/primitive-textfield';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i4 from '@taiga-ui/legacy/directives';
|
|
20
20
|
import { TUI_TEXTFIELD_SIZE, TuiTextfieldControllerModule, TuiValueAccessorModule, TuiLegacyDropdownOpenMonitorDirective } from '@taiga-ui/legacy/directives';
|
|
21
21
|
import { tuiAsFocusableItemAccessor, tuiAsTextfieldHost } from '@taiga-ui/legacy/tokens';
|
|
22
22
|
import { TUI_DATE_MODE_MASKITO_ADAPTER } from '@taiga-ui/legacy/utils';
|
|
23
23
|
import { map } from 'rxjs';
|
|
24
24
|
import * as i1 from '@maskito/angular';
|
|
25
25
|
import { MaskitoDirective } from '@maskito/angular';
|
|
26
|
-
import * as i2 from '@taiga-ui/
|
|
27
|
-
import { TuiLet } from '@taiga-ui/cdk/directives/let';
|
|
28
|
-
import * as i3 from '@taiga-ui/polymorpheus';
|
|
26
|
+
import * as i2 from '@taiga-ui/polymorpheus';
|
|
29
27
|
import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus';
|
|
30
|
-
import * as
|
|
28
|
+
import * as i5 from '@taiga-ui/kit/components/calendar-range';
|
|
31
29
|
import { TuiCalendarRange } from '@taiga-ui/kit/components/calendar-range';
|
|
32
|
-
import * as
|
|
30
|
+
import * as i6 from '@taiga-ui/core/components/icon';
|
|
33
31
|
import { TuiIcon } from '@taiga-ui/core/components/icon';
|
|
34
|
-
import * as
|
|
32
|
+
import * as i7 from '@taiga-ui/core/directives/appearance';
|
|
35
33
|
import { TuiAppearance } from '@taiga-ui/core/directives/appearance';
|
|
36
34
|
import * as i1$1 from '@taiga-ui/core/directives/dropdown';
|
|
37
35
|
import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
38
|
-
import * as
|
|
36
|
+
import * as i9 from '@angular/common';
|
|
39
37
|
import { CommonModule } from '@angular/common';
|
|
40
38
|
|
|
41
39
|
/**
|
|
@@ -50,7 +48,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
50
48
|
this.options = inject(TUI_INPUT_DATE_OPTIONS);
|
|
51
49
|
this.textfieldSize = inject(TUI_TEXTFIELD_SIZE);
|
|
52
50
|
this.nativeValue = signal('');
|
|
53
|
-
this.dateTexts$ = inject(TUI_DATE_TEXTS);
|
|
51
|
+
this.dateTexts$ = toObservable(inject(TUI_DATE_TEXTS));
|
|
54
52
|
this.valueTransformer = inject(TUI_DATE_RANGE_VALUE_TRANSFORMER, { optional: true });
|
|
55
53
|
this.dateFiller$ = this.dateTexts$.pipe(map((dateTexts) => changeDateSeparator(dateTexts[this.dateFormat.mode], this.dateFormat.separator)));
|
|
56
54
|
this.dateFormat = TUI_DEFAULT_DATE_FORMAT;
|
|
@@ -223,7 +221,7 @@ class TuiInputDateRangeComponent extends AbstractTuiNullableControl {
|
|
|
223
221
|
tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),
|
|
224
222
|
tuiAsDataListHost(TuiInputDateRangeComponent),
|
|
225
223
|
TUI_MOBILE_CALENDAR_PROVIDER,
|
|
226
|
-
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n
|
|
224
|
+
], viewQueries: [{ propertyName: "textfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n @let dateFiller = dateFiller$ | async;\n <tui-primitive-textfield\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-value{display:flex;inline-size:100%;align-items:center}\n"], dependencies: [{ kind: "directive", type: i1.MaskitoDirective, selector: "[maskito]", inputs: ["maskito", "maskitoElement"], outputs: ["maskitoChange", "maskitoElementChange"] }, { kind: "directive", type: i2.PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i3.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "iconCleaner", "readOnly", "invalid", "disabled", "value"], outputs: ["valueChange"] }, { kind: "directive", type: i3.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { kind: "directive", type: i4.TuiTextfieldIconDirective, selector: "[tuiTextfieldIcon]", inputs: ["tuiTextfieldIcon"] }, { kind: "directive", type: i4.TuiTextfieldFillerDirective, selector: "[tuiTextfieldFiller]", inputs: ["tuiTextfieldFiller"] }, { kind: "component", type: i5.TuiCalendarRange, selector: "tui-calendar-range", inputs: ["disabledItemHandler", "markerHandler", "items", "min", "max", "minLength", "maxLength", "item", "value", "defaultViewedMonth"], outputs: ["valueChange", "itemChange"] }, { kind: "directive", type: i4.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { kind: "directive", type: i4.TuiLegacyDropdownOpenMonitorDirective, selector: "[tuiDropdownOpenMonitor]" }, { kind: "component", type: i6.TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }, { kind: "directive", type: i7.TuiAppearance, selector: "[tuiAppearance]", inputs: ["tuiAppearance", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceMode"] }, { kind: "directive", type: i1$1.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container):not(ng-template)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { kind: "directive", type: i1$1.TuiDropdownOpen, selector: "[tuiDropdown][tuiDropdownOpen],[tuiDropdown][tuiDropdownOpenChange]", inputs: ["tuiDropdownEnabled", "tuiDropdownOpen"], outputs: ["tuiDropdownOpenChange"] }, { kind: "pipe", type: i9.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
227
225
|
}
|
|
228
226
|
__decorate([
|
|
229
227
|
tuiPure
|
|
@@ -240,7 +238,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
240
238
|
], host: {
|
|
241
239
|
'[attr.data-size]': 'size',
|
|
242
240
|
'(click)': 'onClick()',
|
|
243
|
-
}, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n
|
|
241
|
+
}, template: "<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n @let dateFiller = dateFiller$ | async;\n <tui-primitive-textfield\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n", styles: [":host{display:block;border-radius:var(--tui-radius-m);text-align:start}:host._disabled,:host :host-context(*:disabled){pointer-events:none}.t-hosted{display:block;border-radius:inherit}.t-textfield{border-radius:inherit;text-align:inherit}.t-icon{pointer-events:auto}.t-icon_small:before{font-size:1rem}.t-value{display:flex;inline-size:100%;align-items:center}\n"] }]
|
|
244
242
|
}], propDecorators: { textfield: [{
|
|
245
243
|
type: ViewChild,
|
|
246
244
|
args: [TuiPrimitiveTextfieldComponent]
|
|
@@ -301,7 +299,6 @@ class TuiInputDateRangeModule {
|
|
|
301
299
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
302
300
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TuiInputDateRangeModule, declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective], imports: [CommonModule,
|
|
303
301
|
MaskitoDirective,
|
|
304
|
-
TuiLet,
|
|
305
302
|
PolymorpheusOutlet,
|
|
306
303
|
PolymorpheusTemplate,
|
|
307
304
|
TuiPrimitiveTextfieldModule,
|
|
@@ -326,7 +323,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
|
|
|
326
323
|
imports: [
|
|
327
324
|
CommonModule,
|
|
328
325
|
MaskitoDirective,
|
|
329
|
-
TuiLet,
|
|
330
326
|
PolymorpheusOutlet,
|
|
331
327
|
PolymorpheusTemplate,
|
|
332
328
|
TuiPrimitiveTextfieldModule,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-legacy-components-input-date-range.mjs","sources":["../../../projects/legacy/components/input-date-range/input-date-range.component.ts","../../../projects/legacy/components/input-date-range/input-date-range.template.html","../../../projects/legacy/components/input-date-range/input-date-range.directive.ts","../../../projects/legacy/components/input-date-range/input-date-range.module.ts","../../../projects/legacy/components/input-date-range/taiga-ui-legacy-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {MASKITO_DEFAULT_OPTIONS, type MaskitoOptions} from '@maskito/core';\nimport {maskitoDateRangeOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n type TuiDateMode,\n type TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {\n changeDateSeparator,\n tuiIsPresent,\n tuiNullableSame,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {tuiAsDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type TuiDayRangePeriod} from '@taiga-ui/kit/components/calendar-range';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n TUI_MOBILE_CALENDAR_PROVIDER,\n tuiDateStreamWithTransformer,\n type TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiNullableControl,\n tuiAsControl as tuiAsLegacyControl,\n} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {TUI_DATE_MODE_MASKITO_ADAPTER} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {map} from 'rxjs';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrl: './input-date-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent as any),\n tuiAsLegacyControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n tuiAsDataListHost(TuiInputDateRangeComponent),\n TUI_MOBILE_CALENDAR_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly mobileCalendar = inject(TUI_MOBILE_CALENDAR, {optional: true});\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly nativeValue = signal('');\n\n protected readonly dateTexts$ = inject(TUI_DATE_TEXTS);\n protected override readonly valueTransformer = inject(\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n {optional: true},\n );\n\n protected readonly dateFiller$ = this.dateTexts$.pipe(\n map((dateTexts) =>\n changeDateSeparator(\n dateTexts[this.dateFormat.mode],\n this.dateFormat.separator,\n ),\n ),\n );\n\n protected dateFormat = TUI_DEFAULT_DATE_FORMAT;\n protected readonly dateFormat$ = inject(TUI_DATE_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.dateFormat = format;\n });\n\n protected selectedActivePeriod: TuiDayRangePeriod | null = null;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n public min: TuiDay | null = this.options.min;\n\n @Input()\n public max: TuiDay | null = this.options.max;\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n public open = false;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n public get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat.mode, this.dateFormat.separator)\n : nativeValue();\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.toggle();\n }\n }\n\n public onValueChange(value: string): void {\n this.nativeValue.set(value);\n\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value && !this.mobileCalendar) {\n this.onOpenChange(true);\n }\n\n if (this.activePeriod) {\n this.nativeValue.set('');\n }\n\n this.value =\n value.length === DATE_RANGE_FILLER_LENGTH && !this.activePeriod\n ? TuiDayRange.normalizeParse(value, this.dateFormat.mode)\n : null;\n\n if (!this.value) {\n this.selectedActivePeriod = null;\n }\n }\n\n public onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue.set('');\n }\n\n this.value = range;\n }\n\n public override writeValue(value: TuiDayRange | null): void {\n if (this.value === null && value === this.value) {\n return;\n }\n\n super.writeValue(value);\n this.nativeValue.set(this.value ? this.computedValue : '');\n this.selectedActivePeriod = this.findActivePeriodBy(this.value);\n }\n\n protected get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected get computedMask(): MaskitoOptions {\n return this.activePeriod\n ? MASKITO_DEFAULT_OPTIONS\n : this.calculateMask(\n this.dateFormat.mode,\n this.dateFormat.separator,\n this.min,\n this.max,\n this.minLength,\n this.maxLength,\n );\n }\n\n protected get activePeriod(): TuiDayRangePeriod | null {\n return this.selectedActivePeriod ?? this.findActivePeriodBy(this.value);\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent {\n return this.activePeriod?.content || this.computedValue;\n }\n\n protected get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n protected getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n protected onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.onOpenChange(true);\n }\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue().length === DATE_FILLER_LENGTH ||\n this.nativeValue().length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.value = TuiDayRange.normalizeParse(\n this.nativeValue(),\n this.dateFormat.mode,\n );\n }\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDayRange | null,\n newValue: TuiDayRange | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex((item) => String(item) === this.nativeValue()) !== -1;\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateMask(\n dateFormat: TuiDateMode,\n dateSeparator: string,\n min: TuiDay | null,\n max: TuiDay | null,\n minLength: TuiDayLike | null,\n maxLength: TuiDayLike | null,\n ): MaskitoOptions {\n return maskitoDateRangeOptionsGenerator({\n dateSeparator,\n mode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],\n min: (min || TUI_FIRST_DAY).toLocalNativeDate(),\n max: (max || TUI_LAST_DAY).toLocalNativeDate(),\n minLength: minLength || {},\n maxLength: maxLength || {},\n });\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n\n private findActivePeriodBy(value: TuiDayRange | null): TuiDayRangePeriod | null {\n return (\n this.items.find((item) =>\n tuiNullableSame(\n value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ?? null\n );\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n <tui-primitive-textfield\n *tuiLet=\"dateFiller$ | async as dateFiller\"\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n","import {Directive, type DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputDateRangeComponent} from './input-date-range.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent>\n implements DoCheck\n{\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n public override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n public ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiLet} from '@taiga-ui/cdk/directives/let';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiCalendarRange} from '@taiga-ui/kit/components/calendar-range';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n TuiLet,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiCalendarRange,\n TuiValueAccessorModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiIcon,\n TuiAppearance,\n ...TuiDropdown,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiAsLegacyControl","i9","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-legacy-components-input-date-range.mjs","sources":["../../../projects/legacy/components/input-date-range/input-date-range.component.ts","../../../projects/legacy/components/input-date-range/input-date-range.template.html","../../../projects/legacy/components/input-date-range/input-date-range.directive.ts","../../../projects/legacy/components/input-date-range/input-date-range.module.ts","../../../projects/legacy/components/input-date-range/taiga-ui-legacy-components-input-date-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n signal,\n ViewChild,\n} from '@angular/core';\nimport {takeUntilDestroyed, toObservable} from '@angular/core/rxjs-interop';\nimport {MASKITO_DEFAULT_OPTIONS, type MaskitoOptions} from '@maskito/core';\nimport {maskitoDateRangeOptionsGenerator} from '@maskito/kit';\nimport {tuiAsControl} from '@taiga-ui/cdk/classes';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {\n DATE_FILLER_LENGTH,\n DATE_RANGE_FILLER_LENGTH,\n RANGE_SEPARATOR_CHAR,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n type TuiDateMode,\n type TuiDay,\n type TuiDayLike,\n TuiDayRange,\n TuiMonth,\n} from '@taiga-ui/cdk/date-time';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {TUI_IS_MOBILE} from '@taiga-ui/cdk/tokens';\nimport {type TuiBooleanHandler} from '@taiga-ui/cdk/types';\nimport {\n changeDateSeparator,\n tuiIsPresent,\n tuiNullableSame,\n tuiPure,\n} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {type TuiMarkerHandler} from '@taiga-ui/core/components/calendar';\nimport {tuiAsDataListHost} from '@taiga-ui/core/components/data-list';\nimport {TUI_DATE_FORMAT, TUI_DEFAULT_DATE_FORMAT} from '@taiga-ui/core/tokens';\nimport {type TuiSizeL, type TuiSizeS} from '@taiga-ui/core/types';\nimport {type TuiDayRangePeriod} from '@taiga-ui/kit/components/calendar-range';\nimport {\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n TUI_DATE_TEXTS,\n TUI_INPUT_DATE_OPTIONS,\n TUI_MOBILE_CALENDAR,\n TUI_MOBILE_CALENDAR_PROVIDER,\n tuiDateStreamWithTransformer,\n type TuiInputDateOptions,\n} from '@taiga-ui/kit/tokens';\nimport {\n AbstractTuiNullableControl,\n tuiAsControl as tuiAsLegacyControl,\n} from '@taiga-ui/legacy/classes';\nimport {TuiPrimitiveTextfieldComponent} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {TUI_TEXTFIELD_SIZE} from '@taiga-ui/legacy/directives';\nimport {\n tuiAsFocusableItemAccessor,\n type TuiFocusableElementAccessor,\n} from '@taiga-ui/legacy/tokens';\nimport {TUI_DATE_MODE_MASKITO_ADAPTER} from '@taiga-ui/legacy/utils';\nimport {type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {map} from 'rxjs';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@Component({\n standalone: false,\n selector: 'tui-input-date-range',\n templateUrl: './input-date-range.template.html',\n styleUrl: './input-date-range.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputDateRangeComponent),\n tuiAsControl(TuiInputDateRangeComponent as any),\n tuiAsLegacyControl(TuiInputDateRangeComponent),\n tuiDateStreamWithTransformer(TUI_DATE_RANGE_VALUE_TRANSFORMER),\n tuiAsDataListHost(TuiInputDateRangeComponent),\n TUI_MOBILE_CALENDAR_PROVIDER,\n ],\n host: {\n '[attr.data-size]': 'size',\n '(click)': 'onClick()',\n },\n})\nexport class TuiInputDateRangeComponent\n extends AbstractTuiNullableControl<TuiDayRange>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n private readonly isMobile = inject(TUI_IS_MOBILE);\n private readonly mobileCalendar = inject(TUI_MOBILE_CALENDAR, {optional: true});\n private readonly options = inject(TUI_INPUT_DATE_OPTIONS);\n private readonly textfieldSize = inject(TUI_TEXTFIELD_SIZE);\n private readonly nativeValue = signal('');\n\n protected readonly dateTexts$ = toObservable(inject(TUI_DATE_TEXTS));\n protected override readonly valueTransformer = inject(\n TUI_DATE_RANGE_VALUE_TRANSFORMER,\n {optional: true},\n );\n\n protected readonly dateFiller$ = this.dateTexts$.pipe(\n map((dateTexts) =>\n changeDateSeparator(\n dateTexts[this.dateFormat.mode],\n this.dateFormat.separator,\n ),\n ),\n );\n\n protected dateFormat = TUI_DEFAULT_DATE_FORMAT;\n protected readonly dateFormat$ = inject(TUI_DATE_FORMAT)\n .pipe(tuiWatch(this.cdr), takeUntilDestroyed())\n .subscribe((format) => {\n this.dateFormat = format;\n });\n\n protected selectedActivePeriod: TuiDayRangePeriod | null = null;\n\n @Input()\n public disabledItemHandler: TuiBooleanHandler<TuiDay> = TUI_FALSE_HANDLER;\n\n @Input()\n public markerHandler: TuiMarkerHandler | null = null;\n\n @Input()\n public defaultViewedMonth = TuiMonth.currentLocal();\n\n @Input()\n public items: readonly TuiDayRangePeriod[] = [];\n\n @Input()\n public min: TuiDay | null = this.options.min;\n\n @Input()\n public max: TuiDay | null = this.options.max;\n\n @Input()\n public minLength: TuiDayLike | null = null;\n\n @Input()\n public maxLength: TuiDayLike | null = null;\n\n public open = false;\n\n public get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield?.nativeFocusableElement ?? null;\n }\n\n public get focused(): boolean {\n return !!this.textfield?.focused;\n }\n\n public get computedExampleText(): string {\n return this.items.length\n ? this.textfield?.nativeFocusableElement?.placeholder || ''\n : '';\n }\n\n public get computedValue(): string {\n const {value, nativeValue, activePeriod} = this;\n\n if (activePeriod) {\n return String(activePeriod);\n }\n\n return value\n ? value.getFormattedDayRange(this.dateFormat.mode, this.dateFormat.separator)\n : nativeValue();\n }\n\n public get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n public onClick(): void {\n if (!this.isMobile && this.interactive) {\n this.toggle();\n }\n }\n\n public onValueChange(value: string): void {\n this.nativeValue.set(value);\n\n if (this.control) {\n this.control.updateValueAndValidity({emitEvent: false});\n }\n\n if (!value && !this.mobileCalendar) {\n this.onOpenChange(true);\n }\n\n if (this.activePeriod) {\n this.nativeValue.set('');\n }\n\n this.value =\n value.length === DATE_RANGE_FILLER_LENGTH && !this.activePeriod\n ? TuiDayRange.normalizeParse(value, this.dateFormat.mode)\n : null;\n\n if (!this.value) {\n this.selectedActivePeriod = null;\n }\n }\n\n public onRangeChange(range: TuiDayRange | null): void {\n this.toggle();\n this.focusInput();\n\n if (!range) {\n this.nativeValue.set('');\n }\n\n this.value = range;\n }\n\n public override writeValue(value: TuiDayRange | null): void {\n if (this.value === null && value === this.value) {\n return;\n }\n\n super.writeValue(value);\n this.nativeValue.set(this.value ? this.computedValue : '');\n this.selectedActivePeriod = this.findActivePeriodBy(this.value);\n }\n\n protected get computedMobile(): boolean {\n return this.isMobile && !!this.mobileCalendar;\n }\n\n protected get calendarIcon(): TuiInputDateOptions['icon'] {\n return this.options.icon;\n }\n\n protected get computedMask(): MaskitoOptions {\n return this.activePeriod\n ? MASKITO_DEFAULT_OPTIONS\n : this.calculateMask(\n this.dateFormat.mode,\n this.dateFormat.separator,\n this.min,\n this.max,\n this.minLength,\n this.maxLength,\n );\n }\n\n protected get activePeriod(): TuiDayRangePeriod | null {\n return this.selectedActivePeriod ?? this.findActivePeriodBy(this.value);\n }\n\n protected get showValueTemplate(): boolean {\n return tuiIsPresent(this.value) && !this.focused;\n }\n\n protected get computedContent(): PolymorpheusContent {\n return this.activePeriod?.content || this.computedValue;\n }\n\n protected get innerPseudoFocused(): boolean | null {\n if (this.pseudoFocus === false) {\n return false;\n }\n\n if (this.open || this.computedFocused) {\n return true;\n }\n\n return null;\n }\n\n protected getComputedRangeFiller(dateFiller: string): string {\n return this.activePeriod ? '' : this.getDateRangeFiller(dateFiller);\n }\n\n protected onIconClick(): void {\n if (this.isMobile && this.interactive) {\n this.onOpenChange(true);\n }\n }\n\n protected onOpenChange(open: boolean): void {\n this.open = open;\n }\n\n protected onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n\n if (\n !focused &&\n !this.itemSelected &&\n (this.nativeValue().length === DATE_FILLER_LENGTH ||\n this.nativeValue().length ===\n DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length)\n ) {\n this.value = TuiDayRange.normalizeParse(\n this.nativeValue(),\n this.dateFormat.mode,\n );\n }\n }\n\n protected override valueIdenticalComparator(\n oldValue: TuiDayRange | null,\n newValue: TuiDayRange | null,\n ): boolean {\n return tuiNullableSame(oldValue, newValue, (a, b) => a.daySame(b));\n }\n\n private get itemSelected(): boolean {\n return this.items.findIndex((item) => String(item) === this.nativeValue()) !== -1;\n }\n\n // eslint-disable-next-line @typescript-eslint/max-params,max-params\n @tuiPure\n private calculateMask(\n dateFormat: TuiDateMode,\n dateSeparator: string,\n min: TuiDay | null,\n max: TuiDay | null,\n minLength: TuiDayLike | null,\n maxLength: TuiDayLike | null,\n ): MaskitoOptions {\n return maskitoDateRangeOptionsGenerator({\n dateSeparator,\n mode: TUI_DATE_MODE_MASKITO_ADAPTER[dateFormat],\n min: (min || TUI_FIRST_DAY).toLocalNativeDate(),\n max: (max || TUI_LAST_DAY).toLocalNativeDate(),\n minLength: minLength || {},\n maxLength: maxLength || {},\n });\n }\n\n private toggle(): void {\n this.open = !this.open;\n }\n\n private focusInput(preventScroll = false): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll});\n }\n }\n\n private getDateRangeFiller(dateFiller: string): string {\n return `${dateFiller}${RANGE_SEPARATOR_CHAR}${dateFiller}`;\n }\n\n private findActivePeriodBy(value: TuiDayRange | null): TuiDayRangePeriod | null {\n return (\n this.items.find((item) =>\n tuiNullableSame(\n value,\n item.range,\n (a, b) =>\n a.from.daySame(b.from.dayLimit(this.min, this.max)) &&\n a.to.daySame(b.to.dayLimit(this.min, this.max)),\n ),\n ) ?? null\n );\n }\n}\n","<div\n tuiDropdownOpenMonitor\n class=\"t-hosted\"\n [tuiDropdown]=\"dropdown\"\n [tuiDropdownEnabled]=\"interactive\"\n [tuiDropdownOpen]=\"open && interactive\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n (tuiDropdownOpenChange)=\"onOpenChange($event)\"\n>\n @let dateFiller = dateFiller$ | async;\n <tui-primitive-textfield\n automation-id=\"tui-input-date-range__textfield\"\n tuiValueAccessor\n class=\"t-textfield\"\n [disabled]=\"computedDisabled\"\n [invalid]=\"computedInvalid\"\n [maskito]=\"computedMask\"\n [nativeId]=\"nativeId\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"innerPseudoFocused\"\n [pseudoHover]=\"pseudoHover\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldFiller]=\"getComputedRangeFiller(dateFiller || '')\"\n [tuiTextfieldIcon]=\"calendarIcon && iconContent\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange($event)\"\n >\n <ng-content />\n <ng-content\n ngProjectAs=\"input\"\n select=\"input\"\n />\n\n @if (showValueTemplate) {\n <div\n ngProjectAs=\"tuiContent\"\n class=\"t-value\"\n >\n <ng-container *polymorpheusOutlet=\"computedContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n }\n </tui-primitive-textfield>\n\n <ng-template #iconContent>\n <tui-icon\n *polymorpheusOutlet=\"calendarIcon as src; context: {$implicit: size}\"\n automation-id=\"tui-input-date-range__icon\"\n tuiAppearance=\"icon\"\n [class.t-icon_small]=\"size === 's'\"\n [class.t-icon]=\"!computedDisabled\"\n [icon]=\"src.toString()\"\n (click)=\"onIconClick()\"\n />\n </ng-template>\n\n <ng-template #dropdown>\n <tui-calendar-range\n [defaultViewedMonth]=\"defaultViewedMonth\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [items]=\"items\"\n [markerHandler]=\"markerHandler\"\n [max]=\"max\"\n [maxLength]=\"maxLength\"\n [min]=\"min\"\n [minLength]=\"minLength\"\n [value]=\"value\"\n [(item)]=\"selectedActivePeriod\"\n (valueChange)=\"onRangeChange($event)\"\n />\n </ng-template>\n</div>\n","import {Directive, type DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost} from '@taiga-ui/legacy/classes';\nimport {tuiAsTextfieldHost} from '@taiga-ui/legacy/tokens';\n\nimport {type TuiInputDateRangeComponent} from './input-date-range.component';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@Directive({\n standalone: false,\n selector: 'tui-input-date-range',\n providers: [tuiAsTextfieldHost(TuiInputDateRangeDirective)],\n})\nexport class TuiInputDateRangeDirective\n extends AbstractTuiTextfieldHost<TuiInputDateRangeComponent>\n implements DoCheck\n{\n public override get value(): string {\n return this.host.computedValue;\n }\n\n public onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n public override process(input: HTMLInputElement): void {\n input.inputMode = 'numeric';\n }\n\n public ngDoCheck(): void {\n if (this.host.nativeFocusableElement) {\n this.host.nativeFocusableElement.placeholder = this.host.computedExampleText;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MaskitoDirective} from '@maskito/angular';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport {TuiAppearance} from '@taiga-ui/core/directives/appearance';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport {TuiCalendarRange} from '@taiga-ui/kit/components/calendar-range';\nimport {\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/legacy/components/primitive-textfield';\nimport {\n TuiLegacyDropdownOpenMonitorDirective,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n} from '@taiga-ui/legacy/directives';\nimport {PolymorpheusOutlet, PolymorpheusTemplate} from '@taiga-ui/polymorpheus';\n\nimport {TuiInputDateRangeComponent} from './input-date-range.component';\nimport {TuiInputDateRangeDirective} from './input-date-range.directive';\n\n/**\n * TODO(v5): delete it\n * @deprecated use new version of {@link https://taiga-ui.dev/components/input-date-range TuiInputDateRange} (from @taiga-ui/kit) instead\n */\n@NgModule({\n imports: [\n CommonModule,\n MaskitoDirective,\n PolymorpheusOutlet,\n PolymorpheusTemplate,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiCalendarRange,\n TuiValueAccessorModule,\n TuiLegacyDropdownOpenMonitorDirective,\n TuiIcon,\n TuiAppearance,\n ...TuiDropdown,\n ],\n declarations: [TuiInputDateRangeComponent, TuiInputDateRangeDirective],\n exports: [\n TuiInputDateRangeComponent,\n TuiInputDateRangeDirective,\n TuiTextfieldComponent,\n ...TuiDropdown,\n ],\n})\nexport class TuiInputDateRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["tuiAsLegacyControl","i8","i1"],"mappings":"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"}
|