@taiga-ui/kit 2.37.0 → 2.39.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.
Files changed (166) hide show
  1. package/abstract/input-slider.d.ts +9 -5
  2. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.js +8 -10
  4. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  11. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +2 -2
  13. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-input-files.umd.js +8 -0
  15. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +1 -1
  17. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-input-number.umd.js +21 -14
  19. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  21. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-input-range.umd.js +12 -2
  23. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  25. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-input-slider.umd.js +153 -117
  27. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  29. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-input-tag.umd.js +18 -9
  31. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  33. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
  35. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  37. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
  39. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  41. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-slider.umd.js +23 -2
  43. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  45. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  47. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  49. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-toggle.umd.js +2 -2
  51. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  53. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +25 -1
  55. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  56. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +2 -2
  57. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  58. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  59. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  60. package/components/input-files/input-files.component.d.ts +1 -0
  61. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -1
  62. package/components/input-number/input-number.component.d.ts +4 -2
  63. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  64. package/components/input-range/input-range.component.d.ts +2 -1
  65. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  66. package/components/input-slider/input-slider.component.d.ts +39 -22
  67. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  68. package/components/input-tag/input-tag.component.d.ts +9 -2
  69. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  70. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  71. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  72. package/components/slider/slider-key-steps.directive.d.ts +3 -1
  73. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  74. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  75. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  76. package/esm2015/abstract/input-slider.js +9 -7
  77. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  78. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  79. package/esm2015/components/input-files/input-files.component.js +5 -1
  80. package/esm2015/components/input-number/input-number.component.js +21 -15
  81. package/esm2015/components/input-number/input-number.module.js +5 -1
  82. package/esm2015/components/input-range/input-range.component.js +10 -4
  83. package/esm2015/components/input-slider/input-slider.component.js +155 -108
  84. package/esm2015/components/input-slider/input-slider.module.js +5 -2
  85. package/esm2015/components/input-tag/input-tag.component.js +21 -12
  86. package/esm2015/components/radio/radio.component.js +2 -2
  87. package/esm2015/components/select/select.component.js +2 -2
  88. package/esm2015/components/slider/slider-key-steps.directive.js +14 -1
  89. package/esm2015/components/slider/slider.component.js +3 -3
  90. package/esm2015/components/text-area/text-area.component.js +3 -3
  91. package/esm2015/components/toggle/toggle.component.js +3 -3
  92. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +26 -2
  93. package/esm5/abstract/input-slider.js +9 -11
  94. package/esm5/components/accordion/accordion-item/accordion-item.component.js +1 -1
  95. package/esm5/components/checkbox/checkbox.component.js +3 -3
  96. package/esm5/components/input-files/input-files.component.js +9 -1
  97. package/esm5/components/input-number/input-number.component.js +18 -12
  98. package/esm5/components/input-number/input-number.module.js +5 -1
  99. package/esm5/components/input-range/input-range.component.js +14 -4
  100. package/esm5/components/input-slider/input-slider.component.js +153 -117
  101. package/esm5/components/input-slider/input-slider.module.js +5 -2
  102. package/esm5/components/input-tag/input-tag.component.js +21 -12
  103. package/esm5/components/radio/radio.component.js +2 -2
  104. package/esm5/components/select/select.component.js +2 -2
  105. package/esm5/components/slider/slider-key-steps.directive.js +22 -1
  106. package/esm5/components/slider/slider.component.js +3 -3
  107. package/esm5/components/text-area/text-area.component.js +3 -3
  108. package/esm5/components/toggle/toggle.component.js +3 -3
  109. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +26 -2
  110. package/fesm2015/taiga-ui-kit-abstract.js +8 -6
  111. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  112. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  113. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  114. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  115. package/fesm2015/taiga-ui-kit-components-input-files.js +4 -0
  116. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  117. package/fesm2015/taiga-ui-kit-components-input-number.js +24 -15
  118. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  119. package/fesm2015/taiga-ui-kit-components-input-range.js +8 -2
  120. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  121. package/fesm2015/taiga-ui-kit-components-input-slider.js +156 -107
  122. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  123. package/fesm2015/taiga-ui-kit-components-input-tag.js +21 -12
  124. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  125. package/fesm2015/taiga-ui-kit-components-radio.js +1 -1
  126. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  127. package/fesm2015/taiga-ui-kit-components-select.js +1 -1
  128. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  129. package/fesm2015/taiga-ui-kit-components-slider.js +15 -2
  130. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  131. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  132. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  133. package/fesm2015/taiga-ui-kit-components-toggle.js +2 -2
  134. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  135. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +25 -1
  136. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  137. package/fesm5/taiga-ui-kit-abstract.js +8 -10
  138. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  139. package/fesm5/taiga-ui-kit-components-accordion.js +1 -1
  140. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  141. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  142. package/fesm5/taiga-ui-kit-components-input-files.js +8 -0
  143. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -1
  144. package/fesm5/taiga-ui-kit-components-input-number.js +21 -12
  145. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  146. package/fesm5/taiga-ui-kit-components-input-range.js +12 -2
  147. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  148. package/fesm5/taiga-ui-kit-components-input-slider.js +154 -116
  149. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  150. package/fesm5/taiga-ui-kit-components-input-tag.js +21 -12
  151. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  152. package/fesm5/taiga-ui-kit-components-radio.js +1 -1
  153. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  154. package/fesm5/taiga-ui-kit-components-select.js +1 -1
  155. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  156. package/fesm5/taiga-ui-kit-components-slider.js +23 -2
  157. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  158. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  159. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  160. package/fesm5/taiga-ui-kit-components-toggle.js +2 -2
  161. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  162. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +25 -1
  163. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  164. package/internal/primitive-calendar-range/primitive-calendar-range.component.d.ts +3 -0
  165. package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
  166. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/input-range/input-range.component.ts","ng://@taiga-ui/kit/components/input-range/input-range.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","TuiInputRangeComponent","control","changeDetectorRef","modeDirective","isMobile","numberFormat","appearance","_this","_super","call","this","__","constructor","prototype","create","__extends","nativeLeft","disabled","nativeElement","focusedLeft","focusedRight","isNativeFocused","nativeRight","minLabel","value","min","maxLabel","max","computedPureValueLeft","computedPureValueRight","onActiveZone","active","updateFocused","onMouseDown","setNativeFocused","onKeyDownArrowUpLeft","event","readOnly","preventDefault","processStep","onKeyDownArrowDownLeft","onKeyDownArrowUpRight","onKeyDownArrowDownRight","onInputLeft","inputValueLeft","capped","capInputValue","postfix","slice","maskedMoneyValueIsEmpty","newValue","formatNumber","updateValue","onInputRight","inputValueRight","onRangeValue","guardedValue","map","item","valueGuard","element","onLeftFocused","focused","inputValue","maskedNumberStringToNumber","computedValueLeft","decimalSeparator","thousandSeparator","isNaN","onRightFocused","computedValueRight","Math","getFallbackValue","increment","right","start","step","end","NgControl","type","Optional","Self","Inject","args","ChangeDetectorRef","TuiModeDirective","TUI_IS_MOBILE","TUI_NUMBER_FORMAT","TUI_TEXTFIELD_APPEARANCE","ViewChild","HostBinding","tuiPure","TuiInputRangeComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","AbstractTuiInputSlider","TuiInputRangeModule","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","TextMaskModule","TuiFocusableModule","TuiFocusedModule","TuiHoveredModule","TuiPressedModule","TuiMapperPipeModule","TuiInputModeModule","TuiActiveZoneModule","TuiRangeModule","TuiWrapperModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TuiModeDirective,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\n\n// @dynamic\n@Component({\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrls: ['./input-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputRangeComponent),\n },\n ],\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiInputSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('nativeLeft')\n private readonly nativeLeft?: ElementRef<HTMLInputElement>;\n\n @ViewChild('nativeRight')\n private readonly nativeRight?: ElementRef<HTMLInputElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n protected readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.nativeLeft || this.disabled ? null : this.nativeLeft.nativeElement;\n }\n\n get focused(): boolean {\n return this.focusedLeft || this.focusedRight;\n }\n\n get focusedLeft(): boolean {\n return !!this.nativeLeft && isNativeFocused(this.nativeLeft.nativeElement);\n }\n\n get focusedRight(): boolean {\n return !!this.nativeRight && isNativeFocused(this.nativeRight.nativeElement);\n }\n\n @HostBinding('class._min-label')\n get showMinLabel(): boolean {\n return !this.focusedLeft && !!this.minLabel && this.value[0] === this.min;\n }\n\n @HostBinding('class._max-label')\n get showMaxLabel(): boolean {\n return !this.focusedRight && !!this.maxLabel && this.value[1] === this.max;\n }\n\n get inputValueLeft(): string {\n return this.nativeLeft ? this.nativeLeft.nativeElement.value : '';\n }\n\n get inputValueRight(): string {\n return this.nativeRight ? this.nativeRight.nativeElement.value : '';\n }\n\n get computedValueLeft(): string {\n return this.computedPureValueLeft(this.value[0]);\n }\n\n get computedValueRight(): string {\n return this.computedPureValueRight(this.value[1]);\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onMouseDown() {\n if (this.nativeRight && !this.isMobile) {\n setNativeFocused(this.nativeRight.nativeElement);\n }\n }\n\n onKeyDownArrowUpLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, false);\n }\n\n onKeyDownArrowDownLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, false);\n }\n\n onKeyDownArrowUpRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, true);\n }\n\n onKeyDownArrowDownRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, true);\n }\n\n onInputLeft() {\n const value = this.inputValueLeft;\n const capped = this.capInputValue(value, this.value[1]);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeLeft && this.inputValueLeft !== newValue) {\n this.nativeLeft.nativeElement.value = newValue;\n }\n\n this.updateValue([capped, this.value[1]]);\n }\n\n onInputRight() {\n const value = this.inputValueRight;\n const capped = this.capInputValue(value);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeRight && this.inputValueRight !== newValue) {\n this.nativeRight.nativeElement.value = newValue;\n }\n\n if (capped >= this.value[0]) {\n this.updateValue([this.value[0], capped]);\n }\n }\n\n onRangeValue(value: [number, number]) {\n const guardedValue = value.map(item => this.valueGuard(item)) as [number, number];\n\n if (\n !this.nativeLeft ||\n !this.nativeRight ||\n (guardedValue[0] === this.value[0] && guardedValue[1] === this.value[1])\n ) {\n return;\n }\n\n if (!this.isMobile) {\n const element =\n guardedValue[0] !== this.value[0]\n ? this.nativeLeft.nativeElement\n : this.nativeRight.nativeElement;\n\n setNativeFocused(element);\n }\n\n this.updateValue(guardedValue);\n this.nativeLeft.nativeElement.value = this.formatNumber(guardedValue[0]);\n }\n\n onLeftFocused(focused: boolean) {\n if (focused || !this.nativeLeft) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueLeft,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);\n\n this.nativeLeft.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[0]) {\n this.updateValue([value, this.value[1]]);\n }\n }\n\n onRightFocused(focused: boolean) {\n if (focused || !this.nativeRight) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueRight,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n\n const value = isNaN(inputValue)\n ? this.value[0]\n : this.valueGuard(Math.max(inputValue, this.value[0]));\n\n this.nativeRight.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[1]) {\n this.updateValue([this.value[0], value]);\n }\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n @tuiPure\n private computedPureValueLeft(value: number) {\n return this.formatNumber(value);\n }\n\n @tuiPure\n private computedPureValueRight(value: number) {\n return this.formatNumber(value);\n }\n\n private formatNumber(value: number): string {\n return formatNumber(\n value,\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private processStep(increment: boolean, right: boolean) {\n const start = this.valueGuard(\n increment ? this.value[0] + this.step : this.value[0] - this.step,\n );\n const end = this.valueGuard(\n increment ? this.value[1] + this.step : this.value[1] - this.step,\n );\n const value: [number, number] = [\n right ? this.value[0] : Math.min(start, this.value[1]),\n right ? Math.max(end, this.value[0]) : this.value[1],\n ];\n\n if (value[0] !== this.value[0] || value[1] !== this.value[1]) {\n this.updateValue(value);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiActiveZoneModule,\n TuiRangeModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\n"]}
1
+ {"version":3,"sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/input-range/input-range.component.ts","ng://@taiga-ui/kit/components/input-range/input-range.module.ts"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__param","paramIndex","decorator","TuiInputRangeComponent","control","changeDetectorRef","modeDirective","isMobile","numberFormat","appearance","_this","_super","call","this","__","constructor","prototype","create","__extends","nativeLeft","disabled","nativeElement","focusedLeft","focusedRight","isNativeFocused","nativeRight","minLabel","value","min","maxLabel","max","mode","computedPureValueLeft","computedPureValueRight","onActiveZone","active","updateFocused","onMouseDown","setNativeFocused","onKeyDownArrowUpLeft","event","readOnly","preventDefault","processStep","onKeyDownArrowDownLeft","onKeyDownArrowUpRight","onKeyDownArrowDownRight","onInputLeft","inputValueLeft","capped","capInputValue","postfix","slice","maskedMoneyValueIsEmpty","newValue","formatNumber","updateValue","onInputRight","inputValueRight","onRangeValue","guardedValue","map","item","valueGuard","element","onLeftFocused","focused","inputValue","maskedNumberStringToNumber","computedValueLeft","decimalSeparator","thousandSeparator","isNaN","onRightFocused","computedValueRight","Math","getFallbackValue","increment","right","start","step","end","NgControl","type","Optional","Self","Inject","args","ChangeDetectorRef","TuiModeDirective","TUI_IS_MOBILE","TUI_NUMBER_FORMAT","TUI_TEXTFIELD_APPEARANCE","ViewChild","HostBinding","tuiPure","TuiInputRangeComponent_1","Component","selector","template","changeDetection","ChangeDetectionStrategy","OnPush","providers","provide","TUI_FOCUSABLE_ITEM_ACCESSOR","useExisting","forwardRef","AbstractTuiInputSlider","TuiInputRangeModule","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","TextMaskModule","TuiFocusableModule","TuiFocusedModule","TuiHoveredModule","TuiPressedModule","TuiMapperPipeModule","TuiInputModeModule","TuiActiveZoneModule","TuiRangeModule","TuiWrapperModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TUI_IS_MOBILE,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TuiBrightness,\n TuiModeDirective,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\n\n// @dynamic\n@Component({\n selector: 'tui-input-range',\n templateUrl: './input-range.template.html',\n styleUrls: ['./input-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputRangeComponent),\n },\n ],\n})\nexport class TuiInputRangeComponent\n extends AbstractTuiInputSlider<[number, number]>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('nativeLeft')\n private readonly nativeLeft?: ElementRef<HTMLInputElement>;\n\n @ViewChild('nativeRight')\n private readonly nativeRight?: ElementRef<HTMLInputElement>;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n protected readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.nativeLeft || this.disabled ? null : this.nativeLeft.nativeElement;\n }\n\n get focused(): boolean {\n return this.focusedLeft || this.focusedRight;\n }\n\n get focusedLeft(): boolean {\n return !!this.nativeLeft && isNativeFocused(this.nativeLeft.nativeElement);\n }\n\n get focusedRight(): boolean {\n return !!this.nativeRight && isNativeFocused(this.nativeRight.nativeElement);\n }\n\n @HostBinding('class._min-label')\n get showMinLabel(): boolean {\n return !this.focusedLeft && !!this.minLabel && this.value[0] === this.min;\n }\n\n @HostBinding('class._max-label')\n get showMaxLabel(): boolean {\n return !this.focusedRight && !!this.maxLabel && this.value[1] === this.max;\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective && this.modeDirective.mode;\n }\n\n get inputValueLeft(): string {\n return this.nativeLeft ? this.nativeLeft.nativeElement.value : '';\n }\n\n get inputValueRight(): string {\n return this.nativeRight ? this.nativeRight.nativeElement.value : '';\n }\n\n get computedValueLeft(): string {\n return this.computedPureValueLeft(this.value[0]);\n }\n\n get computedValueRight(): string {\n return this.computedPureValueRight(this.value[1]);\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onMouseDown() {\n if (this.nativeRight && !this.isMobile) {\n setNativeFocused(this.nativeRight.nativeElement);\n }\n }\n\n onKeyDownArrowUpLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, false);\n }\n\n onKeyDownArrowDownLeft(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, false);\n }\n\n onKeyDownArrowUpRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true, true);\n }\n\n onKeyDownArrowDownRight(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false, true);\n }\n\n onInputLeft() {\n const value = this.inputValueLeft;\n const capped = this.capInputValue(value, this.value[1]);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeLeft && this.inputValueLeft !== newValue) {\n this.nativeLeft.nativeElement.value = newValue;\n }\n\n this.updateValue([capped, this.value[1]]);\n }\n\n onInputRight() {\n const value = this.inputValueRight;\n const capped = this.capInputValue(value);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (this.nativeRight && this.inputValueRight !== newValue) {\n this.nativeRight.nativeElement.value = newValue;\n }\n\n if (capped >= this.value[0]) {\n this.updateValue([this.value[0], capped]);\n }\n }\n\n onRangeValue(value: [number, number]) {\n const guardedValue = value.map(item => this.valueGuard(item)) as [number, number];\n\n if (\n !this.nativeLeft ||\n !this.nativeRight ||\n (guardedValue[0] === this.value[0] && guardedValue[1] === this.value[1])\n ) {\n return;\n }\n\n if (!this.isMobile) {\n const element =\n guardedValue[0] !== this.value[0]\n ? this.nativeLeft.nativeElement\n : this.nativeRight.nativeElement;\n\n setNativeFocused(element);\n }\n\n this.updateValue(guardedValue);\n this.nativeLeft.nativeElement.value = this.formatNumber(guardedValue[0]);\n }\n\n onLeftFocused(focused: boolean) {\n if (focused || !this.nativeLeft) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueLeft,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);\n\n this.nativeLeft.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[0]) {\n this.updateValue([value, this.value[1]]);\n }\n }\n\n onRightFocused(focused: boolean) {\n if (focused || !this.nativeRight) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValueRight,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n\n const value = isNaN(inputValue)\n ? this.value[0]\n : this.valueGuard(Math.max(inputValue, this.value[0]));\n\n this.nativeRight.nativeElement.value = this.formatNumber(value);\n\n if (value !== this.value[1]) {\n this.updateValue([this.value[0], value]);\n }\n }\n\n protected getFallbackValue(): [number, number] {\n return [0, 0];\n }\n\n @tuiPure\n private computedPureValueLeft(value: number) {\n return this.formatNumber(value);\n }\n\n @tuiPure\n private computedPureValueRight(value: number) {\n return this.formatNumber(value);\n }\n\n private formatNumber(value: number): string {\n return formatNumber(\n value,\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n\n private processStep(increment: boolean, right: boolean) {\n const start = this.valueGuard(\n increment ? this.value[0] + this.step : this.value[0] - this.step,\n );\n const end = this.valueGuard(\n increment ? this.value[1] + this.step : this.value[1] - this.step,\n );\n const value: [number, number] = [\n right ? this.value[0] : Math.min(start, this.value[1]),\n right ? Math.max(end, this.value[0]) : this.value[1],\n ];\n\n if (value[0] !== this.value[0] || value[1] !== this.value[1]) {\n this.updateValue(value);\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiRangeModule} from '@taiga-ui/kit/components/range';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputRangeComponent} from './input-range.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiActiveZoneModule,\n TuiRangeModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputRangeComponent],\n exports: [TuiInputRangeComponent],\n})\nexport class TuiInputRangeModule {}\n"]}
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@taiga-ui/kit/abstract'), require('@taiga-ui/kit/components/slider'), require('@taiga-ui/kit/tokens'), require('rxjs'), require('@angular/common'), require('@tinkoff/ng-polymorpheus'), require('angular2-text-mask')) :
3
- typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/input-slider', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk', '@taiga-ui/core', '@taiga-ui/kit/abstract', '@taiga-ui/kit/components/slider', '@taiga-ui/kit/tokens', 'rxjs', '@angular/common', '@tinkoff/ng-polymorpheus', 'angular2-text-mask'], factory) :
4
- (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].kit = global['taiga-ui'].kit || {}, global['taiga-ui'].kit.components = global['taiga-ui'].kit.components || {}, global['taiga-ui'].kit.components['input-slider'] = {}), global.ng.core, global.ng.forms, global.cdk, global.core$1, global['taiga-ui'].kit.abstract, global['taiga-ui'].kit.components.slider, global['taiga-ui'].kit.tokens, global.rxjs, global.ng.common, global.ngPolymorpheus, global.angular2TextMask));
5
- }(this, (function (exports, core, forms, cdk, core$1, abstract, slider, tokens, rxjs, common, ngPolymorpheus, angular2TextMask) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/forms'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@taiga-ui/kit/abstract'), require('@taiga-ui/kit/components/input-number'), require('@taiga-ui/kit/components/slider'), require('@taiga-ui/kit/constants'), require('@taiga-ui/kit/tokens'), require('rxjs'), require('@angular/common'), require('@tinkoff/ng-polymorpheus'), require('angular2-text-mask')) :
3
+ typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/input-slider', ['exports', '@angular/core', '@angular/forms', '@taiga-ui/cdk', '@taiga-ui/core', '@taiga-ui/kit/abstract', '@taiga-ui/kit/components/input-number', '@taiga-ui/kit/components/slider', '@taiga-ui/kit/constants', '@taiga-ui/kit/tokens', 'rxjs', '@angular/common', '@tinkoff/ng-polymorpheus', 'angular2-text-mask'], factory) :
4
+ (global = global || self, factory((global['taiga-ui'] = global['taiga-ui'] || {}, global['taiga-ui'].kit = global['taiga-ui'].kit || {}, global['taiga-ui'].kit.components = global['taiga-ui'].kit.components || {}, global['taiga-ui'].kit.components['input-slider'] = {}), global.ng.core, global.ng.forms, global.cdk, global.core$1, global['taiga-ui'].kit.abstract, global['taiga-ui'].kit.components['input-number'], global['taiga-ui'].kit.components.slider, global['taiga-ui'].kit.constants, global['taiga-ui'].kit.tokens, global.rxjs, global.ng.common, global.ngPolymorpheus, global.angular2TextMask));
5
+ }(this, (function (exports, core, forms, cdk, core$1, abstract, inputNumber, slider, constants, tokens, rxjs, common, ngPolymorpheus, angular2TextMask) { 'use strict';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -241,15 +241,26 @@
241
241
  // @dynamic
242
242
  var TuiInputSliderComponent = /** @class */ (function (_super) {
243
243
  __extends(TuiInputSliderComponent, _super);
244
- function TuiInputSliderComponent(control, changeDetectorRef, modeDirective, hintController, controller, numberFormat, appearance, fromToTexts$, isNew) {
244
+ function TuiInputSliderComponent(control, changeDetectorRef, controller, numberFormat, fromToTexts$, isNew) {
245
245
  var _this = _super.call(this, control, changeDetectorRef) || this;
246
- _this.modeDirective = modeDirective;
247
- _this.hintController = hintController;
248
246
  _this.controller = controller;
249
247
  _this.numberFormat = numberFormat;
250
- _this.appearance = appearance;
251
248
  _this.fromToTexts$ = fromToTexts$;
252
249
  _this.isNew = isNew;
250
+ _this.min = 0;
251
+ _this.max = Infinity;
252
+ _this.quantum = 1;
253
+ _this.steps = 0;
254
+ _this.segments = 0;
255
+ _this.keySteps = null;
256
+ _this.valueContent = '';
257
+ _this.prefix = '';
258
+ _this.postfix = '';
259
+ /**
260
+ * @deprecated use `tuiTextfieldSize` instead
261
+ * TODO delete in v3.0
262
+ */
263
+ _this.size = 'l';
253
264
  /**
254
265
  * @deprecated use `tuiTextfieldCustomContent` instead
255
266
  * TODO delete in v3.0
@@ -260,9 +271,10 @@
260
271
  TuiInputSliderComponent_1 = TuiInputSliderComponent;
261
272
  Object.defineProperty(TuiInputSliderComponent.prototype, "nativeFocusableElement", {
262
273
  get: function () {
263
- return !this.focusableElement || this.computedDisabled
274
+ var _a;
275
+ return !((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) || this.computedDisabled
264
276
  ? null
265
- : this.focusableElement.nativeElement;
277
+ : this.inputNumberRef.nativeFocusableElement;
266
278
  },
267
279
  enumerable: true,
268
280
  configurable: true
@@ -276,170 +288,170 @@
276
288
  enumerable: true,
277
289
  configurable: true
278
290
  });
279
- Object.defineProperty(TuiInputSliderComponent.prototype, "hasTooltip", {
291
+ Object.defineProperty(TuiInputSliderComponent.prototype, "computedSteps", {
280
292
  get: function () {
281
- return !!this.hintController.content && !this.disabled;
293
+ return this.steps || (this.max - this.min) / this.quantum;
282
294
  },
283
295
  enumerable: true,
284
296
  configurable: true
285
297
  });
286
- Object.defineProperty(TuiInputSliderComponent.prototype, "showMinLabel", {
298
+ Object.defineProperty(TuiInputSliderComponent.prototype, "precision", {
287
299
  get: function () {
288
- return !this.focused && this.value === this.min && !!this.minLabel;
300
+ return core$1.getFractionPartPadded(this.quantum).length;
289
301
  },
290
302
  enumerable: true,
291
303
  configurable: true
292
304
  });
293
- Object.defineProperty(TuiInputSliderComponent.prototype, "showMaxLabel", {
305
+ Object.defineProperty(TuiInputSliderComponent.prototype, "decimal", {
294
306
  get: function () {
295
- return !this.focused && this.value === this.max && !!this.maxLabel;
307
+ return this.precision ? 'not-zero' : 'never';
296
308
  },
297
309
  enumerable: true,
298
310
  configurable: true
299
311
  });
300
- Object.defineProperty(TuiInputSliderComponent.prototype, "computedValue", {
312
+ Object.defineProperty(TuiInputSliderComponent.prototype, "computedSize", {
313
+ /**
314
+ * TODO remove old property `size` in v3.0
315
+ */
301
316
  get: function () {
302
- if (this.focused && this.isInputValueNotFinished) {
303
- return this.inputValue;
317
+ if (this.isNew) {
318
+ cdk.tuiAssert.assert(this.controller.size !== 's', "Size 's' is not supported by this input.");
319
+ return this.controller.size === 'l' ? 'l' : 'm';
304
320
  }
305
- return this.formattedValue;
306
- },
307
- enumerable: true,
308
- configurable: true
309
- });
310
- Object.defineProperty(TuiInputSliderComponent.prototype, "showValue", {
311
- get: function () {
312
- return !this.showMinLabel && !this.showMaxLabel;
321
+ return this.size;
313
322
  },
314
323
  enumerable: true,
315
324
  configurable: true
316
325
  });
317
- Object.defineProperty(TuiInputSliderComponent.prototype, "inputValue", {
326
+ Object.defineProperty(TuiInputSliderComponent.prototype, "computedValueContent", {
327
+ /**
328
+ * @deprecated for backward compatibility
329
+ * TODO replace by just `this.valueContent` in v3.0
330
+ */
318
331
  get: function () {
319
- return this.focusableElement ? this.focusableElement.nativeElement.value : '';
320
- },
321
- set: function (value) {
322
- if (this.focusableElement) {
323
- this.focusableElement.nativeElement.value = value;
324
- }
332
+ return this.minLabel || this.maxLabel
333
+ ? legacyMinMaxLabel(this)
334
+ : this.valueContent;
325
335
  },
326
336
  enumerable: true,
327
337
  configurable: true
328
338
  });
329
339
  TuiInputSliderComponent.prototype.focusTextInput = function () {
330
- if (this.focusableElement) {
331
- cdk.setNativeFocused(this.focusableElement.nativeElement);
340
+ var _a;
341
+ var focusableElement = (_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement;
342
+ if (focusableElement) {
343
+ cdk.setNativeFocused(focusableElement);
332
344
  }
333
345
  };
334
- TuiInputSliderComponent.prototype.onKeyDownArrowUp = function (event) {
335
- if (this.readOnly) {
336
- return;
337
- }
338
- event.preventDefault();
339
- this.processStep(true);
340
- this.inputValue = this.formattedValue;
346
+ TuiInputSliderComponent.prototype.safelyUpdateValue = function (value) {
347
+ this.updateValue(this.valueGuard(value !== null && value !== void 0 ? value : this.safeCurrentValue));
341
348
  };
342
- TuiInputSliderComponent.prototype.onKeyDownArrowDown = function (event) {
349
+ TuiInputSliderComponent.prototype.onVerticalArrowKeyDown = function (coefficient) {
343
350
  if (this.readOnly) {
344
351
  return;
345
352
  }
346
- event.preventDefault();
347
- this.processStep(false);
348
- this.inputValue = this.formattedValue;
349
- };
350
- TuiInputSliderComponent.prototype.onFocused = function (focused) {
351
- this.updateFocused(focused);
352
- if (focused) {
353
- return;
353
+ var value = this.value + coefficient * this.step;
354
+ if (value !== this.value) {
355
+ this.safelyUpdateValue(value);
354
356
  }
355
- var inputValue = core$1.maskedNumberStringToNumber(this.computedValue, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
356
- var value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);
357
- this.updateValue(value);
358
- this.inputValue = this.formattedValue;
357
+ this.updateTextInputValue(this.valueGuard(value));
359
358
  };
360
- TuiInputSliderComponent.prototype.onValue = function (value) {
361
- var capped = this.capInputValue(value);
362
- var postfix = value.slice(-1)[0] === ',' ? ',' : '';
363
- if (core$1.maskedMoneyValueIsEmpty(value) || capped === null) {
364
- return;
365
- }
366
- var newValue = this.formatNumber(capped) + postfix;
367
- if (value !== newValue) {
368
- this.inputValue = newValue;
359
+ TuiInputSliderComponent.prototype.onFocused = function (focused) {
360
+ if (!focused && !this.textInputValue) {
361
+ this.updateTextInputValue(this.safeCurrentValue);
369
362
  }
370
- this.updateValue(capped);
363
+ this.updateFocused(focused);
371
364
  };
372
- TuiInputSliderComponent.prototype.onSliderValue = function (value) {
373
- this.updateValue(this.valueGuard(value));
374
- this.inputValue = this.formattedValue;
365
+ TuiInputSliderComponent.prototype.onPressed = function (pressed) {
366
+ this.updatePressed(pressed);
375
367
  };
376
- TuiInputSliderComponent.prototype.getFallbackValue = function () {
377
- return 0;
368
+ TuiInputSliderComponent.prototype.onHovered = function (hovered) {
369
+ this.updateHovered(hovered);
378
370
  };
379
- Object.defineProperty(TuiInputSliderComponent.prototype, "formattedValue", {
380
- get: function () {
381
- return this.formatNumber(this.value);
382
- },
383
- enumerable: true,
384
- configurable: true
385
- });
386
- Object.defineProperty(TuiInputSliderComponent.prototype, "isInputValueNotFinished", {
371
+ Object.defineProperty(TuiInputSliderComponent.prototype, "textInputValue", {
387
372
  get: function () {
388
- if (this.inputValue === '') {
389
- return true;
390
- }
391
- var nativeNumberValue = core$1.maskedNumberStringToNumber(this.inputValue, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
392
- return nativeNumberValue < 0
393
- ? nativeNumberValue > this.max
394
- : nativeNumberValue < this.min;
373
+ var _a;
374
+ return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || '';
395
375
  },
396
376
  enumerable: true,
397
377
  configurable: true
398
378
  });
399
- TuiInputSliderComponent.prototype.processStep = function (increment) {
400
- var value = this.valueGuard(increment ? this.value + this.step : this.value - this.step);
401
- if (value !== this.value) {
402
- this.updateValue(value);
403
- }
379
+ TuiInputSliderComponent.prototype.getFallbackValue = function () {
380
+ return 0;
404
381
  };
405
- TuiInputSliderComponent.prototype.formatNumber = function (value) {
406
- return core$1.formatNumber(value, null, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
382
+ TuiInputSliderComponent.prototype.valueGuard = function (value) {
383
+ var roundedValue = cdk.round(Math.round(value / this.quantum) * this.quantum, constants.TUI_FLOATING_PRECISION);
384
+ return cdk.clamp(roundedValue, this.min, this.max);
385
+ };
386
+ TuiInputSliderComponent.prototype.updateTextInputValue = function (value) {
387
+ if (this.inputNumberRef) {
388
+ this.inputNumberRef.nativeValue =
389
+ this.inputNumberRef.getFormattedValue(value);
390
+ }
407
391
  };
408
392
  var TuiInputSliderComponent_1;
409
393
  TuiInputSliderComponent.ctorParameters = function () { return [
410
394
  { type: forms.NgControl, decorators: [{ type: core.Optional }, { type: core.Self }, { type: core.Inject, args: [forms.NgControl,] }] },
411
395
  { type: core.ChangeDetectorRef, decorators: [{ type: core.Inject, args: [core.ChangeDetectorRef,] }] },
412
- { type: core$1.TuiModeDirective, decorators: [{ type: core.Optional }, { type: core.Inject, args: [core$1.TuiModeDirective,] }] },
413
- { type: core$1.TuiHintControllerDirective, decorators: [{ type: core.Inject, args: [core$1.TUI_HINT_WATCHED_CONTROLLER,] }] },
414
396
  { type: core$1.TuiTextfieldController, decorators: [{ type: core.Inject, args: [core$1.TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
415
397
  { type: undefined, decorators: [{ type: core.Inject, args: [core$1.TUI_NUMBER_FORMAT,] }] },
416
- { type: String, decorators: [{ type: core.Inject, args: [core$1.TUI_TEXTFIELD_APPEARANCE,] }] },
417
398
  { type: rxjs.Observable, decorators: [{ type: core.Inject, args: [tokens.TUI_FROM_TO_TEXTS,] }] },
418
399
  { type: TuiNewInputSliderDirective, decorators: [{ type: core.Optional }, { type: core.Inject, args: [TuiNewInputSliderDirective,] }] }
419
400
  ]; };
420
401
  __decorate([
421
- core.ViewChild('focusableElement')
422
- ], TuiInputSliderComponent.prototype, "focusableElement", void 0);
402
+ core.ViewChild(inputNumber.TuiInputNumberComponent)
403
+ ], TuiInputSliderComponent.prototype, "inputNumberRef", void 0);
423
404
  __decorate([
424
405
  core.ViewChild(slider.TuiSliderComponent, { read: core.ElementRef })
425
406
  ], TuiInputSliderComponent.prototype, "sliderRef", void 0);
426
407
  __decorate([
427
408
  core.Input(),
428
409
  cdk.tuiDefaultProp()
429
- ], TuiInputSliderComponent.prototype, "secondary", void 0);
410
+ ], TuiInputSliderComponent.prototype, "min", void 0);
411
+ __decorate([
412
+ core.Input(),
413
+ cdk.tuiDefaultProp()
414
+ ], TuiInputSliderComponent.prototype, "max", void 0);
415
+ __decorate([
416
+ core.Input(),
417
+ cdk.tuiDefaultProp(quantumAssertion, 'Quantum must be positive')
418
+ ], TuiInputSliderComponent.prototype, "quantum", void 0);
419
+ __decorate([
420
+ core.Input(),
421
+ cdk.tuiDefaultProp()
422
+ ], TuiInputSliderComponent.prototype, "steps", void 0);
430
423
  __decorate([
431
- core.HostBinding('class._has-tooltip')
432
- ], TuiInputSliderComponent.prototype, "hasTooltip", null);
424
+ core.Input(),
425
+ cdk.tuiDefaultProp()
426
+ ], TuiInputSliderComponent.prototype, "segments", void 0);
427
+ __decorate([
428
+ core.Input(),
429
+ cdk.tuiDefaultProp()
430
+ ], TuiInputSliderComponent.prototype, "keySteps", void 0);
433
431
  __decorate([
434
- core.HostBinding('class._min-label')
435
- ], TuiInputSliderComponent.prototype, "showMinLabel", null);
432
+ core.Input(),
433
+ cdk.tuiDefaultProp()
434
+ ], TuiInputSliderComponent.prototype, "valueContent", void 0);
436
435
  __decorate([
437
- core.HostBinding('class._max-label')
438
- ], TuiInputSliderComponent.prototype, "showMaxLabel", null);
436
+ core.Input(),
437
+ cdk.tuiDefaultProp()
438
+ ], TuiInputSliderComponent.prototype, "prefix", void 0);
439
+ __decorate([
440
+ core.Input(),
441
+ cdk.tuiDefaultProp()
442
+ ], TuiInputSliderComponent.prototype, "postfix", void 0);
443
+ __decorate([
444
+ core.Input(),
445
+ cdk.tuiDefaultProp()
446
+ ], TuiInputSliderComponent.prototype, "size", void 0);
447
+ __decorate([
448
+ core.Input(),
449
+ cdk.tuiDefaultProp()
450
+ ], TuiInputSliderComponent.prototype, "secondary", void 0);
439
451
  TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
440
452
  core.Component({
441
453
  selector: 'tui-input-slider',
442
- template: "<tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n>\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-slider__placeholder\"\n class=\"t-placeholder t-placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <input\n #focusableElement\n automation-id=\"tui-input-slider__native\"\n class=\"t-native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValue\"\n (ngModelChange)=\"onValue($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUp($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDown($event)\"\n />\n <div class=\"t-content\">\n <span *ngIf=\"showValue\" class=\"t-label\">\n <span class=\"t-value\">{{ computedValue }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-slider__pluralize\"\n >\n {{ value | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-slider__min-label\"\n class=\"t-label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-slider__max-label\"\n class=\"t-label\"\n >\n {{ maxLabel }}\n </span>\n <span automation-id=\"tui-input-slider__secondary\" class=\"t-secondary\">\n <span\n polymorpheus-outlet\n [content]=\"controller.customContent || secondary\"\n ></span>\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-slider__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"t-tooltip\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n (mousedown.prevent)=\"focusTextInput()\"\n ></tui-tooltip>\n </span>\n </div>\n</tui-wrapper>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"onSliderValue($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div *ngIf=\"segmented && !isNew\" class=\"t-ticks-labels\">\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }} {{\n tickIndex | tuiSliderTickLabel:segments:computedKeySteps |\n tuiFormatNumber}}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel:segments:computedKeySteps\n | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
454
+ template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"computedValueContent && !focused\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{secondary}}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"safelyUpdateValue($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div *ngIf=\"segments && !isNew\" class=\"t-ticks-labels\">\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }} {{\n tickIndex | tuiSliderTickLabel:segments:computedKeySteps |\n tuiFormatNumber}}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel:segments:computedKeySteps\n | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
443
455
  host: {
444
456
  /**
445
457
  * TODO delete it in v3.0
@@ -457,24 +469,46 @@
457
469
  core$1.HINT_CONTROLLER_PROVIDER,
458
470
  core$1.TEXTFIELD_CONTROLLER_PROVIDER,
459
471
  ],
460
- styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented._show-ticks-labels{border-bottom:26px solid transparent}.t-native{position:absolute;top:0;left:0;height:100%;padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;width:100%;color:var(--tui-text-01);box-sizing:border-box;outline:0}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .t-native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._max-label .t-native,:host._min-label .t-native{opacity:0}:host[data-size='l'] .t-native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .t-native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .t-native{color:var(--tui-text-03-night)}.t-content{display:flex;align-items:center;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between}:host[data-size='l'] .t-content{height:var(--tui-height-l);padding:0 1rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-l);line-height:var(--tui-height-l);box-sizing:border-box;pointer-events:none}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}:host._has-tooltip .t-placeholder{max-width:calc(100% - 1.75rem)}.t-value{visibility:hidden}.t-label{overflow:hidden;text-overflow:ellipsis}:host[data-size='l'] .t-label{padding-top:1.25rem}.t-secondary{color:var(--tui-text-01)}:host._disabled .t-secondary{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .t-secondary{color:var(--tui-text-03-night)}.t-tooltip{margin-left:.75rem}.t-slider-wrapper{position:absolute;top:100%;left:calc(var(--tui-radius-m)/ 2);right:0;margin:-.5625rem 0 0}input[type=range]{border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}.t-ticks-labels{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);color:var(--tui-text-02)}.t-ticks-labels>*{position:relative;flex:2;text-align:center}.t-ticks-labels>:first-child{left:-.5rem;flex:1;text-align:left}.t-ticks-labels>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+.t-ticks-labels{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}"]
461
- }),
472
+ styles: [":host{position:relative;z-index:0;display:block}:host._segmented._show-ticks-labels{border-bottom:26px solid transparent}.t-slider-wrapper{position:absolute;top:100%;left:calc(var(--tui-radius-m)/ 2);right:0;margin:-.5625rem 0 0}input[type=range]{border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}.t-ticks-labels{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);color:var(--tui-text-02)}.t-ticks-labels>*{position:relative;flex:2;text-align:center}.t-ticks-labels>:first-child{left:-.5rem;flex:1;text-align:left}.t-ticks-labels>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+.t-ticks-labels{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}"]
473
+ })
474
+ /**
475
+ * TODO replace `extends AbstractTuiInputSlider<number>` by `extends AbstractTuiControl<number> implements TuiWithOptionalMinMax<number>`
476
+ * in v3.0
477
+ */
478
+ ,
462
479
  __param(0, core.Optional()),
463
480
  __param(0, core.Self()),
464
481
  __param(0, core.Inject(forms.NgControl)),
465
482
  __param(1, core.Inject(core.ChangeDetectorRef)),
466
- __param(2, core.Optional()),
467
- __param(2, core.Inject(core$1.TuiModeDirective)),
468
- __param(3, core.Inject(core$1.TUI_HINT_WATCHED_CONTROLLER)),
469
- __param(4, core.Inject(core$1.TUI_TEXTFIELD_WATCHED_CONTROLLER)),
470
- __param(5, core.Inject(core$1.TUI_NUMBER_FORMAT)),
471
- __param(6, core.Inject(core$1.TUI_TEXTFIELD_APPEARANCE)),
472
- __param(7, core.Inject(tokens.TUI_FROM_TO_TEXTS)),
473
- __param(8, core.Optional()),
474
- __param(8, core.Inject(TuiNewInputSliderDirective))
483
+ __param(2, core.Inject(core$1.TUI_TEXTFIELD_WATCHED_CONTROLLER)),
484
+ __param(3, core.Inject(core$1.TUI_NUMBER_FORMAT)),
485
+ __param(4, core.Inject(tokens.TUI_FROM_TO_TEXTS)),
486
+ __param(5, core.Optional()),
487
+ __param(5, core.Inject(TuiNewInputSliderDirective))
475
488
  ], TuiInputSliderComponent);
476
489
  return TuiInputSliderComponent;
477
490
  }(abstract.AbstractTuiInputSlider));
491
+ function quantumAssertion(quantum) {
492
+ return quantum > 0;
493
+ }
494
+ /**
495
+ * @deprecated helper for backward compatibility.
496
+ * TODO remove in v3.0
497
+ */
498
+ function legacyMinMaxLabel(_a) {
499
+ var min = _a.min, max = _a.max, minLabel = _a.minLabel, maxLabel = _a.maxLabel;
500
+ return function (_a) {
501
+ var value = _a.$implicit;
502
+ switch (value) {
503
+ case min:
504
+ return minLabel || value;
505
+ case max:
506
+ return maxLabel || value;
507
+ default:
508
+ return value;
509
+ }
510
+ };
511
+ }
478
512
 
479
513
  var TuiInputSliderModule = /** @class */ (function () {
480
514
  function TuiInputSliderModule() {
@@ -498,6 +532,8 @@
498
532
  core$1.TuiFormatNumberPipeModule,
499
533
  cdk.TuiRepeatTimesModule,
500
534
  ngPolymorpheus.PolymorpheusModule,
535
+ inputNumber.TuiInputNumberModule,
536
+ core$1.TuiTextfieldControllerModule,
501
537
  ],
502
538
  declarations: [TuiInputSliderComponent, TuiNewInputSliderDirective],
503
539
  exports: [TuiInputSliderComponent, TuiNewInputSliderDirective],