@taiga-ui/kit 4.29.0 → 4.30.0-canary.07fcf02
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/index.d.ts +1 -0
- package/components/input-number/input-number.options.d.ts +1 -1
- package/components/input-slider/index.d.ts +2 -0
- package/components/input-slider/input-slider.d.ts +2 -0
- package/components/input-slider/input-slider.directive.d.ts +19 -0
- package/components/slider/helpers/key-steps.d.ts +3 -0
- package/components/slider/helpers/slider-key-steps.directive.d.ts +31 -7
- package/components/slider/slider.component.d.ts +6 -3
- package/components/slider/slider.d.ts +2 -2
- package/esm2022/components/index.mjs +2 -1
- package/esm2022/components/input-number/input-number.options.mjs +1 -1
- package/esm2022/components/input-slider/index.mjs +3 -0
- package/esm2022/components/input-slider/input-slider.directive.mjs +117 -0
- package/esm2022/components/input-slider/input-slider.mjs +4 -0
- package/esm2022/components/input-slider/taiga-ui-kit-components-input-slider.mjs +5 -0
- package/esm2022/components/range/range.component.mjs +1 -1
- package/esm2022/components/slider/helpers/key-steps.mjs +13 -1
- package/esm2022/components/slider/helpers/slider-key-steps.directive.mjs +82 -32
- package/esm2022/components/slider/slider.component.mjs +25 -20
- package/esm2022/components/slider/slider.mjs +3 -2
- package/esm2022/directives/button-group/button-group.directive.mjs +2 -2
- package/esm2022/directives/button-select/button-select.directive.mjs +4 -5
- package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs +125 -0
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-components-range.mjs +1 -1
- package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-slider.mjs +116 -52
- package/fesm2022/taiga-ui-kit-components-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components.mjs +1 -0
- package/fesm2022/taiga-ui-kit-components.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs +2 -2
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-select.mjs +3 -4
- package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
- package/package.json +14 -8
package/components/index.d.ts
CHANGED
|
@@ -27,6 +27,7 @@ export * from '@taiga-ui/kit/components/input-number';
|
|
|
27
27
|
export * from '@taiga-ui/kit/components/input-password';
|
|
28
28
|
export * from '@taiga-ui/kit/components/input-phone-international';
|
|
29
29
|
export * from '@taiga-ui/kit/components/input-pin';
|
|
30
|
+
export * from '@taiga-ui/kit/components/input-slider';
|
|
30
31
|
export * from '@taiga-ui/kit/components/items-with-more';
|
|
31
32
|
export * from '@taiga-ui/kit/components/like';
|
|
32
33
|
export * from '@taiga-ui/kit/components/line-clamp';
|
|
@@ -9,7 +9,7 @@ export interface TuiInputNumberOptions {
|
|
|
9
9
|
decrease: string;
|
|
10
10
|
increase: string;
|
|
11
11
|
}>;
|
|
12
|
-
readonly valueTransformer: TuiValueTransformer<number | null> | null;
|
|
12
|
+
readonly valueTransformer: TuiValueTransformer<number | null, any> | null;
|
|
13
13
|
}
|
|
14
14
|
export declare const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions;
|
|
15
15
|
export declare const TUI_INPUT_NUMBER_OPTIONS: import("@angular/core").InjectionToken<TuiInputNumberOptions>, tuiInputNumberOptionsProvider: (item: Partial<TuiInputNumberOptions> | import("@angular/core").ProviderToken<Partial<TuiInputNumberOptions>>) => import("@angular/core").FactoryProvider;
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import { TuiInputSliderDirective } from './input-slider.directive';
|
|
2
|
+
export declare const TuiInputSlider: readonly [typeof import("@taiga-ui/kit/components/slider").TuiSliderComponent, typeof import("@taiga-ui/kit/components/slider").TuiSliderThumbLabel, typeof import("@taiga-ui/kit/components/slider").TuiSliderKeyStepsBase, typeof import("@taiga-ui/kit/components/slider").TuiSliderKeySteps, typeof import("@taiga-ui/kit/components/slider").TuiSliderReadonly, typeof TuiInputSliderDirective];
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "@taiga-ui/kit/components/input-number";
|
|
3
|
+
export declare class TuiInputSliderDirective {
|
|
4
|
+
private readonly isMobile;
|
|
5
|
+
private readonly element;
|
|
6
|
+
private readonly inputNumber;
|
|
7
|
+
private readonly slider;
|
|
8
|
+
private readonly controlTransformer;
|
|
9
|
+
private readonly value;
|
|
10
|
+
private readonly keyStepsTransformer;
|
|
11
|
+
protected readonly nothing: undefined;
|
|
12
|
+
protected readonly textfieldToSliderSync: import("@angular/core").EffectRef;
|
|
13
|
+
protected readonly sliderInitEffect: import("@angular/core").EffectRef;
|
|
14
|
+
protected onStep(coefficient: number): void;
|
|
15
|
+
protected onBlur(): void;
|
|
16
|
+
private onSliderInput;
|
|
17
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputSliderDirective, never>;
|
|
18
|
+
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: {}; }]>;
|
|
19
|
+
}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { TuiValueTransformer } from '@taiga-ui/cdk/classes';
|
|
2
|
+
import type { TuiSliderComponent } from '../slider.component';
|
|
1
3
|
/**
|
|
2
4
|
* Used as a limit for eliminating JS issues with floating point math
|
|
3
5
|
*/
|
|
@@ -23,3 +25,4 @@ export declare const TUI_FLOATING_PRECISION = 7;
|
|
|
23
25
|
export type TuiKeySteps = [[0, number], ...Array<[number, number]>, [100, number]];
|
|
24
26
|
export declare function tuiPercentageToKeyStepValue(valuePercentage: number, keySteps: TuiKeySteps): number;
|
|
25
27
|
export declare function tuiKeyStepValueToPercentage(value: number, keySteps: TuiKeySteps): number;
|
|
28
|
+
export declare function tuiCreateKeyStepsTransformer(keySteps: TuiKeySteps, slider: TuiSliderComponent): TuiValueTransformer<number, number>;
|
|
@@ -1,14 +1,38 @@
|
|
|
1
|
+
import type { TuiValueTransformer } from '@taiga-ui/cdk/classes';
|
|
1
2
|
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
3
|
+
import { TuiSliderComponent } from '../slider.component';
|
|
2
4
|
import type { TuiKeySteps } from './key-steps';
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class TuiSliderKeyStepsBase {
|
|
7
|
+
private readonly injector;
|
|
8
|
+
private readonly control;
|
|
9
|
+
protected min?: number;
|
|
10
|
+
protected max?: number;
|
|
11
|
+
step: number | null;
|
|
12
|
+
transformer: import("@angular/core").WritableSignal<TuiValueTransformer<number, number> | null>;
|
|
13
|
+
value: import("@angular/core").Signal<number | undefined>;
|
|
14
|
+
get slider(): TuiSliderComponent;
|
|
15
|
+
set keySteps(steps: TuiKeySteps | null);
|
|
16
|
+
/**
|
|
17
|
+
* TODO(v5): standardize logic between `TuiSlider` & `TuiInputSlider` (for non-linear slider `step` means percentage)
|
|
18
|
+
* Add these host-bindings to `TuiSliderKeyStepsBase`:
|
|
19
|
+
* ```
|
|
20
|
+
* host: {
|
|
21
|
+
* '[attr.min]': '0',
|
|
22
|
+
* '[attr.step]': '1',
|
|
23
|
+
* '[attr.max]': 'totalSteps',
|
|
24
|
+
* },
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
get totalSteps(): number;
|
|
28
|
+
takeStep(coefficient: number): number;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderKeyStepsBase, never>;
|
|
30
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeyStepsBase, "input[tuiSlider][keySteps]", never, { "step": { "alias": "step"; "required": false; }; "keySteps": { "alias": "keySteps"; "required": false; }; }, {}, never, never, true, never>;
|
|
31
|
+
static ngAcceptInputType_step: number | "any";
|
|
32
|
+
}
|
|
4
33
|
export declare class TuiSliderKeySteps extends TuiControl<number> {
|
|
5
34
|
private readonly slider;
|
|
6
|
-
keySteps: TuiKeySteps;
|
|
7
|
-
writeValue(controlValue: number | null): void;
|
|
8
|
-
protected get min(): number;
|
|
9
|
-
protected get max(): number;
|
|
10
|
-
protected updateControlValue(): void;
|
|
11
|
-
private transformToNativeValue;
|
|
35
|
+
set keySteps(steps: TuiKeySteps);
|
|
12
36
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderKeySteps, never>;
|
|
13
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeySteps, "input[tuiSlider][keySteps]", never, { "keySteps": { "alias": "keySteps"; "required": false; }; }, {}, never, never, true, never>;
|
|
37
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSliderKeySteps, "input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]", never, { "keySteps": { "alias": "keySteps"; "required": false; }; }, {}, never, never, true, never>;
|
|
14
38
|
}
|
|
@@ -1,21 +1,24 @@
|
|
|
1
1
|
import type { TuiSizeS } from '@taiga-ui/core/types';
|
|
2
|
+
import { TuiSliderKeyStepsBase } from './helpers/slider-key-steps.directive';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class TuiSliderComponent {
|
|
4
|
-
private readonly injector;
|
|
5
5
|
private readonly control;
|
|
6
6
|
protected readonly options: import("./slider.options").TuiSliderOptions;
|
|
7
7
|
size: TuiSizeS;
|
|
8
8
|
segments: number;
|
|
9
9
|
readonly el: HTMLInputElement;
|
|
10
|
+
readonly keySteps: TuiSliderKeyStepsBase | null;
|
|
10
11
|
constructor();
|
|
11
12
|
get valueRatio(): number;
|
|
12
13
|
get min(): number;
|
|
14
|
+
set min(x: number);
|
|
13
15
|
get max(): number;
|
|
16
|
+
set max(x: number);
|
|
17
|
+
get step(): number;
|
|
18
|
+
set step(x: number);
|
|
14
19
|
get value(): number;
|
|
15
20
|
set value(newValue: number);
|
|
16
|
-
protected get hasKeySteps(): boolean;
|
|
17
21
|
protected get segmentWidth(): number;
|
|
18
|
-
protected get step(): number;
|
|
19
22
|
static ɵfac: i0.ɵɵFactoryDeclaration<TuiSliderComponent, never>;
|
|
20
23
|
static ɵcmp: i0.ɵɵComponentDeclaration<TuiSliderComponent, "input[type=range][tuiSlider]", never, { "size": { "alias": "size"; "required": false; }; "segments": { "alias": "segments"; "required": false; }; }, {}, never, never, true, never>;
|
|
21
24
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { TuiSliderKeySteps } from './helpers/slider-key-steps.directive';
|
|
1
|
+
import { TuiSliderKeySteps, TuiSliderKeyStepsBase } from './helpers/slider-key-steps.directive';
|
|
2
2
|
import { TuiSliderReadonly } from './helpers/slider-readonly.directive';
|
|
3
3
|
import { TuiSliderThumbLabel } from './helpers/slider-thumb-label.component';
|
|
4
4
|
import { TuiSliderComponent } from './slider.component';
|
|
5
|
-
export declare const TuiSlider: readonly [typeof TuiSliderComponent, typeof TuiSliderThumbLabel, typeof TuiSliderKeySteps, typeof TuiSliderReadonly];
|
|
5
|
+
export declare const TuiSlider: readonly [typeof TuiSliderComponent, typeof TuiSliderThumbLabel, typeof TuiSliderKeyStepsBase, typeof TuiSliderKeySteps, typeof TuiSliderReadonly];
|
|
@@ -27,6 +27,7 @@ export * from '@taiga-ui/kit/components/input-number';
|
|
|
27
27
|
export * from '@taiga-ui/kit/components/input-password';
|
|
28
28
|
export * from '@taiga-ui/kit/components/input-phone-international';
|
|
29
29
|
export * from '@taiga-ui/kit/components/input-pin';
|
|
30
|
+
export * from '@taiga-ui/kit/components/input-slider';
|
|
30
31
|
export * from '@taiga-ui/kit/components/items-with-more';
|
|
31
32
|
export * from '@taiga-ui/kit/components/like';
|
|
32
33
|
export * from '@taiga-ui/kit/components/line-clamp';
|
|
@@ -51,4 +52,4 @@ export * from '@taiga-ui/kit/components/switch';
|
|
|
51
52
|
export * from '@taiga-ui/kit/components/tabs';
|
|
52
53
|
export * from '@taiga-ui/kit/components/tiles';
|
|
53
54
|
export * from '@taiga-ui/kit/components/tree';
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMscUNBQXFDLENBQUM7QUFDcEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUNwRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYywrQkFBK0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9hY2NvcmRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2FjdGlvbi1iYXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2F2YXRhcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmFkZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2JhZGdlLW5vdGlmaWNhdGlvbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYmFkZ2VkLWNvbnRlbnQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2Jsb2NrJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvYnV0dG9uLWxvYWRpbmcnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NhbGVuZGFyLW1vbnRoJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jYWxlbmRhci1yYW5nZSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvY2Fyb3VzZWwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2NoZWNrYm94JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jaGlwJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jb21tZW50JztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jb21wYXNzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9jb25maXJtJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9kYXRhLWxpc3Qtd3JhcHBlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZHJhd2VyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9lbGFzdGljLWNvbnRhaW5lcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvZmlsZXMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2ZpbHRlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtaW5saW5lJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1tb250aCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtbW9udGgtcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LW51bWJlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtcGFzc3dvcmQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBob25lLWludGVybmF0aW9uYWwnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2lucHV0LXBpbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvaW5wdXQtc2xpZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pdGVtcy13aXRoLW1vcmUnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2xpa2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL2xpbmUtY2xhbXAnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL21lc3NhZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3BhZ2luYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3BkZi12aWV3ZXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3Bpbic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJldmlldyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcHJvZ3Jlc3MnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3B1bHNlJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9wdXNoJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9yYWRpbyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFkaW8tbGlzdCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcmFuZ2UnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3JhdGluZyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvcm91dGFibGUtZGlhbG9nJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zZWdtZW50ZWQnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3NsaWRlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zdGVwcGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zd2l0Y2gnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RhYnMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2tpdC9jb21wb25lbnRzL3RpbGVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy90cmVlJztcbiJdfQ==
|
|
@@ -12,4 +12,4 @@ export const TUI_INPUT_NUMBER_DEFAULT_OPTIONS = {
|
|
|
12
12
|
valueTransformer: null,
|
|
13
13
|
};
|
|
14
14
|
export const [TUI_INPUT_NUMBER_OPTIONS, tuiInputNumberOptionsProvider] = tuiCreateOptions(TUI_INPUT_NUMBER_DEFAULT_OPTIONS);
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtbnVtYmVyLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLm9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFleEQsTUFBTSxDQUFDLE1BQU0sZ0NBQWdDLEdBQTBCO0lBQ25FLEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO0lBQzVCLEdBQUcsRUFBRSxNQUFNLENBQUMsZ0JBQWdCO0lBQzVCLE1BQU0sRUFBRSxFQUFFO0lBQ1YsT0FBTyxFQUFFLEVBQUU7SUFDWCxJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRTtRQUNILFFBQVEsRUFBRSxXQUFXO1FBQ3JCLFFBQVEsRUFBRSxZQUFZO0tBQ3pCO0lBQ0QsZ0JBQWdCLEVBQUUsSUFBSTtDQUN6QixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sQ0FBQyx3QkFBd0IsRUFBRSw2QkFBNkIsQ0FBQyxHQUFHLGdCQUFnQixDQUNyRixnQ0FBZ0MsQ0FDbkMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlDcmVhdGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RpJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlJbnB1dE51bWJlck9wdGlvbnMge1xuICAgIHJlYWRvbmx5IG1heDogbnVtYmVyO1xuICAgIHJlYWRvbmx5IG1pbjogbnVtYmVyO1xuICAgIHJlYWRvbmx5IHByZWZpeDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IHBvc3RmaXg6IHN0cmluZztcbiAgICByZWFkb25seSBzdGVwOiBudW1iZXI7XG4gICAgcmVhZG9ubHkgaWNvbnM6IFJlYWRvbmx5PHtcbiAgICAgICAgZGVjcmVhc2U6IHN0cmluZztcbiAgICAgICAgaW5jcmVhc2U6IHN0cmluZztcbiAgICB9PjtcbiAgICByZWFkb25seSB2YWx1ZVRyYW5zZm9ybWVyOiBUdWlWYWx1ZVRyYW5zZm9ybWVyPG51bWJlciB8IG51bGwsIGFueT4gfCBudWxsO1xufVxuXG5leHBvcnQgY29uc3QgVFVJX0lOUFVUX05VTUJFUl9ERUZBVUxUX09QVElPTlM6IFR1aUlucHV0TnVtYmVyT3B0aW9ucyA9IHtcbiAgICBtaW46IE51bWJlci5NSU5fU0FGRV9JTlRFR0VSLFxuICAgIG1heDogTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsXG4gICAgcHJlZml4OiAnJyxcbiAgICBwb3N0Zml4OiAnJyxcbiAgICBzdGVwOiAwLFxuICAgIGljb25zOiB7XG4gICAgICAgIGluY3JlYXNlOiAnQHR1aS5wbHVzJyxcbiAgICAgICAgZGVjcmVhc2U6ICdAdHVpLm1pbnVzJyxcbiAgICB9LFxuICAgIHZhbHVlVHJhbnNmb3JtZXI6IG51bGwsXG59O1xuXG5leHBvcnQgY29uc3QgW1RVSV9JTlBVVF9OVU1CRVJfT1BUSU9OUywgdHVpSW5wdXROdW1iZXJPcHRpb25zUHJvdmlkZXJdID0gdHVpQ3JlYXRlT3B0aW9ucyhcbiAgICBUVUlfSU5QVVRfTlVNQkVSX0RFRkFVTFRfT1BUSU9OUyxcbik7XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './input-slider';
|
|
2
|
+
export * from './input-slider.directive';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9pbnB1dC1zbGlkZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1zbGlkZXInO1xuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1zbGlkZXIuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, Directive, effect, inject, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import { TUI_IDENTITY_VALUE_TRANSFORMER, TuiNonNullableValueTransformer, TuiValueTransformer, } from '@taiga-ui/cdk/classes';
|
|
3
|
+
import { TUI_ALLOW_SIGNAL_WRITES } from '@taiga-ui/cdk/constants';
|
|
4
|
+
import { TUI_IS_MOBILE } from '@taiga-ui/cdk/tokens';
|
|
5
|
+
import { tuiInjectElement, tuiIsElement, tuiIsInput } from '@taiga-ui/cdk/utils/dom';
|
|
6
|
+
import { tuiClamp } from '@taiga-ui/cdk/utils/math';
|
|
7
|
+
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
8
|
+
import { tuiInjectAuxiliary } from '@taiga-ui/core/components/textfield';
|
|
9
|
+
import { TuiInputNumberDirective, tuiInputNumberOptionsProvider, } from '@taiga-ui/kit/components/input-number';
|
|
10
|
+
import { TuiSliderComponent } from '@taiga-ui/kit/components/slider';
|
|
11
|
+
import { filter, fromEvent } from 'rxjs';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@taiga-ui/kit/components/input-number";
|
|
14
|
+
class TuiInputSliderDirective {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.isMobile = inject(TUI_IS_MOBILE);
|
|
17
|
+
this.element = tuiInjectElement();
|
|
18
|
+
this.inputNumber = inject(TuiInputNumberDirective, { self: true });
|
|
19
|
+
this.slider = tuiInjectAuxiliary((x) => x instanceof TuiSliderComponent);
|
|
20
|
+
this.controlTransformer = inject(TuiValueTransformer, { self: true });
|
|
21
|
+
this.value = computed(() => this.controlTransformer.toControlValue(this.inputNumber.value()));
|
|
22
|
+
this.keyStepsTransformer = computed(() => this.slider()?.keySteps?.transformer() ?? TUI_IDENTITY_VALUE_TRANSFORMER);
|
|
23
|
+
this.nothing = tuiWithStyles(TuiInputSliderStyles);
|
|
24
|
+
this.textfieldToSliderSync = effect(() => {
|
|
25
|
+
const slider = this.slider();
|
|
26
|
+
if (!slider) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (slider.keySteps && Number.isFinite(slider.keySteps?.totalSteps)) {
|
|
30
|
+
// TODO(v5): move all if-condition body inside `TuiSliderKeyStepsBase`
|
|
31
|
+
slider.min = 0;
|
|
32
|
+
slider.step = 1;
|
|
33
|
+
slider.max = slider.keySteps?.totalSteps ?? 100;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
slider.min = this.inputNumber.min();
|
|
37
|
+
slider.max = this.inputNumber.max();
|
|
38
|
+
}
|
|
39
|
+
slider.value = this.keyStepsTransformer().fromControlValue(this.value());
|
|
40
|
+
slider.el.disabled = !this.inputNumber.interactive();
|
|
41
|
+
}, TUI_ALLOW_SIGNAL_WRITES);
|
|
42
|
+
this.sliderInitEffect = effect((onCleanup) => {
|
|
43
|
+
const slider = this.slider();
|
|
44
|
+
if (!slider) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
slider.el.style.setProperty('--tui-slider-track-color', 'transparent');
|
|
48
|
+
if (slider.keySteps) {
|
|
49
|
+
slider.keySteps.value = this.value;
|
|
50
|
+
}
|
|
51
|
+
const subscription = fromEvent(slider.el, 'input', (x) => x.target)
|
|
52
|
+
.pipe(filter(tuiIsElement), filter(tuiIsInput))
|
|
53
|
+
.subscribe((x) => this.onSliderInput(x.valueAsNumber));
|
|
54
|
+
onCleanup(() => subscription.unsubscribe());
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
onStep(coefficient) {
|
|
58
|
+
const slider = this.slider();
|
|
59
|
+
if (slider && this.inputNumber.interactive()) {
|
|
60
|
+
const newValue = tuiClamp(slider.keySteps?.takeStep(coefficient) ??
|
|
61
|
+
slider.value + coefficient * slider.step, this.inputNumber.min(), this.inputNumber.max());
|
|
62
|
+
this.inputNumber.setValue(newValue);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
onBlur() {
|
|
66
|
+
if (!this.element.value) {
|
|
67
|
+
this.inputNumber.setValue(this.value() ?? null);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
onSliderInput(value) {
|
|
71
|
+
this.inputNumber.setValue(this.keyStepsTransformer().toControlValue(value));
|
|
72
|
+
if (!this.isMobile) {
|
|
73
|
+
this.element.focus();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
77
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputSliderDirective, isStandalone: true, selector: "input[tuiInputSlider]", host: { listeners: { "blur": "onBlur()", "keydown.arrowUp": "onStep(1)", "keydown.arrowDown": "onStep(-1)" } }, providers: [
|
|
78
|
+
tuiInputNumberOptionsProvider({
|
|
79
|
+
valueTransformer: new TuiNonNullableValueTransformer(),
|
|
80
|
+
}),
|
|
81
|
+
], hostDirectives: [{ directive: i1.TuiInputNumberDirective, inputs: ["min", "min", "max", "max", "prefix", "prefix", "postfix", "postfix", "invalid", "invalid", "readOnly", "readOnly"] }], ngImport: i0 }); }
|
|
82
|
+
}
|
|
83
|
+
export { TuiInputSliderDirective };
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderDirective, decorators: [{
|
|
85
|
+
type: Directive,
|
|
86
|
+
args: [{
|
|
87
|
+
standalone: true,
|
|
88
|
+
selector: 'input[tuiInputSlider]',
|
|
89
|
+
providers: [
|
|
90
|
+
tuiInputNumberOptionsProvider({
|
|
91
|
+
valueTransformer: new TuiNonNullableValueTransformer(),
|
|
92
|
+
}),
|
|
93
|
+
],
|
|
94
|
+
hostDirectives: [
|
|
95
|
+
{
|
|
96
|
+
directive: TuiInputNumberDirective,
|
|
97
|
+
inputs: ['min', 'max', 'prefix', 'postfix', 'invalid', 'readOnly'],
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
host: {
|
|
101
|
+
'(blur)': 'onBlur()',
|
|
102
|
+
'(keydown.arrowUp)': 'onStep(1)',
|
|
103
|
+
'(keydown.arrowDown)': 'onStep(-1)',
|
|
104
|
+
},
|
|
105
|
+
}]
|
|
106
|
+
}] });
|
|
107
|
+
class TuiInputSliderStyles {
|
|
108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
109
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiInputSliderStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-input-slider" }, ngImport: i0, template: '', isInline: true, styles: ["tui-textfield [tuiInputSlider]~.t-content .t-clear{display:none!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
110
|
+
}
|
|
111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiInputSliderStyles, decorators: [{
|
|
112
|
+
type: Component,
|
|
113
|
+
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
114
|
+
class: 'tui-input-slider',
|
|
115
|
+
}, styles: ["tui-textfield [tuiInputSlider]~.t-content .t-clear{display:none!important}\n"] }]
|
|
116
|
+
}] });
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL2lucHV0LXNsaWRlci9pbnB1dC1zbGlkZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixTQUFTLEVBQ1QsTUFBTSxFQUNOLE1BQU0sRUFDTixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNILDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsbUJBQW1CLEdBQ3RCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDbkYsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUN2RSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLDZCQUE2QixHQUNoQyxNQUFNLHVDQUF1QyxDQUFDO0FBQy9DLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFFdkMsTUFvQmEsdUJBQXVCO0lBcEJwQztRQXFCcUIsYUFBUSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNqQyxZQUFPLEdBQUcsZ0JBQWdCLEVBQW9CLENBQUM7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LEVBQUU7YUFDekQsQ0FBQztTQUNMOztTQWFRLHVCQUF1Qjs0RkFBdkIsdUJBQXVCO2tCQXBCbkMsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFO3dCQUNQLDZCQUE2QixDQUFDOzRCQUMxQixnQkFBZ0IsRUFBRSxJQUFJLDhCQUE4QixFQUFFO3lCQUN6RCxDQUFDO3FCQUNMO29CQUNELGNBQWMsRUFBRTt3QkFDWjs0QkFDSSxTQUFTLEVBQUUsdUJBQXVCOzRCQUNsQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFVBQVUsQ0FBQzt5QkFDckU7cUJBQ0o7b0JBQ0QsSUFBSSxFQUFFO3dCQUNGLFFBQVEsRUFBRSxVQUFVO3dCQUNwQixtQkFBbUIsRUFBRSxXQUFXO3dCQUNoQyxxQkFBcUIsRUFBRSxZQUFZO3FCQUN0QztpQkFDSjs7QUE4RkQsTUFhTSxvQkFBb0I7K0dBQXBCLG9CQUFvQjttR0FBcEIsb0JBQW9CLHNIQVhaLEVBQUU7OzRGQVdWLG9CQUFvQjtrQkFiekIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sRUFBRSxpQkFLRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLFFBQ3pDO3dCQUNGLEtBQUssRUFBRSxrQkFBa0I7cUJBQzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDb21wb25lbnQsXG4gICAgY29tcHV0ZWQsXG4gICAgRGlyZWN0aXZlLFxuICAgIGVmZmVjdCxcbiAgICBpbmplY3QsXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBUVUlfSURFTlRJVFlfVkFMVUVfVFJBTlNGT1JNRVIsXG4gICAgVHVpTm9uTnVsbGFibGVWYWx1ZVRyYW5zZm9ybWVyLFxuICAgIFR1aVZhbHVlVHJhbnNmb3JtZXIsXG59IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQge1RVSV9BTExPV19TSUdOQUxfV1JJVEVTfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9JU19NT0JJTEV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudCwgdHVpSXNFbGVtZW50LCB0dWlJc0lucHV0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUNsYW1wfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21hdGgnO1xuaW1wb3J0IHt0dWlXaXRoU3R5bGVzfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHt0dWlJbmplY3RBdXhpbGlhcnl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB7XG4gICAgVHVpSW5wdXROdW1iZXJEaXJlY3RpdmUsXG4gICAgdHVpSW5wdXROdW1iZXJPcHRpb25zUHJvdmlkZXIsXG59IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHtUdWlTbGlkZXJDb21wb25lbnR9IGZyb20gJ0B0YWlnYS11aS9raXQvY29tcG9uZW50cy9zbGlkZXInO1xuaW1wb3J0IHtmaWx0ZXIsIGZyb21FdmVudH0gZnJvbSAncnhqcyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0dWlJbnB1dFNsaWRlcl0nLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB0dWlJbnB1dE51bWJlck9wdGlvbnNQcm92aWRlcih7XG4gICAgICAgICAgICB2YWx1ZVRyYW5zZm9ybWVyOiBuZXcgVHVpTm9uTnVsbGFibGVWYWx1ZVRyYW5zZm9ybWVyKCksXG4gICAgICAgIH0pLFxuICAgIF0sXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgZGlyZWN0aXZlOiBUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSxcbiAgICAgICAgICAgIGlucHV0czogWydtaW4nLCAnbWF4JywgJ3ByZWZpeCcsICdwb3N0Zml4JywgJ2ludmFsaWQnLCAncmVhZE9ubHknXSxcbiAgICAgICAgfSxcbiAgICBdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhibHVyKSc6ICdvbkJsdXIoKScsXG4gICAgICAgICcoa2V5ZG93bi5hcnJvd1VwKSc6ICdvblN0ZXAoMSknLFxuICAgICAgICAnKGtleWRvd24uYXJyb3dEb3duKSc6ICdvblN0ZXAoLTEpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlJbnB1dFNsaWRlckRpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc01vYmlsZSA9IGluamVjdChUVUlfSVNfTU9CSUxFKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnQgPSB0dWlJbmplY3RFbGVtZW50PEhUTUxJbnB1dEVsZW1lbnQ+KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dE51bWJlciA9IGluamVjdChUdWlJbnB1dE51bWJlckRpcmVjdGl2ZSwge3NlbGY6IHRydWV9KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNsaWRlciA9IHR1aUluamVjdEF1eGlsaWFyeTxUdWlTbGlkZXJDb21wb25lbnQ+KFxuICAgICAgICAoeCkgPT4geCBpbnN0YW5jZW9mIFR1aVNsaWRlckNvbXBvbmVudCxcbiAgICApO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sVHJhbnNmb3JtZXIgPSBpbmplY3Q8XG4gICAgICAgIFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyIHwgbnVsbCwgbnVtYmVyPlxuICAgID4oVHVpVmFsdWVUcmFuc2Zvcm1lciwge3NlbGY6IHRydWV9KTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmFsdWUgPSBjb21wdXRlZCgoKSA9PlxuICAgICAgICB0aGlzLmNvbnRyb2xUcmFuc2Zvcm1lci50b0NvbnRyb2xWYWx1ZSh0aGlzLmlucHV0TnVtYmVyLnZhbHVlKCkpLFxuICAgICk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGtleVN0ZXBzVHJhbnNmb3JtZXIgPSBjb21wdXRlZChcbiAgICAgICAgKCkgPT4gdGhpcy5zbGlkZXIoKT8ua2V5U3RlcHM/LnRyYW5zZm9ybWVyKCkgPz8gVFVJX0lERU5USVRZX1ZBTFVFX1RSQU5TRk9STUVSLFxuICAgICk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbm90aGluZyA9IHR1aVdpdGhTdHlsZXMoVHVpSW5wdXRTbGlkZXJTdHlsZXMpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IHRleHRmaWVsZFRvU2xpZGVyU3luYyA9IGVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IHNsaWRlciA9IHRoaXMuc2xpZGVyKCk7XG5cbiAgICAgICAgaWYgKCFzbGlkZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzbGlkZXIua2V5U3RlcHMgJiYgTnVtYmVyLmlzRmluaXRlKHNsaWRlci5rZXlTdGVwcz8udG90YWxTdGVwcykpIHtcbiAgICAgICAgICAgIC8vIFRPRE8odjUpOiBtb3ZlIGFsbCBpZi1jb25kaXRpb24gYm9keSBpbnNpZGUgYFR1aVNsaWRlcktleVN0ZXBzQmFzZWBcbiAgICAgICAgICAgIHNsaWRlci5taW4gPSAwO1xuICAgICAgICAgICAgc2xpZGVyLnN0ZXAgPSAxO1xuICAgICAgICAgICAgc2xpZGVyLm1heCA9IHNsaWRlci5rZXlTdGVwcz8udG90YWxTdGVwcyA/PyAxMDA7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzbGlkZXIubWluID0gdGhpcy5pbnB1dE51bWJlci5taW4oKTtcbiAgICAgICAgICAgIHNsaWRlci5tYXggPSB0aGlzLmlucHV0TnVtYmVyLm1heCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2xpZGVyLnZhbHVlID0gdGhpcy5rZXlTdGVwc1RyYW5zZm9ybWVyKCkuZnJvbUNvbnRyb2xWYWx1ZSh0aGlzLnZhbHVlKCkpO1xuICAgICAgICBzbGlkZXIuZWwuZGlzYWJsZWQgPSAhdGhpcy5pbnB1dE51bWJlci5pbnRlcmFjdGl2ZSgpO1xuICAgIH0sIFRVSV9BTExPV19TSUdOQUxfV1JJVEVTKTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBzbGlkZXJJbml0RWZmZWN0ID0gZWZmZWN0KChvbkNsZWFudXApID0+IHtcbiAgICAgICAgY29uc3Qgc2xpZGVyID0gdGhpcy5zbGlkZXIoKTtcblxuICAgICAgICBpZiAoIXNsaWRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgc2xpZGVyLmVsLnN0eWxlLnNldFByb3BlcnR5KCctLXR1aS1zbGlkZXItdHJhY2stY29sb3InLCAndHJhbnNwYXJlbnQnKTtcblxuICAgICAgICBpZiAoc2xpZGVyLmtleVN0ZXBzKSB7XG4gICAgICAgICAgICBzbGlkZXIua2V5U3RlcHMudmFsdWUgPSB0aGlzLnZhbHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgc3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHNsaWRlci5lbCwgJ2lucHV0JywgKHgpID0+IHgudGFyZ2V0KVxuICAgICAgICAgICAgLnBpcGUoZmlsdGVyKHR1aUlzRWxlbWVudCksIGZpbHRlcih0dWlJc0lucHV0KSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHRoaXMub25TbGlkZXJJbnB1dCh4LnZhbHVlQXNOdW1iZXIpKTtcblxuICAgICAgICBvbkNsZWFudXAoKCkgPT4gc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICAgIH0pO1xuXG4gICAgcHJvdGVjdGVkIG9uU3RlcChjb2VmZmljaWVudDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNsaWRlciA9IHRoaXMuc2xpZGVyKCk7XG5cbiAgICAgICAgaWYgKHNsaWRlciAmJiB0aGlzLmlucHV0TnVtYmVyLmludGVyYWN0aXZlKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gdHVpQ2xhbXAoXG4gICAgICAgICAgICAgICAgc2xpZGVyLmtleVN0ZXBzPy50YWtlU3RlcChjb2VmZmljaWVudCkgPz9cbiAgICAgICAgICAgICAgICAgICAgc2xpZGVyLnZhbHVlICsgY29lZmZpY2llbnQgKiBzbGlkZXIuc3RlcCxcbiAgICAgICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyLm1pbigpLFxuICAgICAgICAgICAgICAgIHRoaXMuaW5wdXROdW1iZXIubWF4KCksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyLnNldFZhbHVlKG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5lbGVtZW50LnZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlucHV0TnVtYmVyLnNldFZhbHVlKHRoaXMudmFsdWUoKSA/PyBudWxsKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgb25TbGlkZXJJbnB1dCh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXROdW1iZXIuc2V0VmFsdWUodGhpcy5rZXlTdGVwc1RyYW5zZm9ybWVyKCkudG9Db250cm9sVmFsdWUodmFsdWUpKTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNNb2JpbGUpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHRlbXBsYXRlOiAnJyxcbiAgICBzdHlsZXM6IFtcbiAgICAgICAgLy8gVE9ETzogdHVpLXRleHRmaWVsZDpoYXMoW3R1aUlucHV0U2xpZGVyXSkgLnQtY2xlYXJcbiAgICAgICAgJ3R1aS10ZXh0ZmllbGQgW3R1aUlucHV0U2xpZGVyXSB+IC50LWNvbnRlbnQgLnQtY2xlYXIge2Rpc3BsYXk6IG5vbmUgIWltcG9ydGFudH0nLFxuICAgIF0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBob3N0OiB7XG4gICAgICAgIGNsYXNzOiAndHVpLWlucHV0LXNsaWRlcicsXG4gICAgfSxcbn0pXG5jbGFzcyBUdWlJbnB1dFNsaWRlclN0eWxlcyB7fVxuIl19
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { TuiSlider } from '@taiga-ui/kit/components/slider';
|
|
2
|
+
import { TuiInputSliderDirective } from './input-slider.directive';
|
|
3
|
+
export const TuiInputSlider = [...TuiSlider, TuiInputSliderDirective];
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtc2xpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtc2xpZGVyL2lucHV0LXNsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFFMUQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsR0FBRyxTQUFTLEVBQUUsdUJBQXVCLENBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHVpU2xpZGVyfSBmcm9tICdAdGFpZ2EtdWkva2l0L2NvbXBvbmVudHMvc2xpZGVyJztcblxuaW1wb3J0IHtUdWlJbnB1dFNsaWRlckRpcmVjdGl2ZX0gZnJvbSAnLi9pbnB1dC1zbGlkZXIuZGlyZWN0aXZlJztcblxuZXhwb3J0IGNvbnN0IFR1aUlucHV0U2xpZGVyID0gWy4uLlR1aVNsaWRlciwgVHVpSW5wdXRTbGlkZXJEaXJlY3RpdmVdIGFzIGNvbnN0O1xuIl19
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWkta2l0LWNvbXBvbmVudHMtaW5wdXQtc2xpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvaW5wdXQtc2xpZGVyL3RhaWdhLXVpLWtpdC1jb21wb25lbnRzLWlucHV0LXNsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -102,7 +102,7 @@ class TuiRange extends TuiControl {
|
|
|
102
102
|
return tuiClamp(distance, this.margin, this.limit) === distance;
|
|
103
103
|
}
|
|
104
104
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiRange, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRange, isStandalone: true, selector: "tui-range", inputs: { min: "min", max: "max", step: "step", size: "size", segments: "segments", keySteps: "keySteps", focusable: "focusable", margin: "margin", limit: "limit" }, host: { listeners: { "focusout": "onTouched()", "keydown.arrowUp.prevent": "changeByStep(1, $event.target)", "keydown.arrowRight.prevent": "changeByStep(1, $event.target)", "keydown.arrowLeft.prevent": "changeByStep(-1, $event.target)", "keydown.arrowDown.prevent": "changeByStep(-1, $event.target)" }, properties: { "attr.data-size": "size", "attr.tabindex": "-1", "attr.aria-disabled": "disabled()", "style.--t-left.%": "left()", "style.--t-right.%": "right()", "style.background": "options.trackColor", "class._disabled": "disabled()" } }, providers: [tuiFallbackValueProvider([0, 0])], viewQueries: [{ propertyName: "slidersRefs", predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.TuiRangeChange, outputs: ["activeThumbChange", "activeThumbChange"] }], ngImport: i0, template: "<div\n class=\"t-track\"\n [style.--t-bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--t-segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;block-size:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;inline-size:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;block-size:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--t-left) - 1px),1px);right:max(var(--t-right),1px);block-size:100%;background:var(--tui-background-accent-1);margin:0 -.25rem}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--t-segment-width) / var(--t-bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--t-bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;block-size:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--t-left) - 1px),1px);right:max(var(--t-right),1px);block-size:100%;background:var(--tui-background-accent-1);margin:0 -.375rem}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--t-segment-width) / var(--t-bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--t-bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }, { kind: "directive", type: i3.TuiSliderKeySteps, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { kind: "directive", type: i3.TuiSliderReadonly, selector: "input[tuiSlider][readonly]", inputs: ["readonly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiRange, isStandalone: true, selector: "tui-range", inputs: { min: "min", max: "max", step: "step", size: "size", segments: "segments", keySteps: "keySteps", focusable: "focusable", margin: "margin", limit: "limit" }, host: { listeners: { "focusout": "onTouched()", "keydown.arrowUp.prevent": "changeByStep(1, $event.target)", "keydown.arrowRight.prevent": "changeByStep(1, $event.target)", "keydown.arrowLeft.prevent": "changeByStep(-1, $event.target)", "keydown.arrowDown.prevent": "changeByStep(-1, $event.target)" }, properties: { "attr.data-size": "size", "attr.tabindex": "-1", "attr.aria-disabled": "disabled()", "style.--t-left.%": "left()", "style.--t-right.%": "right()", "style.background": "options.trackColor", "class._disabled": "disabled()" } }, providers: [tuiFallbackValueProvider([0, 0])], viewQueries: [{ propertyName: "slidersRefs", predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1.TuiRangeChange, outputs: ["activeThumbChange", "activeThumbChange"] }], ngImport: i0, template: "<div\n class=\"t-track\"\n [style.--t-bg-size-ratio]=\"1 - segmentWidthRatio\"\n [style.--t-segment-width.%]=\"segmentWidthRatio * 100\"\n>\n <input\n automation-id=\"tui-range__left\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[0]\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n <input\n automation-id=\"tui-range__right\"\n readonly\n step=\"any\"\n tuiSlider\n type=\"range\"\n class=\"t-thumb\"\n [disabled]=\"disabled()\"\n [keySteps]=\"computedKeySteps\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value()[1]\"\n [ngModelOptions]=\"{standalone: true}\"\n [size]=\"size\"\n [tabIndex]=\"focusable ? 0 : -1\"\n />\n</div>\n", styles: [":host{position:relative;display:block;block-size:.125rem;border-radius:var(--tui-radius-m);background:var(--tui-border-normal);cursor:pointer;outline:none;margin:.4375rem 0;touch-action:pan-x}:host:active{cursor:ew-resize}:host:after{content:\"\";position:absolute;top:-.4375rem;bottom:-.4375rem;inline-size:100%}:host._disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host[data-size=s] .t-track{position:relative;margin:0 .25rem;block-size:100%}:host[data-size=s] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--t-left) - 1px),1px);right:max(var(--t-right),1px);block-size:100%;background:var(--tui-background-accent-1);margin:0 -.25rem}:host[data-size=s] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.125rem;right:.375rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--t-segment-width) / var(--t-bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--t-bg-size-ratio))}:host[data-size=m] .t-track{position:relative;margin:0 .375rem;block-size:100%}:host[data-size=m] .t-track:before{content:\"\";position:absolute;top:0;left:max(calc(var(--t-left) - 1px),1px);right:max(var(--t-right),1px);block-size:100%;background:var(--tui-background-accent-1);margin:0 -.375rem}:host[data-size=m] .t-track:after{position:absolute;top:0;left:0;bottom:0;right:0;content:\"\";left:.25rem;right:.5rem;background-image:repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 calc(var(--t-segment-width) / var(--t-bg-size-ratio)));background-position-x:right;background-repeat:no-repeat;background-size:calc(100% * var(--t-bg-size-ratio))}.t-thumb{pointer-events:none;position:absolute;top:.0625rem;left:0;right:0;z-index:1;transform:translateY(-50%)}.t-thumb::-webkit-slider-thumb{pointer-events:all}.t-thumb::-moz-range-thumb{pointer-events:all}input[type=range].t-thumb::-webkit-slider-runnable-track{background:transparent}input[type=range].t-thumb::-moz-range-track{background:transparent}input[type=range].t-thumb::-moz-range-progress{background:transparent}input[type=range].t-thumb::-ms-track{background:transparent}input[type=range].t-thumb::-ms-fill-lower{background:transparent}.t-thumb:last-of-type{--tui-slider-thumb-transform: translateX(50%) translateX(1px)}.t-thumb:first-of-type{--tui-slider-thumb-transform: translateX(-50%) translateX(-1px)}:host._disabled .t-thumb{opacity:1}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }, { kind: "directive", type: i3.TuiSliderKeyStepsBase, selector: "input[tuiSlider][keySteps]", inputs: ["step", "keySteps"] }, { kind: "directive", type: i3.TuiSliderKeySteps, selector: "input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]", inputs: ["keySteps"] }, { kind: "directive", type: i3.TuiSliderReadonly, selector: "input[tuiSlider][readonly]", inputs: ["readonly"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
106
106
|
}
|
|
107
107
|
__decorate([
|
|
108
108
|
tuiPure
|
|
@@ -21,4 +21,16 @@ export function tuiKeyStepValueToPercentage(value, keySteps) {
|
|
|
21
21
|
const ratio = (value - lowerStepValue) / (upperStepValue - lowerStepValue) || 0;
|
|
22
22
|
return (upperStepPercent - lowerStepPercent) * ratio + lowerStepPercent;
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
export function tuiCreateKeyStepsTransformer(keySteps, slider) {
|
|
25
|
+
return new (class {
|
|
26
|
+
fromControlValue(controlValue) {
|
|
27
|
+
const newValuePercentage = tuiKeyStepValueToPercentage(controlValue, keySteps);
|
|
28
|
+
return (newValuePercentage * (slider.max - slider.min)) / 100 + slider.min;
|
|
29
|
+
}
|
|
30
|
+
toControlValue(nativeValue) {
|
|
31
|
+
const valueRatio = (nativeValue - slider.min) / (slider.max - slider.min) || 0;
|
|
32
|
+
return tuiPercentageToKeyStepValue(valueRatio * 100, keySteps);
|
|
33
|
+
}
|
|
34
|
+
})();
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LXN0ZXBzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvc2xpZGVyL2hlbHBlcnMva2V5LXN0ZXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUlsRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsQ0FBQztBQXNCeEMsU0FBUyw2QkFBNkIsQ0FDbEMsUUFBcUIsRUFDckIsRUFBaUU7SUFFakUsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBRS9FLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLGlCQUFpQixDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBRTVDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSwyQkFBMkIsQ0FDdkMsZUFBdUIsRUFDdkIsUUFBcUI7SUFFckIsTUFBTSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUMxRSw2QkFBNkIsQ0FDekIsUUFBUSxFQUNSLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsZUFBZSxJQUFJLGlCQUFpQixDQUNuRSxDQUFDO0lBQ04sTUFBTSxLQUFLLEdBQ1AsQ0FBQyxlQUFlLEdBQUcsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLENBQUM7SUFDakYsTUFBTSxZQUFZLEdBQUcsQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDLEdBQUcsS0FBSyxHQUFHLGNBQWMsQ0FBQztJQUVoRixPQUFPLFFBQVEsQ0FBQyxZQUFZLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztBQUMxRCxDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUN2QyxLQUFhLEVBQ2IsUUFBcUI7SUFFckIsTUFBTSxDQUFDLENBQUMsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUMxRSw2QkFBNkIsQ0FDekIsUUFBUSxFQUNSLENBQUMsQ0FBQyxDQUFDLEVBQUUsWUFBWSxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxZQUFZLENBQy9DLENBQUM7SUFDTixNQUFNLEtBQUssR0FBRyxDQUFDLEtBQUssR0FBRyxjQUFjLENBQUMsR0FBRyxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFaEYsT0FBTyxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDLEdBQUcsS0FBSyxHQUFHLGdCQUFnQixDQUFDO0FBQzVFLENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQ3hDLFFBQXFCLEVBQ3JCLE1BQTBCO0lBRTFCLE9BQU8sSUFBSSxDQUFDO1FBQ0QsZ0JBQWdCLENBQUMsWUFBb0I7WUFDeEMsTUFBTSxrQkFBa0IsR0FBRywyQkFBMkIsQ0FDbEQsWUFBWSxFQUNaLFFBQVEsQ0FDWCxDQUFDO1lBRUYsT0FBTyxDQUFDLGtCQUFrQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUMvRSxDQUFDO1FBRU0sY0FBYyxDQUFDLFdBQW1CO1lBQ3JDLE1BQU0sVUFBVSxHQUNaLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUVoRSxPQUFPLDJCQUEyQixDQUFDLFVBQVUsR0FBRyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDbkUsQ0FBQztLQUNKLENBQUMsRUFBRSxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtUdWlWYWx1ZVRyYW5zZm9ybWVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NsYXNzZXMnO1xuaW1wb3J0IHt0dWlSb3VuZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcblxuaW1wb3J0IHR5cGUge1R1aVNsaWRlckNvbXBvbmVudH0gZnJvbSAnLi4vc2xpZGVyLmNvbXBvbmVudCc7XG5cbi8qKlxuICogVXNlZCBhcyBhIGxpbWl0IGZvciBlbGltaW5hdGluZyBKUyBpc3N1ZXMgd2l0aCBmbG9hdGluZyBwb2ludCBtYXRoXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfRkxPQVRJTkdfUFJFQ0lTSU9OID0gNztcblxuLyoqXG4gKiBTdGVwcyBmb3Igc3BsaXR0aW5nIHNsaWRlcnMgaW50byBkaWZmZXJlbnQgbGluZWFyIGRlcGVuZGVuY2llcy5cbiAqIEVhY2ggZWxlbWVudCBvZiB0aGUgYXJyYXkgaGFzIHRoZSBmb3JtIFtwZXJjZW50LCB2YWx1ZV1cbiAqXG4gKiBUaHVzLCB0byBzZXQgYSBmaWVsZCBmcm9tIDUwLDAwMCB0byAzMCwwMDAsMDAwIGluIHN0ZXBzOlxuICogMSkgRnJvbSA1MCAwMDAgdG8gMjAwIDAwMCBieSA1MDAwIHBlciBzdGVwICgzMCBzdGVwcylcbiAqIDIpIEZyb20gMjAwIDAwMCB0byAxIDAwMCAwMDAgYnkgNTAgMDAwIHBlciBzdGVwICgxNiBzdGVwcylcbiAqIDMpIEZyb20gMSAwMDAgMDAwIHRvIDMwIDAwMCAwMDAgYnkgNTAwIDAwMCBwZXIgc3RlcCAoNTggc3RlcHMpXG4gKlxuICogWW91IG5lZWQgdG8gcGFzcyB0aGUgZm9sbG93aW5nIGtleVN0ZXAgKHdoZXJlIDEwNCA9IDMwICsgMTYgKyA1OCBpcyB0aGUgdG90YWwgbnVtYmVyIG9mIHN0ZXBzKTpcbiAqICBbXG4gKiAgICAgIFswLCA1MF8wMDBdLFxuICogICAgICBbMTAwIC8gMTA0ICogMzAsIDIwMF8wMDBdLFxuICogICAgICBbMTAwIC8gMTA0ICogKDMwICsgMTYpLCAxXzAwMF8wMDBdLFxuICogICAgICBbMTAwLCAzMF8wMDBfMDAwXSxcbiAqICBdO1xuICpcbiAqL1xuZXhwb3J0IHR5cGUgVHVpS2V5U3RlcHMgPSBbWzAsIG51bWJlcl0sIC4uLkFycmF5PFtudW1iZXIsIG51bWJlcl0+LCBbMTAwLCBudW1iZXJdXTtcblxuZnVuY3Rpb24gdHVpRmluZEtleVN0ZXBzQm91bmRhcmllc0J5Rm4oXG4gICAga2V5U3RlcHM6IFR1aUtleVN0ZXBzLFxuICAgIGZuOiAoW2tleVN0ZXBQZXJjZW50LCBrZXlTdGVwVmFsdWVdOiBbbnVtYmVyLCBudW1iZXJdKSA9PiBib29sZWFuLFxuKTogW1tudW1iZXIsIG51bWJlcl0sIFtudW1iZXIsIG51bWJlcl1dIHtcbiAgICBjb25zdCBrZXlTdGVwVXBwZXJJbmRleCA9IGtleVN0ZXBzLmZpbmRJbmRleCgoa2V5U3RlcCwgaSkgPT4gaSAmJiBmbihrZXlTdGVwKSk7XG5cbiAgICBjb25zdCBsb3dlclN0ZXAgPSBrZXlTdGVwc1trZXlTdGVwVXBwZXJJbmRleCAtIDFdIHx8IGtleVN0ZXBzWzBdO1xuICAgIGNvbnN0IHVwcGVyU3RlcCA9IGtleVN0ZXBzW2tleVN0ZXBVcHBlckluZGV4XSB8fFxuICAgICAgICBrZXlTdGVwc1trZXlTdGVwcy5sZW5ndGggLSAxXSB8fCBbMCwgMF07XG5cbiAgICByZXR1cm4gW2xvd2VyU3RlcCwgdXBwZXJTdGVwXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aVBlcmNlbnRhZ2VUb0tleVN0ZXBWYWx1ZShcbiAgICB2YWx1ZVBlcmNlbnRhZ2U6IG51bWJlcixcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IFtbbG93ZXJTdGVwUGVyY2VudCwgbG93ZXJTdGVwVmFsdWVdLCBbdXBwZXJTdGVwUGVyY2VudCwgdXBwZXJTdGVwVmFsdWVdXSA9XG4gICAgICAgIHR1aUZpbmRLZXlTdGVwc0JvdW5kYXJpZXNCeUZuKFxuICAgICAgICAgICAga2V5U3RlcHMsXG4gICAgICAgICAgICAoW2tleVN0ZXBQZXJjZW50YWdlLCBfXSkgPT4gdmFsdWVQZXJjZW50YWdlIDw9IGtleVN0ZXBQZXJjZW50YWdlLFxuICAgICAgICApO1xuICAgIGNvbnN0IHJhdGlvID1cbiAgICAgICAgKHZhbHVlUGVyY2VudGFnZSAtIGxvd2VyU3RlcFBlcmNlbnQpIC8gKHVwcGVyU3RlcFBlcmNlbnQgLSBsb3dlclN0ZXBQZXJjZW50KTtcbiAgICBjb25zdCBjb250cm9sVmFsdWUgPSAodXBwZXJTdGVwVmFsdWUgLSBsb3dlclN0ZXBWYWx1ZSkgKiByYXRpbyArIGxvd2VyU3RlcFZhbHVlO1xuXG4gICAgcmV0dXJuIHR1aVJvdW5kKGNvbnRyb2xWYWx1ZSwgVFVJX0ZMT0FUSU5HX1BSRUNJU0lPTik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlLZXlTdGVwVmFsdWVUb1BlcmNlbnRhZ2UoXG4gICAgdmFsdWU6IG51bWJlcixcbiAgICBrZXlTdGVwczogVHVpS2V5U3RlcHMsXG4pOiBudW1iZXIge1xuICAgIGNvbnN0IFtbbG93ZXJTdGVwUGVyY2VudCwgbG93ZXJTdGVwVmFsdWVdLCBbdXBwZXJTdGVwUGVyY2VudCwgdXBwZXJTdGVwVmFsdWVdXSA9XG4gICAgICAgIHR1aUZpbmRLZXlTdGVwc0JvdW5kYXJpZXNCeUZuKFxuICAgICAgICAgICAga2V5U3RlcHMsXG4gICAgICAgICAgICAoW18sIGtleVN0ZXBWYWx1ZV0pID0+IHZhbHVlIDw9IGtleVN0ZXBWYWx1ZSxcbiAgICAgICAgKTtcbiAgICBjb25zdCByYXRpbyA9ICh2YWx1ZSAtIGxvd2VyU3RlcFZhbHVlKSAvICh1cHBlclN0ZXBWYWx1ZSAtIGxvd2VyU3RlcFZhbHVlKSB8fCAwO1xuXG4gICAgcmV0dXJuICh1cHBlclN0ZXBQZXJjZW50IC0gbG93ZXJTdGVwUGVyY2VudCkgKiByYXRpbyArIGxvd2VyU3RlcFBlcmNlbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlDcmVhdGVLZXlTdGVwc1RyYW5zZm9ybWVyKFxuICAgIGtleVN0ZXBzOiBUdWlLZXlTdGVwcyxcbiAgICBzbGlkZXI6IFR1aVNsaWRlckNvbXBvbmVudCxcbik6IFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyLCBudW1iZXI+IHtcbiAgICByZXR1cm4gbmV3IChjbGFzcyBpbXBsZW1lbnRzIFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyLCBudW1iZXI+IHtcbiAgICAgICAgcHVibGljIGZyb21Db250cm9sVmFsdWUoY29udHJvbFZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICAgICAgY29uc3QgbmV3VmFsdWVQZXJjZW50YWdlID0gdHVpS2V5U3RlcFZhbHVlVG9QZXJjZW50YWdlKFxuICAgICAgICAgICAgICAgIGNvbnRyb2xWYWx1ZSxcbiAgICAgICAgICAgICAgICBrZXlTdGVwcyxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHJldHVybiAobmV3VmFsdWVQZXJjZW50YWdlICogKHNsaWRlci5tYXggLSBzbGlkZXIubWluKSkgLyAxMDAgKyBzbGlkZXIubWluO1xuICAgICAgICB9XG5cbiAgICAgICAgcHVibGljIHRvQ29udHJvbFZhbHVlKG5hdGl2ZVZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVSYXRpbyA9XG4gICAgICAgICAgICAgICAgKG5hdGl2ZVZhbHVlIC0gc2xpZGVyLm1pbikgLyAoc2xpZGVyLm1heCAtIHNsaWRlci5taW4pIHx8IDA7XG5cbiAgICAgICAgICAgIHJldHVybiB0dWlQZXJjZW50YWdlVG9LZXlTdGVwVmFsdWUodmFsdWVSYXRpbyAqIDEwMCwga2V5U3RlcHMpO1xuICAgICAgICB9XG4gICAgfSkoKTtcbn1cbiJdfQ==
|