@taiga-ui/kit 3.14.0 → 3.15.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 (424) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +19 -26
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +8 -8
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-arrow.umd.js +4 -4
  6. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-avatar.umd.js +15 -15
  8. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-badge.umd.js +17 -17
  10. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-badged-content.umd.js +22 -22
  12. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +6 -6
  14. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +4 -4
  16. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +7 -7
  18. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-carousel.umd.js +22 -22
  20. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +10 -10
  22. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +6 -6
  24. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox.umd.js +5 -5
  26. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-combo-box.umd.js +11 -11
  28. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +8 -8
  30. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-files.umd.js +39 -33
  32. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-filter.umd.js +5 -5
  34. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-copy.umd.js +11 -11
  36. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-count.umd.js +27 -22
  38. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +15 -15
  40. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +17 -17
  42. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date.umd.js +11 -11
  44. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-files.umd.js +28 -28
  46. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-inline.umd.js +6 -6
  48. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +7 -7
  50. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-month.umd.js +5 -5
  52. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-number.umd.js +25 -25
  54. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-password.umd.js +9 -9
  56. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +16 -16
  58. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-phone.umd.js +33 -33
  60. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-range.umd.js +19 -19
  62. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-slider.umd.js +15 -15
  64. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-tag.umd.js +57 -26
  66. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-time.umd.js +10 -10
  68. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-year.umd.js +5 -5
  70. package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input.umd.js +6 -6
  72. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-island.umd.js +20 -20
  74. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-items-with-more.umd.js +5 -5
  76. package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +14 -14
  78. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +8 -8
  80. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +7 -7
  82. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-multi-select.umd.js +17 -17
  84. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-pagination.umd.js +9 -9
  86. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +10 -10
  88. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-progress.umd.js +31 -31
  90. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-push.umd.js +17 -17
  92. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-radio-block.umd.js +11 -11
  94. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-radio-group.umd.js +2 -2
  96. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +7 -7
  98. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-radio-list.umd.js +7 -7
  100. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-radio.umd.js +8 -8
  102. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-range.umd.js +31 -31
  104. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-rating.umd.js +6 -6
  106. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-select-option.umd.js +4 -4
  108. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-select.umd.js +30 -28
  110. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-slider.umd.js +37 -37
  112. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-stepper.umd.js +30 -30
  114. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-tabs.umd.js +44 -44
  116. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-tag.umd.js +24 -24
  118. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-text-area.umd.js +20 -20
  120. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-tiles.umd.js +15 -15
  122. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-toggle.umd.js +9 -9
  124. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-tree.umd.js +22 -22
  126. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +36 -26
  128. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-directives-highlight.umd.js +10 -10
  130. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +11 -11
  132. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-directives-present.umd.js +8 -10
  134. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-directives-project-class.umd.js +2 -2
  136. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +4 -4
  138. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js +1 -1
  140. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +4 -4
  142. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  143. package/components/accordion/accordion-item/accordion-item.component.d.ts +0 -1
  144. package/components/files/file/file.component.d.ts +2 -1
  145. package/components/input-count/input-count.component.d.ts +3 -3
  146. package/components/input-tag/input-tag.component.d.ts +4 -1
  147. package/components/select/native-select/native-select.d.ts +3 -2
  148. package/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.d.ts +4 -1
  149. package/directives/present/present.directive.d.ts +1 -1
  150. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +2 -2
  151. package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +2 -2
  152. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +15 -22
  153. package/esm2015/components/accordion/accordion.component.js +4 -4
  154. package/esm2015/components/action/action.component.js +9 -9
  155. package/esm2015/components/arrow/arrow.component.js +5 -5
  156. package/esm2015/components/avatar/avatar.component.js +16 -16
  157. package/esm2015/components/badge/badge.component.js +18 -18
  158. package/esm2015/components/badged-content/badged-content.component.js +23 -23
  159. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +7 -7
  160. package/esm2015/components/calendar-month/calendar-month.component.js +5 -5
  161. package/esm2015/components/calendar-range/calendar-range.component.js +8 -8
  162. package/esm2015/components/carousel/carousel-autoscroll.directive.js +3 -3
  163. package/esm2015/components/carousel/carousel-buttons.directive.js +6 -6
  164. package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
  165. package/esm2015/components/carousel/carousel.component.js +12 -12
  166. package/esm2015/components/carousel/carousel.directive.js +3 -3
  167. package/esm2015/components/checkbox/checkbox.component.js +6 -6
  168. package/esm2015/components/checkbox-block/checkbox-block.component.js +11 -11
  169. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +7 -7
  170. package/esm2015/components/combo-box/combo-box-strict.directive.js +3 -3
  171. package/esm2015/components/combo-box/combo-box.component.js +9 -9
  172. package/esm2015/components/combo-box/combo-box.directive.js +2 -2
  173. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +5 -5
  174. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +5 -5
  175. package/esm2015/components/files/file/file.component.js +37 -31
  176. package/esm2015/components/files/files.component.js +4 -4
  177. package/esm2015/components/filter/filter.component.js +6 -6
  178. package/esm2015/components/input/input.component.js +6 -6
  179. package/esm2015/components/input/input.directive.js +2 -2
  180. package/esm2015/components/input-copy/input-copy.component.js +11 -11
  181. package/esm2015/components/input-copy/input-copy.directive.js +2 -2
  182. package/esm2015/components/input-count/input-count.component.js +26 -21
  183. package/esm2015/components/input-count/input-count.directive.js +4 -4
  184. package/esm2015/components/input-date/input-date.component.js +10 -10
  185. package/esm2015/components/input-date/input-date.directive.js +3 -3
  186. package/esm2015/components/input-date-range/input-date-range.component.js +14 -14
  187. package/esm2015/components/input-date-range/input-date-range.directive.js +3 -3
  188. package/esm2015/components/input-date-time/input-date-time.component.js +16 -16
  189. package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
  190. package/esm2015/components/input-files/input-files.component.js +21 -21
  191. package/esm2015/components/input-files/input-files.directive.js +9 -9
  192. package/esm2015/components/input-inline/input-inline.component.js +7 -7
  193. package/esm2015/components/input-month/input-month.component.js +4 -4
  194. package/esm2015/components/input-month/input-month.directive.js +3 -3
  195. package/esm2015/components/input-month-range/input-month-range.component.js +5 -5
  196. package/esm2015/components/input-month-range/input-month-range.directive.js +4 -4
  197. package/esm2015/components/input-number/input-number.component.js +24 -24
  198. package/esm2015/components/input-number/input-number.directive.js +3 -3
  199. package/esm2015/components/input-password/input-password.component.js +9 -9
  200. package/esm2015/components/input-password/input-password.directive.js +2 -2
  201. package/esm2015/components/input-phone/input-phone.component.js +32 -32
  202. package/esm2015/components/input-phone/input-phone.directive.js +3 -3
  203. package/esm2015/components/input-phone-international/input-phone-international.component.js +17 -17
  204. package/esm2015/components/input-range/input-range.component.js +20 -20
  205. package/esm2015/components/input-slider/input-slider.component.js +16 -16
  206. package/esm2015/components/input-tag/input-tag.component.js +50 -27
  207. package/esm2015/components/input-time/input-time.component.js +11 -11
  208. package/esm2015/components/input-year/input-year.component.js +4 -4
  209. package/esm2015/components/input-year/input-year.directive.js +3 -3
  210. package/esm2015/components/island/island.component.js +21 -21
  211. package/esm2015/components/items-with-more/items-with-more.component.js +4 -4
  212. package/esm2015/components/items-with-more/items-with-more.directive.js +2 -2
  213. package/esm2015/components/items-with-more/more.directive.js +2 -2
  214. package/esm2015/components/line-clamp/line-clamp-box.component.js +4 -4
  215. package/esm2015/components/line-clamp/line-clamp-position.directive.js +2 -2
  216. package/esm2015/components/line-clamp/line-clamp.component.js +11 -11
  217. package/esm2015/components/marker-icon/marker-icon.component.js +9 -9
  218. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +6 -6
  219. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +2 -2
  220. package/esm2015/components/multi-select/multi-select.component.js +12 -12
  221. package/esm2015/components/multi-select-option/multi-select-option.component.js +8 -8
  222. package/esm2015/components/pagination/pagination.component.js +10 -10
  223. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +8 -8
  224. package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +4 -4
  225. package/esm2015/components/progress/progress-bar/progress-bar.component.js +8 -8
  226. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +6 -6
  227. package/esm2015/components/progress/progress-circle/progress-circle.component.js +9 -9
  228. package/esm2015/components/progress/progress-label/progress-label.component.js +4 -4
  229. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +9 -9
  230. package/esm2015/components/push/push-alert.component.js +9 -9
  231. package/esm2015/components/push/push-alert.directive.js +2 -2
  232. package/esm2015/components/push/push.component.js +6 -6
  233. package/esm2015/components/push/push.directive.js +4 -4
  234. package/esm2015/components/radio/radio.component.js +9 -9
  235. package/esm2015/components/radio-block/radio-block.component.js +12 -12
  236. package/esm2015/components/radio-group/radio-group.component.js +3 -3
  237. package/esm2015/components/radio-labeled/radio-labeled.component.js +8 -8
  238. package/esm2015/components/radio-list/radio-list.component.js +8 -8
  239. package/esm2015/components/range/range-change.directive.js +11 -11
  240. package/esm2015/components/range/range.component.js +21 -21
  241. package/esm2015/components/rating/rating.component.js +7 -7
  242. package/esm2015/components/select/native-select/native-select-group.component.js +10 -11
  243. package/esm2015/components/select/native-select/native-select.component.js +10 -11
  244. package/esm2015/components/select/native-select/native-select.js +8 -4
  245. package/esm2015/components/select/select.component.js +6 -6
  246. package/esm2015/components/select/select.directive.js +2 -2
  247. package/esm2015/components/select-option/select-option.component.js +5 -5
  248. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +8 -8
  249. package/esm2015/components/slider/helpers/slider-readonly.directive.js +15 -15
  250. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +7 -7
  251. package/esm2015/components/slider/slider.component.js +11 -11
  252. package/esm2015/components/stepper/step/step.component.js +14 -14
  253. package/esm2015/components/stepper/stepper.component.js +18 -18
  254. package/esm2015/components/tabs/tab/tab.component.js +9 -9
  255. package/esm2015/components/tabs/tabs/tabs.component.js +7 -7
  256. package/esm2015/components/tabs/tabs-vertical/tabs-vertical.component.js +7 -7
  257. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +8 -8
  258. package/esm2015/components/tabs/tabs.directive.js +6 -6
  259. package/esm2015/components/tabs/underline/underline.component.js +13 -13
  260. package/esm2015/components/tag/tag.component.js +25 -25
  261. package/esm2015/components/text-area/text-area.component.js +20 -20
  262. package/esm2015/components/text-area/text-area.directive.js +2 -2
  263. package/esm2015/components/tiles/tile-handle.directive.js +6 -6
  264. package/esm2015/components/tiles/tile.component.js +7 -7
  265. package/esm2015/components/tiles/tiles.component.js +5 -5
  266. package/esm2015/components/toggle/toggle.component.js +10 -10
  267. package/esm2015/components/tree/components/tree/tree.component.js +5 -5
  268. package/esm2015/components/tree/components/tree-item/tree-item.component.js +6 -6
  269. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +5 -5
  270. package/esm2015/components/tree/directives/tree-children.directive.js +2 -2
  271. package/esm2015/components/tree/directives/tree-controller.directive.js +4 -4
  272. package/esm2015/components/tree/directives/tree-item-controller.directive.js +4 -4
  273. package/esm2015/components/tree/directives/tree-node.directive.js +3 -3
  274. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +25 -17
  275. package/esm2015/directives/highlight/highlight.directive.js +11 -11
  276. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +12 -12
  277. package/esm2015/directives/present/present.directive.js +10 -12
  278. package/esm2015/directives/project-class/project-class.directive.js +3 -3
  279. package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +5 -5
  280. package/esm2015/directives/value-accessor/value-accessor.directive.js +2 -2
  281. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +5 -5
  282. package/fesm2015/taiga-ui-kit-components-accordion.js +19 -26
  283. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  284. package/fesm2015/taiga-ui-kit-components-action.js +8 -8
  285. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  286. package/fesm2015/taiga-ui-kit-components-arrow.js +4 -4
  287. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  288. package/fesm2015/taiga-ui-kit-components-avatar.js +15 -15
  289. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  290. package/fesm2015/taiga-ui-kit-components-badge.js +17 -17
  291. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  292. package/fesm2015/taiga-ui-kit-components-badged-content.js +22 -22
  293. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  294. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +6 -6
  295. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  296. package/fesm2015/taiga-ui-kit-components-calendar-month.js +4 -4
  297. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  298. package/fesm2015/taiga-ui-kit-components-calendar-range.js +7 -7
  299. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  300. package/fesm2015/taiga-ui-kit-components-carousel.js +22 -22
  301. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  302. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +10 -10
  303. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  304. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +6 -6
  305. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  306. package/fesm2015/taiga-ui-kit-components-checkbox.js +5 -5
  307. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  308. package/fesm2015/taiga-ui-kit-components-combo-box.js +11 -11
  309. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  310. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +8 -8
  311. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  312. package/fesm2015/taiga-ui-kit-components-files.js +39 -33
  313. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  314. package/fesm2015/taiga-ui-kit-components-filter.js +5 -5
  315. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  316. package/fesm2015/taiga-ui-kit-components-input-copy.js +11 -11
  317. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  318. package/fesm2015/taiga-ui-kit-components-input-count.js +28 -23
  319. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  320. package/fesm2015/taiga-ui-kit-components-input-date-range.js +15 -15
  321. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  322. package/fesm2015/taiga-ui-kit-components-input-date-time.js +17 -17
  323. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  324. package/fesm2015/taiga-ui-kit-components-input-date.js +11 -11
  325. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  326. package/fesm2015/taiga-ui-kit-components-input-files.js +28 -28
  327. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -1
  328. package/fesm2015/taiga-ui-kit-components-input-inline.js +6 -6
  329. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  330. package/fesm2015/taiga-ui-kit-components-input-month-range.js +7 -7
  331. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  332. package/fesm2015/taiga-ui-kit-components-input-month.js +5 -5
  333. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  334. package/fesm2015/taiga-ui-kit-components-input-number.js +25 -25
  335. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  336. package/fesm2015/taiga-ui-kit-components-input-password.js +9 -9
  337. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  338. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +16 -16
  339. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  340. package/fesm2015/taiga-ui-kit-components-input-phone.js +33 -33
  341. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  342. package/fesm2015/taiga-ui-kit-components-input-range.js +19 -19
  343. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  344. package/fesm2015/taiga-ui-kit-components-input-slider.js +15 -15
  345. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  346. package/fesm2015/taiga-ui-kit-components-input-tag.js +49 -26
  347. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  348. package/fesm2015/taiga-ui-kit-components-input-time.js +10 -10
  349. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  350. package/fesm2015/taiga-ui-kit-components-input-year.js +5 -5
  351. package/fesm2015/taiga-ui-kit-components-input-year.js.map +1 -1
  352. package/fesm2015/taiga-ui-kit-components-input.js +6 -6
  353. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  354. package/fesm2015/taiga-ui-kit-components-island.js +20 -20
  355. package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
  356. package/fesm2015/taiga-ui-kit-components-items-with-more.js +5 -5
  357. package/fesm2015/taiga-ui-kit-components-items-with-more.js.map +1 -1
  358. package/fesm2015/taiga-ui-kit-components-line-clamp.js +14 -14
  359. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  360. package/fesm2015/taiga-ui-kit-components-marker-icon.js +8 -8
  361. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  362. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -7
  363. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  364. package/fesm2015/taiga-ui-kit-components-multi-select.js +17 -17
  365. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  366. package/fesm2015/taiga-ui-kit-components-pagination.js +9 -9
  367. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  368. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +10 -10
  369. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  370. package/fesm2015/taiga-ui-kit-components-progress.js +31 -31
  371. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  372. package/fesm2015/taiga-ui-kit-components-push.js +17 -17
  373. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  374. package/fesm2015/taiga-ui-kit-components-radio-block.js +11 -11
  375. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  376. package/fesm2015/taiga-ui-kit-components-radio-group.js +2 -2
  377. package/fesm2015/taiga-ui-kit-components-radio-group.js.map +1 -1
  378. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +7 -7
  379. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  380. package/fesm2015/taiga-ui-kit-components-radio-list.js +7 -7
  381. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  382. package/fesm2015/taiga-ui-kit-components-radio.js +8 -8
  383. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  384. package/fesm2015/taiga-ui-kit-components-range.js +30 -30
  385. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  386. package/fesm2015/taiga-ui-kit-components-rating.js +6 -6
  387. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  388. package/fesm2015/taiga-ui-kit-components-select-option.js +4 -4
  389. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  390. package/fesm2015/taiga-ui-kit-components-select.js +31 -29
  391. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  392. package/fesm2015/taiga-ui-kit-components-slider.js +37 -37
  393. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  394. package/fesm2015/taiga-ui-kit-components-stepper.js +30 -30
  395. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  396. package/fesm2015/taiga-ui-kit-components-tabs.js +44 -44
  397. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  398. package/fesm2015/taiga-ui-kit-components-tag.js +24 -24
  399. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  400. package/fesm2015/taiga-ui-kit-components-text-area.js +20 -20
  401. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  402. package/fesm2015/taiga-ui-kit-components-tiles.js +15 -15
  403. package/fesm2015/taiga-ui-kit-components-tiles.js.map +1 -1
  404. package/fesm2015/taiga-ui-kit-components-toggle.js +9 -9
  405. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  406. package/fesm2015/taiga-ui-kit-components-tree.js +22 -22
  407. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  408. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +24 -16
  409. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js.map +1 -1
  410. package/fesm2015/taiga-ui-kit-directives-highlight.js +10 -10
  411. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  412. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +11 -11
  413. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  414. package/fesm2015/taiga-ui-kit-directives-present.js +9 -11
  415. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  416. package/fesm2015/taiga-ui-kit-directives-project-class.js +2 -2
  417. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  418. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +4 -4
  419. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  420. package/fesm2015/taiga-ui-kit-directives-value-accessor.js +1 -1
  421. package/fesm2015/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  422. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +4 -4
  423. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  424. package/package.json +6 -6
@@ -33,26 +33,26 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
33
33
  this.options = options;
34
34
  this.phoneMaskAfterCountryCode = this.options.phoneMaskAfterCountryCode;
35
35
  this.allowText = this.options.allowText;
36
- this.search = ``;
36
+ this.search = '';
37
37
  this.searchChange = new EventEmitter();
38
38
  this.textMaskOptions = {
39
- mask: value => this.allowText && !this.value && isText(value) && value !== `+`
39
+ mask: value => this.allowText && !this.value && isText(value) && value !== '+'
40
40
  ? false
41
41
  : [
42
- ...this.countryCode.split(``),
43
- ` `,
42
+ ...this.countryCode.split(''),
43
+ ' ',
44
44
  ...this.phoneMaskAfterCountryCode
45
- .replace(/[^#\- ()]+/g, ``)
46
- .split(``)
47
- .map(item => (item === `#` ? /\d/ : item)),
45
+ .replace(/[^#\- ()]+/g, '')
46
+ .split('')
47
+ .map(item => (item === '#' ? /\d/ : item)),
48
48
  ],
49
49
  pipe: value => {
50
50
  if (this.allowText) {
51
51
  return value;
52
52
  }
53
- return value === `` && this.focused && !this.readOnly
53
+ return value === '' && this.focused && !this.readOnly
54
54
  ? `${this.countryCode} `
55
- : value.replace(/-$/, ``);
55
+ : value.replace(/-$/, '');
56
56
  },
57
57
  guide: false,
58
58
  };
@@ -78,10 +78,10 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
78
78
  get computedValue() {
79
79
  return this.value
80
80
  ? tuiFormatPhone(this.value, this.countryCode, this.phoneMaskAfterCountryCode)
81
- : this.search || ``;
81
+ : this.search || '';
82
82
  }
83
83
  get inputMode() {
84
- return this.allowText ? `text` : `numeric`;
84
+ return this.allowText ? 'text' : 'numeric';
85
85
  }
86
86
  get canOpen() {
87
87
  return this.interactive && !!this.datalist;
@@ -93,7 +93,7 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
93
93
  if (!event.dataTransfer) {
94
94
  return;
95
95
  }
96
- this.setValueWithoutPrefix(event.dataTransfer.getData(`text`));
96
+ this.setValueWithoutPrefix(event.dataTransfer.getData('text'));
97
97
  event.preventDefault();
98
98
  }
99
99
  onPaste(event) {
@@ -107,8 +107,8 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
107
107
  }
108
108
  if (this.computedValue === this.countryCode ||
109
109
  (this.search !== null &&
110
- Number.isNaN(parseInt(this.search.replace(TUI_MASK_SYMBOLS_REGEXP, ``), 10)))) {
111
- this.updateSearch(``);
110
+ Number.isNaN(parseInt(this.search.replace(TUI_MASK_SYMBOLS_REGEXP, ''), 10)))) {
111
+ this.updateSearch('');
112
112
  }
113
113
  }
114
114
  onBackspace(event) {
@@ -119,18 +119,18 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
119
119
  }
120
120
  }
121
121
  onValueChange(value) {
122
- value = value === `` ? this.countryCode : value;
122
+ value = value === '' ? this.countryCode : value;
123
123
  const parsed = isText(value)
124
124
  ? value
125
- : value.replace(TUI_MASK_SYMBOLS_REGEXP, ``).slice(0, this.maxPhoneLength);
125
+ : value.replace(TUI_MASK_SYMBOLS_REGEXP, '').slice(0, this.maxPhoneLength);
126
126
  this.updateSearch(parsed);
127
- this.updateValue(parsed === this.countryCode || isText(parsed) ? `` : parsed);
127
+ this.updateValue(parsed === this.countryCode || isText(parsed) ? '' : parsed);
128
128
  this.open = true;
129
129
  }
130
130
  handleOption(item) {
131
131
  this.focusInput();
132
132
  this.updateValue(item);
133
- this.updateSearch(``);
133
+ this.updateSearch('');
134
134
  this.open = false;
135
135
  }
136
136
  setDisabledState() {
@@ -139,10 +139,10 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
139
139
  }
140
140
  writeValue(value) {
141
141
  super.writeValue(value);
142
- this.updateSearch(``);
142
+ this.updateSearch('');
143
143
  }
144
144
  getFallbackValue() {
145
- return ``;
145
+ return '';
146
146
  }
147
147
  get caretIsInForbiddenArea() {
148
148
  const { nativeFocusableElement } = this;
@@ -160,7 +160,7 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
160
160
  }
161
161
  get maxPhoneLength() {
162
162
  return (this.countryCode.length +
163
- this.phoneMaskAfterCountryCode.replace(/[^#]+/g, ``).length);
163
+ this.phoneMaskAfterCountryCode.replace(/[^#]+/g, '').length);
164
164
  }
165
165
  get isTextValue() {
166
166
  return !!this.search && isText(this.search);
@@ -178,14 +178,14 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
178
178
  this.updateValue(this.cleanValue(value));
179
179
  this.updateSearch(this.allowText && isText(value)
180
180
  ? value
181
- : value.replace(TUI_MASK_SYMBOLS_REGEXP, ``));
181
+ : value.replace(TUI_MASK_SYMBOLS_REGEXP, ''));
182
182
  }
183
183
  cleanValue(value) {
184
- const reg = this.countryCode === `+7` ? /^7|^8/ : new RegExp(this.countryCode.slice(1));
184
+ const reg = this.countryCode === '+7' ? /^7|^8/ : new RegExp(this.countryCode.slice(1));
185
185
  const oldValueExist = this.value.length > this.countryCode.length &&
186
186
  this.value.length < this.maxPhoneLength;
187
- const newValueLength = value.replace(TUI_MASK_SYMBOLS_REGEXP, ``).length;
188
- const cleanNewValue = value.replace(/[^0-9]+/g, ``);
187
+ const newValueLength = value.replace(TUI_MASK_SYMBOLS_REGEXP, '').length;
188
+ const cleanNewValue = value.replace(/[^0-9]+/g, '');
189
189
  const selectionLength = String(getSelection()).length;
190
190
  if (oldValueExist && selectionLength === 0) {
191
191
  return `${this.value}${cleanNewValue}`.slice(0, this.maxPhoneLength);
@@ -193,7 +193,7 @@ class TuiInputPhoneComponent extends AbstractTuiControl {
193
193
  if (newValueLength < this.maxPhoneLength - 1) {
194
194
  return `${this.countryCode}${cleanNewValue}`.slice(0, this.maxPhoneLength);
195
195
  }
196
- return `${this.countryCode}${cleanNewValue.replace(reg, ``)}`.slice(0, this.maxPhoneLength);
196
+ return `${this.countryCode}${cleanNewValue.replace(reg, '')}`.slice(0, this.maxPhoneLength);
197
197
  }
198
198
  focusInput() {
199
199
  if (this.nativeFocusableElement) {
@@ -235,9 +235,9 @@ __decorate([
235
235
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputPhoneComponent, decorators: [{
236
236
  type: Component,
237
237
  args: [{
238
- selector: `tui-input-phone`,
239
- templateUrl: `./input-phone.template.html`,
240
- styleUrls: [`./input-phone.style.less`],
238
+ selector: 'tui-input-phone',
239
+ templateUrl: './input-phone.template.html',
240
+ styleUrls: ['./input-phone.style.less'],
241
241
  changeDetection: ChangeDetectionStrategy.OnPush,
242
242
  providers: [
243
243
  TuiDestroyService,
@@ -279,7 +279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
279
279
  args: [TuiPrimitiveTextfieldComponent]
280
280
  }], countryCodeSetter: [{
281
281
  type: Input,
282
- args: [`countryCode`]
282
+ args: ['countryCode']
283
283
  }], phoneMaskAfterCountryCode: [{
284
284
  type: Input
285
285
  }], allowText: [{
@@ -293,7 +293,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
293
293
  args: [TuiDataListDirective, { read: TemplateRef }]
294
294
  }] } });
295
295
  function isText(value) {
296
- return Number.isNaN(parseInt(value.replace(TUI_MASK_SYMBOLS_REGEXP, ``), 10));
296
+ return Number.isNaN(parseInt(value.replace(TUI_MASK_SYMBOLS_REGEXP, ''), 10));
297
297
  }
298
298
 
299
299
  class TuiInputPhoneDirective extends AbstractTuiTextfieldHost {
@@ -310,7 +310,7 @@ class TuiInputPhoneDirective extends AbstractTuiTextfieldHost {
310
310
  if (!this.input) {
311
311
  return;
312
312
  }
313
- this.input.type = `tel`;
313
+ this.input.type = 'tel';
314
314
  this.input.inputMode = this.host.inputMode;
315
315
  }
316
316
  }
@@ -319,7 +319,7 @@ TuiInputPhoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0",
319
319
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputPhoneDirective, decorators: [{
320
320
  type: Directive,
321
321
  args: [{
322
- selector: `tui-input-phone`,
322
+ selector: 'tui-input-phone',
323
323
  providers: [tuiAsTextfieldHost(TuiInputPhoneDirective)],
324
324
  }]
325
325
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-phone.js","sources":["../../../projects/kit/components/input-phone/input-phone.options.ts","../../../projects/kit/components/input-phone/input-phone.component.ts","../../../projects/kit/components/input-phone/input-phone.template.html","../../../projects/kit/components/input-phone/input-phone.directive.ts","../../../projects/kit/components/input-phone/input-phone.module.ts","../../../projects/kit/components/input-phone/taiga-ui-kit-components-input-phone.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiInputPhoneOptions {\n readonly phoneMaskAfterCountryCode: string;\n readonly allowText: boolean;\n readonly countryCode: string;\n}\n\nexport const TUI_INPUT_PHONE_DEFAULT_OPTIONS: TuiInputPhoneOptions = {\n phoneMaskAfterCountryCode: `### ###-##-##`,\n allowText: false,\n countryCode: `+7`,\n};\n\nexport const TUI_INPUT_PHONE_OPTIONS = new InjectionToken<TuiInputPhoneOptions>(\n `[TUI_INPUT_PHONE_OPTIONS]: Default parameters for input phone component`,\n {\n factory: () => TUI_INPUT_PHONE_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiInputPhoneOptionsProvider: (\n options: Partial<TuiInputPhoneOptions>,\n) => ValueProvider = (options: Partial<TuiInputPhoneOptions>) => ({\n provide: TUI_INPUT_PHONE_OPTIONS,\n useValue: {...TUI_INPUT_PHONE_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TuiActiveZoneDirective,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n tuiGetClipboardDataText,\n TuiInputMode,\n tuiIsNativeFocused,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n TUI_MASK_SYMBOLS_REGEXP,\n TUI_SELECTION_STREAM,\n TUI_TEXTFIELD_CLEANER,\n tuiAsDataListHost,\n TuiDataListDirective,\n TuiDataListHost,\n tuiFormatPhone,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldCleanerDirective,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TUI_INPUT_PHONE_OPTIONS, TuiInputPhoneOptions} from './input-phone.options';\n\n@Component({\n selector: `tui-input-phone`,\n templateUrl: `./input-phone.template.html`,\n styleUrls: [`./input-phone.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n tuiAsFocusableItemAccessor(TuiInputPhoneComponent),\n tuiAsControl(TuiInputPhoneComponent),\n tuiAsDataListHost(TuiInputPhoneComponent),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiInputPhoneComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiHostedDropdownComponent)\n private readonly dropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input(`countryCode`)\n @tuiRequiredSetter()\n set countryCodeSetter(countryCode: string) {\n this.updateValueWithNewCountryCode(countryCode);\n this.countryCode = countryCode;\n }\n\n @Input()\n @tuiDefaultProp()\n phoneMaskAfterCountryCode = this.options.phoneMaskAfterCountryCode;\n\n @Input()\n @tuiDefaultProp()\n allowText = this.options.allowText;\n\n @Input()\n @tuiDefaultProp()\n search = ``;\n\n @Output()\n readonly searchChange = new EventEmitter<string>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist?: TemplateRef<TuiContextWithImplicit<TuiActiveZoneDirective>>;\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: value =>\n this.allowText && !this.value && isText(value) && value !== `+`\n ? false\n : [\n ...this.countryCode.split(``),\n ` `,\n ...this.phoneMaskAfterCountryCode\n .replace(/[^#\\- ()]+/g, ``)\n .split(``)\n .map(item => (item === `#` ? /\\d/ : item)),\n ],\n pipe: value => {\n if (this.allowText) {\n return value;\n }\n\n return value === `` && this.focused && !this.readOnly\n ? `${this.countryCode} `\n : value.replace(/-$/, ``);\n },\n guide: false,\n };\n\n countryCode = this.options.countryCode;\n\n open = false;\n\n constructor(\n @Optional() @Self() @Inject(NgControl) control: NgControl | null,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_SELECTION_STREAM) selection$: Observable<unknown>,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_INPUT_PHONE_OPTIONS) private readonly options: TuiInputPhoneOptions,\n ) {\n super(control, changeDetectorRef);\n\n selection$.pipe(takeUntil(destroy$)).subscribe(() => {\n this.setCaretPosition();\n });\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.textfield || this.computedDisabled\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n (!!this.dropdown && this.dropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value\n ? tuiFormatPhone(this.value, this.countryCode, this.phoneMaskAfterCountryCode)\n : this.search || ``;\n }\n\n get inputMode(): TuiInputMode {\n return this.allowText ? `text` : `numeric`;\n }\n\n get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n get canClean(): boolean {\n return this.computedValue !== this.countryCode && this.textfieldCleaner.cleaner;\n }\n\n onDrop(event: DragEvent): void {\n if (!event.dataTransfer) {\n return;\n }\n\n this.setValueWithoutPrefix(event.dataTransfer.getData(`text`));\n event.preventDefault();\n }\n\n onPaste(event: Event): void {\n this.setValueWithoutPrefix(tuiGetClipboardDataText(event as ClipboardEvent));\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n\n if (active && !this.computedValue && !this.readOnly && !this.allowText) {\n this.updateSearch(this.countryCode);\n\n return;\n }\n\n if (\n this.computedValue === this.countryCode ||\n (this.search !== null &&\n Number.isNaN(\n parseInt(this.search.replace(TUI_MASK_SYMBOLS_REGEXP, ``), 10),\n ))\n ) {\n this.updateSearch(``);\n }\n }\n\n onBackspace(event: Event): void {\n const target = event.target as HTMLInputElement;\n\n if (\n (target.selectionStart || 0) <= this.nonRemovableLength &&\n target.selectionStart === target.selectionEnd\n ) {\n event.preventDefault();\n }\n }\n\n onValueChange(value: string): void {\n value = value === `` ? this.countryCode : value;\n\n const parsed = isText(value)\n ? value\n : value.replace(TUI_MASK_SYMBOLS_REGEXP, ``).slice(0, this.maxPhoneLength);\n\n this.updateSearch(parsed);\n this.updateValue(parsed === this.countryCode || isText(parsed) ? `` : parsed);\n this.open = true;\n }\n\n handleOption(item: string): void {\n this.focusInput();\n this.updateValue(item);\n this.updateSearch(``);\n this.open = false;\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n override writeValue(value: string | null): void {\n super.writeValue(value);\n this.updateSearch(``);\n }\n\n protected getFallbackValue(): string {\n return ``;\n }\n\n private get caretIsInForbiddenArea(): boolean {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement) {\n return false;\n }\n\n const {selectionStart, selectionEnd} = nativeFocusableElement;\n\n return (\n tuiIsNativeFocused(nativeFocusableElement) &&\n selectionStart !== null &&\n selectionStart < this.nonRemovableLength &&\n selectionStart === selectionEnd\n );\n }\n\n private get nonRemovableLength(): number {\n return this.isTextValue ? 0 : this.countryCode.length + 1;\n }\n\n private get maxPhoneLength(): number {\n return (\n this.countryCode.length +\n this.phoneMaskAfterCountryCode.replace(/[^#]+/g, ``).length\n );\n }\n\n private get isTextValue(): boolean {\n return !!this.search && isText(this.search);\n }\n\n private setCaretPosition(): void {\n if (this.caretIsInForbiddenArea && !!this.nativeFocusableElement) {\n this.nativeFocusableElement.setSelectionRange(\n this.nonRemovableLength,\n this.nonRemovableLength,\n );\n }\n }\n\n private setValueWithoutPrefix(value: string): void {\n if (this.readOnly) {\n return;\n }\n\n this.open = true;\n this.updateValue(this.cleanValue(value));\n this.updateSearch(\n this.allowText && isText(value)\n ? value\n : value.replace(TUI_MASK_SYMBOLS_REGEXP, ``),\n );\n }\n\n private cleanValue(value: string): string {\n const reg: RegExp =\n this.countryCode === `+7` ? /^7|^8/ : new RegExp(this.countryCode.slice(1));\n const oldValueExist =\n this.value.length > this.countryCode.length &&\n this.value.length < this.maxPhoneLength;\n const newValueLength = value.replace(TUI_MASK_SYMBOLS_REGEXP, ``).length;\n const cleanNewValue = value.replace(/[^0-9]+/g, ``);\n const selectionLength = String(getSelection()).length;\n\n if (oldValueExist && selectionLength === 0) {\n return `${this.value}${cleanNewValue}`.slice(0, this.maxPhoneLength);\n }\n\n if (newValueLength < this.maxPhoneLength - 1) {\n return `${this.countryCode}${cleanNewValue}`.slice(0, this.maxPhoneLength);\n }\n\n return `${this.countryCode}${cleanNewValue.replace(reg, ``)}`.slice(\n 0,\n this.maxPhoneLength,\n );\n }\n\n private focusInput(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll: true});\n }\n }\n\n private updateSearch(search: string): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private updateValueWithNewCountryCode(newCountryCode: string): void {\n if (!this.isTextValue) {\n this.updateValue(this.value.replace(this.countryCode, newCountryCode));\n }\n }\n}\n\nfunction isText(value: string): boolean {\n return Number.isNaN(parseInt(value.replace(TUI_MASK_SYMBOLS_REGEXP, ``), 10));\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoFocus]=\"computedFocused\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n [tuiTextfieldCleaner]=\"canClean\"\n (valueChange)=\"onValueChange($event)\"\n (drop)=\"onDrop($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (paste.prevent)=\"onPaste($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n","import {Directive, DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\n\n@Directive({\n selector: `tui-input-phone`,\n providers: [tuiAsTextfieldHost(TuiInputPhoneDirective)],\n})\nexport class TuiInputPhoneDirective\n extends AbstractTuiTextfieldHost<TuiInputPhoneComponent>\n implements DoCheck\n{\n input?: HTMLInputElement;\n\n override get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n this.input = input;\n }\n\n ngDoCheck(): void {\n if (!this.input) {\n return;\n }\n\n this.input.type = `tel`;\n this.input.inputMode = this.host.inputMode;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\nimport {TuiInputPhoneDirective} from './input-phone.directive';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputPhoneComponent, TuiInputPhoneDirective],\n exports: [TuiInputPhoneComponent, TuiInputPhoneDirective, TuiTextfieldComponent],\n})\nexport class TuiInputPhoneModule {}\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-phone.js","sources":["../../../projects/kit/components/input-phone/input-phone.options.ts","../../../projects/kit/components/input-phone/input-phone.component.ts","../../../projects/kit/components/input-phone/input-phone.template.html","../../../projects/kit/components/input-phone/input-phone.directive.ts","../../../projects/kit/components/input-phone/input-phone.module.ts","../../../projects/kit/components/input-phone/taiga-ui-kit-components-input-phone.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\n\nexport interface TuiInputPhoneOptions {\n readonly phoneMaskAfterCountryCode: string;\n readonly allowText: boolean;\n readonly countryCode: string;\n}\n\nexport const TUI_INPUT_PHONE_DEFAULT_OPTIONS: TuiInputPhoneOptions = {\n phoneMaskAfterCountryCode: `### ###-##-##`,\n allowText: false,\n countryCode: `+7`,\n};\n\nexport const TUI_INPUT_PHONE_OPTIONS = new InjectionToken<TuiInputPhoneOptions>(\n `[TUI_INPUT_PHONE_OPTIONS]: Default parameters for input phone component`,\n {\n factory: () => TUI_INPUT_PHONE_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiInputPhoneOptionsProvider: (\n options: Partial<TuiInputPhoneOptions>,\n) => ValueProvider = (options: Partial<TuiInputPhoneOptions>) => ({\n provide: TUI_INPUT_PHONE_OPTIONS,\n useValue: {...TUI_INPUT_PHONE_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n TuiActiveZoneDirective,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiDestroyService,\n TuiFocusableElementAccessor,\n tuiGetClipboardDataText,\n TuiInputMode,\n tuiIsNativeFocused,\n tuiRequiredSetter,\n} from '@taiga-ui/cdk';\nimport {\n TUI_MASK_SYMBOLS_REGEXP,\n TUI_SELECTION_STREAM,\n TUI_TEXTFIELD_CLEANER,\n tuiAsDataListHost,\n TuiDataListDirective,\n TuiDataListHost,\n tuiFormatPhone,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiTextfieldCleanerDirective,\n TuiTextMaskOptions,\n} from '@taiga-ui/core';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\nimport {TUI_INPUT_PHONE_OPTIONS, TuiInputPhoneOptions} from './input-phone.options';\n\n@Component({\n selector: 'tui-input-phone',\n templateUrl: './input-phone.template.html',\n styleUrls: ['./input-phone.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n TuiDestroyService,\n tuiAsFocusableItemAccessor(TuiInputPhoneComponent),\n tuiAsControl(TuiInputPhoneComponent),\n tuiAsDataListHost(TuiInputPhoneComponent),\n ],\n viewProviders: [FIXED_DROPDOWN_CONTROLLER_PROVIDER],\n})\nexport class TuiInputPhoneComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor, TuiDataListHost<string>\n{\n @ViewChild(TuiHostedDropdownComponent)\n private readonly dropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input('countryCode')\n @tuiRequiredSetter()\n set countryCodeSetter(countryCode: string) {\n this.updateValueWithNewCountryCode(countryCode);\n this.countryCode = countryCode;\n }\n\n @Input()\n @tuiDefaultProp()\n phoneMaskAfterCountryCode = this.options.phoneMaskAfterCountryCode;\n\n @Input()\n @tuiDefaultProp()\n allowText = this.options.allowText;\n\n @Input()\n @tuiDefaultProp()\n search = '';\n\n @Output()\n readonly searchChange = new EventEmitter<string>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist?: TemplateRef<TuiContextWithImplicit<TuiActiveZoneDirective>>;\n\n readonly textMaskOptions: TuiTextMaskOptions = {\n mask: value =>\n this.allowText && !this.value && isText(value) && value !== '+'\n ? false\n : [\n ...this.countryCode.split(''),\n ' ',\n ...this.phoneMaskAfterCountryCode\n .replace(/[^#\\- ()]+/g, '')\n .split('')\n .map(item => (item === '#' ? /\\d/ : item)),\n ],\n pipe: value => {\n if (this.allowText) {\n return value;\n }\n\n return value === '' && this.focused && !this.readOnly\n ? `${this.countryCode} `\n : value.replace(/-$/, '');\n },\n guide: false,\n };\n\n countryCode = this.options.countryCode;\n\n open = false;\n\n constructor(\n @Optional() @Self() @Inject(NgControl) control: NgControl | null,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<unknown>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_SELECTION_STREAM) selection$: Observable<unknown>,\n @Inject(TUI_TEXTFIELD_CLEANER)\n private readonly textfieldCleaner: TuiTextfieldCleanerDirective,\n @Inject(TUI_INPUT_PHONE_OPTIONS) private readonly options: TuiInputPhoneOptions,\n ) {\n super(control, changeDetectorRef);\n\n selection$.pipe(takeUntil(destroy$)).subscribe(() => {\n this.setCaretPosition();\n });\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.textfield || this.computedDisabled\n ? null\n : this.textfield.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n tuiIsNativeFocused(this.nativeFocusableElement) ||\n (!!this.dropdown && this.dropdown.focused)\n );\n }\n\n get computedValue(): string {\n return this.value\n ? tuiFormatPhone(this.value, this.countryCode, this.phoneMaskAfterCountryCode)\n : this.search || '';\n }\n\n get inputMode(): TuiInputMode {\n return this.allowText ? 'text' : 'numeric';\n }\n\n get canOpen(): boolean {\n return this.interactive && !!this.datalist;\n }\n\n get canClean(): boolean {\n return this.computedValue !== this.countryCode && this.textfieldCleaner.cleaner;\n }\n\n onDrop(event: DragEvent): void {\n if (!event.dataTransfer) {\n return;\n }\n\n this.setValueWithoutPrefix(event.dataTransfer.getData('text'));\n event.preventDefault();\n }\n\n onPaste(event: Event): void {\n this.setValueWithoutPrefix(tuiGetClipboardDataText(event as ClipboardEvent));\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n\n if (active && !this.computedValue && !this.readOnly && !this.allowText) {\n this.updateSearch(this.countryCode);\n\n return;\n }\n\n if (\n this.computedValue === this.countryCode ||\n (this.search !== null &&\n Number.isNaN(\n parseInt(this.search.replace(TUI_MASK_SYMBOLS_REGEXP, ''), 10),\n ))\n ) {\n this.updateSearch('');\n }\n }\n\n onBackspace(event: Event): void {\n const target = event.target as HTMLInputElement;\n\n if (\n (target.selectionStart || 0) <= this.nonRemovableLength &&\n target.selectionStart === target.selectionEnd\n ) {\n event.preventDefault();\n }\n }\n\n onValueChange(value: string): void {\n value = value === '' ? this.countryCode : value;\n\n const parsed = isText(value)\n ? value\n : value.replace(TUI_MASK_SYMBOLS_REGEXP, '').slice(0, this.maxPhoneLength);\n\n this.updateSearch(parsed);\n this.updateValue(parsed === this.countryCode || isText(parsed) ? '' : parsed);\n this.open = true;\n }\n\n handleOption(item: string): void {\n this.focusInput();\n this.updateValue(item);\n this.updateSearch('');\n this.open = false;\n }\n\n override setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n override writeValue(value: string | null): void {\n super.writeValue(value);\n this.updateSearch('');\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get caretIsInForbiddenArea(): boolean {\n const {nativeFocusableElement} = this;\n\n if (!nativeFocusableElement) {\n return false;\n }\n\n const {selectionStart, selectionEnd} = nativeFocusableElement;\n\n return (\n tuiIsNativeFocused(nativeFocusableElement) &&\n selectionStart !== null &&\n selectionStart < this.nonRemovableLength &&\n selectionStart === selectionEnd\n );\n }\n\n private get nonRemovableLength(): number {\n return this.isTextValue ? 0 : this.countryCode.length + 1;\n }\n\n private get maxPhoneLength(): number {\n return (\n this.countryCode.length +\n this.phoneMaskAfterCountryCode.replace(/[^#]+/g, '').length\n );\n }\n\n private get isTextValue(): boolean {\n return !!this.search && isText(this.search);\n }\n\n private setCaretPosition(): void {\n if (this.caretIsInForbiddenArea && !!this.nativeFocusableElement) {\n this.nativeFocusableElement.setSelectionRange(\n this.nonRemovableLength,\n this.nonRemovableLength,\n );\n }\n }\n\n private setValueWithoutPrefix(value: string): void {\n if (this.readOnly) {\n return;\n }\n\n this.open = true;\n this.updateValue(this.cleanValue(value));\n this.updateSearch(\n this.allowText && isText(value)\n ? value\n : value.replace(TUI_MASK_SYMBOLS_REGEXP, ''),\n );\n }\n\n private cleanValue(value: string): string {\n const reg: RegExp =\n this.countryCode === '+7' ? /^7|^8/ : new RegExp(this.countryCode.slice(1));\n const oldValueExist =\n this.value.length > this.countryCode.length &&\n this.value.length < this.maxPhoneLength;\n const newValueLength = value.replace(TUI_MASK_SYMBOLS_REGEXP, '').length;\n const cleanNewValue = value.replace(/[^0-9]+/g, '');\n const selectionLength = String(getSelection()).length;\n\n if (oldValueExist && selectionLength === 0) {\n return `${this.value}${cleanNewValue}`.slice(0, this.maxPhoneLength);\n }\n\n if (newValueLength < this.maxPhoneLength - 1) {\n return `${this.countryCode}${cleanNewValue}`.slice(0, this.maxPhoneLength);\n }\n\n return `${this.countryCode}${cleanNewValue.replace(reg, '')}`.slice(\n 0,\n this.maxPhoneLength,\n );\n }\n\n private focusInput(): void {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.focus({preventScroll: true});\n }\n }\n\n private updateSearch(search: string): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private updateValueWithNewCountryCode(newCountryCode: string): void {\n if (!this.isTextValue) {\n this.updateValue(this.value.replace(this.countryCode, newCountryCode));\n }\n }\n}\n\nfunction isText(value: string): boolean {\n return Number.isNaN(parseInt(value.replace(TUI_MASK_SYMBOLS_REGEXP, ''), 10));\n}\n","<tui-hosted-dropdown\n class=\"t-hosted\"\n [canOpen]=\"canOpen\"\n [content]=\"datalist || ''\"\n [(open)]=\"open\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoFocus]=\"computedFocused\"\n [invalid]=\"computedInvalid\"\n [nativeId]=\"nativeId\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focusable]=\"focusable\"\n [textMask]=\"textMaskOptions\"\n [value]=\"computedValue\"\n [tuiTextfieldCleaner]=\"canClean\"\n (valueChange)=\"onValueChange($event)\"\n (drop)=\"onDrop($event)\"\n (keydown.backspace)=\"onBackspace($event)\"\n (paste.prevent)=\"onPaste($event)\"\n >\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n </tui-primitive-textfield>\n</tui-hosted-dropdown>\n","import {Directive, DoCheck} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\n\n@Directive({\n selector: 'tui-input-phone',\n providers: [tuiAsTextfieldHost(TuiInputPhoneDirective)],\n})\nexport class TuiInputPhoneDirective\n extends AbstractTuiTextfieldHost<TuiInputPhoneComponent>\n implements DoCheck\n{\n input?: HTMLInputElement;\n\n override get value(): string {\n return this.host.computedValue;\n }\n\n onValueChange(value: string): void {\n this.host.onValueChange(value);\n }\n\n override process(input: HTMLInputElement): void {\n this.input = input;\n }\n\n ngDoCheck(): void {\n if (!this.input) {\n return;\n }\n\n this.input.type = 'tel';\n this.input.inputMode = this.host.inputMode;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\n\nimport {TuiInputPhoneComponent} from './input-phone.component';\nimport {TuiInputPhoneDirective} from './input-phone.directive';\n\n@NgModule({\n imports: [\n TextMaskModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiTextfieldControllerModule,\n TuiActiveZoneModule,\n TuiValueAccessorModule,\n ],\n declarations: [TuiInputPhoneComponent, TuiInputPhoneDirective],\n exports: [TuiInputPhoneComponent, TuiInputPhoneDirective, TuiTextfieldComponent],\n})\nexport class TuiInputPhoneModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -32,10 +32,10 @@ class TuiInputRangeComponent extends AbstractTuiControl {
32
32
  this.steps = 0;
33
33
  this.segments = 1;
34
34
  this.keySteps = null;
35
- this.leftValueContent = ``;
36
- this.rightValueContent = ``;
35
+ this.leftValueContent = '';
36
+ this.rightValueContent = '';
37
37
  this.pluralize = null;
38
- this.lastActiveSide = `left`;
38
+ this.lastActiveSide = 'left';
39
39
  }
40
40
  get leftFocusableElement() {
41
41
  var _a;
@@ -57,19 +57,19 @@ class TuiInputRangeComponent extends AbstractTuiControl {
57
57
  var _a;
58
58
  return Boolean(this.leftValueContent &&
59
59
  !tuiIsNativeFocused(this.leftFocusableElement) &&
60
- !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === `left`));
60
+ !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === 'left'));
61
61
  }
62
62
  get showRightValueContent() {
63
63
  var _a;
64
64
  return Boolean(this.rightValueContent &&
65
65
  !tuiIsNativeFocused(this.rightFocusableElement) &&
66
- !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === `right`));
66
+ !(((_a = this.rangeRef) === null || _a === void 0 ? void 0 : _a.focused) && this.lastActiveSide === 'right'));
67
67
  }
68
68
  get precision() {
69
69
  return tuiGetFractionPartPadded(this.quantum).length;
70
70
  }
71
71
  get decimal() {
72
- return this.precision ? `not-zero` : `never`;
72
+ return this.precision ? 'not-zero' : 'never';
73
73
  }
74
74
  get computedSteps() {
75
75
  return this.steps || (this.max - this.min) / this.quantum;
@@ -121,11 +121,11 @@ class TuiInputRangeComponent extends AbstractTuiControl {
121
121
  }
122
122
  onRangeValue(value) {
123
123
  this.safelyUpdateValue(value);
124
- const rightValueChanged = this.lastActiveSide === `right`;
124
+ const rightValueChanged = this.lastActiveSide === 'right';
125
125
  this.updateTextInputValue(this.value[rightValueChanged ? 1 : 0], rightValueChanged);
126
126
  }
127
127
  focusToTextInput() {
128
- const element = this.lastActiveSide === `left`
128
+ const element = this.lastActiveSide === 'left'
129
129
  ? this.leftFocusableElement
130
130
  : this.rightFocusableElement;
131
131
  if (!this.isMobile && element) {
@@ -174,13 +174,13 @@ __decorate([
174
174
  tuiDefaultProp()
175
175
  ], TuiInputRangeComponent.prototype, "max", void 0);
176
176
  __decorate([
177
- tuiDefaultProp(q => q > 0, `[quantum] must be positive`)
177
+ tuiDefaultProp(q => q > 0, '[quantum] must be positive')
178
178
  ], TuiInputRangeComponent.prototype, "quantum", void 0);
179
179
  __decorate([
180
- tuiDefaultProp(s => s >= 0 && Number.isInteger(s), `[steps] must be non-negative integer`)
180
+ tuiDefaultProp(s => s >= 0 && Number.isInteger(s), '[steps] must be non-negative integer')
181
181
  ], TuiInputRangeComponent.prototype, "steps", void 0);
182
182
  __decorate([
183
- tuiDefaultProp(s => s > 0 && Number.isInteger(s), `[segments] must be positive integer`)
183
+ tuiDefaultProp(s => s > 0 && Number.isInteger(s), '[segments] must be positive integer')
184
184
  ], TuiInputRangeComponent.prototype, "segments", void 0);
185
185
  __decorate([
186
186
  tuiDefaultProp()
@@ -200,12 +200,12 @@ __decorate([
200
200
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputRangeComponent, decorators: [{
201
201
  type: Component,
202
202
  args: [{
203
- selector: `tui-input-range`,
204
- templateUrl: `./input-range.template.html`,
205
- styleUrls: [`./input-range.style.less`],
203
+ selector: 'tui-input-range',
204
+ templateUrl: './input-range.template.html',
205
+ styleUrls: ['./input-range.style.less'],
206
206
  host: {
207
- '[attr.data-size]': `controller.size`,
208
- '[class._label-outside]': `controller.labelOutside`,
207
+ '[attr.data-size]': 'controller.size',
208
+ '[class._label-outside]': 'controller.labelOutside',
209
209
  },
210
210
  changeDetection: ChangeDetectionStrategy.OnPush,
211
211
  providers: [
@@ -268,18 +268,18 @@ TuiTextfieldAppearanceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion:
268
268
  {
269
269
  provide: TUI_TEXTFIELD_APPEARANCE,
270
270
  deps: [ElementRef],
271
- useFactory: ({ nativeElement }) => nativeElement.getAttribute(`tuiTextfieldAppearance`),
271
+ useFactory: ({ nativeElement }) => nativeElement.getAttribute('tuiTextfieldAppearance'),
272
272
  },
273
273
  ], ngImport: i0 });
274
274
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiTextfieldAppearanceDirective, decorators: [{
275
275
  type: Directive,
276
276
  args: [{
277
- selector: `[tuiTextfieldAppearance]`,
277
+ selector: '[tuiTextfieldAppearance]',
278
278
  providers: [
279
279
  {
280
280
  provide: TUI_TEXTFIELD_APPEARANCE,
281
281
  deps: [ElementRef],
282
- useFactory: ({ nativeElement }) => nativeElement.getAttribute(`tuiTextfieldAppearance`),
282
+ useFactory: ({ nativeElement }) => nativeElement.getAttribute('tuiTextfieldAppearance'),
283
283
  },
284
284
  ],
285
285
  }]
@@ -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 Directive,\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 tuiDefaultProp,\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_APPEARANCE,\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 @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = 100;\n\n @Input()\n @tuiDefaultProp(q => q > 0, `[quantum] must be positive`)\n quantum = 1;\n\n @Input()\n @tuiDefaultProp(\n s => s >= 0 && Number.isInteger(s),\n `[steps] must be non-negative integer`,\n )\n steps = 0;\n\n @Input()\n @tuiDefaultProp(\n s => s > 0 && Number.isInteger(s),\n `[segments] must be positive integer`,\n )\n segments = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @tuiDefaultProp()\n leftValueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = ``;\n\n @Input()\n @tuiDefaultProp()\n rightValueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = ``;\n\n @Input()\n @tuiDefaultProp()\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) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n @Inject(ElementRef) private readonly elementRef: ElementRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, changeDetectorRef);\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.elementRef.nativeElement);\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.updateValue(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 if (textInputRef) {\n textInputRef.nativeValue = textInputRef.getFormattedValue(value);\n }\n }\n}\n\n@Directive({\n selector: `[tuiTextfieldAppearance]`,\n providers: [\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n deps: [ElementRef],\n useFactory: ({nativeElement}: ElementRef) =>\n nativeElement.getAttribute(`tuiTextfieldAppearance`),\n },\n ],\n})\nexport class TuiTextfieldAppearanceDirective {}\n","<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__left-input\"\n class=\"t-left t-text-input\"\n [min]=\"min\"\n [max]=\"value[1]\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [postfix]=\"pluralize && !showLeftValueContent ? (value[0] | i18nPlural : pluralize) : ''\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [ngModel]=\"value[0]\"\n (ngModelChange)=\"onInputLeft($event)\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\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 <div class=\"t-right\">\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__right-input\"\n class=\"t-text-input\"\n [min]=\"value[0]\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [ngModel]=\"value[1]\"\n (ngModelChange)=\"onInputRight($event)\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\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 <!-- TODO replace by postfix of the right InputNumber (after fix https://github.com/Tinkoff/taiga-ui/issues/1193) -->\n <span\n *ngIf=\"!showRightValueContent && pluralize\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize-right\"\n >\n &nbsp;{{ value[1] | i18nPlural : pluralize }}\n </span>\n </div>\n\n <tui-range\n class=\"t-range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [segments]=\"segments\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\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 {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 {\n TuiInputRangeComponent,\n TuiTextfieldAppearanceDirective,\n} 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 ],\n declarations: [TuiInputRangeComponent, TuiTextfieldAppearanceDirective],\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 Directive,\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 tuiDefaultProp,\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_APPEARANCE,\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 @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = 100;\n\n @Input()\n @tuiDefaultProp(q => q > 0, '[quantum] must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp(\n s => s >= 0 && Number.isInteger(s),\n '[steps] must be non-negative integer',\n )\n steps = 0;\n\n @Input()\n @tuiDefaultProp(\n s => s > 0 && Number.isInteger(s),\n '[segments] must be positive integer',\n )\n segments = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @tuiDefaultProp()\n leftValueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = '';\n\n @Input()\n @tuiDefaultProp()\n rightValueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = '';\n\n @Input()\n @tuiDefaultProp()\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) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_IS_MOBILE)\n private readonly isMobile: boolean,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n @Inject(ElementRef) private readonly elementRef: ElementRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, changeDetectorRef);\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.elementRef.nativeElement);\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.updateValue(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 if (textInputRef) {\n textInputRef.nativeValue = textInputRef.getFormattedValue(value);\n }\n }\n}\n\n@Directive({\n selector: '[tuiTextfieldAppearance]',\n providers: [\n {\n provide: TUI_TEXTFIELD_APPEARANCE,\n deps: [ElementRef],\n useFactory: ({nativeElement}: ElementRef) =>\n nativeElement.getAttribute('tuiTextfieldAppearance'),\n },\n ],\n})\nexport class TuiTextfieldAppearanceDirective {}\n","<div\n tuiWrapper\n class=\"t-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focus]=\"computedFocused\"\n [hover]=\"pseudoHover\"\n [invalid]=\"computedInvalid\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__left-input\"\n class=\"t-left t-text-input\"\n [min]=\"min\"\n [max]=\"value[1]\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [postfix]=\"pluralize && !showLeftValueContent ? (value[0] | i18nPlural : pluralize) : ''\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [ngModel]=\"value[0]\"\n (ngModelChange)=\"onInputLeft($event)\"\n (focusedChange)=\"onTextInputFocused($event, false)\"\n (keydown.arrowUp)=\"changeByStep($event, [1, 0])\"\n (keydown.arrowDown)=\"changeByStep($event, [-1, 0])\"\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 <div class=\"t-right\">\n <tui-input-number\n tuiTextfieldAppearance=\"none\"\n automation-id=\"tui-input-range__right-input\"\n class=\"t-text-input\"\n [min]=\"value[0]\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [ngModel]=\"value[1]\"\n (ngModelChange)=\"onInputRight($event)\"\n (focusedChange)=\"onTextInputFocused($event, true)\"\n (keydown.arrowUp)=\"changeByStep($event, [0, 1])\"\n (keydown.arrowDown)=\"changeByStep($event, [0, -1])\"\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 <!-- TODO replace by postfix of the right InputNumber (after fix https://github.com/Tinkoff/taiga-ui/issues/1193) -->\n <span\n *ngIf=\"!showRightValueContent && pluralize\"\n automation-id=\"tui-input-range__pluralize-right\"\n class=\"t-pluralize-right\"\n >\n &nbsp;{{ value[1] | i18nPlural : pluralize }}\n </span>\n </div>\n\n <tui-range\n class=\"t-range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n [segments]=\"segments\"\n [keySteps]=\"computeKeySteps(keySteps, min, max)\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onRangeValue($event)\"\n (tuiPressedChange)=\"focusToTextInput()\"\n (activeThumbChange)=\"onActiveThumbChange($event)\"\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 {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 {\n TuiInputRangeComponent,\n TuiTextfieldAppearanceDirective,\n} 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 ],\n declarations: [TuiInputRangeComponent, TuiTextfieldAppearanceDirective],\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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"}