@taiga-ui/kit 4.29.0 → 4.30.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/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
|
@@ -1,59 +1,109 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { Directive, forwardRef, inject, INJECTOR, Input, signal } from '@angular/core';
|
|
3
|
+
import { toSignal } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { NgControl } from '@angular/forms';
|
|
2
5
|
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
6
|
+
import { tuiControlValue } from '@taiga-ui/cdk/observables';
|
|
3
7
|
import { tuiFallbackValueProvider } from '@taiga-ui/cdk/tokens';
|
|
4
|
-
import {
|
|
8
|
+
import { tuiPure } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
9
|
+
import { switchMap, timer } from 'rxjs';
|
|
5
10
|
import { TuiSliderComponent } from '../slider.component';
|
|
6
|
-
import {
|
|
11
|
+
import { tuiCreateKeyStepsTransformer } from './key-steps';
|
|
7
12
|
import * as i0 from "@angular/core";
|
|
8
|
-
class
|
|
13
|
+
class TuiSliderKeyStepsBase {
|
|
9
14
|
constructor() {
|
|
10
|
-
|
|
11
|
-
this.
|
|
15
|
+
this.injector = inject(INJECTOR);
|
|
16
|
+
this.control = inject(NgControl, { self: true, optional: true });
|
|
17
|
+
this.step = 1;
|
|
18
|
+
this.transformer = signal(null);
|
|
19
|
+
this.value = toSignal(timer(0) // https://github.com/angular/angular/issues/54418
|
|
20
|
+
.pipe(switchMap(() => tuiControlValue(this.control))));
|
|
12
21
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const clampedControlValue = tuiClamp(controlValue, this.min, this.max);
|
|
18
|
-
ngDevMode &&
|
|
19
|
-
console.assert(controlValue === clampedControlValue, '\n[SliderKeySteps]: You cannot programmatically set value which is less/more than min/max');
|
|
20
|
-
this.slider.value = this.transformToNativeValue(clampedControlValue);
|
|
22
|
+
get slider() {
|
|
23
|
+
return this.injector.get(TuiSliderComponent);
|
|
21
24
|
}
|
|
22
|
-
|
|
23
|
-
|
|
25
|
+
set keySteps(steps) {
|
|
26
|
+
this.transformer.set(steps && tuiCreateKeyStepsTransformer(steps, this.slider));
|
|
27
|
+
this.min = steps?.[0][1];
|
|
28
|
+
this.max = steps?.[steps.length - 1]?.[1];
|
|
24
29
|
}
|
|
25
|
-
|
|
26
|
-
|
|
30
|
+
/**
|
|
31
|
+
* TODO(v5): standardize logic between `TuiSlider` & `TuiInputSlider` (for non-linear slider `step` means percentage)
|
|
32
|
+
* Add these host-bindings to `TuiSliderKeyStepsBase`:
|
|
33
|
+
* ```
|
|
34
|
+
* host: {
|
|
35
|
+
* '[attr.min]': '0',
|
|
36
|
+
* '[attr.step]': '1',
|
|
37
|
+
* '[attr.max]': 'totalSteps',
|
|
38
|
+
* },
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
get totalSteps() {
|
|
42
|
+
/**
|
|
43
|
+
* Not-integer amount of steps is invalid usage of native sliders
|
|
44
|
+
* ```html
|
|
45
|
+
* <input type="range" [max]="100" [step]="3.33" />
|
|
46
|
+
* ```
|
|
47
|
+
* (impossible to select 100; 99.9 is max allowed value)
|
|
48
|
+
*/
|
|
49
|
+
return this.step ? Math.round(100 / this.step) : Infinity;
|
|
27
50
|
}
|
|
28
|
-
|
|
29
|
-
this.
|
|
51
|
+
takeStep(coefficient) {
|
|
52
|
+
const newValue = this.slider.value + coefficient;
|
|
53
|
+
return (this.transformer()?.toControlValue(this.slider.value + coefficient) ??
|
|
54
|
+
newValue);
|
|
30
55
|
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSliderKeyStepsBase, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
57
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "16.2.12", type: TuiSliderKeyStepsBase, isStandalone: true, selector: "input[tuiSlider][keySteps]", inputs: { step: ["step", "step", (x) => (x === 'any' ? null : x)], keySteps: "keySteps" }, host: { properties: { "attr.aria-valuemin": "min", "attr.aria-valuemax": "max", "attr.aria-valuenow": "value()" } }, ngImport: i0 }); }
|
|
58
|
+
}
|
|
59
|
+
__decorate([
|
|
60
|
+
tuiPure
|
|
61
|
+
], TuiSliderKeyStepsBase.prototype, "slider", null);
|
|
62
|
+
export { TuiSliderKeyStepsBase };
|
|
63
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSliderKeyStepsBase, decorators: [{
|
|
64
|
+
type: Directive,
|
|
65
|
+
args: [{
|
|
66
|
+
standalone: true,
|
|
67
|
+
selector: 'input[tuiSlider][keySteps]',
|
|
68
|
+
host: {
|
|
69
|
+
'[attr.aria-valuemin]': 'min',
|
|
70
|
+
'[attr.aria-valuemax]': 'max',
|
|
71
|
+
'[attr.aria-valuenow]': 'value()',
|
|
72
|
+
},
|
|
73
|
+
}]
|
|
74
|
+
}], propDecorators: { step: [{
|
|
75
|
+
type: Input,
|
|
76
|
+
args: [{ transform: (x) => (x === 'any' ? null : x) }]
|
|
77
|
+
}], slider: [], keySteps: [{
|
|
78
|
+
type: Input
|
|
79
|
+
}] } });
|
|
80
|
+
class TuiSliderKeySteps extends TuiControl {
|
|
81
|
+
constructor() {
|
|
82
|
+
super(...arguments);
|
|
83
|
+
this.slider = inject(forwardRef(() => TuiSliderComponent));
|
|
84
|
+
}
|
|
85
|
+
set keySteps(steps) {
|
|
86
|
+
this.transformer = tuiCreateKeyStepsTransformer(steps, this.slider);
|
|
35
87
|
}
|
|
36
88
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSliderKeySteps, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
37
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiSliderKeySteps, isStandalone: true, selector: "input[tuiSlider][keySteps]", inputs: { keySteps: "keySteps" }, host: { listeners: { "blur": "onTouched()", "input": "
|
|
89
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiSliderKeySteps, isStandalone: true, selector: "input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]", inputs: { keySteps: "keySteps" }, host: { listeners: { "blur": "onTouched()", "input": "onChange($event.target.value)", "change": "onChange($event.target.value)" }, properties: { "value": "this.value()", "disabled": "disabled()" } }, providers: [tuiFallbackValueProvider(0)], usesInheritance: true, ngImport: i0 }); }
|
|
38
90
|
}
|
|
39
91
|
export { TuiSliderKeySteps };
|
|
40
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSliderKeySteps, decorators: [{
|
|
41
93
|
type: Directive,
|
|
42
94
|
args: [{
|
|
43
95
|
standalone: true,
|
|
44
|
-
selector: 'input[tuiSlider][keySteps]',
|
|
96
|
+
selector: 'input[tuiSlider][keySteps][ngModel],input[tuiSlider][keySteps][formControl],input[tuiSlider][keySteps][formControlName]',
|
|
45
97
|
providers: [tuiFallbackValueProvider(0)],
|
|
46
98
|
host: {
|
|
47
|
-
'[
|
|
48
|
-
'[attr.aria-valuemin]': 'min',
|
|
49
|
-
'[attr.aria-valuemax]': 'max',
|
|
99
|
+
'[value]': 'this.value()',
|
|
50
100
|
'[disabled]': 'disabled()',
|
|
51
101
|
'(blur)': 'onTouched()',
|
|
52
|
-
'(input)': '
|
|
53
|
-
'(change)': '
|
|
102
|
+
'(input)': 'onChange($event.target.value)',
|
|
103
|
+
'(change)': 'onChange($event.target.value)',
|
|
54
104
|
},
|
|
55
105
|
}]
|
|
56
106
|
}], propDecorators: { keySteps: [{
|
|
57
107
|
type: Input
|
|
58
108
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy9zbGlkZXIvaGVscGVycy9zbGlkZXIta2V5LXN0ZXBzLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ2pELE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRCxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM5RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDMUQsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFFdkQsT0FBTyxFQUFDLDRCQUE0QixFQUFDLE1BQU0sYUFBYSxDQUFDOztBQUV6RCxNQVNhLHFCQUFxQjtJQVRsQztRQVVxQixhQUFRLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzVCLFlBQU8sR0FBRyxNQUFNLENBQUMsU0FBUyxFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztRQU1wRSxTQUFJLEdBQWtCLENBQUMsQ0FBQztRQUV4QixnQkFBVyxHQUFHLE1BQU0sQ0FBNkMsSUFBSSxD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QUk7b0JBQ2hCLFFBQVEsRUFDSix5SEFBeUg7b0JBQzdILFNBQVMsRUFBRSxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN4QyxJQUFJLEVBQUU7d0JBQ0YsU0FBUyxFQUFFLGNBQWM7d0JBQ3pCLFlBQVksRUFBRSxZQUFZO3dCQUMxQixRQUFRLEVBQUUsYUFBYTt3QkFDdkIsU0FBUyxFQUFFLCtCQUErQjt3QkFDMUMsVUFBVSxFQUFFLCtCQUErQjtxQkFDOUM7aUJBQ0o7OEJBT2MsUUFBUTtzQkFEbEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBmb3J3YXJkUmVmLCBpbmplY3QsIElOSkVDVE9SLCBJbnB1dCwgc2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7TmdDb250cm9sfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgdHlwZSB7VHVpVmFsdWVUcmFuc2Zvcm1lcn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7VHVpQ29udHJvbH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jbGFzc2VzJztcbmltcG9ydCB7dHVpQ29udHJvbFZhbHVlfSBmcm9tICdAdGFpZ2EtdWkvY2RrL29ic2VydmFibGVzJztcbmltcG9ydCB7dHVpRmFsbGJhY2tWYWx1ZVByb3ZpZGVyfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3Rva2Vucyc7XG5pbXBvcnQge3R1aVB1cmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3N3aXRjaE1hcCwgdGltZXJ9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVNsaWRlckNvbXBvbmVudH0gZnJvbSAnLi4vc2xpZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgdHlwZSB7VHVpS2V5U3RlcHN9IGZyb20gJy4va2V5LXN0ZXBzJztcbmltcG9ydCB7dHVpQ3JlYXRlS2V5U3RlcHNUcmFuc2Zvcm1lcn0gZnJvbSAnLi9rZXktc3RlcHMnO1xuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaW5wdXRbdHVpU2xpZGVyXVtrZXlTdGVwc10nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmFyaWEtdmFsdWVtaW5dJzogJ21pbicsXG4gICAgICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICdtYXgnLFxuICAgICAgICAnW2F0dHIuYXJpYS12YWx1ZW5vd10nOiAndmFsdWUoKScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpU2xpZGVyS2V5U3RlcHNCYXNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGluamVjdG9yID0gaW5qZWN0KElOSkVDVE9SKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRyb2wgPSBpbmplY3QoTmdDb250cm9sLCB7c2VsZjogdHJ1ZSwgb3B0aW9uYWw6IHRydWV9KTtcblxuICAgIHByb3RlY3RlZCBtaW4/OiBudW1iZXI7XG4gICAgcHJvdGVjdGVkIG1heD86IG51bWJlcjtcblxuICAgIEBJbnB1dCh7dHJhbnNmb3JtOiAoeDogbnVtYmVyIHwgJ2FueScpID0+ICh4ID09PSAnYW55JyA/IG51bGwgOiB4KX0pXG4gICAgcHVibGljIHN0ZXA6IG51bWJlciB8IG51bGwgPSAxO1xuXG4gICAgcHVibGljIHRyYW5zZm9ybWVyID0gc2lnbmFsPFR1aVZhbHVlVHJhbnNmb3JtZXI8bnVtYmVyLCBudW1iZXI+IHwgbnVsbD4obnVsbCk7XG4gICAgcHVibGljIHZhbHVlID0gdG9TaWduYWwoXG4gICAgICAgIHRpbWVyKDApIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzU0NDE4XG4gICAgICAgICAgICAucGlwZShzd2l0Y2hNYXAoKCkgPT4gdHVpQ29udHJvbFZhbHVlPG51bWJlcj4odGhpcy5jb250cm9sKSkpLFxuICAgICk7XG5cbiAgICBAdHVpUHVyZVxuICAgIHB1YmxpYyBnZXQgc2xpZGVyKCk6IFR1aVNsaWRlckNvbXBvbmVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChUdWlTbGlkZXJDb21wb25lbnQpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNldCBrZXlTdGVwcyhzdGVwczogVHVpS2V5U3RlcHMgfCBudWxsKSB7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtZXIuc2V0KHN0ZXBzICYmIHR1aUNyZWF0ZUtleVN0ZXBzVHJhbnNmb3JtZXIoc3RlcHMsIHRoaXMuc2xpZGVyKSk7XG4gICAgICAgIHRoaXMubWluID0gc3RlcHM/LlswXVsxXTtcbiAgICAgICAgdGhpcy5tYXggPSBzdGVwcz8uW3N0ZXBzLmxlbmd0aCAtIDFdPy5bMV07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVE9ETyh2NSk6IHN0YW5kYXJkaXplIGxvZ2ljIGJldHdlZW4gYFR1aVNsaWRlcmAgJiBgVHVpSW5wdXRTbGlkZXJgIChmb3Igbm9uLWxpbmVhciBzbGlkZXIgYHN0ZXBgIG1lYW5zIHBlcmNlbnRhZ2UpXG4gICAgICogQWRkIHRoZXNlIGhvc3QtYmluZGluZ3MgdG8gYFR1aVNsaWRlcktleVN0ZXBzQmFzZWA6XG4gICAgICogYGBgXG4gICAgICogaG9zdDoge1xuICAgICAqICAgICAnW2F0dHIubWluXSc6ICcwJyxcbiAgICAgKiAgICAgJ1thdHRyLnN0ZXBdJzogJzEnLFxuICAgICAqICAgICAnW2F0dHIubWF4XSc6ICd0b3RhbFN0ZXBzJyxcbiAgICAgKiB9LFxuICAgICAqIGBgYFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgdG90YWxTdGVwcygpOiBudW1iZXIge1xuICAgICAgICAvKipcbiAgICAgICAgICogTm90LWludGVnZXIgYW1vdW50IG9mIHN0ZXBzIGlzIGludmFsaWQgdXNhZ2Ugb2YgbmF0aXZlIHNsaWRlcnNcbiAgICAgICAgICogYGBgaHRtbFxuICAgICAgICAgKiA8aW5wdXQgdHlwZT1cInJhbmdlXCIgW21heF09XCIxMDBcIiBbc3RlcF09XCIzLjMzXCIgLz5cbiAgICAgICAgICogYGBgXG4gICAgICAgICAqIChpbXBvc3NpYmxlIHRvIHNlbGVjdCAxMDA7IDk5LjkgaXMgbWF4IGFsbG93ZWQgdmFsdWUpXG4gICAgICAgICAqL1xuICAgICAgICByZXR1cm4gdGhpcy5zdGVwID8gTWF0aC5yb3VuZCgxMDAgLyB0aGlzLnN0ZXApIDogSW5maW5pdHk7XG4gICAgfVxuXG4gICAgcHVibGljIHRha2VTdGVwKGNvZWZmaWNpZW50OiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuc2xpZGVyLnZhbHVlICsgY29lZmZpY2llbnQ7XG5cbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtZXIoKT8udG9Db250cm9sVmFsdWUodGhpcy5zbGlkZXIudmFsdWUgKyBjb2VmZmljaWVudCkgPz9cbiAgICAgICAgICAgIG5ld1ZhbHVlXG4gICAgICAgICk7XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOlxuICAgICAgICAnaW5wdXRbdHVpU2xpZGVyXVtrZXlTdGVwc11bbmdNb2RlbF0saW5wdXRbdHVpU2xpZGVyXVtrZXlTdGVwc11bZm9ybUNvbnRyb2xdLGlucHV0W3R1aVNsaWRlcl1ba2V5U3RlcHNdW2Zvcm1Db250cm9sTmFtZV0nLFxuICAgIHByb3ZpZGVyczogW3R1aUZhbGxiYWNrVmFsdWVQcm92aWRlcigwKV0sXG4gICAgaG9zdDoge1xuICAgICAgICAnW3ZhbHVlXSc6ICd0aGlzLnZhbHVlKCknLFxuICAgICAgICAnW2Rpc2FibGVkXSc6ICdkaXNhYmxlZCgpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvblRvdWNoZWQoKScsXG4gICAgICAgICcoaW5wdXQpJzogJ29uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpJyxcbiAgICAgICAgJyhjaGFuZ2UpJzogJ29uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpJyxcbiAgICB9LFxufSlcbmV4cG9ydCBjbGFzcyBUdWlTbGlkZXJLZXlTdGVwcyBleHRlbmRzIFR1aUNvbnRyb2w8bnVtYmVyPiB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzbGlkZXIgPSBpbmplY3Q8VHVpU2xpZGVyQ29tcG9uZW50PihcbiAgICAgICAgZm9yd2FyZFJlZigoKSA9PiBUdWlTbGlkZXJDb21wb25lbnQpLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQga2V5U3RlcHMoc3RlcHM6IFR1aUtleVN0ZXBzKSB7XG4gICAgICAgIHRoaXMudHJhbnNmb3JtZXIgPSB0dWlDcmVhdGVLZXlTdGVwc1RyYW5zZm9ybWVyKHN0ZXBzLCB0aGlzLnNsaWRlcik7XG4gICAgfVxufVxuIl19
|
|
@@ -1,21 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { ChangeDetectionStrategy, Component, inject, INJECTOR, Input } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
|
|
3
2
|
import { NgControl, NgModel } from '@angular/forms';
|
|
4
3
|
import { tuiWatch } from '@taiga-ui/cdk/observables';
|
|
5
4
|
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
6
|
-
import {
|
|
5
|
+
import { tuiAsAuxiliary } from '@taiga-ui/core/components/textfield';
|
|
7
6
|
import { take } from 'rxjs';
|
|
8
|
-
import {
|
|
7
|
+
import { TuiSliderKeyStepsBase } from './helpers/slider-key-steps.directive';
|
|
9
8
|
import { TUI_SLIDER_OPTIONS } from './slider.options';
|
|
10
9
|
import * as i0 from "@angular/core";
|
|
11
10
|
class TuiSliderComponent {
|
|
12
11
|
constructor() {
|
|
13
|
-
this.injector = inject(INJECTOR);
|
|
14
12
|
this.control = inject(NgControl, { self: true, optional: true });
|
|
15
13
|
this.options = inject(TUI_SLIDER_OPTIONS);
|
|
16
14
|
this.size = this.options.size;
|
|
17
15
|
this.segments = 1;
|
|
18
16
|
this.el = tuiInjectElement();
|
|
17
|
+
this.keySteps = inject(TuiSliderKeyStepsBase, {
|
|
18
|
+
self: true,
|
|
19
|
+
optional: true,
|
|
20
|
+
});
|
|
19
21
|
if (this.control instanceof NgModel) {
|
|
20
22
|
/**
|
|
21
23
|
* The ValueAccessor.writeValue method is called twice on any value accessor during component initialization,
|
|
@@ -33,11 +35,23 @@ class TuiSliderComponent {
|
|
|
33
35
|
get min() {
|
|
34
36
|
return Number(this.el.min);
|
|
35
37
|
}
|
|
38
|
+
set min(x) {
|
|
39
|
+
this.el.min = String(x);
|
|
40
|
+
}
|
|
36
41
|
get max() {
|
|
37
42
|
return Number(this.el.max || 100);
|
|
38
43
|
}
|
|
44
|
+
set max(x) {
|
|
45
|
+
this.el.max = String(x);
|
|
46
|
+
}
|
|
47
|
+
get step() {
|
|
48
|
+
return Number(this.el.step) || 1;
|
|
49
|
+
}
|
|
50
|
+
set step(x) {
|
|
51
|
+
this.el.step = String(x);
|
|
52
|
+
}
|
|
39
53
|
get value() {
|
|
40
|
-
if (!this.
|
|
54
|
+
if (!this.keySteps && this.control instanceof NgModel) {
|
|
41
55
|
/**
|
|
42
56
|
* If developer uses `[(ngModel)]` and programmatically change value,
|
|
43
57
|
* the `el.nativeElement.value` is equal to the previous value at this moment.
|
|
@@ -49,25 +63,16 @@ class TuiSliderComponent {
|
|
|
49
63
|
set value(newValue) {
|
|
50
64
|
this.el.value = `${newValue}`;
|
|
51
65
|
}
|
|
52
|
-
get hasKeySteps() {
|
|
53
|
-
return Boolean(this.injector.get(TuiSliderKeySteps, null));
|
|
54
|
-
}
|
|
55
66
|
get segmentWidth() {
|
|
56
67
|
return 100 / Math.max(1, this.segments);
|
|
57
68
|
}
|
|
58
|
-
get step() {
|
|
59
|
-
return Number(this.el.step) || 1;
|
|
60
|
-
}
|
|
61
69
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSliderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSliderComponent, isStandalone: true, selector: "input[type=range][tuiSlider]", inputs: { size: "size", segments: "segments" }, host: { listeners: { "input": "0" }, properties: { "style.--tui-slider-track-color": "options.trackColor", "style.--tui-slider-segment-width.%": "segmentWidth", "style.--tui-slider-fill-ratio": "valueRatio", "attr.data-size": "size" } }, ngImport: i0, template: '', isInline: true, styles: [":host{position:relative;display:block;inline-size:100%;color:var(--tui-background-accent-1);cursor:pointer;-webkit-appearance:none;appearance:none;block-size:.125rem;padding:.4375rem 0;background-color:transparent;background-clip:content-box;outline:none;border-radius:var(--tui-radius-m)}:host:active{cursor:ew-resize}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size=s]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.25rem;left:calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .5rem);inline-size:.5rem;block-size:.5rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=s]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host[data-size=m]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.125rem;left:calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .75rem);inline-size:.75rem;block-size:.75rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=m]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host::-webkit-slider-container{border-radius:inherit}:host[data-size=m]::-webkit-slider-runnable-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .5rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:0,.25rem,0;background-size:calc(100% - .75rem),calc(100% - .75rem),auto}:host[data-size=s]::-webkit-slider-runnable-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:0,.125rem,0;background-size:calc(100% - .5rem),calc(100% - .5rem),auto}:host[data-size=m]::-moz-range-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .5rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.25rem;background-size:calc(100% - .75rem)}:host[data-size=s]::-moz-range-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.125rem;background-size:calc(100% - .5rem)}:host[data-size=m]::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-top:-.4375rem}:not(:disabled):host[data-size=m]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=m]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-top:-.4375rem}:not(:disabled):host[data-size=s]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=s]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=m]::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=m]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=m]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=s]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=s]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host::-moz-range-progress{border-radius:inherit}:host::-moz-range-progress{block-size:.125rem;background:currentColor;border-top-right-radius:0;border-bottom-right-radius:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
70
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiSliderComponent, isStandalone: true, selector: "input[type=range][tuiSlider]", inputs: { size: "size", segments: "segments" }, host: { listeners: { "input": "0" }, properties: { "style.--tui-slider-track-color": "options.trackColor", "style.--tui-slider-segment-width.%": "segmentWidth", "style.--tui-slider-fill-ratio": "valueRatio", "attr.data-size": "size" } }, providers: [tuiAsAuxiliary(TuiSliderComponent)], ngImport: i0, template: '', isInline: true, styles: [":host{position:relative;display:block;inline-size:100%;color:var(--tui-background-accent-1);cursor:pointer;-webkit-appearance:none;appearance:none;block-size:.125rem;padding:.4375rem 0;background-color:transparent;background-clip:content-box;outline:none;border-radius:var(--tui-radius-m)}:host:active{cursor:ew-resize}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size=s]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.25rem;left:calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .5rem);inline-size:.5rem;block-size:.5rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=s]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host[data-size=m]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.125rem;left:calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .75rem);inline-size:.75rem;block-size:.75rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=m]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host::-webkit-slider-container{border-radius:inherit}:host[data-size=m]::-webkit-slider-runnable-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .5rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:0,.25rem,0;background-size:calc(100% - .75rem),calc(100% - .75rem),auto}:host[data-size=s]::-webkit-slider-runnable-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:0,.125rem,0;background-size:calc(100% - .5rem),calc(100% - .5rem),auto}:host[data-size=m]::-moz-range-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .5rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.25rem;background-size:calc(100% - .75rem)}:host[data-size=s]::-moz-range-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.125rem;background-size:calc(100% - .5rem)}:host[data-size=m]::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-top:-.4375rem}:not(:disabled):host[data-size=m]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=m]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-top:-.4375rem}:not(:disabled):host[data-size=s]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=s]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=m]::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=m]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=m]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=s]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=s]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host::-moz-range-progress{border-radius:inherit}:host::-moz-range-progress{block-size:.125rem;background:currentColor;border-top-right-radius:0;border-bottom-right-radius:0}:host-context(tui-textfield) :host([type=\"range\"]){--tui-radius: var(--tui-radius-m);position:absolute;top:100%;left:calc(var(--tui-radius) / 2);right:0;inline-size:calc(100% - calc(var(--tui-radius) / 2));box-sizing:border-box;block-size:1rem;margin:-.5625rem 0 0;padding:0;border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius) * 10) calc(var(--tui-radius) * 2);pointer-events:auto}:host-context(tui-textfield[data-size=\"l\"]) :host([type=\"range\"]){--tui-radius: var(--tui-radius-l)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
63
71
|
}
|
|
64
|
-
__decorate([
|
|
65
|
-
tuiPure
|
|
66
|
-
], TuiSliderComponent.prototype, "hasKeySteps", null);
|
|
67
72
|
export { TuiSliderComponent };
|
|
68
73
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiSliderComponent, decorators: [{
|
|
69
74
|
type: Component,
|
|
70
|
-
args: [{ standalone: true, selector: 'input[type=range][tuiSlider]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
75
|
+
args: [{ standalone: true, selector: 'input[type=range][tuiSlider]', template: '', changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsAuxiliary(TuiSliderComponent)], host: {
|
|
71
76
|
/**
|
|
72
77
|
* For change detection.
|
|
73
78
|
* Webkit does not have built-in method for customization of filling progress (as Firefox).
|
|
@@ -79,10 +84,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
79
84
|
'[style.--tui-slider-segment-width.%]': 'segmentWidth',
|
|
80
85
|
'[style.--tui-slider-fill-ratio]': 'valueRatio',
|
|
81
86
|
'[attr.data-size]': 'size',
|
|
82
|
-
}, styles: [":host{position:relative;display:block;inline-size:100%;color:var(--tui-background-accent-1);cursor:pointer;-webkit-appearance:none;appearance:none;block-size:.125rem;padding:.4375rem 0;background-color:transparent;background-clip:content-box;outline:none;border-radius:var(--tui-radius-m)}:host:active{cursor:ew-resize}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size=s]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.25rem;left:calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .5rem);inline-size:.5rem;block-size:.5rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=s]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host[data-size=m]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.125rem;left:calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .75rem);inline-size:.75rem;block-size:.75rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=m]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host::-webkit-slider-container{border-radius:inherit}:host[data-size=m]::-webkit-slider-runnable-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .5rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:0,.25rem,0;background-size:calc(100% - .75rem),calc(100% - .75rem),auto}:host[data-size=s]::-webkit-slider-runnable-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:0,.125rem,0;background-size:calc(100% - .5rem),calc(100% - .5rem),auto}:host[data-size=m]::-moz-range-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .5rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.25rem;background-size:calc(100% - .75rem)}:host[data-size=s]::-moz-range-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.125rem;background-size:calc(100% - .5rem)}:host[data-size=m]::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-top:-.4375rem}:not(:disabled):host[data-size=m]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=m]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-top:-.4375rem}:not(:disabled):host[data-size=s]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=s]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=m]::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=m]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=m]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=s]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=s]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host::-moz-range-progress{border-radius:inherit}:host::-moz-range-progress{block-size:.125rem;background:currentColor;border-top-right-radius:0;border-bottom-right-radius:0}\n"] }]
|
|
87
|
+
}, styles: [":host{position:relative;display:block;inline-size:100%;color:var(--tui-background-accent-1);cursor:pointer;-webkit-appearance:none;appearance:none;block-size:.125rem;padding:.4375rem 0;background-color:transparent;background-clip:content-box;outline:none;border-radius:var(--tui-radius-m)}:host:active{cursor:ew-resize}:host:disabled{opacity:var(--tui-disabled-opacity);cursor:auto}:host[data-size=s]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.25rem;left:calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .5rem);inline-size:.5rem;block-size:.5rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=s]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host[data-size=m]:not(:disabled):before{transition-property:transform,opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.125rem;left:calc(var(--tui-slider-fill-ratio) * 100% - var(--tui-slider-fill-ratio) * .75rem);inline-size:.75rem;block-size:.75rem;border-radius:50%;transform:var(--tui-slider-thumb-transform, scale(1));content:\"\";cursor:ew-resize;background:currentColor;opacity:0}:host[data-size=m]:active:before{opacity:.2;transform:var(--tui-slider-thumb-transform, scale(1)) scale(2.33)}:host::-webkit-slider-container{border-radius:inherit}:host[data-size=m]::-webkit-slider-runnable-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .5rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:0,.25rem,0;background-size:calc(100% - .75rem),calc(100% - .75rem),auto}:host[data-size=s]::-webkit-slider-runnable-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width)),linear-gradient(to right,currentColor calc(100% * var(--tui-slider-fill-ratio)),transparent calc(100% * var(--tui-slider-fill-ratio)));background-position-x:0,.125rem,0;background-size:calc(100% - .5rem),calc(100% - .5rem),auto}:host[data-size=m]::-moz-range-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .5rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.25rem;background-size:calc(100% - .75rem)}:host[data-size=s]::-moz-range-track{block-size:.125rem;border-radius:inherit;background-repeat:no-repeat;background-color:var(--tui-slider-track-color);background-image:linear-gradient(to right,currentColor 0px .375rem,transparent .25rem),repeating-linear-gradient(to right,var(--tui-text-tertiary) 0 .25rem,transparent 0 var(--tui-slider-segment-width));background-position-x:0,.125rem;background-size:calc(100% - .5rem)}:host[data-size=m]::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-top:-.4375rem}:not(:disabled):host[data-size=m]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=m]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-webkit-slider-thumb{-webkit-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1));margin-top:-.4375rem}:not(:disabled):host[data-size=s]::-webkit-slider-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-webkit-slider-thumb:hover,:active:not(:disabled):host[data-size=s]::-webkit-slider-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-webkit-slider-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=m]::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.75rem;inline-size:.75rem;box-sizing:content-box;background-clip:content-box;border:.125rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=m]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=m]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=m]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.333)}:focus-visible:host[data-size=m]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host[data-size=s]::-moz-range-thumb{-moz-transition-property:transform;transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;isolation:isolate;-webkit-appearance:none;appearance:none;background-color:currentColor;box-shadow:none;border-radius:50%;block-size:.5rem;inline-size:.5rem;box-sizing:content-box;background-clip:content-box;border:.25rem solid transparent;border-inline-start:0;border-inline-end:0;transform:var(--tui-slider-thumb-transform, scale(1))}:not(:disabled):host[data-size=s]::-moz-range-thumb{cursor:ew-resize}:not(:disabled):host[data-size=s]::-moz-range-thumb:hover,:active:not(:disabled):host[data-size=s]::-moz-range-thumb{transform:var(--tui-slider-thumb-transform, scale(1)) scale(1.5)}:focus-visible:host[data-size=s]::-moz-range-thumb{box-shadow:0 0 0 2px inset var(--tui-border-focus)}:host::-moz-range-progress{border-radius:inherit}:host::-moz-range-progress{block-size:.125rem;background:currentColor;border-top-right-radius:0;border-bottom-right-radius:0}:host-context(tui-textfield) :host([type=\"range\"]){--tui-radius: var(--tui-radius-m);position:absolute;top:100%;left:calc(var(--tui-radius) / 2);right:0;inline-size:calc(100% - calc(var(--tui-radius) / 2));box-sizing:border-box;block-size:1rem;margin:-.5625rem 0 0;padding:0;border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius) * 10) calc(var(--tui-radius) * 2);pointer-events:auto}:host-context(tui-textfield[data-size=\"l\"]) :host([type=\"range\"]){--tui-radius: var(--tui-radius-l)}\n"] }]
|
|
83
88
|
}], ctorParameters: function () { return []; }, propDecorators: { size: [{
|
|
84
89
|
type: Input
|
|
85
90
|
}], segments: [{
|
|
86
91
|
type: Input
|
|
87
|
-
}]
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
92
|
+
}] } });
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2tpdC9jb21wb25lbnRzL3NsaWRlci9zbGlkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUMsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNuRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFFbkUsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUxQixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFcEQsTUFxQmEsa0JBQWtCO0lBaUIzQjtRQWhCaUIsWUFBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1FBRXhELFlBQU8sR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUdqRCxTQUFJLEdBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFHbkMsYUFBUSxHQUFHLENBQUMsQ0FBQztRQUVKLE9BQUUsR0FBRyxnQkFBZ0IsRUFBb0IsQ0FBQztRQUMxQyxhQUFRLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixFQUFFO1lBQ3JELElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLElBQUk7U0FDakIsQ0FBQyxDQUFDO1FBR0MsSUFBSSxJQUFJLENBQUMsT0FBTyxZQUFZLE9BQU8sRUFBRTtZQUNqQzs7Ozs7O2VBTUc7WUFDSCxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEU7SUFDTCxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBVyxHQUFHO1FBQ1YsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsSUFBVyxHQUFHLENBQUMsQ0FBUztRQUNwQixJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELElBQVcsR0FBRztRQUNWLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUFXLEdBQUcsQ0FBQyxDQUFTO1FBQ3BCLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELElBQVcsSUFBSSxDQUFDLENBQVM7UUFDckIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxJQUFXLEtBQUs7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsT0FBTyxZQUFZLE9BQU8sRUFBRTtZQUNuRDs7O2VBR0c7WUFDSCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDO1NBQ2pDO1FBRUQsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQVcsS0FBSyxDQUFDLFFBQWdCO1FBQzdCLElBQUksQ0FBQyxFQUFFLENBQUMsS0FBSyxHQUFHLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVELElBQWMsWUFBWTtRQUN0QixPQUFPLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUMsQ0FBQzsrR0E1RVEsa0JBQWtCO21HQUFsQixrQkFBa0IseVdBZmhCLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLENBQUMsMEJBSHJDLEVBQUU7O1NBa0JILGtCQUFrQjs0RkFBbEIsa0JBQWtCO2tCQXJCOUIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sOEJBQThCLFlBQzlCLEVBQUUsbUJBRUssdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsb0JBQW9CLENBQUMsUUFDekM7d0JBQ0Y7Ozs7OzJCQUtHO3dCQUNILFNBQVMsRUFBRSxHQUFHO3dCQUNkLGtDQUFrQyxFQUFFLG9CQUFvQjt3QkFDeEQsc0NBQXNDLEVBQUUsY0FBYzt3QkFDdEQsaUNBQWlDLEVBQUUsWUFBWTt3QkFDL0Msa0JBQWtCLEVBQUUsTUFBTTtxQkFDN0I7MEVBUU0sSUFBSTtzQkFEVixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge05nQ29udHJvbCwgTmdNb2RlbH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHt0dWlXYXRjaH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7dHVpQXNBdXhpbGlhcnl9IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvdGV4dGZpZWxkJztcbmltcG9ydCB0eXBlIHtUdWlTaXplU30gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlTbGlkZXJLZXlTdGVwc0Jhc2V9IGZyb20gJy4vaGVscGVycy9zbGlkZXIta2V5LXN0ZXBzLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1RVSV9TTElERVJfT1BUSU9OU30gZnJvbSAnLi9zbGlkZXIub3B0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdpbnB1dFt0eXBlPXJhbmdlXVt0dWlTbGlkZXJdJyxcbiAgICB0ZW1wbGF0ZTogJycsXG4gICAgc3R5bGVVcmxzOiBbJy4vc2xpZGVyLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFt0dWlBc0F1eGlsaWFyeShUdWlTbGlkZXJDb21wb25lbnQpXSxcbiAgICBob3N0OiB7XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBGb3IgY2hhbmdlIGRldGVjdGlvbi5cbiAgICAgICAgICogV2Via2l0IGRvZXMgbm90IGhhdmUgYnVpbHQtaW4gbWV0aG9kIGZvciBjdXN0b21pemF0aW9uIG9mIGZpbGxpbmcgcHJvZ3Jlc3MgKGFzIEZpcmVmb3gpLlxuICAgICAgICAgKiBXZSBkcmF3IGZpbGxpbmcgb2YgcHJvZ3Jlc3MgYnkgYGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCguLi4pYCBvZiB0aGUgdHJhY2suXG4gICAgICAgICAqIFRoaXMgZnVuY3Rpb24gdHJpZ2dlcnMgY2hhbmdlIGRldGVjdGlvbiAoZm9yIHtAbGluayB2YWx1ZVJhdGlvfSBnZXR0ZXIpIHdoZW4gd2UgZHJhZyB0aHVtYiBvZiB0aGUgaW5wdXQuXG4gICAgICAgICAqL1xuICAgICAgICAnKGlucHV0KSc6ICcwJyxcbiAgICAgICAgJ1tzdHlsZS4tLXR1aS1zbGlkZXItdHJhY2stY29sb3JdJzogJ29wdGlvbnMudHJhY2tDb2xvcicsXG4gICAgICAgICdbc3R5bGUuLS10dWktc2xpZGVyLXNlZ21lbnQtd2lkdGguJV0nOiAnc2VnbWVudFdpZHRoJyxcbiAgICAgICAgJ1tzdHlsZS4tLXR1aS1zbGlkZXItZmlsbC1yYXRpb10nOiAndmFsdWVSYXRpbycsXG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVNsaWRlckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb250cm9sID0gaW5qZWN0KE5nQ29udHJvbCwge3NlbGY6IHRydWUsIG9wdGlvbmFsOiB0cnVlfSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfU0xJREVSX09QVElPTlMpO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2l6ZTogVHVpU2l6ZVMgPSB0aGlzLm9wdGlvbnMuc2l6ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNlZ21lbnRzID0gMTtcblxuICAgIHB1YmxpYyByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQ8SFRNTElucHV0RWxlbWVudD4oKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkga2V5U3RlcHMgPSBpbmplY3QoVHVpU2xpZGVyS2V5U3RlcHNCYXNlLCB7XG4gICAgICAgIHNlbGY6IHRydWUsXG4gICAgICAgIG9wdGlvbmFsOiB0cnVlLFxuICAgIH0pO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIFRoZSBWYWx1ZUFjY2Vzc29yLndyaXRlVmFsdWUgbWV0aG9kIGlzIGNhbGxlZCB0d2ljZSBvbiBhbnkgdmFsdWUgYWNjZXNzb3IgZHVyaW5nIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbixcbiAgICAgICAgICAgICAqIHdoZW4gYSBjb250cm9sIGlzIGJvdW5kIHVzaW5nIFsobmdNb2RlbCldLCBmaXJzdCB0aW1lIHdpdGggYSBwaGFudG9tIG51bGwgdmFsdWUuXG4gICAgICAgICAgICAgKiBXaXRoIGBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaGAgdGhlIHNlY29uZCBjYWxsIG9mIHdyaXRlVmFsdWUgd2l0aCByZWFsIHZhbHVlIGRvbid0IHJlLXJlbmRlciB0aGUgdmlldy5cbiAgICAgICAgICAgICAqIF9fX1xuICAgICAgICAgICAgICogU2VlIHRoaXMge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0OTg4IGlzc3VlfVxuICAgICAgICAgICAgICovXG4gICAgICAgICAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzPy5waXBlKHR1aVdhdGNoKCksIHRha2UoMSkpLnN1YnNjcmliZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldCB2YWx1ZVJhdGlvKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAodGhpcy52YWx1ZSAtIHRoaXMubWluKSAvICh0aGlzLm1heCAtIHRoaXMubWluKSB8fCAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgbWluKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiBOdW1iZXIodGhpcy5lbC5taW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgbWluKHg6IG51bWJlcikge1xuICAgICAgICB0aGlzLmVsLm1pbiA9IFN0cmluZyh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IG1heCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWwubWF4IHx8IDEwMCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCBtYXgoeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZWwubWF4ID0gU3RyaW5nKHgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgc3RlcCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gTnVtYmVyKHRoaXMuZWwuc3RlcCkgfHwgMTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHN0ZXAoeDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuZWwuc3RlcCA9IFN0cmluZyh4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IG51bWJlciB7XG4gICAgICAgIGlmICghdGhpcy5rZXlTdGVwcyAmJiB0aGlzLmNvbnRyb2wgaW5zdGFuY2VvZiBOZ01vZGVsKSB7XG4gICAgICAgICAgICAvKipcbiAgICAgICAgICAgICAqIElmIGRldmVsb3BlciB1c2VzIGBbKG5nTW9kZWwpXWAgYW5kIHByb2dyYW1tYXRpY2FsbHkgY2hhbmdlIHZhbHVlLFxuICAgICAgICAgICAgICogdGhlIGBlbC5uYXRpdmVFbGVtZW50LnZhbHVlYCBpcyBlcXVhbCB0byB0aGUgcHJldmlvdXMgdmFsdWUgYXQgdGhpcyBtb21lbnQuXG4gICAgICAgICAgICAgKi9cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbnRyb2wudmlld01vZGVsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIE51bWJlcih0aGlzLmVsLnZhbHVlKSB8fCAwO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXQgdmFsdWUobmV3VmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLmVsLnZhbHVlID0gYCR7bmV3VmFsdWV9YDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IHNlZ21lbnRXaWR0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gMTAwIC8gTWF0aC5tYXgoMSwgdGhpcy5zZWdtZW50cyk7XG4gICAgfVxufVxuIl19
|
|
@@ -1,11 +1,12 @@
|
|
|
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
5
|
export const TuiSlider = [
|
|
6
6
|
TuiSliderComponent,
|
|
7
7
|
TuiSliderThumbLabel,
|
|
8
|
+
TuiSliderKeyStepsBase,
|
|
8
9
|
TuiSliderKeySteps,
|
|
9
10
|
TuiSliderReadonly,
|
|
10
11
|
];
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvc2xpZGVyL3NsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLHFCQUFxQixHQUN4QixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRztJQUNyQixrQkFBa0I7SUFDbEIsbUJBQW1CO0lBQ25CLHFCQUFxQjtJQUNyQixpQkFBaUI7SUFDakIsaUJBQWlCO0NBQ1gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgVHVpU2xpZGVyS2V5U3RlcHMsXG4gICAgVHVpU2xpZGVyS2V5U3RlcHNCYXNlLFxufSBmcm9tICcuL2hlbHBlcnMvc2xpZGVyLWtleS1zdGVwcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlTbGlkZXJSZWFkb25seX0gZnJvbSAnLi9oZWxwZXJzL3NsaWRlci1yZWFkb25seS5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUdWlTbGlkZXJUaHVtYkxhYmVsfSBmcm9tICcuL2hlbHBlcnMvc2xpZGVyLXRodW1iLWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aVNsaWRlckNvbXBvbmVudH0gZnJvbSAnLi9zbGlkZXIuY29tcG9uZW50JztcblxuZXhwb3J0IGNvbnN0IFR1aVNsaWRlciA9IFtcbiAgICBUdWlTbGlkZXJDb21wb25lbnQsXG4gICAgVHVpU2xpZGVyVGh1bWJMYWJlbCxcbiAgICBUdWlTbGlkZXJLZXlTdGVwc0Jhc2UsXG4gICAgVHVpU2xpZGVyS2V5U3RlcHMsXG4gICAgVHVpU2xpZGVyUmVhZG9ubHksXG5dIGFzIGNvbnN0O1xuIl19
|
|
@@ -3,13 +3,13 @@ import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
class TuiButtonGroupStyles {
|
|
5
5
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonGroupStyles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button-group-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButtonGroup]{
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonGroupStyles, isStandalone: true, selector: "ng-component", host: { classAttribute: "tui-button-group-styles" }, ngImport: i0, template: '', isInline: true, styles: ["[tuiButtonGroup],[tuiButtonGroup] tui-elastic-container{transition:all calc(var(--tui-duration-moderate, .3s) / 3) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9));transition-property:background,height,border-radius;border-radius:var(--tui-radius-xl);overflow:hidden}[tuiButtonGroup],[tuiButtonGroup] tui-elastic-container .t-wrapper{display:flex;justify-content:center}[tuiButtonGroup] tui-elastic-container{inline-size:100%}[tuiButtonGroup] button,[tuiButtonGroup] a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-inline-size:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center;text-decoration:none;clip-path:inset(0)}[tuiButtonGroup] button:first-child,[tuiButtonGroup] a:first-child{clip-path:inset(0 0 0 -10rem)}[tuiButtonGroup] button:last-child,[tuiButtonGroup] a:last-child{clip-path:inset(0 -10rem 0 0)}[tuiButtonGroup] button:active,[tuiButtonGroup] a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup] button:before,[tuiButtonGroup] a:before,[tuiButtonGroup] button:after,[tuiButtonGroup] a:after{position:absolute;top:0;background:inherit;inline-size:1.75rem;block-size:100%}[tuiButtonGroup] button:first-child:before,[tuiButtonGroup] a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup] button:last-child:after,[tuiButtonGroup] a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup] button tui-icon,[tuiButtonGroup] a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:1rem}[tuiButtonGroup] button:only-child,[tuiButtonGroup] a:only-child{inline-size:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-inline-size:100%;justify-content:center}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
7
7
|
}
|
|
8
8
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonGroupStyles, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
10
|
args: [{ standalone: true, template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
11
11
|
class: 'tui-button-group-styles',
|
|
12
|
-
}, styles: ["[tuiButtonGroup]{
|
|
12
|
+
}, styles: ["[tuiButtonGroup],[tuiButtonGroup] tui-elastic-container{transition:all calc(var(--tui-duration-moderate, .3s) / 3) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9));transition-property:background,height,border-radius;border-radius:var(--tui-radius-xl);overflow:hidden}[tuiButtonGroup],[tuiButtonGroup] tui-elastic-container .t-wrapper{display:flex;justify-content:center}[tuiButtonGroup] tui-elastic-container{inline-size:100%}[tuiButtonGroup] button,[tuiButtonGroup] a{transition-property:background;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:flex;border:none;outline:none;background:transparent;align-items:center;flex:1;flex-direction:column;padding:1.125rem .25rem;gap:.5rem;font:var(--tui-font-text-ui-s);max-inline-size:calc(50% - 1.75rem);cursor:pointer;color:var(--tui-text-action);text-align:center;text-decoration:none;clip-path:inset(0)}[tuiButtonGroup] button:first-child,[tuiButtonGroup] a:first-child{clip-path:inset(0 0 0 -10rem)}[tuiButtonGroup] button:last-child,[tuiButtonGroup] a:last-child{clip-path:inset(0 -10rem 0 0)}[tuiButtonGroup] button:active,[tuiButtonGroup] a:active{background:var(--tui-background-neutral-1)}[tuiButtonGroup] button:before,[tuiButtonGroup] a:before,[tuiButtonGroup] button:after,[tuiButtonGroup] a:after{position:absolute;top:0;background:inherit;inline-size:1.75rem;block-size:100%}[tuiButtonGroup] button:first-child:before,[tuiButtonGroup] a:first-child:before{content:\"\";left:-1.75rem}[tuiButtonGroup] button:last-child:after,[tuiButtonGroup] a:last-child:after{content:\"\";right:-1.75rem}[tuiButtonGroup] button tui-icon,[tuiButtonGroup] a tui-icon{font-size:1.75rem}[tuiButtonGroup]:has(button:only-child){border-radius:1rem}[tuiButtonGroup] button:only-child,[tuiButtonGroup] a:only-child{inline-size:100%;flex-direction:row;font:var(--tui-font-text-ui-l);max-inline-size:100%;justify-content:center}\n"] }]
|
|
13
13
|
}] });
|
|
14
14
|
class TuiButtonGroup {
|
|
15
15
|
constructor() {
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
2
|
import { TuiControl } from '@taiga-ui/cdk/classes';
|
|
3
|
-
import {
|
|
4
|
-
import { TUI_DATA_LIST_HOST } from '@taiga-ui/core/components/data-list';
|
|
3
|
+
import { tuiAsDataListHost } from '@taiga-ui/core/components/data-list';
|
|
5
4
|
import { TuiWithTextfieldDropdown } from '@taiga-ui/core/components/textfield';
|
|
6
5
|
import { TuiDropdownDirective, tuiDropdownOpen, tuiDropdownOptionsProvider, TuiWithDropdownOpen, } from '@taiga-ui/core/directives/dropdown';
|
|
7
6
|
import * as i0 from "@angular/core";
|
|
@@ -20,7 +19,7 @@ class TuiButtonSelect extends TuiControl {
|
|
|
20
19
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiButtonSelect, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
20
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiButtonSelect, isStandalone: true, selector: "button[tuiButtonSelect]", providers: [
|
|
22
21
|
// TODO: Add checkmark once we properly implement new Select, then add to demo
|
|
23
|
-
|
|
22
|
+
tuiAsDataListHost(TuiButtonSelect),
|
|
24
23
|
tuiDropdownOptionsProvider({ align: 'right' }),
|
|
25
24
|
], usesInheritance: true, hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiWithDropdownOpen }, { directive: i2.TuiWithTextfieldDropdown }], ngImport: i0 }); }
|
|
26
25
|
}
|
|
@@ -32,10 +31,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
32
31
|
selector: 'button[tuiButtonSelect]',
|
|
33
32
|
providers: [
|
|
34
33
|
// TODO: Add checkmark once we properly implement new Select, then add to demo
|
|
35
|
-
|
|
34
|
+
tuiAsDataListHost(TuiButtonSelect),
|
|
36
35
|
tuiDropdownOptionsProvider({ align: 'right' }),
|
|
37
36
|
],
|
|
38
37
|
hostDirectives: [TuiDropdownDirective, TuiWithDropdownOpen, TuiWithTextfieldDropdown],
|
|
39
38
|
}]
|
|
40
39
|
}] });
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLXNlbGVjdC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvZGlyZWN0aXZlcy9idXR0b24tc2VsZWN0L2J1dHRvbi1zZWxlY3QuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDeEMsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBRWpELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQ3RFLE9BQU8sRUFBQyx3QkFBd0IsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBQzdFLE9BQU8sRUFDSCxvQkFBb0IsRUFDcEIsZUFBZSxFQUNmLDBCQUEwQixFQUMxQixtQkFBbUIsR0FDdEIsTUFBTSxvQ0FBb0MsQ0FBQzs7OztBQUU1QyxNQVVhLGVBQW1CLFNBQVEsVUFBYTtJQVZyRDs7UUFXcUIsU0FBSSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBRTFCLFNBQUksR0FBRyxHQUFHLENBQUM7S0FNOUI7SUFKVSxZQUFZLENBQUMsTUFBUztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7K0dBUlEsZUFBZTttR0FBZixlQUFlLHNFQVBiO1lBQ1AsOEVBQThFO1lBQzlFLGlCQUFpQixDQUFDLGVBQWUsQ0FBQztZQUNsQywwQkFBMEIsQ0FBQyxFQUFDLEtBQUssRUFBRSxPQUFPLEVBQUMsQ0FBQztTQUMvQzs7U0FHUSxlQUFlOzRGQUFmLGVBQWU7a0JBVjNCLFNBQVM7bUJBQUM7b0JBQ1AsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFNBQVMsRUFBRTt3QkFDUCw4RUFBOEU7d0JBQzlFLGlCQUFpQixpQkFBaUI7d0JBQ2xDLDBCQUEwQixDQUFDLEVBQUMsS0FBSyxFQUFFLE9BQU8sRUFBQyxDQUFDO3FCQUMvQztvQkFDRCxjQUFjLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxtQkFBbUIsRUFBRSx3QkFBd0IsQ0FBQztpQkFDeEYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1R1aUNvbnRyb2x9IGZyb20gJ0B0YWlnYS11aS9jZGsvY2xhc3Nlcyc7XG5pbXBvcnQgdHlwZSB7VHVpRGF0YUxpc3RIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge3R1aUFzRGF0YUxpc3RIb3N0fSBmcm9tICdAdGFpZ2EtdWkvY29yZS9jb21wb25lbnRzL2RhdGEtbGlzdCc7XG5pbXBvcnQge1R1aVdpdGhUZXh0ZmllbGREcm9wZG93bn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvY29tcG9uZW50cy90ZXh0ZmllbGQnO1xuaW1wb3J0IHtcbiAgICBUdWlEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICB0dWlEcm9wZG93bk9wZW4sXG4gICAgdHVpRHJvcGRvd25PcHRpb25zUHJvdmlkZXIsXG4gICAgVHVpV2l0aERyb3Bkb3duT3Blbixcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvZGlyZWN0aXZlcy9kcm9wZG93bic7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdidXR0b25bdHVpQnV0dG9uU2VsZWN0XScsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIC8vIFRPRE86IEFkZCBjaGVja21hcmsgb25jZSB3ZSBwcm9wZXJseSBpbXBsZW1lbnQgbmV3IFNlbGVjdCwgdGhlbiBhZGQgdG8gZGVtb1xuICAgICAgICB0dWlBc0RhdGFMaXN0SG9zdChUdWlCdXR0b25TZWxlY3QpLFxuICAgICAgICB0dWlEcm9wZG93bk9wdGlvbnNQcm92aWRlcih7YWxpZ246ICdyaWdodCd9KSxcbiAgICBdLFxuICAgIGhvc3REaXJlY3RpdmVzOiBbVHVpRHJvcGRvd25EaXJlY3RpdmUsIFR1aVdpdGhEcm9wZG93bk9wZW4sIFR1aVdpdGhUZXh0ZmllbGREcm9wZG93bl0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUJ1dHRvblNlbGVjdDxUPiBleHRlbmRzIFR1aUNvbnRyb2w8VD4gaW1wbGVtZW50cyBUdWlEYXRhTGlzdEhvc3Q8VD4ge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbiA9IHR1aURyb3Bkb3duT3BlbigpO1xuXG4gICAgcHVibGljIHJlYWRvbmx5IHNpemUgPSAncyc7XG5cbiAgICBwdWJsaWMgaGFuZGxlT3B0aW9uKG9wdGlvbjogVCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKG9wdGlvbik7XG4gICAgICAgIHRoaXMub3Blbi5zZXQoZmFsc2UpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-input-number.mjs","sources":["../../../projects/kit/components/input-number/input-number.options.ts","../../../projects/kit/components/input-number/input-number.directive.ts","../../../projects/kit/components/input-number/step/input-number-step.component.ts","../../../projects/kit/components/input-number/step/input-number-step.template.html","../../../projects/kit/components/input-number/input-number.ts","../../../projects/kit/components/input-number/taiga-ui-kit-components-input-number.ts"],"sourcesContent":["import type {TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiInputNumberOptions {\n readonly max: number;\n readonly min: number;\n readonly prefix: string;\n readonly postfix: string;\n readonly step: number;\n readonly icons: Readonly<{\n decrease: string;\n increase: string;\n }>;\n readonly valueTransformer: TuiValueTransformer<number | null> | null;\n}\n\nexport const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions = {\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n prefix: '',\n postfix: '',\n step: 0,\n icons: {\n increase: '@tui.plus',\n decrease: '@tui.minus',\n },\n valueTransformer: null,\n};\n\nexport const [TUI_INPUT_NUMBER_OPTIONS, tuiInputNumberOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, effect, inject, Input, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {MaskitoDirective} from '@maskito/angular';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {maskitoInitialCalibrationPlugin} from '@maskito/core';\nimport {\n maskitoCaretGuard,\n maskitoNumberOptionsGenerator,\n maskitoParseNumber,\n} from '@maskito/kit';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {CHAR_HYPHEN, CHAR_MINUS, TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\nimport {TUI_IS_IOS, tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement, tuiValueBinding} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsSafeToRound} from '@taiga-ui/cdk/utils/math';\nimport {TuiWithTextfield} from '@taiga-ui/core/components/textfield';\nimport {TUI_DEFAULT_NUMBER_FORMAT, TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_NUMBER_OPTIONS} from './input-number.options';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputNumber]',\n providers: [\n tuiAsControl(TuiInputNumberDirective),\n tuiFallbackValueProvider(null),\n tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),\n ],\n hostDirectives: [TuiWithTextfield, MaskitoDirective],\n host: {\n '[disabled]': 'disabled()',\n '[attr.inputMode]': 'inputMode()',\n '[attr.maxLength]':\n 'element.maxLength > 0 ? element.maxLength : defaultMaxLength()',\n '(input)': 'textfieldValue.set(element.value)',\n '(blur)': 'onBlur()',\n '(focus)': 'onFocus()',\n },\n})\nexport class TuiInputNumberDirective extends TuiControl<number | null> {\n private readonly isIOS = inject(TUI_IS_IOS);\n private readonly numberFormat = toSignal(inject(TUI_NUMBER_FORMAT), {\n initialValue: TUI_DEFAULT_NUMBER_FORMAT,\n });\n\n private readonly precision = computed(() =>\n Number.isNaN(this.numberFormat().precision) ? 2 : this.numberFormat().precision,\n );\n\n private readonly isIntermediateState = computed(() => {\n const value = maskitoParseNumber(\n this.textfieldValue(),\n this.numberFormat().decimalSeparator,\n );\n\n return value < 0 ? value > this.max() : value < this.min();\n });\n\n protected readonly onChangeEffect = effect(() => {\n const value = maskitoParseNumber(\n this.textfieldValue(),\n this.numberFormat().decimalSeparator,\n );\n\n if (Number.isNaN(value)) {\n this.onChange(null);\n\n return;\n }\n\n if (\n this.isIntermediateState() ||\n value < this.min() ||\n value > this.max() ||\n this.value() === value\n ) {\n return;\n }\n\n this.onChange(value);\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected readonly options = inject(TUI_INPUT_NUMBER_OPTIONS);\n protected readonly element = tuiInjectElement<HTMLInputElement>();\n protected readonly textfieldValue = tuiValueBinding();\n\n protected readonly inputMode = computed(() => {\n if (this.isIOS && this.min() < 0) {\n // iPhone does not have minus sign if inputMode is equal to 'numeric' / 'decimal'\n return 'text';\n }\n\n return this.precision() ? 'decimal' : 'numeric';\n });\n\n protected readonly defaultMaxLength = computed(() => {\n const {decimalSeparator, thousandSeparator} = this.numberFormat();\n const decimalPart =\n !!this.precision() && this.textfieldValue().includes(decimalSeparator);\n const precision = decimalPart ? Math.min(this.precision() + 1, 20) : 0;\n const takeThousand = thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n });\n\n protected readonly mask = tuiMaskito(\n computed(({decimalMode, ...numberFormat} = this.numberFormat()) =>\n this.computeMask({\n ...numberFormat,\n precision: this.precision(),\n min: this.min(),\n max: this.max(),\n prefix: this.prefix(),\n postfix: this.postfix(),\n decimalZeroPadding: decimalMode === 'always',\n }),\n ),\n );\n\n public readonly min = signal(this.options.min);\n public readonly max = signal(this.options.max);\n public readonly prefix = signal(this.options.prefix);\n public readonly postfix = signal(this.options.postfix);\n\n @Input('min')\n public set minSetter(x: number | null) {\n this.updateMinMaxLimits(x, this.max());\n }\n\n @Input('max')\n public set maxSetter(x: number | null) {\n this.updateMinMaxLimits(this.min(), x);\n }\n\n // TODO(v5): replace with signal input\n @Input('prefix')\n public set prefixSetter(x: string) {\n this.prefix.set(x);\n }\n\n // TODO(v5): replace with signal input\n @Input('postfix')\n public set postfixSetter(x: string) {\n this.postfix.set(x);\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(Number.isNaN(value) ? null : value);\n this.setValue(this.value());\n }\n\n public setValue(value: number | null): void {\n this.textfieldValue.set(this.formatNumber(value));\n }\n\n protected onBlur(): void {\n this.onTouched();\n\n if (!this.isIntermediateState()) {\n this.setValue(this.value());\n }\n }\n\n protected onFocus(): void {\n const value = maskitoParseNumber(\n this.textfieldValue(),\n this.numberFormat().decimalSeparator,\n );\n\n if (Number.isNaN(value) && !this.readOnly()) {\n this.textfieldValue.set(this.prefix() + this.postfix());\n }\n }\n\n private formatNumber(value: number | null): string {\n if (value === null || Number.isNaN(value)) {\n return '';\n }\n\n return (\n this.prefix() +\n tuiFormatNumber(value, {\n ...this.numberFormat(),\n /**\n * Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]\n * but its rounding can violate it.\n * Before BigInt support there is no perfect solution – only trade off.\n * No rounding is better than lose precision and incorrect mutation of already valid value.\n */\n precision: tuiIsSafeToRound(value, this.precision())\n ? this.precision()\n : Infinity,\n }).replace(CHAR_HYPHEN, CHAR_MINUS) +\n this.postfix()\n );\n }\n\n private updateMinMaxLimits(\n nullableMin: number | null,\n nullableMax: number | null,\n ): void {\n const min =\n this.transformer?.fromControlValue(nullableMin) ??\n nullableMin ??\n this.options.min;\n const max =\n this.transformer?.fromControlValue(nullableMax) ??\n nullableMax ??\n this.options.max;\n\n this.min.set(Math.min(min, max));\n this.max.set(Math.max(min, max));\n }\n\n private computeMask(\n params: NonNullable<Parameters<typeof maskitoNumberOptionsGenerator>[0]>,\n ): MaskitoOptions {\n const {prefix = '', postfix = ''} = params;\n const {plugins, ...options} = maskitoNumberOptionsGenerator(params);\n const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(\n maskitoNumberOptionsGenerator({\n ...params,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n }),\n );\n\n return {\n ...options,\n plugins: [\n ...plugins,\n initialCalibrationPlugin,\n maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]),\n ],\n };\n }\n}\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n Input,\n NgZone,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldContent,\n} from '@taiga-ui/core/components/textfield';\nimport {timer} from 'rxjs';\n\nimport {TuiInputNumberDirective} from '../input-number.directive';\nimport type {TuiInputNumberOptions} from '../input-number.options';\nimport {TUI_INPUT_NUMBER_OPTIONS} from '../input-number.options';\n\n@Component({\n standalone: true,\n selector: 'input[tuiInputNumber][step]',\n imports: [NgIf, TuiButton, TuiTextfieldContent],\n templateUrl: './input-number-step.template.html',\n styleUrls: ['./input-number-step.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown.arrowDown)': 'onStep(-step())',\n '(keydown.arrowUp)': 'onStep(step())',\n '[class._with-buttons]': 'step()',\n },\n})\nexport class TuiInputNumberStep {\n private readonly destroyRef = inject(DestroyRef);\n private readonly zone = inject(NgZone);\n\n protected readonly element = tuiInjectElement<HTMLInputElement>();\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly options = inject<TuiInputNumberOptions>(TUI_INPUT_NUMBER_OPTIONS);\n protected readonly inputNumber = inject(TuiInputNumberDirective, {self: true});\n protected readonly step = signal(this.options.step);\n\n // TODO(v5): replace with signal input\n @Input('step')\n public set stepSetter(x: number) {\n this.step.set(x);\n }\n\n protected onStep(step: number): void {\n const {inputNumber} = this;\n const newValue = tuiClamp(\n (inputNumber.value() ?? 0) + step,\n inputNumber.min(),\n inputNumber.max(),\n );\n\n if (this.inputNumber.value() === null) {\n timer(0)\n .pipe(tuiZonefree(this.zone), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n const caretIndex =\n this.element.value.length - inputNumber.postfix().length;\n\n this.element.setSelectionRange(caretIndex, caretIndex);\n });\n }\n\n this.inputNumber.setValue(newValue);\n }\n}\n","<ng-container *tuiTextfieldContent>\n <section\n *ngIf=\"step()\"\n class=\"t-input-number-buttons\"\n >\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfieldOptions.appearance()\"\n [disabled]=\"!inputNumber.interactive() || inputNumber.value()! >= inputNumber.max()\"\n [iconStart]=\"options.icons.increase\"\n (click.prevent)=\"onStep(step())\"\n (mousedown.prevent)=\"element.focus()\"\n >\n +\n </button>\n\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfieldOptions.appearance()\"\n [disabled]=\"!inputNumber.interactive() || inputNumber.value()! <= inputNumber.min()\"\n [iconStart]=\"options.icons.decrease\"\n (click.prevent)=\"onStep(-step())\"\n (mousedown.prevent)=\"element.focus()\"\n >\n -\n </button>\n </section>\n</ng-container>\n","import {TuiInputNumberDirective} from './input-number.directive';\nimport {TuiInputNumberStep} from './step/input-number-step.component';\n\nexport const TuiInputNumber = [TuiInputNumberDirective, TuiInputNumberStep] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-input-number.mjs","sources":["../../../projects/kit/components/input-number/input-number.options.ts","../../../projects/kit/components/input-number/input-number.directive.ts","../../../projects/kit/components/input-number/step/input-number-step.component.ts","../../../projects/kit/components/input-number/step/input-number-step.template.html","../../../projects/kit/components/input-number/input-number.ts","../../../projects/kit/components/input-number/taiga-ui-kit-components-input-number.ts"],"sourcesContent":["import type {TuiValueTransformer} from '@taiga-ui/cdk/classes';\nimport {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiInputNumberOptions {\n readonly max: number;\n readonly min: number;\n readonly prefix: string;\n readonly postfix: string;\n readonly step: number;\n readonly icons: Readonly<{\n decrease: string;\n increase: string;\n }>;\n readonly valueTransformer: TuiValueTransformer<number | null, any> | null;\n}\n\nexport const TUI_INPUT_NUMBER_DEFAULT_OPTIONS: TuiInputNumberOptions = {\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n prefix: '',\n postfix: '',\n step: 0,\n icons: {\n increase: '@tui.plus',\n decrease: '@tui.minus',\n },\n valueTransformer: null,\n};\n\nexport const [TUI_INPUT_NUMBER_OPTIONS, tuiInputNumberOptionsProvider] = tuiCreateOptions(\n TUI_INPUT_NUMBER_DEFAULT_OPTIONS,\n);\n","import {computed, Directive, effect, inject, Input, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {MaskitoDirective} from '@maskito/angular';\nimport type {MaskitoOptions} from '@maskito/core';\nimport {maskitoInitialCalibrationPlugin} from '@maskito/core';\nimport {\n maskitoCaretGuard,\n maskitoNumberOptionsGenerator,\n maskitoParseNumber,\n} from '@maskito/kit';\nimport {tuiAsControl, TuiControl, tuiValueTransformerFrom} from '@taiga-ui/cdk/classes';\nimport {CHAR_HYPHEN, CHAR_MINUS, TUI_ALLOW_SIGNAL_WRITES} from '@taiga-ui/cdk/constants';\nimport {TUI_IS_IOS, tuiFallbackValueProvider} from '@taiga-ui/cdk/tokens';\nimport {tuiInjectElement, tuiValueBinding} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsSafeToRound} from '@taiga-ui/cdk/utils/math';\nimport {TuiWithTextfield} from '@taiga-ui/core/components/textfield';\nimport {TUI_DEFAULT_NUMBER_FORMAT, TUI_NUMBER_FORMAT} from '@taiga-ui/core/tokens';\nimport {tuiFormatNumber} from '@taiga-ui/core/utils/format';\nimport {tuiMaskito} from '@taiga-ui/kit/utils';\n\nimport {TUI_INPUT_NUMBER_OPTIONS} from './input-number.options';\n\nconst DEFAULT_MAX_LENGTH = 18;\n\n@Directive({\n standalone: true,\n selector: 'input[tuiInputNumber]',\n providers: [\n tuiAsControl(TuiInputNumberDirective),\n tuiFallbackValueProvider(null),\n tuiValueTransformerFrom(TUI_INPUT_NUMBER_OPTIONS),\n ],\n hostDirectives: [TuiWithTextfield, MaskitoDirective],\n host: {\n '[disabled]': 'disabled()',\n '[attr.inputMode]': 'inputMode()',\n '[attr.maxLength]':\n 'element.maxLength > 0 ? element.maxLength : defaultMaxLength()',\n '(input)': 'textfieldValue.set(element.value)',\n '(blur)': 'onBlur()',\n '(focus)': 'onFocus()',\n },\n})\nexport class TuiInputNumberDirective extends TuiControl<number | null> {\n private readonly isIOS = inject(TUI_IS_IOS);\n private readonly numberFormat = toSignal(inject(TUI_NUMBER_FORMAT), {\n initialValue: TUI_DEFAULT_NUMBER_FORMAT,\n });\n\n private readonly precision = computed(() =>\n Number.isNaN(this.numberFormat().precision) ? 2 : this.numberFormat().precision,\n );\n\n private readonly isIntermediateState = computed(() => {\n const value = maskitoParseNumber(\n this.textfieldValue(),\n this.numberFormat().decimalSeparator,\n );\n\n return value < 0 ? value > this.max() : value < this.min();\n });\n\n protected readonly onChangeEffect = effect(() => {\n const value = maskitoParseNumber(\n this.textfieldValue(),\n this.numberFormat().decimalSeparator,\n );\n\n if (Number.isNaN(value)) {\n this.onChange(null);\n\n return;\n }\n\n if (\n this.isIntermediateState() ||\n value < this.min() ||\n value > this.max() ||\n this.value() === value\n ) {\n return;\n }\n\n this.onChange(value);\n }, TUI_ALLOW_SIGNAL_WRITES);\n\n protected readonly options = inject(TUI_INPUT_NUMBER_OPTIONS);\n protected readonly element = tuiInjectElement<HTMLInputElement>();\n protected readonly textfieldValue = tuiValueBinding();\n\n protected readonly inputMode = computed(() => {\n if (this.isIOS && this.min() < 0) {\n // iPhone does not have minus sign if inputMode is equal to 'numeric' / 'decimal'\n return 'text';\n }\n\n return this.precision() ? 'decimal' : 'numeric';\n });\n\n protected readonly defaultMaxLength = computed(() => {\n const {decimalSeparator, thousandSeparator} = this.numberFormat();\n const decimalPart =\n !!this.precision() && this.textfieldValue().includes(decimalSeparator);\n const precision = decimalPart ? Math.min(this.precision() + 1, 20) : 0;\n const takeThousand = thousandSeparator.repeat(5).length;\n\n return DEFAULT_MAX_LENGTH + precision + takeThousand;\n });\n\n protected readonly mask = tuiMaskito(\n computed(({decimalMode, ...numberFormat} = this.numberFormat()) =>\n this.computeMask({\n ...numberFormat,\n precision: this.precision(),\n min: this.min(),\n max: this.max(),\n prefix: this.prefix(),\n postfix: this.postfix(),\n decimalZeroPadding: decimalMode === 'always',\n }),\n ),\n );\n\n public readonly min = signal(this.options.min);\n public readonly max = signal(this.options.max);\n public readonly prefix = signal(this.options.prefix);\n public readonly postfix = signal(this.options.postfix);\n\n @Input('min')\n public set minSetter(x: number | null) {\n this.updateMinMaxLimits(x, this.max());\n }\n\n @Input('max')\n public set maxSetter(x: number | null) {\n this.updateMinMaxLimits(this.min(), x);\n }\n\n // TODO(v5): replace with signal input\n @Input('prefix')\n public set prefixSetter(x: string) {\n this.prefix.set(x);\n }\n\n // TODO(v5): replace with signal input\n @Input('postfix')\n public set postfixSetter(x: string) {\n this.postfix.set(x);\n }\n\n public override writeValue(value: number | null): void {\n super.writeValue(Number.isNaN(value) ? null : value);\n this.setValue(this.value());\n }\n\n public setValue(value: number | null): void {\n this.textfieldValue.set(this.formatNumber(value));\n }\n\n protected onBlur(): void {\n this.onTouched();\n\n if (!this.isIntermediateState()) {\n this.setValue(this.value());\n }\n }\n\n protected onFocus(): void {\n const value = maskitoParseNumber(\n this.textfieldValue(),\n this.numberFormat().decimalSeparator,\n );\n\n if (Number.isNaN(value) && !this.readOnly()) {\n this.textfieldValue.set(this.prefix() + this.postfix());\n }\n }\n\n private formatNumber(value: number | null): string {\n if (value === null || Number.isNaN(value)) {\n return '';\n }\n\n return (\n this.prefix() +\n tuiFormatNumber(value, {\n ...this.numberFormat(),\n /**\n * Number can satisfy interval [Number.MIN_SAFE_INTEGER; Number.MAX_SAFE_INTEGER]\n * but its rounding can violate it.\n * Before BigInt support there is no perfect solution – only trade off.\n * No rounding is better than lose precision and incorrect mutation of already valid value.\n */\n precision: tuiIsSafeToRound(value, this.precision())\n ? this.precision()\n : Infinity,\n }).replace(CHAR_HYPHEN, CHAR_MINUS) +\n this.postfix()\n );\n }\n\n private updateMinMaxLimits(\n nullableMin: number | null,\n nullableMax: number | null,\n ): void {\n const min =\n this.transformer?.fromControlValue(nullableMin) ??\n nullableMin ??\n this.options.min;\n const max =\n this.transformer?.fromControlValue(nullableMax) ??\n nullableMax ??\n this.options.max;\n\n this.min.set(Math.min(min, max));\n this.max.set(Math.max(min, max));\n }\n\n private computeMask(\n params: NonNullable<Parameters<typeof maskitoNumberOptionsGenerator>[0]>,\n ): MaskitoOptions {\n const {prefix = '', postfix = ''} = params;\n const {plugins, ...options} = maskitoNumberOptionsGenerator(params);\n const initialCalibrationPlugin = maskitoInitialCalibrationPlugin(\n maskitoNumberOptionsGenerator({\n ...params,\n min: Number.MIN_SAFE_INTEGER,\n max: Number.MAX_SAFE_INTEGER,\n }),\n );\n\n return {\n ...options,\n plugins: [\n ...plugins,\n initialCalibrationPlugin,\n maskitoCaretGuard((value) => [\n prefix.length,\n value.length - postfix.length,\n ]),\n ],\n };\n }\n}\n","import {NgIf} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n DestroyRef,\n inject,\n Input,\n NgZone,\n signal,\n ViewEncapsulation,\n} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {TuiButton} from '@taiga-ui/core/components/button';\nimport {\n TUI_TEXTFIELD_OPTIONS,\n TuiTextfieldContent,\n} from '@taiga-ui/core/components/textfield';\nimport {timer} from 'rxjs';\n\nimport {TuiInputNumberDirective} from '../input-number.directive';\nimport type {TuiInputNumberOptions} from '../input-number.options';\nimport {TUI_INPUT_NUMBER_OPTIONS} from '../input-number.options';\n\n@Component({\n standalone: true,\n selector: 'input[tuiInputNumber][step]',\n imports: [NgIf, TuiButton, TuiTextfieldContent],\n templateUrl: './input-number-step.template.html',\n styleUrls: ['./input-number-step.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n '(keydown.arrowDown)': 'onStep(-step())',\n '(keydown.arrowUp)': 'onStep(step())',\n '[class._with-buttons]': 'step()',\n },\n})\nexport class TuiInputNumberStep {\n private readonly destroyRef = inject(DestroyRef);\n private readonly zone = inject(NgZone);\n\n protected readonly element = tuiInjectElement<HTMLInputElement>();\n protected readonly textfieldOptions = inject(TUI_TEXTFIELD_OPTIONS);\n protected readonly options = inject<TuiInputNumberOptions>(TUI_INPUT_NUMBER_OPTIONS);\n protected readonly inputNumber = inject(TuiInputNumberDirective, {self: true});\n protected readonly step = signal(this.options.step);\n\n // TODO(v5): replace with signal input\n @Input('step')\n public set stepSetter(x: number) {\n this.step.set(x);\n }\n\n protected onStep(step: number): void {\n const {inputNumber} = this;\n const newValue = tuiClamp(\n (inputNumber.value() ?? 0) + step,\n inputNumber.min(),\n inputNumber.max(),\n );\n\n if (this.inputNumber.value() === null) {\n timer(0)\n .pipe(tuiZonefree(this.zone), takeUntilDestroyed(this.destroyRef))\n .subscribe(() => {\n const caretIndex =\n this.element.value.length - inputNumber.postfix().length;\n\n this.element.setSelectionRange(caretIndex, caretIndex);\n });\n }\n\n this.inputNumber.setValue(newValue);\n }\n}\n","<ng-container *tuiTextfieldContent>\n <section\n *ngIf=\"step()\"\n class=\"t-input-number-buttons\"\n >\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfieldOptions.appearance()\"\n [disabled]=\"!inputNumber.interactive() || inputNumber.value()! >= inputNumber.max()\"\n [iconStart]=\"options.icons.increase\"\n (click.prevent)=\"onStep(step())\"\n (mousedown.prevent)=\"element.focus()\"\n >\n +\n </button>\n\n <button\n size=\"s\"\n tabindex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"textfieldOptions.appearance()\"\n [disabled]=\"!inputNumber.interactive() || inputNumber.value()! <= inputNumber.min()\"\n [iconStart]=\"options.icons.decrease\"\n (click.prevent)=\"onStep(-step())\"\n (mousedown.prevent)=\"element.focus()\"\n >\n -\n </button>\n </section>\n</ng-container>\n","import {TuiInputNumberDirective} from './input-number.directive';\nimport {TuiInputNumberStep} from './step/input-number-step.component';\n\nexport const TuiInputNumber = [TuiInputNumberDirective, TuiInputNumberStep] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|