@taiga-ui/kit 3.44.1 → 3.45.0-canary.1c27922

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-input-files.umd.js +1 -1
  5. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-input-range.umd.js +18 -22
  7. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-input-slider.umd.js +29 -38
  9. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-input-tag.umd.js +3 -4
  11. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-progress.umd.js +58 -30
  13. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-radio-block.umd.js +1 -1
  15. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
  17. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-select.umd.js +1 -6
  19. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-tabs.umd.js +14 -6
  21. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  23. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-tree.umd.js +1 -1
  25. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-tokens.umd.js +21 -63
  27. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  28. package/components/checkbox-block/checkbox-block.component.d.ts +2 -2
  29. package/components/filter/filter.component.d.ts +2 -2
  30. package/components/input-range/input-range.component.d.ts +6 -3
  31. package/components/input-slider/input-slider.component.d.ts +2 -2
  32. package/components/progress/progress-bar/progress-bar.component.d.ts +4 -1
  33. package/components/progress/progress-circle/progress-circle.component.d.ts +5 -3
  34. package/components/progress/progress-segmented/progress-segmented.component.d.ts +4 -1
  35. package/components/radio-block/radio-block.component.d.ts +2 -2
  36. package/components/tabs/tabs-with-more/tabs-with-more.component.d.ts +3 -2
  37. package/esm2015/components/checkbox-block/checkbox-block.component.js +2 -2
  38. package/esm2015/components/filter/filter.component.js +1 -1
  39. package/esm2015/components/input-files/input-files.component.js +1 -1
  40. package/esm2015/components/input-range/input-range.component.js +18 -23
  41. package/esm2015/components/input-slider/input-slider.component.js +15 -20
  42. package/esm2015/components/input-tag/input-tag.component.js +4 -5
  43. package/esm2015/components/progress/progress-bar/progress-bar.component.js +16 -6
  44. package/esm2015/components/progress/progress-circle/progress-circle.component.js +14 -4
  45. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +17 -7
  46. package/esm2015/components/radio-block/radio-block.component.js +2 -2
  47. package/esm2015/components/select/select.component.js +2 -7
  48. package/esm2015/components/select-option/select-option.component.js +1 -1
  49. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +11 -7
  50. package/esm2015/components/tag/tag.component.js +2 -2
  51. package/esm2015/components/tree/components/tree-item/tree-item.component.js +2 -2
  52. package/esm2015/tokens/i18n.js +23 -65
  53. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +1 -1
  54. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  55. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  56. package/fesm2015/taiga-ui-kit-components-input-files.js +1 -1
  57. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  58. package/fesm2015/taiga-ui-kit-components-input-range.js +17 -22
  59. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  60. package/fesm2015/taiga-ui-kit-components-input-slider.js +14 -19
  61. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  62. package/fesm2015/taiga-ui-kit-components-input-tag.js +3 -4
  63. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  64. package/fesm2015/taiga-ui-kit-components-progress.js +40 -15
  65. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  66. package/fesm2015/taiga-ui-kit-components-radio-block.js +1 -1
  67. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  68. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
  69. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  70. package/fesm2015/taiga-ui-kit-components-select.js +1 -6
  71. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  72. package/fesm2015/taiga-ui-kit-components-tabs.js +10 -6
  73. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  74. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  75. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  76. package/fesm2015/taiga-ui-kit-components-tree.js +1 -1
  77. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  78. package/fesm2015/taiga-ui-kit-tokens.js +22 -64
  79. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  80. package/package.json +7 -7
  81. package/tokens/i18n.d.ts +21 -22
@@ -32,6 +32,8 @@ class TuiInputRangeComponent extends AbstractTuiControl {
32
32
  this.segments = 1;
33
33
  this.keySteps = null;
34
34
  this.pluralize = null;
35
+ this.leftTextfieldValue = this.safeCurrentValue[0];
36
+ this.rightTextfieldValue = this.safeCurrentValue[1];
35
37
  this.lastActiveSide = 'left';
36
38
  }
37
39
  get leftFocusableElement() {
@@ -86,15 +88,9 @@ class TuiInputRangeComponent extends AbstractTuiControl {
86
88
  onActiveZone(active) {
87
89
  this.updateFocused(active);
88
90
  }
89
- onTextInputFocused(focused, right) {
90
- if (focused) {
91
- return;
92
- }
93
- const [leftTextInputRef, rightTextInputRef] = this.inputNumberRefs;
94
- const inputRef = right ? rightTextInputRef : leftTextInputRef;
95
- const valueIndex = right ? 1 : 0;
96
- if (!inputRef.nativeValue || inputRef.value !== this.value[valueIndex]) {
97
- this.updateTextInputValue(this.safeCurrentValue[valueIndex], right);
91
+ onTextInputFocused(focused) {
92
+ if (!focused) {
93
+ this.updateTextfieldValues(this.value);
98
94
  }
99
95
  }
100
96
  changeByStep(event, [leftCoefficient, rightCoefficient]) {
@@ -106,11 +102,8 @@ class TuiInputRangeComponent extends AbstractTuiControl {
106
102
  this.value[0] + leftCoefficient * this.step,
107
103
  this.value[1] + rightCoefficient * this.step,
108
104
  ]);
109
- const leftValueChanged = newValue[0] !== this.value[0];
110
- const rightValueChanged = newValue[1] !== this.value[1];
111
- if (leftValueChanged || rightValueChanged) {
112
- this.safelyUpdateValue(newValue);
113
- this.updateTextInputValue(newValue[rightValueChanged ? 1 : 0], rightValueChanged);
105
+ if (newValue[0] !== this.value[0] || newValue[1] !== this.value[1]) {
106
+ this.onExternalValueUpdate(newValue);
114
107
  }
115
108
  }
116
109
  onInputLeft(value) {
@@ -119,10 +112,9 @@ class TuiInputRangeComponent extends AbstractTuiControl {
119
112
  onInputRight(value) {
120
113
  this.safelyUpdateValue([this.value[0], value !== null && value !== void 0 ? value : this.safeCurrentValue[1]]);
121
114
  }
122
- onRangeValue(value) {
115
+ onExternalValueUpdate(value) {
123
116
  this.safelyUpdateValue(value);
124
- const rightValueChanged = this.lastActiveSide === 'right';
125
- this.updateTextInputValue(this.value[rightValueChanged ? 1 : 0], rightValueChanged);
117
+ this.updateTextfieldValues(this.value);
126
118
  }
127
119
  focusToTextInput() {
128
120
  const element = this.lastActiveSide === 'left'
@@ -135,6 +127,10 @@ class TuiInputRangeComponent extends AbstractTuiControl {
135
127
  onActiveThumbChange(activeThumb) {
136
128
  this.lastActiveSide = activeThumb;
137
129
  }
130
+ writeValue(value) {
131
+ super.writeValue(value);
132
+ this.updateTextfieldValues(this.value);
133
+ }
138
134
  getFallbackValue() {
139
135
  return [0, 0];
140
136
  }
@@ -153,10 +149,9 @@ class TuiInputRangeComponent extends AbstractTuiControl {
153
149
  const roundedValue = tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
154
150
  return tuiClamp(roundedValue, this.min, this.max);
155
151
  }
156
- updateTextInputValue(value, right) {
157
- const [leftInputRef, rightInputRef] = this.inputNumberRefs;
158
- const textInputRef = right ? rightInputRef : leftInputRef;
159
- textInputRef === null || textInputRef === void 0 ? void 0 : textInputRef.writeValue(value);
152
+ updateTextfieldValues([leftValue, rightValue]) {
153
+ this.leftTextfieldValue = leftValue;
154
+ this.rightTextfieldValue = rightValue;
160
155
  }
161
156
  }
162
157
  TuiInputRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputRangeComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_IS_MOBILE }, { token: ElementRef }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }], target: i0.ɵɵFactoryTarget.Component });
@@ -164,7 +159,7 @@ TuiInputRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
164
159
  tuiAsFocusableItemAccessor(TuiInputRangeComponent),
165
160
  tuiAsControl(TuiInputRangeComponent),
166
161
  TEXTFIELD_CONTROLLER_PROVIDER,
167
- ], viewQueries: [{ propertyName: "rangeRef", first: true, predicate: TuiRangeComponent, descendants: true }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModel]=\"value[0]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showLeftValueContent ? (value[0] | i18nPlural: pluralize) : ''\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModel]=\"value[1]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showRightValueContent ? (value[1] | i18nPlural: pluralize) : ''\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n ></tui-range>\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{width:100%}.t-right{position:absolute;right:0;top:0;display:flex;width:50%;height:100%;text-align:right}:host{display:block;border-radius:var(--tui-radius-m)}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0;background:transparent}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { type: i2.TuiRangeComponent, selector: "tui-range", inputs: ["min", "max", "step", "size", "segments", "keySteps"] }], directives: [{ type: i3.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i4.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", inputs: ["tuiTextfieldAppearance"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiRangeChangeDirective, selector: "tui-range", outputs: ["activeThumbChange"] }, { type: i4.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], pipes: { "i18nPlural": i6.I18nPluralPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
162
+ ], viewQueries: [{ propertyName: "rangeRef", first: true, predicate: TuiRangeComponent, descendants: true }, { propertyName: "inputNumberRefs", predicate: TuiInputNumberComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showLeftValueContent ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showRightValueContent ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n ></tui-range>\n</div>\n", styles: [".t-wrapper{position:relative}.t-left{width:100%}.t-right{position:absolute;right:0;top:0;display:flex;width:50%;height:100%;text-align:right}:host{display:block;border-radius:var(--tui-radius-m)}.t-range{position:absolute;top:100%;left:0;right:0;z-index:1;margin:-.125rem 0 0;background:transparent}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { type: i2.TuiRangeComponent, selector: "tui-range", inputs: ["min", "max", "step", "size", "segments", "keySteps"] }], directives: [{ type: i3.TuiWrapperDirective, selector: "[tuiWrapper]", inputs: ["disabled", "readOnly", "hover", "active", "focus", "invalid", "appearance"] }, { type: i4.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.TuiTextfieldAppearanceDirective, selector: "[tuiTextfieldAppearance]", inputs: ["tuiTextfieldAppearance"] }, { type: i3.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i5.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i5.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiRangeChangeDirective, selector: "tui-range", outputs: ["activeThumbChange"] }, { type: i4.TuiPressedDirective, selector: "[tuiPressedChange]", outputs: ["tuiPressedChange"] }], pipes: { "i18nPlural": i6.I18nPluralPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
168
163
  __decorate([
169
164
  tuiPure
170
165
  ], TuiInputRangeComponent.prototype, "computeKeySteps", null);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-range.js","sources":["../../../projects/kit/components/input-range/input-range.component.ts","../../../projects/kit/components/input-range/input-range.template.html","../../../projects/kit/components/input-range/input-range.module.ts","../../../projects/kit/components/input-range/taiga-ui-kit-components-input-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n tuiPure,\n tuiRound,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimal,\n tuiGetFractionPartPadded,\n TuiTextfieldController,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {TuiRangeComponent} from '@taiga-ui/kit/components/range';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrls: ['./input-range.style.less'],\n host: {\n '[attr.data-size]': 'controller.size',\n '[class._label-outside]': 'controller.labelOutside',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputRangeComponent),\n tuiAsControl(TuiInputRangeComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiControl<[number, number]>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @ViewChildren(TuiInputNumberComponent)\n private readonly inputNumberRefs: QueryList<TuiInputNumberComponent> = EMPTY_QUERY;\n\n @ViewChild(TuiRangeComponent)\n private readonly rangeRef: TuiRangeComponent | null = null;\n\n @Input()\n min = 0;\n\n @Input()\n max = 100;\n\n @Input()\n quantum = 1;\n\n @Input()\n steps = 0;\n\n @Input()\n segments = 1;\n\n @Input()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n leftValueContent: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n @Input()\n rightValueContent: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n @Input()\n pluralize: Record<string, string> | null = null;\n\n lastActiveSide: 'left' | 'right' = 'left';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(ElementRef) private readonly el: ElementRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, cdr);\n }\n\n get leftFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.first?.nativeFocusableElement || null;\n }\n\n get rightFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.last?.nativeFocusableElement || null;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled\n ? null\n : this.leftFocusableElement || this.rightFocusableElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n get appearance(): string {\n return this.controller.appearance;\n }\n\n get showLeftValueContent(): boolean {\n return Boolean(\n this.leftValueContent &&\n !tuiIsNativeFocused(this.leftFocusableElement) &&\n !(this.rangeRef?.focused && this.lastActiveSide === 'left'),\n );\n }\n\n get showRightValueContent(): boolean {\n return Boolean(\n this.rightValueContent &&\n !tuiIsNativeFocused(this.rightFocusableElement) &&\n !(this.rangeRef?.focused && this.lastActiveSide === 'right'),\n );\n }\n\n get precision(): number {\n return tuiGetFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimal {\n return this.precision ? 'not-zero' : 'never';\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get step(): number {\n return (this.max - this.min) / this.computedSteps;\n }\n\n @tuiPure\n computeKeySteps(keySteps: TuiKeySteps | null, min: number, max: number): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n onTextInputFocused(focused: boolean, right: boolean): void {\n if (focused) {\n return;\n }\n\n const [leftTextInputRef, rightTextInputRef] = this.inputNumberRefs;\n const inputRef = right ? rightTextInputRef : leftTextInputRef;\n const valueIndex = right ? 1 : 0;\n\n if (!inputRef.nativeValue || inputRef.value !== this.value[valueIndex]) {\n this.updateTextInputValue(this.safeCurrentValue[valueIndex], right);\n }\n }\n\n changeByStep(\n event: Event | KeyboardEvent,\n [leftCoefficient, rightCoefficient]: [number, number],\n ): void {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n\n const newValue = this.valueGuard([\n this.value[0] + leftCoefficient * this.step,\n this.value[1] + rightCoefficient * this.step,\n ]);\n const leftValueChanged = newValue[0] !== this.value[0];\n const rightValueChanged = newValue[1] !== this.value[1];\n\n if (leftValueChanged || rightValueChanged) {\n this.safelyUpdateValue(newValue);\n this.updateTextInputValue(\n newValue[rightValueChanged ? 1 : 0],\n rightValueChanged,\n );\n }\n }\n\n onInputLeft(value: number | null): void {\n this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);\n }\n\n onInputRight(value: number | null): void {\n this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);\n }\n\n onRangeValue(value: [number, number]): void {\n this.safelyUpdateValue(value);\n\n const rightValueChanged = this.lastActiveSide === 'right';\n\n this.updateTextInputValue(\n this.value[rightValueChanged ? 1 : 0],\n rightValueChanged,\n );\n }\n\n focusToTextInput(): void {\n const element =\n this.lastActiveSide === 'left'\n ? this.leftFocusableElement\n : this.rightFocusableElement;\n\n if (!this.isMobile && element) {\n element.focus();\n }\n }\n\n onActiveThumbChange(activeThumb: 'left' | 'right'): void {\n this.lastActiveSide = activeThumb;\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private safelyUpdateValue(value: [number, number]): void {\n this.value = this.valueGuard(value);\n }\n\n private valueGuard([leftValue, rightValue]: [number, number]): [number, number] {\n const leftCalibratedValue = this.calibrate(leftValue);\n const rightCalibratedValue = this.calibrate(rightValue);\n\n return [\n Math.min(leftCalibratedValue, this.value[1]),\n Math.max(rightCalibratedValue, this.value[0]),\n ];\n }\n\n private calibrate(value: number): number {\n const roundedValue = tuiRound(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return tuiClamp(roundedValue, this.min, this.max);\n }\n\n private updateTextInputValue(value: number, right: boolean): void {\n const [leftInputRef, rightInputRef] = this.inputNumberRefs;\n const textInputRef = right ? rightInputRef : leftInputRef;\n\n textInputRef?.writeValue(value);\n }\n}\n","<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [ngModel]=\"value[0]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showLeftValueContent ? (value[0] | i18nPlural: pluralize) : ''\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [ngModel]=\"value[1]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showRightValueContent ? (value[1] | i18nPlural: pluralize) : ''\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n ></tui-range>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiActiveZoneModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiTextfieldControllerModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiInputNumberModule,\n TuiPressedModule,\n TuiRangeModule,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\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-range.js","sources":["../../../projects/kit/components/input-range/input-range.component.ts","../../../projects/kit/components/input-range/input-range.template.html","../../../projects/kit/components/input-range/input-range.module.ts","../../../projects/kit/components/input-range/taiga-ui-kit-components-input-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n QueryList,\n Self,\n ViewChild,\n ViewChildren,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsNativeFocusedIn,\n TuiNativeFocusableElement,\n tuiPure,\n tuiRound,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimal,\n tuiGetFractionPartPadded,\n TuiTextfieldController,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {TuiRangeComponent} from '@taiga-ui/kit/components/range';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrls: ['./input-range.style.less'],\n host: {\n '[attr.data-size]': 'controller.size',\n '[class._label-outside]': 'controller.labelOutside',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputRangeComponent),\n tuiAsControl(TuiInputRangeComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiControl<[number, number]>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @ViewChildren(TuiInputNumberComponent)\n private readonly inputNumberRefs: QueryList<TuiInputNumberComponent> = EMPTY_QUERY;\n\n @ViewChild(TuiRangeComponent)\n private readonly rangeRef: TuiRangeComponent | null = null;\n\n @Input()\n min = 0;\n\n @Input()\n max = 100;\n\n @Input()\n quantum = 1;\n\n @Input()\n steps = 0;\n\n @Input()\n segments = 1;\n\n @Input()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n leftValueContent: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n @Input()\n rightValueContent: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n @Input()\n pluralize: Record<string, string> | null = null;\n\n leftTextfieldValue = this.safeCurrentValue[0];\n rightTextfieldValue = this.safeCurrentValue[1];\n lastActiveSide: 'left' | 'right' = 'left';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(ElementRef) private readonly el: ElementRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, cdr);\n }\n\n get leftFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.first?.nativeFocusableElement || null;\n }\n\n get rightFocusableElement(): HTMLInputElement | null {\n return this.inputNumberRefs.last?.nativeFocusableElement || null;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled\n ? null\n : this.leftFocusableElement || this.rightFocusableElement;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocusedIn(this.el.nativeElement);\n }\n\n get appearance(): string {\n return this.controller.appearance;\n }\n\n get showLeftValueContent(): boolean {\n return Boolean(\n this.leftValueContent &&\n !tuiIsNativeFocused(this.leftFocusableElement) &&\n !(this.rangeRef?.focused && this.lastActiveSide === 'left'),\n );\n }\n\n get showRightValueContent(): boolean {\n return Boolean(\n this.rightValueContent &&\n !tuiIsNativeFocused(this.rightFocusableElement) &&\n !(this.rangeRef?.focused && this.lastActiveSide === 'right'),\n );\n }\n\n get precision(): number {\n return tuiGetFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimal {\n return this.precision ? 'not-zero' : 'never';\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get step(): number {\n return (this.max - this.min) / this.computedSteps;\n }\n\n @tuiPure\n computeKeySteps(keySteps: TuiKeySteps | null, min: number, max: number): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n onTextInputFocused(focused: boolean): void {\n if (!focused) {\n this.updateTextfieldValues(this.value);\n }\n }\n\n changeByStep(\n event: Event | KeyboardEvent,\n [leftCoefficient, rightCoefficient]: [number, number],\n ): void {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n\n const newValue = this.valueGuard([\n this.value[0] + leftCoefficient * this.step,\n this.value[1] + rightCoefficient * this.step,\n ]);\n\n if (newValue[0] !== this.value[0] || newValue[1] !== this.value[1]) {\n this.onExternalValueUpdate(newValue);\n }\n }\n\n onInputLeft(value: number | null): void {\n this.safelyUpdateValue([value ?? this.safeCurrentValue[0], this.value[1]]);\n }\n\n onInputRight(value: number | null): void {\n this.safelyUpdateValue([this.value[0], value ?? this.safeCurrentValue[1]]);\n }\n\n onExternalValueUpdate(value: [number, number]): void {\n this.safelyUpdateValue(value);\n this.updateTextfieldValues(this.value);\n }\n\n focusToTextInput(): void {\n const element =\n this.lastActiveSide === 'left'\n ? this.leftFocusableElement\n : this.rightFocusableElement;\n\n if (!this.isMobile && element) {\n element.focus();\n }\n }\n\n onActiveThumbChange(activeThumb: 'left' | 'right'): void {\n this.lastActiveSide = activeThumb;\n }\n\n override writeValue(value: [number, number]): void {\n super.writeValue(value);\n this.updateTextfieldValues(this.value);\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n private safelyUpdateValue(value: [number, number]): void {\n this.value = this.valueGuard(value);\n }\n\n private valueGuard([leftValue, rightValue]: [number, number]): [number, number] {\n const leftCalibratedValue = this.calibrate(leftValue);\n const rightCalibratedValue = this.calibrate(rightValue);\n\n return [\n Math.min(leftCalibratedValue, this.value[1]),\n Math.max(rightCalibratedValue, this.value[0]),\n ];\n }\n\n private calibrate(value: number): number {\n const roundedValue = tuiRound(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return tuiClamp(roundedValue, this.min, this.max);\n }\n\n private updateTextfieldValues([leftValue, rightValue]: [number, number]): void {\n this.leftTextfieldValue = leftValue;\n this.rightTextfieldValue = rightValue;\n }\n}\n","<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n [readOnly]=\"readOnly\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n automation-id=\"tui-input-range__left-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-left\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"value[1]\"\n [min]=\"min\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showLeftValueContent ? (value[0] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"leftTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (ngModelChange)=\"onInputLeft($event)\"\n >\n <ng-content></ng-content>\n <div\n *ngIf=\"showLeftValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"leftValueContent as text; context: {$implicit: value[0]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-input-number\n automation-id=\"tui-input-range__right-input\"\n tuiTextfieldAppearance=\"none\"\n class=\"t-right\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"value[0]\"\n [precision]=\"precision\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"pluralize && !showRightValueContent ? (value[1] | i18nPlural: pluralize) : ''\"\n [(ngModel)]=\"rightTextfieldValue\"\n (focusedChange)=\"onTextInputFocused($event)\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (ngModelChange)=\"onInputRight($event)\"\n >\n <div\n *ngIf=\"showRightValueContent\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"rightValueContent as text; context: {$implicit: value[1]}\">\n {{ text }}\n </ng-container>\n </div>\n </tui-input-number>\n\n <tui-range\n class=\"t-range\"\n [disabled]=\"readOnly || disabled\"\n [focusable]=\"false\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [step]=\"step\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\n (ngModelChange)=\"onExternalValueUpdate($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n ></tui-range>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiActiveZoneModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiTextfieldControllerModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiInputNumberModule,\n TuiPressedModule,\n TuiRangeModule,\n TuiWrapperModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
1
  import { __decorate } from 'tslib';
2
2
  import * as i0 from '@angular/core';
3
3
  import { ChangeDetectorRef, ElementRef, Component, ChangeDetectionStrategy, Optional, Self, Inject, ViewChild, Input, NgModule } from '@angular/core';
4
- import * as i3 from '@angular/forms';
4
+ import * as i4 from '@angular/forms';
5
5
  import { NgControl, FormsModule } from '@angular/forms';
6
6
  import * as i7 from '@taiga-ui/cdk';
7
7
  import { AbstractTuiControl, tuiIsNativeFocused, tuiRound, tuiClamp, tuiAsFocusableItemAccessor, tuiAsControl, tuiPure, TuiFocusableModule } from '@taiga-ui/cdk';
8
- import * as i4 from '@taiga-ui/core';
8
+ import * as i3 from '@taiga-ui/core';
9
9
  import { tuiGetFractionPartPadded, TUI_TEXTFIELD_WATCHED_CONTROLLER, TEXTFIELD_CONTROLLER_PROVIDER, TuiTextfieldControllerModule } from '@taiga-ui/core';
10
10
  import * as i1 from '@taiga-ui/kit/components/input-number';
11
11
  import { TuiInputNumberComponent, TuiInputNumberModule } from '@taiga-ui/kit/components/input-number';
@@ -31,6 +31,7 @@ class TuiInputSliderComponent extends AbstractTuiControl {
31
31
  this.textfieldPrefix = '';
32
32
  /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */
33
33
  this.textfieldPostfix = '';
34
+ this.textfieldValue = this.safeCurrentValue;
34
35
  }
35
36
  get prefix() {
36
37
  return this.textfieldPrefix || this.controller.prefix;
@@ -87,23 +88,23 @@ class TuiInputSliderComponent extends AbstractTuiControl {
87
88
  const value = this.value + coefficient * this.step;
88
89
  if (value !== this.value) {
89
90
  this.safelyUpdateValue(value);
91
+ this.textfieldValue = this.value;
90
92
  }
91
- this.updateTextInputValue(this.valueGuard(value));
92
93
  }
93
94
  onSliderChange(newValue) {
94
95
  this.safelyUpdateValue(newValue);
95
- this.updateTextInputValue(this.value);
96
+ this.textfieldValue = this.value;
96
97
  }
97
98
  onFocused(focused) {
98
- const { value, textInputValue, safeCurrentValue, inputNumberRef } = this;
99
- if (!focused && textInputValue !== (inputNumberRef === null || inputNumberRef === void 0 ? void 0 : inputNumberRef.getFormattedValue(value))) {
100
- this.updateTextInputValue(value !== null && value !== void 0 ? value : safeCurrentValue);
99
+ const { value, textfieldValue } = this;
100
+ if (!focused && textfieldValue !== value) {
101
+ this.textfieldValue = value;
101
102
  }
102
103
  this.updateFocused(focused);
103
104
  }
104
- get textInputValue() {
105
- var _a;
106
- return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || '';
105
+ writeValue(value) {
106
+ super.writeValue(value);
107
+ this.textfieldValue = this.value;
107
108
  }
108
109
  getFallbackValue() {
109
110
  return 0;
@@ -112,12 +113,6 @@ class TuiInputSliderComponent extends AbstractTuiControl {
112
113
  const roundedValue = tuiRound(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
113
114
  return tuiClamp(roundedValue, this.min, this.max);
114
115
  }
115
- updateTextInputValue(value) {
116
- if (this.inputNumberRef) {
117
- this.inputNumberRef.nativeValue =
118
- this.inputNumberRef.getFormattedValue(value);
119
- }
120
- }
121
116
  }
122
117
  TuiInputSliderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputSliderComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }], target: i0.ɵɵFactoryTarget.Component });
123
118
  TuiInputSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputSliderComponent, selector: "tui-input-slider", inputs: { min: "min", max: "max", quantum: "quantum", steps: "steps", segments: "segments", keySteps: "keySteps", valueContent: "valueContent", textfieldPrefix: ["prefix", "textfieldPrefix"], textfieldPostfix: ["postfix", "textfieldPostfix"] }, host: { properties: { "attr.data-size": "controller.size", "class._label-outside": "controller.labelOutside" } }, providers: [
@@ -125,7 +120,7 @@ TuiInputSliderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
125
120
  tuiAsControl(TuiInputSliderComponent),
126
121
  tuiSliderOptionsProvider({ trackColor: 'transparent' }),
127
122
  TEXTFIELD_CONTROLLER_PROVIDER,
128
- ], viewQueries: [{ propertyName: "inputNumberRef", first: true, predicate: TuiInputNumberComponent, descendants: true }, { propertyName: "sliderRef", first: true, predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<tui-input-number\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [precision]=\"precision\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"showValueContent ? '' : postfix\"\n [tuiTextfieldPrefix]=\"showValueContent ? '' : prefix\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [tuiFocusable]=\"false\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n", styles: [":host{position:relative;z-index:0;display:block;height:-webkit-max-content;height:max-content}input[type=range]{position:absolute;top:100%;left:0;right:0;box-sizing:border-box;padding-left:calc(var(--tui-radius-m) / 2);height:1rem;margin:-.5625rem 0 0;border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { type: i2.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }], directives: [{ type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i4.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i4.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiSliderKeyStepsDirective, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { type: i3.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
123
+ ], viewQueries: [{ propertyName: "inputNumberRef", first: true, predicate: TuiInputNumberComponent, descendants: true }, { propertyName: "sliderRef", first: true, predicate: TuiSliderComponent, descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<tui-input-number\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [precision]=\"precision\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"showValueContent ? '' : postfix\"\n [tuiTextfieldPrefix]=\"showValueContent ? '' : prefix\"\n [(ngModel)]=\"textfieldValue\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [tuiFocusable]=\"false\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n", styles: [":host{position:relative;z-index:0;display:block;height:-webkit-max-content;height:max-content}input[type=range]{position:absolute;top:100%;left:0;right:0;box-sizing:border-box;padding-left:calc(var(--tui-radius-m) / 2);height:1rem;margin:-.5625rem 0 0;border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}\n"], components: [{ type: i1.TuiInputNumberComponent, selector: "tui-input-number", inputs: ["min", "max", "decimal", "precision", "step", "prefix", "postfix"] }, { type: i2.TuiSliderComponent, selector: "input[type=range][tuiSlider]", inputs: ["size", "segments"] }], directives: [{ type: i1.TuiInputNumberDirective, selector: "tui-input-number" }, { type: i3.TuiTextfieldPostfixDirective, selector: "[tuiTextfieldPostfix]", inputs: ["tuiTextfieldPostfix"] }, { type: i3.TuiTextfieldPrefixDirective, selector: "[tuiTextfieldPrefix]", inputs: ["tuiTextfieldPrefix"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i2.TuiSliderKeyStepsDirective, selector: "input[tuiSlider][keySteps]", inputs: ["keySteps"] }, { type: i4.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
129
124
  __decorate([
130
125
  tuiPure
131
126
  ], TuiInputSliderComponent.prototype, "computeKeySteps", null);
@@ -147,7 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
147
142
  TEXTFIELD_CONTROLLER_PROVIDER,
148
143
  ],
149
144
  }]
150
- }], ctorParameters: function () { return [{ type: i3.NgControl, decorators: [{
145
+ }], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
151
146
  type: Optional
152
147
  }, {
153
148
  type: Self
@@ -157,7 +152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
157
152
  }] }, { type: i0.ChangeDetectorRef, decorators: [{
158
153
  type: Inject,
159
154
  args: [ChangeDetectorRef]
160
- }] }, { type: i4.TuiTextfieldController, decorators: [{
155
+ }] }, { type: i3.TuiTextfieldController, decorators: [{
161
156
  type: Inject,
162
157
  args: [TUI_TEXTFIELD_WATCHED_CONTROLLER]
163
158
  }] }]; }, propDecorators: { inputNumberRef: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-slider.js","sources":["../../../projects/kit/components/input-slider/input-slider.component.ts","../../../projects/kit/components/input-slider/input-slider.template.html","../../../projects/kit/components/input-slider/input-slider.module.ts","../../../projects/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n tuiPure,\n tuiRound,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimal,\n tuiGetFractionPartPadded,\n TuiTextfieldController,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {\n TuiSliderComponent,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-input-slider',\n templateUrl: './input-slider.template.html',\n styleUrls: ['./input-slider.style.less'],\n host: {\n '[attr.data-size]': 'controller.size',\n '[class._label-outside]': 'controller.labelOutside',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputSliderComponent),\n tuiAsControl(TuiInputSliderComponent),\n tuiSliderOptionsProvider({trackColor: 'transparent'}),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiInputSliderComponent\n extends AbstractTuiControl<number>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputNumberComponent)\n private readonly inputNumberRef?: TuiInputNumberComponent;\n\n @ViewChild(TuiSliderComponent, {read: ElementRef})\n private readonly sliderRef?: ElementRef<HTMLInputElement>;\n\n @Input()\n min = 0;\n\n @Input()\n max = 100;\n\n @Input()\n quantum = 1;\n\n @Input()\n steps = 0;\n\n @Input()\n segments = 1;\n\n @Input()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n valueContent: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input('prefix')\n textfieldPrefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input('postfix')\n textfieldPostfix = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, cdr);\n }\n\n get prefix(): string {\n return this.textfieldPrefix || this.controller.prefix;\n }\n\n get postfix(): string {\n return this.textfieldPostfix || this.controller.postfix;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.inputNumberRef?.nativeFocusableElement || this.computedDisabled\n ? null\n : this.inputNumberRef.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n tuiIsNativeFocused(this.sliderRef?.nativeElement || null)\n );\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get precision(): number {\n return tuiGetFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimal {\n return this.precision ? 'not-zero' : 'never';\n }\n\n get showValueContent(): boolean {\n return Boolean(this.valueContent && !this.focused);\n }\n\n get step(): number {\n return (this.max - this.min) / this.computedSteps;\n }\n\n @tuiPure\n computeKeySteps(keySteps: TuiKeySteps | null, min: number, max: number): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n focusTextInput(): void {\n const focusableElement = this.inputNumberRef?.nativeFocusableElement;\n\n if (focusableElement) {\n focusableElement.focus();\n }\n }\n\n safelyUpdateValue(value: number | null): void {\n this.value = this.valueGuard(value ?? this.safeCurrentValue);\n }\n\n onVerticalArrowKeyDown(coefficient: number): void {\n if (this.readOnly || !this.step) {\n return;\n }\n\n const value = this.value + coefficient * this.step;\n\n if (value !== this.value) {\n this.safelyUpdateValue(value);\n }\n\n this.updateTextInputValue(this.valueGuard(value));\n }\n\n onSliderChange(newValue: number): void {\n this.safelyUpdateValue(newValue);\n this.updateTextInputValue(this.value);\n }\n\n onFocused(focused: boolean): void {\n const {value, textInputValue, safeCurrentValue, inputNumberRef} = this;\n\n if (!focused && textInputValue !== inputNumberRef?.getFormattedValue(value)) {\n this.updateTextInputValue(value ?? safeCurrentValue);\n }\n\n this.updateFocused(focused);\n }\n\n private get textInputValue(): string {\n return this.inputNumberRef?.nativeValue || '';\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private valueGuard(value: number): number {\n const roundedValue = tuiRound(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return tuiClamp(roundedValue, this.min, this.max);\n }\n\n private updateTextInputValue(value: number): void {\n if (this.inputNumberRef) {\n this.inputNumberRef.nativeValue =\n this.inputNumberRef.getFormattedValue(value);\n }\n }\n}\n","<tui-input-number\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [ngModel]=\"value\"\n [precision]=\"precision\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"showValueContent ? '' : postfix\"\n [tuiTextfieldPrefix]=\"showValueContent ? '' : prefix\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [tuiFocusable]=\"false\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputSliderComponent} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiFocusableModule,\n TuiInputNumberModule,\n TuiSliderModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputSliderComponent],\n exports: [TuiInputSliderComponent],\n})\nexport class TuiInputSliderModule {}\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-slider.js","sources":["../../../projects/kit/components/input-slider/input-slider.component.ts","../../../projects/kit/components/input-slider/input-slider.template.html","../../../projects/kit/components/input-slider/input-slider.module.ts","../../../projects/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n TuiContextWithImplicit,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n TuiNativeFocusableElement,\n tuiPure,\n tuiRound,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimal,\n tuiGetFractionPartPadded,\n TuiTextfieldController,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {\n TuiSliderComponent,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-input-slider',\n templateUrl: './input-slider.template.html',\n styleUrls: ['./input-slider.style.less'],\n host: {\n '[attr.data-size]': 'controller.size',\n '[class._label-outside]': 'controller.labelOutside',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputSliderComponent),\n tuiAsControl(TuiInputSliderComponent),\n tuiSliderOptionsProvider({trackColor: 'transparent'}),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiInputSliderComponent\n extends AbstractTuiControl<number>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputNumberComponent)\n private readonly inputNumberRef?: TuiInputNumberComponent;\n\n @ViewChild(TuiSliderComponent, {read: ElementRef})\n private readonly sliderRef?: ElementRef<HTMLInputElement>;\n\n @Input()\n min = 0;\n\n @Input()\n max = 100;\n\n @Input()\n quantum = 1;\n\n @Input()\n steps = 0;\n\n @Input()\n segments = 1;\n\n @Input()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n valueContent: PolymorpheusContent<TuiContextWithImplicit<number>>;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input('prefix')\n textfieldPrefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input('postfix')\n textfieldPostfix = '';\n\n textfieldValue = this.safeCurrentValue;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) cdr: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, cdr);\n }\n\n get prefix(): string {\n return this.textfieldPrefix || this.controller.prefix;\n }\n\n get postfix(): string {\n return this.textfieldPostfix || this.controller.postfix;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.inputNumberRef?.nativeFocusableElement || this.computedDisabled\n ? null\n : this.inputNumberRef.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n tuiIsNativeFocused(this.sliderRef?.nativeElement || null)\n );\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get precision(): number {\n return tuiGetFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimal {\n return this.precision ? 'not-zero' : 'never';\n }\n\n get showValueContent(): boolean {\n return Boolean(this.valueContent && !this.focused);\n }\n\n get step(): number {\n return (this.max - this.min) / this.computedSteps;\n }\n\n @tuiPure\n computeKeySteps(keySteps: TuiKeySteps | null, min: number, max: number): TuiKeySteps {\n return (\n keySteps || [\n [0, min],\n [100, max],\n ]\n );\n }\n\n focusTextInput(): void {\n const focusableElement = this.inputNumberRef?.nativeFocusableElement;\n\n if (focusableElement) {\n focusableElement.focus();\n }\n }\n\n safelyUpdateValue(value: number | null): void {\n this.value = this.valueGuard(value ?? this.safeCurrentValue);\n }\n\n onVerticalArrowKeyDown(coefficient: number): void {\n if (this.readOnly || !this.step) {\n return;\n }\n\n const value = this.value + coefficient * this.step;\n\n if (value !== this.value) {\n this.safelyUpdateValue(value);\n this.textfieldValue = this.value;\n }\n }\n\n onSliderChange(newValue: number): void {\n this.safelyUpdateValue(newValue);\n this.textfieldValue = this.value;\n }\n\n onFocused(focused: boolean): void {\n const {value, textfieldValue} = this;\n\n if (!focused && textfieldValue !== value) {\n this.textfieldValue = value;\n }\n\n this.updateFocused(focused);\n }\n\n override writeValue(value: number | null): void {\n super.writeValue(value);\n this.textfieldValue = this.value;\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private valueGuard(value: number): number {\n const roundedValue = tuiRound(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return tuiClamp(roundedValue, this.min, this.max);\n }\n}\n","<tui-input-number\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [max]=\"max\"\n [min]=\"min\"\n [precision]=\"precision\"\n [pseudoActive]=\"pseudoActive\"\n [pseudoFocus]=\"computedFocused\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [readOnly]=\"readOnly\"\n [tuiTextfieldPostfix]=\"showValueContent ? '' : postfix\"\n [tuiTextfieldPrefix]=\"showValueContent ? '' : prefix\"\n [(ngModel)]=\"textfieldValue\"\n (focusedChange)=\"onFocused($event)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"showValueContent\"\n automation-id=\"tui-input-slider__value-content\"\n ngProjectAs=\"tuiContent\"\n >\n <ng-container *polymorpheusOutlet=\"valueContent as text; context: {$implicit: value}\">\n {{ text }}\n </ng-container>\n </div>\n</tui-input-number>\n\n<input\n tuiSlider\n type=\"range\"\n [disabled]=\"readOnly || computedDisabled\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [max]=\"computedSteps\"\n [ngModel]=\"value\"\n [segments]=\"segments\"\n [tuiFocusable]=\"false\"\n (click)=\"focusTextInput()\"\n (ngModelChange)=\"onSliderChange($event)\"\n/>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiTextfieldControllerModule} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputSliderComponent} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiFocusableModule,\n TuiInputNumberModule,\n TuiSliderModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputSliderComponent],\n exports: [TuiInputSliderComponent],\n})\nexport class TuiInputSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -216,7 +216,7 @@ class TuiInputTagComponent extends AbstractTuiMultipleControl {
216
216
  }
217
217
  }
218
218
  onTagEdited(value, index) {
219
- this.focusInput();
219
+ this.focusInput(value === '');
220
220
  this.value = this.filterValue(this.value
221
221
  .map((tag, tagIndex) => tagIndex !== index
222
222
  ? tag
@@ -320,9 +320,8 @@ class TuiInputTagComponent extends AbstractTuiMultipleControl {
320
320
  }
321
321
  }
322
322
  focusInput(preventScroll = false) {
323
- if (this.nativeFocusableElement) {
324
- this.nativeFocusableElement.focus({ preventScroll });
325
- }
323
+ var _a;
324
+ (_a = this.nativeFocusableElement) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll });
326
325
  }
327
326
  clippedValue(value) {
328
327
  return value.slice(0, this.maxLength || value.length);