@taiga-ui/kit 4.55.0 → 4.57.0
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/confirm/confirm.component.d.ts +1 -0
- package/components/confirm/confirm.service.d.ts +2 -1
- package/components/input-number/quantum.directive.d.ts +1 -1
- package/components/input-range/input-range.component.d.ts +11 -7
- package/components/input-slider/input-slider.directive.d.ts +1 -2
- package/components/multi-select/multi-select-group/multi-select-group.component.d.ts +1 -1
- package/components/rating/rating.options.d.ts +5 -3
- package/components/toast/index.d.ts +4 -0
- package/components/toast/toast.component.d.ts +17 -0
- package/components/toast/toast.d.ts +3 -0
- package/components/toast/toast.directive.d.ts +3 -3
- package/components/toast/toast.options.d.ts +8 -0
- package/components/toast/toast.service.d.ts +16 -0
- package/esm2022/components/checkbox/checkbox.component.mjs +2 -2
- package/esm2022/components/confirm/confirm.component.mjs +3 -1
- package/esm2022/components/confirm/confirm.service.mjs +7 -7
- package/esm2022/components/input-number/quantum.directive.mjs +6 -5
- package/esm2022/components/input-range/input-range.component.mjs +36 -17
- package/esm2022/components/input-slider/input-slider.directive.mjs +10 -15
- package/esm2022/components/multi-select/multi-select-group/multi-select-group.component.mjs +6 -5
- package/esm2022/components/radio/radio.component.mjs +2 -2
- package/esm2022/components/rating/rating.component.mjs +3 -3
- package/esm2022/components/rating/rating.options.mjs +1 -1
- package/esm2022/components/slider/slider.component.mjs +2 -2
- package/esm2022/components/switch/switch.component.mjs +2 -2
- package/esm2022/components/toast/index.mjs +5 -1
- package/esm2022/components/toast/toast.component.mjs +50 -0
- package/esm2022/components/toast/toast.directive.mjs +9 -9
- package/esm2022/components/toast/toast.mjs +4 -0
- package/esm2022/components/toast/toast.options.mjs +8 -0
- package/esm2022/components/toast/toast.service.mjs +54 -0
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-checkbox.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-confirm.mjs +8 -6
- package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-number.mjs +5 -4
- package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-range.mjs +34 -15
- package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs +9 -14
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs +6 -6
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-radio.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-rating.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-slider.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-switch.mjs +2 -2
- package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-toast.mjs +109 -11
- package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
- package/package.json +20 -20
- package/styles/components/checkbox.less +1 -1
- package/styles/components/radio.less +1 -1
- package/styles/components/switch.less +1 -1
- package/styles/components/toast.less +13 -1
|
@@ -19,3 +19,4 @@ export declare class TuiConfirm {
|
|
|
19
19
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiConfirm, "tui-confirm", never, {}, {}, never, never, true, never>;
|
|
20
20
|
}
|
|
21
21
|
export declare const TUI_CONFIRM: PolymorpheusComponent<TuiConfirm>;
|
|
22
|
+
export declare const TUI_CONFIRM_DIALOG: import("@angular/core").InjectionToken<PolymorpheusContent<TuiDialogContext<boolean, unknown>>>;
|
|
@@ -4,10 +4,11 @@ import { type TuiConfirmData } from './confirm.component';
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export declare class TuiConfirmService {
|
|
6
6
|
private readonly dialogs;
|
|
7
|
+
private readonly component;
|
|
7
8
|
private dirty;
|
|
8
9
|
markAsDirty(): void;
|
|
9
10
|
markAsPristine(): void;
|
|
10
|
-
withConfirm(options: Partial<TuiDialogOptions<
|
|
11
|
+
withConfirm<T = TuiConfirmData>(options: Partial<TuiDialogOptions<T extends infer U ? U : never>>): Observable<boolean>;
|
|
11
12
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiConfirmService, never>;
|
|
12
13
|
static ɵprov: i0.ɵɵInjectableDeclaration<TuiConfirmService>;
|
|
13
14
|
}
|
|
@@ -13,7 +13,7 @@ export declare class TuiQuantumValueTransformer extends TuiQuantumValueTransform
|
|
|
13
13
|
protected parent: TuiValueTransformer<number | null, any> | null;
|
|
14
14
|
constructor();
|
|
15
15
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiQuantumValueTransformer, never>;
|
|
16
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiQuantumValueTransformer, "[tuiInputNumber][quantum]
|
|
16
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiQuantumValueTransformer, "[tuiInputNumber][quantum]", never, { "quantum": { "alias": "quantum"; "required": false; }; }, {}, never, never, true, never>;
|
|
17
17
|
}
|
|
18
18
|
export declare class TuiWithQuantumValueTransformer {
|
|
19
19
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiWithQuantumValueTransformer, never>;
|
|
@@ -17,15 +17,14 @@ export declare class TuiInputRangeComponent extends TuiControl<readonly [
|
|
|
17
17
|
protected textfieldValueStart: number;
|
|
18
18
|
protected textfieldValueEnd: number;
|
|
19
19
|
protected lastActiveSide: 'end' | 'start';
|
|
20
|
+
protected readonly content: import("@angular/core").WritableSignal<readonly [PolymorpheusContent<TuiContext<number>>, PolymorpheusContent<TuiContext<number>>]>;
|
|
21
|
+
protected readonly contentStart: import("@angular/core").Signal<PolymorpheusContent<TuiContext<number>>>;
|
|
22
|
+
protected readonly contentEnd: import("@angular/core").Signal<PolymorpheusContent<TuiContext<number>>>;
|
|
20
23
|
min: number;
|
|
21
24
|
max: number;
|
|
22
25
|
step: number;
|
|
23
26
|
segments: number;
|
|
24
27
|
keySteps: TuiKeySteps | null;
|
|
25
|
-
content: readonly [
|
|
26
|
-
PolymorpheusContent<TuiContext<number>>,
|
|
27
|
-
PolymorpheusContent<TuiContext<number>>
|
|
28
|
-
];
|
|
29
28
|
prefix: readonly [
|
|
30
29
|
string,
|
|
31
30
|
string
|
|
@@ -35,13 +34,17 @@ export declare class TuiInputRangeComponent extends TuiControl<readonly [
|
|
|
35
34
|
string
|
|
36
35
|
];
|
|
37
36
|
set quantumSetter(x: number);
|
|
37
|
+
set contentSetter(x: readonly [
|
|
38
|
+
PolymorpheusContent<TuiContext<number>>,
|
|
39
|
+
PolymorpheusContent<TuiContext<number>>
|
|
40
|
+
]);
|
|
38
41
|
writeValue(value: [
|
|
39
42
|
number,
|
|
40
43
|
number
|
|
41
44
|
]): void;
|
|
42
45
|
ngAfterViewInit(): void;
|
|
43
|
-
protected get
|
|
44
|
-
protected get
|
|
46
|
+
protected get contentStartHidden(): boolean;
|
|
47
|
+
protected get contentEndHidden(): boolean;
|
|
45
48
|
protected takeStep(event: Event | KeyboardEvent, coefficients: readonly [
|
|
46
49
|
number,
|
|
47
50
|
number
|
|
@@ -65,8 +68,9 @@ export declare class TuiInputRangeComponent extends TuiControl<readonly [
|
|
|
65
68
|
private get activeTextfield();
|
|
66
69
|
private setValue;
|
|
67
70
|
private valueGuard;
|
|
71
|
+
private isPrimitive;
|
|
68
72
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputRangeComponent, never>;
|
|
69
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputRangeComponent, "tui-input-range", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; "keySteps": { "alias": "keySteps"; "required": false; }; "
|
|
73
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputRangeComponent, "tui-input-range", never, { "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; "keySteps": { "alias": "keySteps"; "required": false; }; "prefix": { "alias": "prefix"; "required": false; }; "postfix": { "alias": "postfix"; "required": false; }; "quantumSetter": { "alias": "quantum"; "required": false; }; "contentSetter": { "alias": "content"; "required": false; }; }, {}, never, ["label"], true, never>;
|
|
70
74
|
static ngAcceptInputType_prefix: readonly [
|
|
71
75
|
string,
|
|
72
76
|
string
|
|
@@ -3,7 +3,7 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
import * as i1 from "@taiga-ui/kit/components/input-number";
|
|
4
4
|
export declare class TuiInputSliderDirective {
|
|
5
5
|
private readonly isMobile;
|
|
6
|
-
private readonly
|
|
6
|
+
private readonly el;
|
|
7
7
|
private readonly slider;
|
|
8
8
|
private readonly controlTransformer;
|
|
9
9
|
private readonly keyStepsTransformer;
|
|
@@ -13,7 +13,6 @@ export declare class TuiInputSliderDirective {
|
|
|
13
13
|
protected readonly textfieldToSliderSync: import("@angular/core").EffectRef;
|
|
14
14
|
protected readonly sliderInitEffect: import("@angular/core").EffectRef;
|
|
15
15
|
protected onStep(coefficient: number): void;
|
|
16
|
-
private onSliderInput;
|
|
17
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputSliderDirective, never>;
|
|
18
17
|
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiInputSliderDirective, "input[tuiInputSlider]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiInputNumberDirective; inputs: { "min": "min"; "max": "max"; "prefix": "prefix"; "postfix": "postfix"; "invalid": "invalid"; "readOnly": "readOnly"; }; outputs: {}; }, { directive: typeof i1.TuiWithQuantumValueTransformer; inputs: {}; outputs: {}; }]>;
|
|
19
18
|
}
|
|
@@ -2,9 +2,9 @@ import { type QueryList } from '@angular/core';
|
|
|
2
2
|
import { TuiOptionWithValue } from '@taiga-ui/core/components/data-list';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export declare class TuiMultiSelectGroupComponent<T> {
|
|
5
|
-
private readonly values;
|
|
6
5
|
private readonly handlers;
|
|
7
6
|
private readonly control;
|
|
7
|
+
protected readonly values: import("@angular/core").WritableSignal<readonly T[]>;
|
|
8
8
|
protected readonly texts: import("@angular/core").Signal<{
|
|
9
9
|
all: string;
|
|
10
10
|
none: string;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { InjectionToken, type Provider } from '@angular/core';
|
|
2
2
|
import { type TuiContext } from '@taiga-ui/cdk/types';
|
|
3
3
|
import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
|
|
4
|
+
export interface TuiRatingContext extends TuiContext<number> {
|
|
5
|
+
readonly value: number;
|
|
6
|
+
readonly filled: boolean;
|
|
7
|
+
}
|
|
4
8
|
export interface TuiRatingOptions {
|
|
5
|
-
readonly icon: PolymorpheusContent<
|
|
6
|
-
value: number;
|
|
7
|
-
}>;
|
|
9
|
+
readonly icon: PolymorpheusContent<TuiRatingContext>;
|
|
8
10
|
readonly max: number;
|
|
9
11
|
}
|
|
10
12
|
export declare const TUI_RATING_DEFAULT_OPTIONS: TuiRatingOptions;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { type AfterViewInit } from '@angular/core';
|
|
2
|
+
import { type TuiPopover } from '@taiga-ui/cdk/services';
|
|
3
|
+
import { type TuiToastOptions } from './toast.options';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@taiga-ui/cdk/directives/animated";
|
|
6
|
+
export declare class TuiToastComponent<O, I> implements AfterViewInit {
|
|
7
|
+
private readonly button?;
|
|
8
|
+
private readonly el;
|
|
9
|
+
protected readonly isMobile: boolean;
|
|
10
|
+
protected readonly context: TuiPopover<TuiToastOptions<I>, O>;
|
|
11
|
+
protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
|
|
12
|
+
protected readonly $: import("rxjs").Subscription;
|
|
13
|
+
ngAfterViewInit(): void;
|
|
14
|
+
protected onSwipe(): void;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiToastComponent<any, any>, never>;
|
|
16
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TuiToastComponent<any, any>, "tui-toast", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiAnimated; inputs: {}; outputs: {}; }]>;
|
|
17
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
2
|
import * as i1 from "@taiga-ui/core/directives/icons";
|
|
3
|
-
export declare class
|
|
3
|
+
export declare class TuiToastDirective {
|
|
4
4
|
protected readonly nothing: undefined;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<
|
|
6
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiToastDirective, never>;
|
|
6
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiToastDirective, "[tuiToast]:not(ng-template)", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiWithIcons; inputs: {}; outputs: {}; }]>;
|
|
7
7
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export interface TuiToastOptions<I> {
|
|
2
|
+
autoClose: number;
|
|
3
|
+
closable: boolean;
|
|
4
|
+
appearance: string;
|
|
5
|
+
data?: I;
|
|
6
|
+
}
|
|
7
|
+
export declare const TUI_TOAST_DEFAULT_OPTIONS: TuiToastOptions<void>;
|
|
8
|
+
export declare const TUI_TOAST_OPTIONS: import("@angular/core").InjectionToken<TuiToastOptions<void>>, tuiToastOptionsProvider: (item: Partial<TuiToastOptions<void>> | import("@angular/core").ProviderToken<Partial<TuiToastOptions<void>>> | (() => Partial<TuiToastOptions<void>>)) => import("@angular/core").FactoryProvider;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TuiPopoverDirective } from '@taiga-ui/cdk/directives/popover';
|
|
2
|
+
import { TuiPopoverService } from '@taiga-ui/cdk/services';
|
|
3
|
+
import { type TuiToastOptions } from './toast.options';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare const TUI_TOASTS_CONCURRENCY: import("@angular/core").InjectionToken<number>;
|
|
6
|
+
export declare class TuiToastService extends TuiPopoverService<TuiToastOptions<any>> {
|
|
7
|
+
private readonly concurrency;
|
|
8
|
+
private readonly alerts;
|
|
9
|
+
protected readonly sub: import("rxjs").Subscription;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiToastService, never>;
|
|
11
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<TuiToastService>;
|
|
12
|
+
}
|
|
13
|
+
export declare class TuiToastTemplate<T> extends TuiPopoverDirective<TuiToastOptions<T>> {
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiToastTemplate<any>, never>;
|
|
15
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiToastTemplate<any>, "ng-template[tuiToast]", never, { "options": { "alias": "tuiToastOptions"; "required": false; }; "open": { "alias": "tuiToast"; "required": false; }; }, { "openChange": "tuiToastChange"; }, never, never, true, never>;
|
|
16
|
+
}
|
|
@@ -50,7 +50,7 @@ class TuiCheckbox {
|
|
|
50
50
|
return icon && `url(${this.resolver(icon)})`;
|
|
51
51
|
}
|
|
52
52
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCheckbox, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCheckbox, isStandalone: true, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: { size: "size" }, host: { properties: { "disabled": "!control || control.disabled", "attr.data-size": "size", "class._readonly": "!control", "style.--t-checked-icon": "getIcon(\"checked\")", "style.--t-indeterminate-icon": "getIcon(\"indeterminate\")" } }, hostDirectives: [{ directive: i1.TuiAppearance, inputs: ["tuiAppearanceState", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceFocus", "tuiAppearanceMode", "tuiAppearanceMode"] }, { directive: i2.TuiNativeValidator }], ngImport: i0, template: '', isInline: true, styles: ["[tuiCheckbox]{--t-size: 1.5rem;--t-radius: var(--tui-radius-s);inline-size:var(--t-size);block-size:var(--t-size);border-radius:var(--t-radius);cursor:pointer;margin:0;flex-shrink:0}[tuiCheckbox]:before{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";inline-size:1rem;block-size:1rem;margin:auto;background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;transform:scale(0);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out}[tuiCheckbox]:disabled._readonly{opacity:1;pointer-events:none}[tuiCheckbox]:checked:before,[tuiCheckbox]:indeterminate:before{-webkit-mask-image:var(--t-checked-icon);mask-image:var(--t-checked-icon);transform:scale(1);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out,-webkit-mask 0s ease-in-out;transition-duration:inherit}[tuiCheckbox]:indeterminate:before{-webkit-mask-image:var(--t-indeterminate-icon);mask-image:var(--t-indeterminate-icon)}[tuiCheckbox][data-size=s]{--t-size: 1rem;--t-radius: var(--tui-radius-xs)}[tuiCheckbox][data-size=s]:before{inline-size:.875rem;block-size:.875rem}[tuiCheckbox]:invalid:not([data-mode]),[tuiCheckbox][data-mode~=invalid]{color:#fff}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
53
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiCheckbox, isStandalone: true, selector: "input[type=\"checkbox\"][tuiCheckbox]", inputs: { size: "size" }, host: { properties: { "disabled": "!control || control.disabled", "attr.data-size": "size", "class._readonly": "!control", "style.--t-checked-icon": "getIcon(\"checked\")", "style.--t-indeterminate-icon": "getIcon(\"indeterminate\")" } }, hostDirectives: [{ directive: i1.TuiAppearance, inputs: ["tuiAppearanceState", "tuiAppearanceState", "tuiAppearanceFocus", "tuiAppearanceFocus", "tuiAppearanceMode", "tuiAppearanceMode"] }, { directive: i2.TuiNativeValidator }], ngImport: i0, template: '', isInline: true, styles: ["[tuiCheckbox]{--t-size: 1.5rem;--t-radius: var(--tui-radius-s);inline-size:var(--t-size);block-size:var(--t-size);border-radius:var(--t-radius);cursor:pointer;margin:0;flex-shrink:0}[tuiCheckbox]:before{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";inline-size:1rem;block-size:1rem;margin:auto;background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;transform:scale(0);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out}[tuiCheckbox]:disabled._readonly._readonly{opacity:1;pointer-events:none}[tuiCheckbox]:checked:before,[tuiCheckbox]:indeterminate:before{-webkit-mask-image:var(--t-checked-icon);mask-image:var(--t-checked-icon);transform:scale(1);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out,-webkit-mask 0s ease-in-out;transition-duration:inherit}[tuiCheckbox]:indeterminate:before{-webkit-mask-image:var(--t-indeterminate-icon);mask-image:var(--t-indeterminate-icon)}[tuiCheckbox][data-size=s]{--t-size: 1rem;--t-radius: var(--tui-radius-xs)}[tuiCheckbox][data-size=s]:before{inline-size:.875rem;block-size:.875rem}[tuiCheckbox]:invalid:not([data-mode]),[tuiCheckbox][data-mode~=invalid]{color:#fff}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
54
54
|
}
|
|
55
55
|
export { TuiCheckbox };
|
|
56
56
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiCheckbox, decorators: [{
|
|
@@ -67,7 +67,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
67
67
|
'[class._readonly]': '!control',
|
|
68
68
|
'[style.--t-checked-icon]': 'getIcon("checked")',
|
|
69
69
|
'[style.--t-indeterminate-icon]': 'getIcon("indeterminate")',
|
|
70
|
-
}, styles: ["[tuiCheckbox]{--t-size: 1.5rem;--t-radius: var(--tui-radius-s);inline-size:var(--t-size);block-size:var(--t-size);border-radius:var(--t-radius);cursor:pointer;margin:0;flex-shrink:0}[tuiCheckbox]:before{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";inline-size:1rem;block-size:1rem;margin:auto;background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;transform:scale(0);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out}[tuiCheckbox]:disabled._readonly{opacity:1;pointer-events:none}[tuiCheckbox]:checked:before,[tuiCheckbox]:indeterminate:before{-webkit-mask-image:var(--t-checked-icon);mask-image:var(--t-checked-icon);transform:scale(1);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out,-webkit-mask 0s ease-in-out;transition-duration:inherit}[tuiCheckbox]:indeterminate:before{-webkit-mask-image:var(--t-indeterminate-icon);mask-image:var(--t-indeterminate-icon)}[tuiCheckbox][data-size=s]{--t-size: 1rem;--t-radius: var(--tui-radius-xs)}[tuiCheckbox][data-size=s]:before{inline-size:.875rem;block-size:.875rem}[tuiCheckbox]:invalid:not([data-mode]),[tuiCheckbox][data-mode~=invalid]{color:#fff}\n"] }]
|
|
70
|
+
}, styles: ["[tuiCheckbox]{--t-size: 1.5rem;--t-radius: var(--tui-radius-s);inline-size:var(--t-size);block-size:var(--t-size);border-radius:var(--t-radius);cursor:pointer;margin:0;flex-shrink:0}[tuiCheckbox]:before{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";inline-size:1rem;block-size:1rem;margin:auto;background:currentColor;-webkit-mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;mask:url('data:image/svg+xml,<svg xmlns=\"http://www.w3.org/2000/svg\"></svg>') center / 100%;transform:scale(0);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s var(--tui-duration) ease-in-out,-webkit-mask 0s var(--tui-duration) ease-in-out}[tuiCheckbox]:disabled._readonly._readonly{opacity:1;pointer-events:none}[tuiCheckbox]:checked:before,[tuiCheckbox]:indeterminate:before{-webkit-mask-image:var(--t-checked-icon);mask-image:var(--t-checked-icon);transform:scale(1);transition:transform var(--tui-duration) ease-in-out,-webkit-mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out;transition:transform var(--tui-duration) ease-in-out,mask 0s ease-in-out,-webkit-mask 0s ease-in-out;transition-duration:inherit}[tuiCheckbox]:indeterminate:before{-webkit-mask-image:var(--t-indeterminate-icon);mask-image:var(--t-indeterminate-icon)}[tuiCheckbox][data-size=s]{--t-size: 1rem;--t-radius: var(--tui-radius-xs)}[tuiCheckbox][data-size=s]:before{inline-size:.875rem;block-size:.875rem}[tuiCheckbox]:invalid:not([data-mode]),[tuiCheckbox][data-mode~=invalid]{color:#fff}\n"] }]
|
|
71
71
|
}], propDecorators: { size: [{
|
|
72
72
|
type: Input
|
|
73
73
|
}] } });
|
|
@@ -2,6 +2,7 @@ import { AsyncPipe, NgIf } from '@angular/common';
|
|
|
2
2
|
import { ChangeDetectionStrategy, Component, inject } from '@angular/core';
|
|
3
3
|
import { TuiAutoFocus } from '@taiga-ui/cdk/directives/auto-focus';
|
|
4
4
|
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
5
|
+
import { tuiCreateToken } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
5
6
|
import { TuiButton } from '@taiga-ui/core/components/button';
|
|
6
7
|
import { TUI_CONFIRM_WORDS } from '@taiga-ui/kit/tokens';
|
|
7
8
|
import { injectContext, PolymorpheusComponent, PolymorpheusOutlet, } from '@taiga-ui/polymorpheus';
|
|
@@ -25,4 +26,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
25
26
|
args: [{ standalone: true, selector: 'tui-confirm', imports: [AsyncPipe, NgIf, PolymorpheusOutlet, TuiAutoFocus, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p\n *polymorpheusOutlet=\"context.data?.content as text\"\n class=\"t-content\"\n [innerHTML]=\"text\"\n></p>\n<footer\n *ngIf=\"words$ | async as words\"\n class=\"t-buttons\"\n>\n <button\n size=\"m\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"appearance\"\n (click)=\"context.completeWith(false)\"\n >\n {{ context.data?.no || words.no }}\n </button>\n <button\n size=\"m\"\n tuiAutoFocus\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"context.data?.appearance || 'primary'\"\n (click)=\"context.completeWith(true)\"\n >\n {{ context.data?.yes || words.yes }}\n </button>\n</footer>\n", styles: [":host{display:block}.t-content:not(:empty){margin-block-end:.875rem;overflow-wrap:break-word}.t-buttons{display:flex;justify-content:flex-end;flex-wrap:wrap-reverse;margin:.375rem -.375rem -.375rem}.t-button{margin:.375rem;white-space:nowrap}:host-context(tui-root._mobile) .t-button{flex:1;overflow:visible}:host-context(tui-dialog[new]){margin-block-start:-.75rem}:host-context(tui-dialog[new]) .t-button{margin:0}:host-context(tui-dialog[new]) .t-buttons{margin-block-end:0;margin-inline-end:0;margin-inline-start:0}:host-context(tui-dialog[new]) .t-buttons:first-child{margin-block-start:2rem}\n"] }]
|
|
26
27
|
}] });
|
|
27
28
|
export const TUI_CONFIRM = new PolymorpheusComponent(TuiConfirm);
|
|
28
|
-
|
|
29
|
+
export const TUI_CONFIRM_DIALOG = tuiCreateToken(TUI_CONFIRM);
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9jb25maXJtL2NvbmZpcm0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY29uZmlybS9jb25maXJtLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNoRCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDakUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFM0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdkQsT0FBTyxFQUNILGFBQWEsRUFDYixxQkFBcUIsRUFFckIsa0JBQWtCLEdBQ3JCLE1BQU0sd0JBQXdCLENBQUM7O0FBU2hDLDhCQUE4QjtBQUM5QixNQVFhLFVBQVU7SUFSdkI7UUFTcUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMvQixXQUFNLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFFdEMsWUFBTyxHQUNuQixhQUFhLEVBQXlELENBQUM7S0FLOUU7SUFIRyxJQUFjLFVBQVU7UUFDcEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNoRCxDQUFDOytHQVRRLFVBQVU7bUdBQVYsVUFBVSx1RUMvQnZCLHN3QkErQkEsNG9CRExjLFNBQVMsOENBQUUsSUFBSSw2RkFBRSxrQkFBa0IsOEhBQUUsWUFBWSxxRkFBRSxTQUFTOztTQUs3RCxVQUFVOzRGQUFWLFVBQVU7a0JBUnRCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGFBQWEsV0FDZCxDQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxtQkFHdEQsdUJBQXVCLENBQUMsTUFBTTs7QUFjbkQsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUkscUJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQzNCLGNBQWMsQ0FBMEQsV0FBVyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FzeW5jUGlwZSwgTmdJZn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VHVpQXV0b0ZvY3VzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpQ3JlYXRlVG9rZW59IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aUJ1dHRvbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHt0eXBlIFR1aURpYWxvZ0NvbnRleHR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvZGlhbG9nJztcbmltcG9ydCB7VFVJX0NPTkZJUk1fV09SRFN9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB7XG4gICAgaW5qZWN0Q29udGV4dCxcbiAgICBQb2x5bW9ycGhldXNDb21wb25lbnQsXG4gICAgdHlwZSBQb2x5bW9ycGhldXNDb250ZW50LFxuICAgIFBvbHltb3JwaGV1c091dGxldCxcbn0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQ29uZmlybURhdGEge1xuICAgIHJlYWRvbmx5IGNvbnRlbnQ/OiBQb2x5bW9ycGhldXNDb250ZW50O1xuICAgIHJlYWRvbmx5IG5vPzogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHllcz86IHN0cmluZztcbiAgICByZWFkb25seSBhcHBlYXJhbmNlPzogc3RyaW5nO1xufVxuXG4vLyBUT0RPOiBSZW1vdmUgc2VsZWN0b3IgaW4gdjVcbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICd0dWktY29uZmlybScsXG4gICAgaW1wb3J0czogW0FzeW5jUGlwZSwgTmdJZiwgUG9seW1vcnBoZXVzT3V0bGV0LCBUdWlBdXRvRm9jdXMsIFR1aUJ1dHRvbl0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2NvbmZpcm0udGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vY29uZmlybS5zdHlsZS5sZXNzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFR1aUNvbmZpcm0ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNNb2JpbGUgPSBpbmplY3QoVFVJX0lTX01PQklMRSk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHdvcmRzJCA9IGluamVjdChUVUlfQ09ORklSTV9XT1JEUyk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgY29udGV4dCA9XG4gICAgICAgIGluamVjdENvbnRleHQ8VHVpRGlhbG9nQ29udGV4dDxib29sZWFuLCBUdWlDb25maXJtRGF0YSB8IHVuZGVmaW5lZD4+KCk7XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFwcGVhcmFuY2UoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNNb2JpbGUgPyAnc2Vjb25kYXJ5JyA6ICdmbGF0JztcbiAgICB9XG59XG5cbmV4cG9ydCBjb25zdCBUVUlfQ09ORklSTSA9IG5ldyBQb2x5bW9ycGhldXNDb21wb25lbnQoVHVpQ29uZmlybSk7XG5leHBvcnQgY29uc3QgVFVJX0NPTkZJUk1fRElBTE9HID1cbiAgICB0dWlDcmVhdGVUb2tlbjxQb2x5bW9ycGhldXNDb250ZW50PFR1aURpYWxvZ0NvbnRleHQ8Ym9vbGVhbiwgdW5rbm93bj4+PihUVUlfQ09ORklSTSk7XG4iLCI8cFxuICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJjb250ZXh0LmRhdGE/LmNvbnRlbnQgYXMgdGV4dFwiXG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgIFtpbm5lckhUTUxdPVwidGV4dFwiXG4+PC9wPlxuPGZvb3RlclxuICAgICpuZ0lmPVwid29yZHMkIHwgYXN5bmMgYXMgd29yZHNcIlxuICAgIGNsYXNzPVwidC1idXR0b25zXCJcbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiYXBwZWFyYW5jZVwiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LmNvbXBsZXRlV2l0aChmYWxzZSlcIlxuICAgID5cbiAgICAgICAge3sgY29udGV4dC5kYXRhPy5ubyB8fCB3b3Jkcy5ubyB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICB0dWlBdXRvRm9jdXNcbiAgICAgICAgdHVpQnV0dG9uXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtYnV0dG9uXCJcbiAgICAgICAgW2FwcGVhcmFuY2VdPVwiY29udGV4dC5kYXRhPy5hcHBlYXJhbmNlIHx8ICdwcmltYXJ5J1wiXG4gICAgICAgIChjbGljayk9XCJjb250ZXh0LmNvbXBsZXRlV2l0aCh0cnVlKVwiXG4gICAgPlxuICAgICAgICB7eyBjb250ZXh0LmRhdGE/LnllcyB8fCB3b3Jkcy55ZXMgfX1cbiAgICA8L2J1dHRvbj5cbjwvZm9vdGVyPlxuIl19
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { inject, Injectable } from '@angular/core';
|
|
2
2
|
import { TuiDialogService } from '@taiga-ui/core/components/dialog';
|
|
3
3
|
import { defer, of } from 'rxjs';
|
|
4
|
-
import {
|
|
4
|
+
import { TUI_CONFIRM_DIALOG } from './confirm.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
class TuiConfirmService {
|
|
7
7
|
constructor() {
|
|
8
8
|
this.dialogs = inject(TuiDialogService);
|
|
9
|
+
this.component = inject(TUI_CONFIRM_DIALOG);
|
|
9
10
|
this.dirty = false;
|
|
10
11
|
}
|
|
11
12
|
markAsDirty() {
|
|
@@ -14,12 +15,11 @@ class TuiConfirmService {
|
|
|
14
15
|
markAsPristine() {
|
|
15
16
|
this.dirty = false;
|
|
16
17
|
}
|
|
17
|
-
withConfirm(
|
|
18
|
+
withConfirm(
|
|
19
|
+
// TODO: Replace with NoInfer in v5
|
|
20
|
+
options) {
|
|
18
21
|
return defer(() => this.dirty
|
|
19
|
-
? this.dialogs.open(
|
|
20
|
-
size: 's',
|
|
21
|
-
...options,
|
|
22
|
-
})
|
|
22
|
+
? this.dialogs.open(this.component, { size: 's', ...options })
|
|
23
23
|
: of(true));
|
|
24
24
|
}
|
|
25
25
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirmService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -29,4 +29,4 @@ export { TuiConfirmService };
|
|
|
29
29
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiConfirmService, decorators: [{
|
|
30
30
|
type: Injectable
|
|
31
31
|
}] });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlybS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvY29uZmlybS9jb25maXJtLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUF3QixnQkFBZ0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxLQUFLLEVBQW1CLEVBQUUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoRCxPQUFPLEVBQUMsa0JBQWtCLEVBQXNCLE1BQU0scUJBQXFCLENBQUM7O0FBRTVFLE1BQ2EsaUJBQWlCO0lBRDlCO1FBRXFCLFlBQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuQyxjQUFTLEdBQUcsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDaEQsVUFBSyxHQUFHLEtBQUssQ0FBQztLQW9CekI7SUFsQlUsV0FBVztRQUNkLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO0lBQ3RCLENBQUM7SUFFTSxjQUFjO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxXQUFXO0lBQ2QsbUNBQW1DO0lBQ25DLE9BQWlFO1FBRWpFLE9BQU8sS0FBSyxDQUFDLEdBQUcsRUFBRSxDQUNkLElBQUksQ0FBQyxLQUFLO1lBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFVLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsT0FBTyxFQUFDLENBQUM7WUFDckUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FDakIsQ0FBQztJQUNOLENBQUM7K0dBdEJRLGlCQUFpQjttSEFBakIsaUJBQWlCOztTQUFqQixpQkFBaUI7NEZBQWpCLGlCQUFpQjtrQkFEN0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0LCBJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHlwZSBUdWlEaWFsb2dPcHRpb25zLCBUdWlEaWFsb2dTZXJ2aWNlfSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RpYWxvZyc7XG5pbXBvcnQge2RlZmVyLCB0eXBlIE9ic2VydmFibGUsIG9mfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUVUlfQ09ORklSTV9ESUFMT0csIHR5cGUgVHVpQ29uZmlybURhdGF9IGZyb20gJy4vY29uZmlybS5jb21wb25lbnQnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVHVpQ29uZmlybVNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9ncyA9IGluamVjdChUdWlEaWFsb2dTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbXBvbmVudCA9IGluamVjdChUVUlfQ09ORklSTV9ESUFMT0cpO1xuICAgIHByaXZhdGUgZGlydHkgPSBmYWxzZTtcblxuICAgIHB1YmxpYyBtYXJrQXNEaXJ0eSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gICAgfVxuXG4gICAgcHVibGljIG1hcmtBc1ByaXN0aW5lKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhDb25maXJtPFQgPSBUdWlDb25maXJtRGF0YT4oXG4gICAgICAgIC8vIFRPRE86IFJlcGxhY2Ugd2l0aCBOb0luZmVyIGluIHY1XG4gICAgICAgIG9wdGlvbnM6IFBhcnRpYWw8VHVpRGlhbG9nT3B0aW9uczxUIGV4dGVuZHMgaW5mZXIgVSA/IFUgOiBuZXZlcj4+LFxuICAgICk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgICAgICByZXR1cm4gZGVmZXIoKCkgPT5cbiAgICAgICAgICAgIHRoaXMuZGlydHlcbiAgICAgICAgICAgICAgICA/IHRoaXMuZGlhbG9ncy5vcGVuPGJvb2xlYW4+KHRoaXMuY29tcG9uZW50LCB7c2l6ZTogJ3MnLCAuLi5vcHRpb25zfSlcbiAgICAgICAgICAgICAgICA6IG9mKHRydWUpLFxuICAgICAgICApO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -8,7 +8,7 @@ import { TUI_INPUT_NUMBER_OPTIONS } from './input-number.options';
|
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
class TuiQuantumValueTransformerBase extends TuiValueTransformer {
|
|
10
10
|
// eslint-disable-next-line @typescript-eslint/parameter-properties
|
|
11
|
-
constructor(quantum =
|
|
11
|
+
constructor(quantum = 0) {
|
|
12
12
|
super();
|
|
13
13
|
this.quantum = quantum;
|
|
14
14
|
this.parent = null;
|
|
@@ -19,6 +19,7 @@ class TuiQuantumValueTransformerBase extends TuiValueTransformer {
|
|
|
19
19
|
toControlValue(internalValue) {
|
|
20
20
|
const value = this.parent?.toControlValue(internalValue) ?? internalValue;
|
|
21
21
|
return value != null &&
|
|
22
|
+
this.quantum > 0 &&
|
|
22
23
|
tuiIsSafeToRound(value, tuiGetFractionPartPadded(this.quantum).length)
|
|
23
24
|
? tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION)
|
|
24
25
|
: value;
|
|
@@ -32,18 +33,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
32
33
|
}], ctorParameters: function () { return [{ type: undefined }]; } });
|
|
33
34
|
class TuiQuantumValueTransformer extends TuiQuantumValueTransformerBase {
|
|
34
35
|
constructor() {
|
|
35
|
-
super(
|
|
36
|
+
super(0);
|
|
36
37
|
this.parent = inject(TUI_INPUT_NUMBER_OPTIONS).valueTransformer;
|
|
37
38
|
}
|
|
38
39
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiQuantumValueTransformer, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiQuantumValueTransformer, isStandalone: true, selector: "[tuiInputNumber][quantum]
|
|
40
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiQuantumValueTransformer, isStandalone: true, selector: "[tuiInputNumber][quantum]", inputs: { quantum: "quantum" }, providers: [tuiProvide(TuiValueTransformer, TuiQuantumValueTransformer)], usesInheritance: true, ngImport: i0 }); }
|
|
40
41
|
}
|
|
41
42
|
export { TuiQuantumValueTransformer };
|
|
42
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiQuantumValueTransformer, decorators: [{
|
|
43
44
|
type: Directive,
|
|
44
45
|
args: [{
|
|
45
46
|
standalone: true,
|
|
46
|
-
selector: '[tuiInputNumber][quantum]
|
|
47
|
+
selector: '[tuiInputNumber][quantum]',
|
|
47
48
|
inputs: ['quantum'],
|
|
48
49
|
providers: [tuiProvide(TuiValueTransformer, TuiQuantumValueTransformer)],
|
|
49
50
|
}]
|
|
@@ -65,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
65
66
|
],
|
|
66
67
|
}]
|
|
67
68
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbnR1bS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvcXVhbnR1bS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3BFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM3RCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUV2RSxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFaEUsTUFDYSw4QkFBK0IsU0FBUSxtQkFHbkQ7SUFHRyxtRUFBbUU7SUFDbkUsWUFBbUIsVUFBVSxDQUFDO1FBQzFCLEtBQUssRUFBRSxDQUFDO1FBRE8sWUFBTyxHQUFQLE9BQU8sQ0FBSTtRQUhwQixXQUFNLEdBQW1ELElBQUksQ0FBQztJQUt4RSxDQUFDO0lBRWUsZ0JBQWdCLENBQUMsWUFBMkI7UUFDeEQsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLFlBQVksQ0FBQztJQUN2RSxDQUFDO0lBRU0sY0FBYyxDQUFDLGFBQTRCO1FBQzlDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsY0FBYyxDQUFDLGFBQWEsQ0FBQyxJQUFJLGFBQWEsQ0FBQztRQUUxRSxPQUFPLEtBQUssSUFBSSxJQUFJO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQztZQUNoQixnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsd0JBQXdCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQztZQUN0RSxDQUFDLENBQUMsUUFBUSxDQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxFQUMvQyxzQkFBc0IsQ0FDekI7WUFDSCxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hCLENBQUM7K0dBMUJRLDhCQUE4QjttR0FBOUIsOEJBQThCOztTQUE5Qiw4QkFBOEI7NEZBQTlCLDhCQUE4QjtrQkFEMUMsU0FBUzs7QUE4QlYsTUFNYSwwQkFBMkIsU0FBUSw4QkFBOEI7SUFHMUU7UUFDSSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFITSxXQUFNLEdBQUcsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUMsZ0JBQWdCLENBQUM7SUFJOUUsQ0FBQzsrR0FMUSwwQkFBMEI7bUdBQTFCLDBCQUEwQix3R0FGeEIsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsMEJBQTBCLENBQUMsQ0FBQzs7U0FFL0QsMEJBQTBCOzRGQUExQiwwQkFBMEI7a0JBTnRDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSwyQkFBMkI7b0JBQ3JDLE1BQU0sRUFBRSxDQUFDLFNBQVMsQ0FBQztvQkFDbkIsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDLG1CQUFtQiw2QkFBNkIsQ0FBQztpQkFDM0U7O0FBU0QsTUFTYSw4QkFBOEI7K0dBQTlCLDhCQUE4QjttR0FBOUIsOEJBQThCLG9EQWpCOUIsMEJBQTBCOztTQWlCMUIsOEJBQThCOzRGQUE5Qiw4QkFBOEI7a0JBVDFDLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsMEJBQTBCOzRCQUNyQyxNQUFNLEVBQUUsQ0FBQyxTQUFTLENBQUM7eUJBQ3RCO3FCQUNKO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aVZhbHVlVHJhbnNmb3JtZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge3R1aUlzU2FmZVRvUm91bmQsIHR1aVJvdW5kfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlQcm92aWRlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlHZXRGcmFjdGlvblBhcnRQYWRkZWR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL2Zvcm1hdCc7XG5pbXBvcnQge1RVSV9GTE9BVElOR19QUkVDSVNJT059IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuXG5pbXBvcnQge1RVSV9JTlBVVF9OVU1CRVJfT1BUSU9OU30gZnJvbSAnLi9pbnB1dC1udW1iZXIub3B0aW9ucyc7XG5cbkBEaXJlY3RpdmUoKVxuZXhwb3J0IGNsYXNzIFR1aVF1YW50dW1WYWx1ZVRyYW5zZm9ybWVyQmFzZSBleHRlbmRzIFR1aVZhbHVlVHJhbnNmb3JtZXI8XG4gICAgbnVtYmVyIHwgbnVsbCxcbiAgICBudW1iZXIgfCBudWxsXG4+IHtcbiAgICBwcm90ZWN0ZWQgcGFyZW50OiBUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciB8IG51bGwsIGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcGFyYW1ldGVyLXByb3BlcnRpZXNcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcXVhbnR1bSA9IDApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgZnJvbUNvbnRyb2xWYWx1ZShjb250cm9sVmFsdWU6IG51bWJlciB8IG51bGwpOiBudW1iZXIgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyZW50Py5mcm9tQ29udHJvbFZhbHVlKGNvbnRyb2xWYWx1ZSkgPz8gY29udHJvbFZhbHVlO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b0NvbnRyb2xWYWx1ZShpbnRlcm5hbFZhbHVlOiBudW1iZXIgfCBudWxsKTogbnVtYmVyIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5wYXJlbnQ/LnRvQ29udHJvbFZhbHVlKGludGVybmFsVmFsdWUpID8/IGludGVybmFsVmFsdWU7XG5cbiAgICAgICAgcmV0dXJuIHZhbHVlICE9IG51bGwgJiZcbiAgICAgICAgICAgIHRoaXMucXVhbnR1bSA+IDAgJiZcbiAgICAgICAgICAgIHR1aUlzU2FmZVRvUm91bmQodmFsdWUsIHR1aUdldEZyYWN0aW9uUGFydFBhZGRlZCh0aGlzLnF1YW50dW0pLmxlbmd0aClcbiAgICAgICAgICAgID8gdHVpUm91bmQoXG4gICAgICAgICAgICAgICAgICBNYXRoLnJvdW5kKHZhbHVlIC8gdGhpcy5xdWFudHVtKSAqIHRoaXMucXVhbnR1bSxcbiAgICAgICAgICAgICAgICAgIFRVSV9GTE9BVElOR19QUkVDSVNJT04sXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgIDogdmFsdWU7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnW3R1aUlucHV0TnVtYmVyXVtxdWFudHVtXScsXG4gICAgaW5wdXRzOiBbJ3F1YW50dW0nXSxcbiAgICBwcm92aWRlcnM6IFt0dWlQcm92aWRlKFR1aVZhbHVlVHJhbnNmb3JtZXIsIFR1aVF1YW50dW1WYWx1ZVRyYW5zZm9ybWVyKV0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVF1YW50dW1WYWx1ZVRyYW5zZm9ybWVyIGV4dGVuZHMgVHVpUXVhbnR1bVZhbHVlVHJhbnNmb3JtZXJCYXNlIHtcbiAgICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcGFyZW50ID0gaW5qZWN0KFRVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUykudmFsdWVUcmFuc2Zvcm1lcjtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigwKTtcbiAgICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlRdWFudHVtVmFsdWVUcmFuc2Zvcm1lcixcbiAgICAgICAgICAgIGlucHV0czogWydxdWFudHVtJ10sXG4gICAgICAgIH0sXG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpV2l0aFF1YW50dW1WYWx1ZVRyYW5zZm9ybWVyIHt9XG4iXX0=
|