@taiga-ui/kit 2.36.0 → 2.38.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 (490) hide show
  1. package/abstract/input-slider.d.ts +30 -7
  2. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  3. package/bundles/taiga-ui-kit-abstract.umd.js +67 -21
  4. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js +2 -2
  8. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  10. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
  16. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +1 -1
  18. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  20. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +2 -2
  22. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +4 -4
  26. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +2 -2
  28. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-files.umd.js +504 -0
  30. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -0
  31. package/bundles/taiga-ui-kit-components-files.umd.min.js +16 -0
  32. package/bundles/taiga-ui-kit-components-files.umd.min.js.map +1 -0
  33. package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -2
  34. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  36. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +3 -1
  38. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-input-date.umd.js +4 -2
  45. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  47. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-file.umd.js +43 -45
  49. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  51. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-files.umd.js +498 -0
  53. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -0
  54. package/bundles/taiga-ui-kit-components-input-files.umd.min.js +16 -0
  55. package/bundles/taiga-ui-kit-components-input-files.umd.min.js.map +1 -0
  56. package/bundles/taiga-ui-kit-components-input-number.umd.js +37 -28
  57. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  59. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -2
  61. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  63. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +20 -8
  65. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +2 -2
  67. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-phone.umd.js +5 -4
  69. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  71. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-range.umd.js +26 -4
  73. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  75. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-slider.umd.js +200 -117
  77. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  79. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  81. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  83. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +2 -2
  89. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  91. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +2 -2
  93. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +1 -1
  95. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -2
  97. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
  101. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  103. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-progress.umd.js +1 -1
  105. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-progress.umd.min.js +1 -1
  107. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
  109. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  111. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-select.umd.js +1 -1
  113. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  115. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-slider.umd.js +66 -21
  117. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  119. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  121. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  123. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-toggle.umd.js +2 -2
  125. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  127. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components.umd.js +20 -4
  129. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  131. package/bundles/taiga-ui-kit-enums.umd.js.map +1 -1
  132. package/bundles/taiga-ui-kit-enums.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +25 -1
  134. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +2 -2
  136. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +10 -2
  138. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +1 -1
  140. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
  141. package/bundles/taiga-ui-kit-tokens.umd.js +8 -0
  142. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  144. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  145. package/bundles/taiga-ui-kit-utils-files.umd.js +8 -0
  146. package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
  147. package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
  148. package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
  149. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  150. package/components/arrow/arrow-options.d.ts +4 -2
  151. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  152. package/components/badge/badge.component.d.ts +2 -1
  153. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  154. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  155. package/components/combo-box/combo-box.component.d.ts +4 -4
  156. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  157. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  158. package/components/files/file/file.component.d.ts +42 -0
  159. package/components/files/files.component.d.ts +12 -0
  160. package/components/files/files.module.d.ts +2 -0
  161. package/components/files/index.d.ts +2 -0
  162. package/components/files/package.json +13 -0
  163. package/components/files/taiga-ui-kit-components-files.d.ts +5 -0
  164. package/components/files/taiga-ui-kit-components-files.metadata.json +1 -0
  165. package/components/index.d.ts +2 -0
  166. package/components/input/input.component.d.ts +2 -2
  167. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  168. package/components/input-count/input-count.component.d.ts +3 -2
  169. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  170. package/components/input-date/input-date.component.d.ts +5 -3
  171. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  172. package/components/input-date-range/input-date-range.component.d.ts +3 -2
  173. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  174. package/components/input-date-time/input-date-time.component.d.ts +7 -5
  175. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  176. package/components/input-file/file/file.component.d.ts +1 -1
  177. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  178. package/components/input-files/index.d.ts +2 -0
  179. package/components/input-files/input-files.component.d.ts +42 -0
  180. package/components/input-files/input-files.module.d.ts +2 -0
  181. package/components/input-files/package.json +13 -0
  182. package/components/input-files/taiga-ui-kit-components-input-files.d.ts +4 -0
  183. package/components/input-files/taiga-ui-kit-components-input-files.metadata.json +1 -0
  184. package/components/input-number/input-number.component.d.ts +7 -4
  185. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  186. package/components/input-password/input-password.component.d.ts +4 -3
  187. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  188. package/components/input-phone/input-phone.component.d.ts +5 -6
  189. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  190. package/components/input-phone-international/input-phone-international.component.d.ts +4 -2
  191. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  192. package/components/input-range/input-range.component.d.ts +4 -1
  193. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  194. package/components/input-slider/input-slider.component.d.ts +56 -23
  195. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  196. package/components/input-tag/input-tag.component.d.ts +2 -1
  197. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  198. package/components/input-time/input-time.component.d.ts +2 -2
  199. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  200. package/components/multi-select/multi-select.component.d.ts +5 -5
  201. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  202. package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
  203. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  204. package/components/progress/utils/calculate-color-segments.d.ts +0 -4
  205. package/components/radio/radio.component.d.ts +1 -1
  206. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  207. package/components/select/select.component.d.ts +4 -4
  208. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  209. package/components/slider/slider-key-steps.directive.d.ts +12 -2
  210. package/components/slider/slider-options.d.ts +1 -1
  211. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  212. package/components/taiga-ui-kit-components.metadata.json +1 -1
  213. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  214. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  215. package/enums/file-state.d.ts +1 -0
  216. package/enums/taiga-ui-kit-enums.metadata.json +1 -1
  217. package/esm2015/abstract/input-slider.js +49 -8
  218. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  219. package/esm2015/components/accordion/accordion.component.js +2 -2
  220. package/esm2015/components/arrow/arrow-options.js +1 -1
  221. package/esm2015/components/badge/badge.component.js +1 -1
  222. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  223. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  224. package/esm2015/components/combo-box/combo-box.component.js +1 -1
  225. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +3 -3
  226. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +3 -3
  227. package/esm2015/components/files/file/file.component.js +164 -0
  228. package/esm2015/components/files/files.component.js +45 -0
  229. package/esm2015/components/files/files.module.js +29 -0
  230. package/esm2015/components/files/index.js +3 -0
  231. package/esm2015/components/files/taiga-ui-kit-components-files.js +6 -0
  232. package/esm2015/components/index.js +3 -1
  233. package/esm2015/components/input/input.component.js +1 -1
  234. package/esm2015/components/input-count/input-count.component.js +3 -3
  235. package/esm2015/components/input-date/input-date.component.js +5 -3
  236. package/esm2015/components/input-date-range/input-date-range.component.js +4 -2
  237. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  238. package/esm2015/components/input-file/file/file.component.js +19 -19
  239. package/esm2015/components/input-file/input-file.component.js +7 -7
  240. package/esm2015/components/input-file/input-file.module.js +3 -3
  241. package/esm2015/components/input-files/index.js +3 -0
  242. package/esm2015/components/input-files/input-files.component.js +212 -0
  243. package/esm2015/components/input-files/input-files.module.js +34 -0
  244. package/esm2015/components/input-files/taiga-ui-kit-components-input-files.js +5 -0
  245. package/esm2015/components/input-number/input-number.component.js +25 -19
  246. package/esm2015/components/input-number/input-number.module.js +5 -1
  247. package/esm2015/components/input-password/input-password.component.js +3 -3
  248. package/esm2015/components/input-phone/input-phone.component.js +6 -5
  249. package/esm2015/components/input-phone-international/input-phone-international.component.js +20 -6
  250. package/esm2015/components/input-range/input-range.component.js +25 -7
  251. package/esm2015/components/input-slider/input-slider.component.js +196 -105
  252. package/esm2015/components/input-slider/input-slider.module.js +13 -6
  253. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  254. package/esm2015/components/input-time/input-time.component.js +1 -1
  255. package/esm2015/components/line-clamp/line-clamp.directive.js +4 -4
  256. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +3 -3
  257. package/esm2015/components/multi-select/multi-select.component.js +2 -2
  258. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  259. package/esm2015/components/pagination/pagination.component.js +2 -2
  260. package/esm2015/components/progress/utils/calculate-color-segments.js +3 -2
  261. package/esm2015/components/radio/radio.component.js +2 -2
  262. package/esm2015/components/select/select.component.js +3 -3
  263. package/esm2015/components/slider/slider-key-steps.directive.js +33 -8
  264. package/esm2015/components/slider/slider-options.js +7 -5
  265. package/esm2015/components/slider/slider.component.js +1 -1
  266. package/esm2015/components/slider/slider.module.js +14 -4
  267. package/esm2015/components/text-area/text-area.component.js +3 -3
  268. package/esm2015/components/toggle/toggle.component.js +3 -3
  269. package/esm2015/enums/file-state.js +1 -1
  270. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +26 -2
  271. package/esm2015/pipes/field-error/field-error-content-pipe.js +11 -3
  272. package/esm2015/tokens/i18n.js +7 -1
  273. package/esm2015/utils/files/get-accept-array.js +7 -0
  274. package/esm2015/utils/files/index.js +2 -1
  275. package/esm5/abstract/input-slider.js +67 -20
  276. package/esm5/components/accordion/accordion-item/accordion-item.component.js +1 -1
  277. package/esm5/components/accordion/accordion.component.js +2 -2
  278. package/esm5/components/arrow/arrow-options.js +1 -1
  279. package/esm5/components/badge/badge.component.js +1 -1
  280. package/esm5/components/badged-content/badged-content.component.js +3 -3
  281. package/esm5/components/checkbox/checkbox.component.js +3 -3
  282. package/esm5/components/combo-box/combo-box.component.js +1 -1
  283. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +3 -3
  284. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +3 -3
  285. package/esm5/components/files/file/file.component.js +213 -0
  286. package/esm5/components/files/files.component.js +50 -0
  287. package/esm5/components/files/files.module.js +32 -0
  288. package/esm5/components/files/index.js +3 -0
  289. package/esm5/components/files/taiga-ui-kit-components-files.js +6 -0
  290. package/esm5/components/index.js +3 -1
  291. package/esm5/components/input/input.component.js +1 -1
  292. package/esm5/components/input-count/input-count.component.js +3 -3
  293. package/esm5/components/input-date/input-date.component.js +5 -3
  294. package/esm5/components/input-date-range/input-date-range.component.js +4 -2
  295. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  296. package/esm5/components/input-file/file/file.component.js +37 -37
  297. package/esm5/components/input-file/input-file.component.js +7 -9
  298. package/esm5/components/input-file/input-file.module.js +3 -3
  299. package/esm5/components/input-files/index.js +3 -0
  300. package/esm5/components/input-files/input-files.component.js +247 -0
  301. package/esm5/components/input-files/input-files.module.js +37 -0
  302. package/esm5/components/input-files/taiga-ui-kit-components-input-files.js +5 -0
  303. package/esm5/components/input-number/input-number.component.js +35 -27
  304. package/esm5/components/input-number/input-number.module.js +5 -1
  305. package/esm5/components/input-password/input-password.component.js +3 -3
  306. package/esm5/components/input-phone/input-phone.component.js +6 -5
  307. package/esm5/components/input-phone-international/input-phone-international.component.js +21 -9
  308. package/esm5/components/input-range/input-range.component.js +29 -7
  309. package/esm5/components/input-slider/input-slider.component.js +198 -115
  310. package/esm5/components/input-slider/input-slider.module.js +13 -6
  311. package/esm5/components/input-tag/input-tag.component.js +2 -2
  312. package/esm5/components/input-time/input-time.component.js +1 -1
  313. package/esm5/components/line-clamp/line-clamp.directive.js +4 -4
  314. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +3 -3
  315. package/esm5/components/multi-select/multi-select.component.js +2 -2
  316. package/esm5/components/multi-select-option/multi-select-option.component.js +3 -3
  317. package/esm5/components/pagination/pagination.component.js +2 -2
  318. package/esm5/components/progress/utils/calculate-color-segments.js +3 -2
  319. package/esm5/components/radio/radio.component.js +2 -2
  320. package/esm5/components/select/select.component.js +3 -3
  321. package/esm5/components/slider/slider-key-steps.directive.js +48 -13
  322. package/esm5/components/slider/slider-options.js +7 -5
  323. package/esm5/components/slider/slider.component.js +1 -1
  324. package/esm5/components/slider/slider.module.js +14 -4
  325. package/esm5/components/text-area/text-area.component.js +3 -3
  326. package/esm5/components/toggle/toggle.component.js +3 -3
  327. package/esm5/enums/file-state.js +1 -1
  328. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +26 -2
  329. package/esm5/pipes/field-error/field-error-content-pipe.js +11 -3
  330. package/esm5/tokens/i18n.js +7 -1
  331. package/esm5/utils/files/get-accept-array.js +7 -0
  332. package/esm5/utils/files/index.js +2 -1
  333. package/fesm2015/taiga-ui-kit-abstract.js +48 -7
  334. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  335. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  336. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  337. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  338. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  339. package/fesm2015/taiga-ui-kit-components-badged-content.js +2 -2
  340. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  341. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  342. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  343. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  344. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  345. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  346. package/fesm2015/taiga-ui-kit-components-files.js +232 -0
  347. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -0
  348. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -2
  349. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  350. package/fesm2015/taiga-ui-kit-components-input-date-range.js +3 -1
  351. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  352. package/fesm2015/taiga-ui-kit-components-input-date-time.js +1 -1
  353. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  354. package/fesm2015/taiga-ui-kit-components-input-date.js +4 -2
  355. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  356. package/fesm2015/taiga-ui-kit-components-input-file.js +25 -25
  357. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  358. package/fesm2015/taiga-ui-kit-components-input-files.js +246 -0
  359. package/fesm2015/taiga-ui-kit-components-input-files.js.map +1 -0
  360. package/fesm2015/taiga-ui-kit-components-input-number.js +27 -18
  361. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  362. package/fesm2015/taiga-ui-kit-components-input-password.js +3 -3
  363. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  364. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +19 -5
  365. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  366. package/fesm2015/taiga-ui-kit-components-input-phone.js +5 -4
  367. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  368. package/fesm2015/taiga-ui-kit-components-input-range.js +23 -5
  369. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  370. package/fesm2015/taiga-ui-kit-components-input-slider.js +203 -108
  371. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  372. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  373. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  374. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  375. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  376. package/fesm2015/taiga-ui-kit-components-line-clamp.js +3 -3
  377. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  378. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +2 -2
  379. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  380. package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -2
  381. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  382. package/fesm2015/taiga-ui-kit-components-pagination.js +1 -1
  383. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  384. package/fesm2015/taiga-ui-kit-components-progress.js +2 -2
  385. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  386. package/fesm2015/taiga-ui-kit-components-radio.js +1 -1
  387. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  388. package/fesm2015/taiga-ui-kit-components-select.js +1 -1
  389. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  390. package/fesm2015/taiga-ui-kit-components-slider.js +51 -16
  391. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  392. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  393. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  394. package/fesm2015/taiga-ui-kit-components-toggle.js +2 -2
  395. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  396. package/fesm2015/taiga-ui-kit-components.js +2 -0
  397. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  398. package/fesm2015/taiga-ui-kit-enums.js.map +1 -1
  399. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +25 -1
  400. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  401. package/fesm2015/taiga-ui-kit-pipes-field-error.js +10 -2
  402. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
  403. package/fesm2015/taiga-ui-kit-tokens.js +7 -1
  404. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  405. package/fesm2015/taiga-ui-kit-utils-files.js +8 -1
  406. package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
  407. package/fesm5/taiga-ui-kit-abstract.js +66 -19
  408. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  409. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  410. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  411. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  412. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  413. package/fesm5/taiga-ui-kit-components-badged-content.js +2 -2
  414. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  415. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  416. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  417. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  418. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +4 -4
  419. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  420. package/fesm5/taiga-ui-kit-components-files.js +289 -0
  421. package/fesm5/taiga-ui-kit-components-files.js.map +1 -0
  422. package/fesm5/taiga-ui-kit-components-input-count.js +2 -2
  423. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  424. package/fesm5/taiga-ui-kit-components-input-date-range.js +3 -1
  425. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  426. package/fesm5/taiga-ui-kit-components-input-date-time.js +1 -1
  427. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  428. package/fesm5/taiga-ui-kit-components-input-date.js +4 -2
  429. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  430. package/fesm5/taiga-ui-kit-components-input-file.js +43 -45
  431. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  432. package/fesm5/taiga-ui-kit-components-input-files.js +284 -0
  433. package/fesm5/taiga-ui-kit-components-input-files.js.map +1 -0
  434. package/fesm5/taiga-ui-kit-components-input-number.js +37 -26
  435. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  436. package/fesm5/taiga-ui-kit-components-input-password.js +3 -3
  437. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  438. package/fesm5/taiga-ui-kit-components-input-phone-international.js +20 -8
  439. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  440. package/fesm5/taiga-ui-kit-components-input-phone.js +5 -4
  441. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  442. package/fesm5/taiga-ui-kit-components-input-range.js +27 -5
  443. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  444. package/fesm5/taiga-ui-kit-components-input-slider.js +206 -119
  445. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  446. package/fesm5/taiga-ui-kit-components-input-tag.js +1 -1
  447. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  448. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  449. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  450. package/fesm5/taiga-ui-kit-components-line-clamp.js +3 -3
  451. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  452. package/fesm5/taiga-ui-kit-components-multi-select-option.js +2 -2
  453. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  454. package/fesm5/taiga-ui-kit-components-multi-select.js +2 -2
  455. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  456. package/fesm5/taiga-ui-kit-components-pagination.js +1 -1
  457. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  458. package/fesm5/taiga-ui-kit-components-progress.js +2 -2
  459. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  460. package/fesm5/taiga-ui-kit-components-radio.js +1 -1
  461. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  462. package/fesm5/taiga-ui-kit-components-select.js +1 -1
  463. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  464. package/fesm5/taiga-ui-kit-components-slider.js +66 -21
  465. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  466. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  467. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  468. package/fesm5/taiga-ui-kit-components-toggle.js +2 -2
  469. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  470. package/fesm5/taiga-ui-kit-components.js +2 -0
  471. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  472. package/fesm5/taiga-ui-kit-enums.js.map +1 -1
  473. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +25 -1
  474. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  475. package/fesm5/taiga-ui-kit-pipes-field-error.js +10 -2
  476. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
  477. package/fesm5/taiga-ui-kit-tokens.js +7 -1
  478. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  479. package/fesm5/taiga-ui-kit-utils-files.js +8 -1
  480. package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
  481. package/internal/primitive-calendar-range/primitive-calendar-range.component.d.ts +3 -0
  482. package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
  483. package/package.json +4 -4
  484. package/pipes/field-error/field-error-content-pipe.d.ts +1 -0
  485. package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -1
  486. package/tokens/i18n.d.ts +2 -0
  487. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  488. package/utils/files/get-accept-array.d.ts +1 -0
  489. package/utils/files/index.d.ts +1 -0
  490. package/utils/files/taiga-ui-kit-utils-files.metadata.json +1 -1
@@ -1,222 +1,304 @@
1
- import { __extends, __decorate, __param } from 'tslib';
2
- import { Optional, Self, Inject, ChangeDetectorRef, ViewChild, Input, HostBinding, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
1
+ import { __decorate, __extends, __param } from 'tslib';
2
+ import { Directive, Optional, Self, Inject, ChangeDetectorRef, ViewChild, ElementRef, Input, Component, ChangeDetectionStrategy, forwardRef, NgModule } from '@angular/core';
3
3
  import { NgControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
4
- import { isNativeFocused, setNativeFocused, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiFocusableModule, TuiFocusedModule, TuiHoveredModule, TuiPressedModule, TuiMapperPipeModule, TuiInputModeModule } from '@taiga-ui/cdk';
5
- import { maskedNumberStringToNumber, maskedMoneyValueIsEmpty, formatNumber, TuiModeDirective, TuiHintControllerDirective, TUI_HINT_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, TUI_TEXTFIELD_APPEARANCE, HINT_CONTROLLER_PROVIDER, TuiTooltipModule, TuiWrapperModule } from '@taiga-ui/core';
4
+ import { isNativeFocused, tuiAssert, setNativeFocused, round, clamp, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, TuiFocusableModule, TuiFocusedModule, TuiHoveredModule, TuiPressedModule, TuiMapperPipeModule, TuiInputModeModule, TuiRepeatTimesModule } from '@taiga-ui/cdk';
5
+ import { getFractionPartPadded, TuiTextfieldController, TUI_TEXTFIELD_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, HINT_CONTROLLER_PROVIDER, TEXTFIELD_CONTROLLER_PROVIDER, TuiTooltipModule, TuiWrapperModule, TuiFormatNumberPipeModule, TuiTextfieldControllerModule } from '@taiga-ui/core';
6
6
  import { AbstractTuiInputSlider } from '@taiga-ui/kit/abstract';
7
+ import { TuiInputNumberComponent, TuiInputNumberModule } from '@taiga-ui/kit/components/input-number';
8
+ import { TuiSliderComponent, tuiSliderOptionsProvider, TuiSliderModule } from '@taiga-ui/kit/components/slider';
9
+ import { TUI_FLOATING_PRECISION } from '@taiga-ui/kit/constants';
10
+ import { TUI_FROM_TO_TEXTS } from '@taiga-ui/kit/tokens';
11
+ import { Observable } from 'rxjs';
7
12
  import { CommonModule } from '@angular/common';
8
- import { TuiSliderModule } from '@taiga-ui/kit/components/slider';
13
+ import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
9
14
  import { TextMaskModule } from 'angular2-text-mask';
10
15
 
16
+ /**
17
+ * Turn on new `InputSlider`'s version.
18
+ * The new version will behave almost the same as `InputSlider` from the next major release.
19
+ * @deprecated TODO remove me in v3.0 and make `InputSlider` always "new".
20
+ */
21
+ var TuiNewInputSliderDirective = /** @class */ (function () {
22
+ function TuiNewInputSliderDirective() {
23
+ }
24
+ TuiNewInputSliderDirective = __decorate([
25
+ Directive({
26
+ selector: 'tui-input-slider[new]',
27
+ })
28
+ ], TuiNewInputSliderDirective);
29
+ return TuiNewInputSliderDirective;
30
+ }());
11
31
  // @dynamic
12
32
  var TuiInputSliderComponent = /** @class */ (function (_super) {
13
33
  __extends(TuiInputSliderComponent, _super);
14
- function TuiInputSliderComponent(control, changeDetectorRef, modeDirective, hintController, numberFormat, appearance) {
34
+ function TuiInputSliderComponent(control, changeDetectorRef, controller, numberFormat, fromToTexts$, isNew) {
15
35
  var _this = _super.call(this, control, changeDetectorRef) || this;
16
- _this.modeDirective = modeDirective;
17
- _this.hintController = hintController;
36
+ _this.controller = controller;
18
37
  _this.numberFormat = numberFormat;
19
- _this.appearance = appearance;
38
+ _this.fromToTexts$ = fromToTexts$;
39
+ _this.isNew = isNew;
40
+ _this.min = 0;
41
+ _this.max = Infinity;
42
+ _this.quantum = 1;
43
+ _this.steps = 0;
44
+ _this.segments = 0;
45
+ _this.keySteps = null;
46
+ _this.valueContent = '';
47
+ _this.prefix = '';
48
+ _this.postfix = '';
49
+ /**
50
+ * @deprecated use `tuiTextfieldSize` instead
51
+ * TODO delete in v3.0
52
+ */
53
+ _this.size = 'l';
54
+ /**
55
+ * @deprecated use `tuiTextfieldCustomContent` instead
56
+ * TODO delete in v3.0
57
+ */
20
58
  _this.secondary = '';
21
59
  return _this;
22
60
  }
23
61
  TuiInputSliderComponent_1 = TuiInputSliderComponent;
24
62
  Object.defineProperty(TuiInputSliderComponent.prototype, "nativeFocusableElement", {
25
63
  get: function () {
26
- return !this.focusableElement || this.computedDisabled
64
+ var _a;
65
+ return !((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement) || this.computedDisabled
27
66
  ? null
28
- : this.focusableElement.nativeElement;
67
+ : this.inputNumberRef.nativeFocusableElement;
29
68
  },
30
69
  enumerable: true,
31
70
  configurable: true
32
71
  });
33
72
  Object.defineProperty(TuiInputSliderComponent.prototype, "focused", {
34
73
  get: function () {
35
- return isNativeFocused(this.nativeFocusableElement);
74
+ var _a;
75
+ return (isNativeFocused(this.nativeFocusableElement) ||
76
+ isNativeFocused(((_a = this.sliderRef) === null || _a === void 0 ? void 0 : _a.nativeElement) || null));
36
77
  },
37
78
  enumerable: true,
38
79
  configurable: true
39
80
  });
40
- Object.defineProperty(TuiInputSliderComponent.prototype, "hasTooltip", {
81
+ Object.defineProperty(TuiInputSliderComponent.prototype, "computedSteps", {
41
82
  get: function () {
42
- return !!this.hintController.content && !this.disabled;
83
+ return this.steps || (this.max - this.min) / this.quantum;
43
84
  },
44
85
  enumerable: true,
45
86
  configurable: true
46
87
  });
47
- Object.defineProperty(TuiInputSliderComponent.prototype, "showMinLabel", {
88
+ Object.defineProperty(TuiInputSliderComponent.prototype, "precision", {
48
89
  get: function () {
49
- return !this.focused && this.value === this.min && !!this.minLabel;
90
+ return getFractionPartPadded(this.quantum).length;
50
91
  },
51
92
  enumerable: true,
52
93
  configurable: true
53
94
  });
54
- Object.defineProperty(TuiInputSliderComponent.prototype, "showMaxLabel", {
95
+ Object.defineProperty(TuiInputSliderComponent.prototype, "decimal", {
55
96
  get: function () {
56
- return !this.focused && this.value === this.max && !!this.maxLabel;
97
+ return this.precision ? 'not-zero' : 'never';
57
98
  },
58
99
  enumerable: true,
59
100
  configurable: true
60
101
  });
61
- Object.defineProperty(TuiInputSliderComponent.prototype, "computedValue", {
102
+ Object.defineProperty(TuiInputSliderComponent.prototype, "computedSize", {
103
+ /**
104
+ * TODO remove old property `size` in v3.0
105
+ */
62
106
  get: function () {
63
- if (this.focused && this.isInputValueNotFinished) {
64
- return this.inputValue;
107
+ if (this.isNew) {
108
+ tuiAssert.assert(this.controller.size !== 's', "Size 's' is not supported by this input.");
109
+ return this.controller.size === 'l' ? 'l' : 'm';
65
110
  }
66
- return this.formattedValue;
67
- },
68
- enumerable: true,
69
- configurable: true
70
- });
71
- Object.defineProperty(TuiInputSliderComponent.prototype, "showValue", {
72
- get: function () {
73
- return !this.showMinLabel && !this.showMaxLabel;
111
+ return this.size;
74
112
  },
75
113
  enumerable: true,
76
114
  configurable: true
77
115
  });
78
- Object.defineProperty(TuiInputSliderComponent.prototype, "inputValue", {
116
+ Object.defineProperty(TuiInputSliderComponent.prototype, "computedValueContent", {
117
+ /**
118
+ * @deprecated for backward compatibility
119
+ * TODO replace by just `this.valueContent` in v3.0
120
+ */
79
121
  get: function () {
80
- return this.focusableElement ? this.focusableElement.nativeElement.value : '';
81
- },
82
- set: function (value) {
83
- if (this.focusableElement) {
84
- this.focusableElement.nativeElement.value = value;
85
- }
122
+ return this.minLabel || this.maxLabel
123
+ ? legacyMinMaxLabel(this)
124
+ : this.valueContent;
86
125
  },
87
126
  enumerable: true,
88
127
  configurable: true
89
128
  });
90
- TuiInputSliderComponent.prototype.onMouseDown = function () {
91
- if (this.focusableElement) {
92
- setNativeFocused(this.focusableElement.nativeElement);
129
+ TuiInputSliderComponent.prototype.focusTextInput = function () {
130
+ var _a;
131
+ var focusableElement = (_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeFocusableElement;
132
+ if (focusableElement) {
133
+ setNativeFocused(focusableElement);
93
134
  }
94
135
  };
95
- TuiInputSliderComponent.prototype.onKeyDownArrowUp = function (event) {
96
- if (this.readOnly) {
97
- return;
98
- }
99
- event.preventDefault();
100
- this.processStep(true);
101
- this.inputValue = this.formattedValue;
136
+ TuiInputSliderComponent.prototype.safelyUpdateValue = function (value) {
137
+ this.updateValue(this.valueGuard(value !== null && value !== void 0 ? value : this.safeCurrentValue));
102
138
  };
103
- TuiInputSliderComponent.prototype.onKeyDownArrowDown = function (event) {
139
+ TuiInputSliderComponent.prototype.onVerticalArrowKeyDown = function (coefficient) {
104
140
  if (this.readOnly) {
105
141
  return;
106
142
  }
107
- event.preventDefault();
108
- this.processStep(false);
109
- this.inputValue = this.formattedValue;
110
- };
111
- TuiInputSliderComponent.prototype.onFocused = function (focused) {
112
- this.updateFocused(focused);
113
- if (focused) {
114
- return;
143
+ var value = this.value + coefficient * this.step;
144
+ if (value !== this.value) {
145
+ this.safelyUpdateValue(value);
115
146
  }
116
- var inputValue = maskedNumberStringToNumber(this.computedValue, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
117
- var value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);
118
- this.updateValue(value);
119
- this.inputValue = this.formattedValue;
147
+ this.updateTextInputValue(this.valueGuard(value));
120
148
  };
121
- TuiInputSliderComponent.prototype.onValue = function (value) {
122
- var capped = this.capInputValue(value);
123
- var postfix = value.slice(-1)[0] === ',' ? ',' : '';
124
- if (maskedMoneyValueIsEmpty(value) || capped === null) {
125
- return;
126
- }
127
- var newValue = this.formatNumber(capped) + postfix;
128
- if (value !== newValue) {
129
- this.inputValue = newValue;
149
+ TuiInputSliderComponent.prototype.onFocused = function (focused) {
150
+ if (!focused && !this.textInputValue) {
151
+ this.updateTextInputValue(this.safeCurrentValue);
130
152
  }
131
- this.updateValue(capped);
153
+ this.updateFocused(focused);
132
154
  };
133
- TuiInputSliderComponent.prototype.onSliderValue = function (value) {
134
- this.updateValue(this.valueGuard(value));
135
- this.inputValue = this.formattedValue;
155
+ TuiInputSliderComponent.prototype.onPressed = function (pressed) {
156
+ this.updatePressed(pressed);
136
157
  };
137
- TuiInputSliderComponent.prototype.getFallbackValue = function () {
138
- return 0;
158
+ TuiInputSliderComponent.prototype.onHovered = function (hovered) {
159
+ this.updateHovered(hovered);
139
160
  };
140
- Object.defineProperty(TuiInputSliderComponent.prototype, "formattedValue", {
141
- get: function () {
142
- return this.formatNumber(this.value);
143
- },
144
- enumerable: true,
145
- configurable: true
146
- });
147
- Object.defineProperty(TuiInputSliderComponent.prototype, "isInputValueNotFinished", {
161
+ Object.defineProperty(TuiInputSliderComponent.prototype, "textInputValue", {
148
162
  get: function () {
149
- if (this.inputValue === '') {
150
- return true;
151
- }
152
- var nativeNumberValue = maskedNumberStringToNumber(this.inputValue, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
153
- return nativeNumberValue < 0
154
- ? nativeNumberValue > this.max
155
- : nativeNumberValue < this.min;
163
+ var _a;
164
+ return ((_a = this.inputNumberRef) === null || _a === void 0 ? void 0 : _a.nativeValue) || '';
156
165
  },
157
166
  enumerable: true,
158
167
  configurable: true
159
168
  });
160
- TuiInputSliderComponent.prototype.processStep = function (increment) {
161
- var value = this.valueGuard(increment ? this.value + this.step : this.value - this.step);
162
- if (value !== this.value) {
163
- this.updateValue(value);
164
- }
169
+ TuiInputSliderComponent.prototype.getFallbackValue = function () {
170
+ return 0;
165
171
  };
166
- TuiInputSliderComponent.prototype.formatNumber = function (value) {
167
- return formatNumber(value, null, this.numberFormat.decimalSeparator, this.numberFormat.thousandSeparator);
172
+ TuiInputSliderComponent.prototype.valueGuard = function (value) {
173
+ var roundedValue = round(Math.round(value / this.quantum) * this.quantum, TUI_FLOATING_PRECISION);
174
+ return clamp(roundedValue, this.min, this.max);
175
+ };
176
+ TuiInputSliderComponent.prototype.updateTextInputValue = function (value) {
177
+ if (this.inputNumberRef) {
178
+ this.inputNumberRef.nativeValue =
179
+ this.inputNumberRef.getFormattedValue(value);
180
+ }
168
181
  };
169
182
  var TuiInputSliderComponent_1;
170
183
  TuiInputSliderComponent.ctorParameters = function () { return [
171
184
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
172
185
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
173
- { type: TuiModeDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiModeDirective,] }] },
174
- { type: TuiHintControllerDirective, decorators: [{ type: Inject, args: [TUI_HINT_WATCHED_CONTROLLER,] }] },
186
+ { type: TuiTextfieldController, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_WATCHED_CONTROLLER,] }] },
175
187
  { type: undefined, decorators: [{ type: Inject, args: [TUI_NUMBER_FORMAT,] }] },
176
- { type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
188
+ { type: Observable, decorators: [{ type: Inject, args: [TUI_FROM_TO_TEXTS,] }] },
189
+ { type: TuiNewInputSliderDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiNewInputSliderDirective,] }] }
177
190
  ]; };
178
191
  __decorate([
179
- ViewChild('focusableElement')
180
- ], TuiInputSliderComponent.prototype, "focusableElement", void 0);
192
+ ViewChild(TuiInputNumberComponent)
193
+ ], TuiInputSliderComponent.prototype, "inputNumberRef", void 0);
194
+ __decorate([
195
+ ViewChild(TuiSliderComponent, { read: ElementRef })
196
+ ], TuiInputSliderComponent.prototype, "sliderRef", void 0);
181
197
  __decorate([
182
198
  Input(),
183
199
  tuiDefaultProp()
184
- ], TuiInputSliderComponent.prototype, "secondary", void 0);
200
+ ], TuiInputSliderComponent.prototype, "min", void 0);
201
+ __decorate([
202
+ Input(),
203
+ tuiDefaultProp()
204
+ ], TuiInputSliderComponent.prototype, "max", void 0);
205
+ __decorate([
206
+ Input(),
207
+ tuiDefaultProp(quantumAssertion, 'Quantum must be positive')
208
+ ], TuiInputSliderComponent.prototype, "quantum", void 0);
209
+ __decorate([
210
+ Input(),
211
+ tuiDefaultProp()
212
+ ], TuiInputSliderComponent.prototype, "steps", void 0);
213
+ __decorate([
214
+ Input(),
215
+ tuiDefaultProp()
216
+ ], TuiInputSliderComponent.prototype, "segments", void 0);
217
+ __decorate([
218
+ Input(),
219
+ tuiDefaultProp()
220
+ ], TuiInputSliderComponent.prototype, "keySteps", void 0);
185
221
  __decorate([
186
- HostBinding('class._has-tooltip')
187
- ], TuiInputSliderComponent.prototype, "hasTooltip", null);
222
+ Input(),
223
+ tuiDefaultProp()
224
+ ], TuiInputSliderComponent.prototype, "valueContent", void 0);
225
+ __decorate([
226
+ Input(),
227
+ tuiDefaultProp()
228
+ ], TuiInputSliderComponent.prototype, "prefix", void 0);
188
229
  __decorate([
189
- HostBinding('class._min-label')
190
- ], TuiInputSliderComponent.prototype, "showMinLabel", null);
230
+ Input(),
231
+ tuiDefaultProp()
232
+ ], TuiInputSliderComponent.prototype, "postfix", void 0);
233
+ __decorate([
234
+ Input(),
235
+ tuiDefaultProp()
236
+ ], TuiInputSliderComponent.prototype, "size", void 0);
191
237
  __decorate([
192
- HostBinding('class._max-label')
193
- ], TuiInputSliderComponent.prototype, "showMaxLabel", null);
238
+ Input(),
239
+ tuiDefaultProp()
240
+ ], TuiInputSliderComponent.prototype, "secondary", void 0);
194
241
  TuiInputSliderComponent = TuiInputSliderComponent_1 = __decorate([
195
242
  Component({
196
243
  selector: 'tui-input-slider',
197
- template: "<tui-wrapper\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n>\n <span\n *ngIf=\"hasPlaceholder\"\n automation-id=\"tui-input-slider__placeholder\"\n class=\"t-placeholder t-placeholder_raised\"\n >\n <ng-content></ng-content>\n </span>\n <input\n #focusableElement\n automation-id=\"tui-input-slider__native\"\n class=\"t-native\"\n [disabled]=\"disabled\"\n [readOnly]=\"readOnly\"\n [tuiInputMode]=\"inputMode\"\n [tuiFocusable]=\"focusable\"\n [textMask]=\"quantum | tuiMapper: mask:min\"\n [ngModel]=\"computedValue\"\n (ngModelChange)=\"onValue($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (keydown.arrowUp)=\"onKeyDownArrowUp($event)\"\n (keydown.arrowDown)=\"onKeyDownArrowDown($event)\"\n />\n <div class=\"t-content\">\n <span *ngIf=\"showValue\" class=\"t-label\">\n <span class=\"t-value\">{{ computedValue }}</span>\n <span\n *ngIf=\"pluralizeMap\"\n automation-id=\"tui-input-slider__pluralize\"\n >\n {{ value | i18nPlural: pluralizeMap }}\n </span>\n </span>\n <span\n *ngIf=\"showMinLabel\"\n automation-id=\"tui-input-slider__min-label\"\n class=\"t-label\"\n >\n {{ minLabel }}\n </span>\n <span\n *ngIf=\"showMaxLabel\"\n automation-id=\"tui-input-slider__max-label\"\n class=\"t-label\"\n >\n {{ maxLabel }}\n </span>\n <span automation-id=\"tui-input-slider__secondary\" class=\"t-secondary\">\n {{ secondary }}\n <tui-tooltip\n *ngIf=\"hasTooltip\"\n automation-id=\"tui-input-slider__tooltip\"\n describeId=\"placeholer_until_accesibility_is_added\"\n class=\"t-tooltip\"\n [content]=\"hintController.content\"\n [direction]=\"hintController.direction\"\n [mode]=\"hintController.mode\"\n [showDelay]=\"hintController.showDelay\"\n [hideDelay]=\"hintController.hideDelay\"\n (mousedown.prevent)=\"onMouseDown()\"\n ></tui-tooltip>\n </span>\n </div>\n</tui-wrapper>\n<tui-slider\n class=\"t-slider\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"keySteps\"\n [pluralize]=\"segmentsPluralize\"\n [focusable]=\"false\"\n [disabled]=\"readOnly || disabled\"\n [ngModel]=\"value\"\n (ngModelChange)=\"onSliderValue($event)\"\n (mousedown)=\"onMouseDown()\"\n></tui-slider>\n",
244
+ template: "<tui-input-number\n [min]=\"min\"\n [max]=\"max\"\n [precision]=\"precision\"\n [decimal]=\"decimal\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix || (value | i18nPlural: pluralizeMap || pluralizeMapFallback)\"\n [tuiTextfieldCustomContent]=\"controller.customContent || deprecatedSecondary\"\n [tuiTextfieldSize]=\"computedSize\"\n [tuiTextfieldLabelOutside]=\"computedSize !== 'l'\"\n [readOnly]=\"readOnly\"\n [pseudoFocused]=\"computedFocused\"\n [pseudoHovered]=\"computedHovered\"\n [pseudoPressed]=\"computedPressed\"\n [pseudoInvalid]=\"pseudoInvalid\"\n [ngModel]=\"value\"\n (ngModelChange)=\"safelyUpdateValue($event)\"\n (focusedChange)=\"onFocused($event)\"\n (hoveredChange)=\"onHovered($event)\"\n (pressedChange)=\"onPressed($event)\"\n (keydown.arrowUp.prevent)=\"onVerticalArrowKeyDown(1)\"\n (keydown.arrowDown.prevent)=\"onVerticalArrowKeyDown(-1)\"\n>\n <ng-content></ng-content>\n <div\n *ngIf=\"computedValueContent && !focused\"\n polymorpheus-outlet\n automation-id=\"tui-input-slider__value-content\"\n [content]=\"computedValueContent\"\n [context]=\"{$implicit: value}\"\n ></div>\n</tui-input-number>\n\n<!--TODO: remove in v3.0-->\n<ng-template #deprecatedSecondary>{{secondary}}</ng-template>\n\n<!--TODO: remove wrapper + ticks labels (leave only slider) in v3.0-->\n<div class=\"t-slider-wrapper\">\n <input\n tuiSlider\n type=\"range\"\n [tuiFocusable]=\"false\"\n [max]=\"computedSteps\"\n [segments]=\"segments\"\n [keySteps]=\"computedKeySteps\"\n [attr.disabled]=\"readOnly || disabled || null\"\n [ngModel]=\"value\"\n (keyStepsInput)=\"safelyUpdateValue($event)\"\n (click)=\"focusTextInput()\"\n />\n\n <!--TODO delete ticks labels in v3.0-->\n <div *ngIf=\"segments && !isNew\" class=\"t-ticks-labels\">\n <span\n *tuiRepeatTimes=\"let tickIndex of segments + 1\"\n automation-id=\"tui-slider__segment\"\n >\n <span *ngIf=\"fromToTexts$ | async as fromToText\">\n {{ getTickPrefix(tickIndex, segments, fromToText) }} {{\n tickIndex | tuiSliderTickLabel:segments:computedKeySteps |\n tuiFormatNumber}}\n <span *ngIf=\"segmentsPluralizeMap\">\n {{ tickIndex | tuiSliderTickLabel:segments:computedKeySteps\n | i18nPlural: segmentsPluralizeMap }}\n </span>\n </span>\n </span>\n </div>\n</div>\n",
245
+ host: {
246
+ /**
247
+ * TODO delete it in v3.0
248
+ * Dont forget to clear html-tags
249
+ */
250
+ '[class._show-ticks-labels]': '!isNew',
251
+ },
198
252
  changeDetection: ChangeDetectionStrategy.OnPush,
199
253
  providers: [
200
254
  {
201
255
  provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
202
256
  useExisting: forwardRef(function () { return TuiInputSliderComponent_1; }),
203
257
  },
258
+ tuiSliderOptionsProvider({ trackColor: 'transparent' }),
204
259
  HINT_CONTROLLER_PROVIDER,
260
+ TEXTFIELD_CONTROLLER_PROVIDER,
205
261
  ],
206
- styles: [":host{position:relative;z-index:0;display:block;font:var(--tui-font-text-m);border-radius:var(--tui-radius-m);color:var(--tui-text-01)}:host._segmented{border-bottom:26px solid transparent}.t-native{position:absolute;top:0;left:0;height:100%;padding:0 1rem;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;width:100%;color:var(--tui-text-01);box-sizing:border-box;outline:0}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .t-native{color:var(--tui-text-03);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._max-label .t-native,:host._min-label .t-native{opacity:0}:host[data-size='l'] .t-native{padding:1.25rem 1rem 0}:host[data-mode=onDark] .t-native{color:var(--tui-text-01-night)}:host[data-mode=onDark]._disabled .t-native{color:var(--tui-text-03-night)}.t-content{display:flex;align-items:center;height:var(--tui-height-m);padding:0 1rem;justify-content:space-between}:host[data-size='l'] .t-content{height:var(--tui-height-l);padding:0 1rem}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-l);line-height:var(--tui-height-l);box-sizing:border-box;pointer-events:none}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}:host._has-tooltip .t-placeholder{max-width:calc(100% - 1.75rem)}.t-value{visibility:hidden}.t-label{overflow:hidden;text-overflow:ellipsis}:host[data-size='l'] .t-label{padding-top:1.25rem}.t-secondary{color:var(--tui-text-01)}:host._disabled .t-secondary{color:var(--tui-text-03)}:host[data-mode=onDark]._disabled .t-secondary{color:var(--tui-text-03-night)}.t-tooltip{margin-left:.75rem}.t-slider{position:absolute;top:100%;left:0;right:0;border-top-left-radius:0;border-top-right-radius:0;margin:-.5625rem 0 0;color:transparent}:host._disabled .t-slider,:host._readonly .t-slider{pointer-events:none}"]
207
- }),
262
+ styles: [":host{position:relative;z-index:0;display:block}:host._segmented._show-ticks-labels{border-bottom:26px solid transparent}.t-slider-wrapper{position:absolute;top:100%;left:calc(var(--tui-radius-m)/ 2);right:0;margin:-.5625rem 0 0}input[type=range]{border-top-left-radius:0;border-bottom-left-radius:calc(var(--tui-radius-m) * 5) calc(var(--tui-radius-m) * 1.5)}.t-ticks-labels{display:flex;margin:0 .5rem;font:var(--tui-font-text-s);color:var(--tui-text-02)}.t-ticks-labels>*{position:relative;flex:2;text-align:center}.t-ticks-labels>:first-child{left:-.5rem;flex:1;text-align:left}.t-ticks-labels>:last-child{right:-.5rem;flex:1;text-align:right}tui-input-slider+.t-ticks-labels{margin-left:calc(var(--tui-radius-m)/ 2 + .5rem)}"]
263
+ })
264
+ /**
265
+ * TODO replace `extends AbstractTuiInputSlider<number>` by `extends AbstractTuiControl<number> implements TuiWithOptionalMinMax<number>`
266
+ * in v3.0
267
+ */
268
+ ,
208
269
  __param(0, Optional()),
209
270
  __param(0, Self()),
210
271
  __param(0, Inject(NgControl)),
211
272
  __param(1, Inject(ChangeDetectorRef)),
212
- __param(2, Optional()),
213
- __param(2, Inject(TuiModeDirective)),
214
- __param(3, Inject(TUI_HINT_WATCHED_CONTROLLER)),
215
- __param(4, Inject(TUI_NUMBER_FORMAT)),
216
- __param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
273
+ __param(2, Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)),
274
+ __param(3, Inject(TUI_NUMBER_FORMAT)),
275
+ __param(4, Inject(TUI_FROM_TO_TEXTS)),
276
+ __param(5, Optional()),
277
+ __param(5, Inject(TuiNewInputSliderDirective))
217
278
  ], TuiInputSliderComponent);
218
279
  return TuiInputSliderComponent;
219
280
  }(AbstractTuiInputSlider));
281
+ function quantumAssertion(quantum) {
282
+ return quantum > 0;
283
+ }
284
+ /**
285
+ * @deprecated helper for backward compatibility.
286
+ * TODO remove in v3.0
287
+ */
288
+ function legacyMinMaxLabel(_a) {
289
+ var min = _a.min, max = _a.max, minLabel = _a.minLabel, maxLabel = _a.maxLabel;
290
+ return function (_a) {
291
+ var value = _a.$implicit;
292
+ switch (value) {
293
+ case min:
294
+ return minLabel || value;
295
+ case max:
296
+ return maxLabel || value;
297
+ default:
298
+ return value;
299
+ }
300
+ };
301
+ }
220
302
 
221
303
  var TuiInputSliderModule = /** @class */ (function () {
222
304
  function TuiInputSliderModule() {
@@ -237,9 +319,14 @@ var TuiInputSliderModule = /** @class */ (function () {
237
319
  TuiTooltipModule,
238
320
  TuiSliderModule,
239
321
  TuiWrapperModule,
322
+ TuiFormatNumberPipeModule,
323
+ TuiRepeatTimesModule,
324
+ PolymorpheusModule,
325
+ TuiInputNumberModule,
326
+ TuiTextfieldControllerModule,
240
327
  ],
241
- declarations: [TuiInputSliderComponent],
242
- exports: [TuiInputSliderComponent],
328
+ declarations: [TuiInputSliderComponent, TuiNewInputSliderDirective],
329
+ exports: [TuiInputSliderComponent, TuiNewInputSliderDirective],
243
330
  })
244
331
  ], TuiInputSliderModule);
245
332
  return TuiInputSliderModule;
@@ -249,5 +336,5 @@ var TuiInputSliderModule = /** @class */ (function () {
249
336
  * Generated bundle index. Do not edit.
250
337
  */
251
338
 
252
- export { TuiInputSliderComponent, TuiInputSliderModule };
339
+ export { TuiInputSliderComponent, TuiInputSliderModule, TuiNewInputSliderDirective };
253
340
  //# sourceMappingURL=taiga-ui-kit-components-input-slider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-slider.js","sources":["ng://@taiga-ui/kit/components/input-slider/input-slider.component.ts","ng://@taiga-ui/kit/components/input-slider/input-slider.module.ts","ng://@taiga-ui/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n formatNumber,\n HINT_CONTROLLER_PROVIDER,\n maskedMoneyValueIsEmpty,\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TuiHintControllerDirective,\n TuiModeDirective,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\n\n// @dynamic\n@Component({\n selector: 'tui-input-slider',\n templateUrl: './input-slider.template.html',\n styleUrls: ['./input-slider.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputSliderComponent),\n },\n HINT_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiInputSliderComponent\n extends AbstractTuiInputSlider<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n secondary = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n protected readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n readonly appearance: string,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._min-label')\n get showMinLabel(): boolean {\n return !this.focused && this.value === this.min && !!this.minLabel;\n }\n\n @HostBinding('class._max-label')\n get showMaxLabel(): boolean {\n return !this.focused && this.value === this.max && !!this.maxLabel;\n }\n\n get computedValue(): string {\n if (this.focused && this.isInputValueNotFinished) {\n return this.inputValue;\n }\n\n return this.formattedValue;\n }\n\n get showValue(): boolean {\n return !this.showMinLabel && !this.showMaxLabel;\n }\n\n get inputValue(): string {\n return this.focusableElement ? this.focusableElement.nativeElement.value : '';\n }\n\n set inputValue(value: string) {\n if (this.focusableElement) {\n this.focusableElement.nativeElement.value = value;\n }\n }\n\n onMouseDown() {\n if (this.focusableElement) {\n setNativeFocused(this.focusableElement.nativeElement);\n }\n }\n\n onKeyDownArrowUp(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(true);\n this.inputValue = this.formattedValue;\n }\n\n onKeyDownArrowDown(event: KeyboardEvent) {\n if (this.readOnly) {\n return;\n }\n\n event.preventDefault();\n this.processStep(false);\n this.inputValue = this.formattedValue;\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n\n if (focused) {\n return;\n }\n\n const inputValue = maskedNumberStringToNumber(\n this.computedValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n const value = isNaN(inputValue) ? this.min : this.valueGuard(inputValue);\n\n this.updateValue(value);\n this.inputValue = this.formattedValue;\n }\n\n onValue(value: string) {\n const capped = this.capInputValue(value);\n const postfix = value.slice(-1)[0] === ',' ? ',' : '';\n\n if (maskedMoneyValueIsEmpty(value) || capped === null) {\n return;\n }\n\n const newValue = this.formatNumber(capped) + postfix;\n\n if (value !== newValue) {\n this.inputValue = newValue;\n }\n\n this.updateValue(capped);\n }\n\n onSliderValue(value: number) {\n this.updateValue(this.valueGuard(value));\n this.inputValue = this.formattedValue;\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n private get formattedValue(): string {\n return this.formatNumber(this.value);\n }\n\n private get isInputValueNotFinished(): boolean {\n if (this.inputValue === '') {\n return true;\n }\n\n const nativeNumberValue = maskedNumberStringToNumber(\n this.inputValue,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n\n return nativeNumberValue < 0\n ? nativeNumberValue > this.max\n : nativeNumberValue < this.min;\n }\n\n private processStep(increment: boolean) {\n const value = this.valueGuard(\n increment ? this.value + this.step : this.value - this.step,\n );\n\n if (value !== this.value) {\n this.updateValue(value);\n }\n }\n\n private formatNumber(value: number): string {\n return formatNumber(\n value,\n null,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiTooltipModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {TuiInputSliderComponent} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiTooltipModule,\n TuiSliderModule,\n TuiWrapperModule,\n ],\n declarations: [TuiInputSliderComponent],\n exports: [TuiInputSliderComponent],\n})\nexport class TuiInputSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-input-slider.js","sources":["ng://@taiga-ui/kit/components/input-slider/input-slider.component.ts","ng://@taiga-ui/kit/components/input-slider/input-slider.module.ts","ng://@taiga-ui/kit/components/input-slider/taiga-ui-kit-components-input-slider.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Directive,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n clamp,\n isNativeFocused,\n round,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiAssert,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n getFractionPartPadded,\n HINT_CONTROLLER_PROVIDER,\n NumberFormatSettings,\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDecimalT,\n TuiSizeL,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {AbstractTuiInputSlider} from '@taiga-ui/kit/abstract';\nimport {TuiInputNumberComponent} from '@taiga-ui/kit/components/input-number';\nimport {\n TuiSliderComponent,\n tuiSliderOptionsProvider,\n} from '@taiga-ui/kit/components/slider';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\n/**\n * Turn on new `InputSlider`'s version.\n * The new version will behave almost the same as `InputSlider` from the next major release.\n * @deprecated TODO remove me in v3.0 and make `InputSlider` always \"new\".\n */\n@Directive({\n selector: 'tui-input-slider[new]',\n})\nexport class TuiNewInputSliderDirective {}\n\n// @dynamic\n@Component({\n selector: 'tui-input-slider',\n templateUrl: './input-slider.template.html',\n styleUrls: ['./input-slider.style.less'],\n host: {\n /**\n * TODO delete it in v3.0\n * Dont forget to clear html-tags\n */\n '[class._show-ticks-labels]': '!isNew',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiInputSliderComponent),\n },\n tuiSliderOptionsProvider({trackColor: 'transparent'}),\n HINT_CONTROLLER_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\n/**\n * TODO replace `extends AbstractTuiInputSlider<number>` by `extends AbstractTuiControl<number> implements TuiWithOptionalMinMax<number>`\n * in v3.0\n */\nexport class TuiInputSliderComponent\n extends AbstractTuiInputSlider<number>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiInputNumberComponent)\n private readonly inputNumberRef?: TuiInputNumberComponent;\n\n @ViewChild(TuiSliderComponent, {read: ElementRef})\n private readonly sliderRef?: ElementRef<HTMLInputElement>;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiContextWithImplicit<number>> = '';\n\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n @Input()\n @tuiDefaultProp()\n postfix = '';\n\n /**\n * @deprecated use `tuiTextfieldSize` instead\n * TODO delete in v3.0\n */\n @Input()\n @tuiDefaultProp()\n size: TuiSizeL = 'l';\n\n /**\n * @deprecated use `tuiTextfieldCustomContent` instead\n * TODO delete in v3.0\n */\n @Input()\n @tuiDefaultProp()\n secondary = '';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_NUMBER_FORMAT)\n protected readonly numberFormat: NumberFormatSettings,\n @Inject(TUI_FROM_TO_TEXTS) readonly fromToTexts$: Observable<[string, string]>,\n @Optional()\n @Inject(TuiNewInputSliderDirective)\n readonly isNew: TuiNewInputSliderDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return !this.inputNumberRef?.nativeFocusableElement || this.computedDisabled\n ? null\n : this.inputNumberRef.nativeFocusableElement;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n isNativeFocused(this.sliderRef?.nativeElement || null)\n );\n }\n\n get computedSteps(): number {\n return this.steps || (this.max - this.min) / this.quantum;\n }\n\n get precision(): number {\n return getFractionPartPadded(this.quantum).length;\n }\n\n get decimal(): TuiDecimalT {\n return this.precision ? 'not-zero' : 'never';\n }\n\n /**\n * TODO remove old property `size` in v3.0\n */\n get computedSize(): TuiSizeL {\n if (this.isNew) {\n tuiAssert.assert(\n this.controller.size !== 's',\n \"Size 's' is not supported by this input.\",\n );\n\n return this.controller.size === 'l' ? 'l' : 'm';\n }\n\n return this.size;\n }\n\n /**\n * @deprecated for backward compatibility\n * TODO replace by just `this.valueContent` in v3.0\n */\n get computedValueContent(): PolymorpheusContent<TuiContextWithImplicit<number>> {\n return this.minLabel || this.maxLabel\n ? legacyMinMaxLabel(this)\n : this.valueContent;\n }\n\n focusTextInput() {\n const focusableElement = this.inputNumberRef?.nativeFocusableElement;\n\n if (focusableElement) {\n setNativeFocused(focusableElement);\n }\n }\n\n safelyUpdateValue(value: number | null) {\n this.updateValue(this.valueGuard(value ?? this.safeCurrentValue));\n }\n\n onVerticalArrowKeyDown(coefficient: number) {\n if (this.readOnly) {\n return;\n }\n\n const value = this.value + coefficient * this.step;\n\n if (value !== this.value) {\n this.safelyUpdateValue(value);\n }\n\n this.updateTextInputValue(this.valueGuard(value));\n }\n\n onFocused(focused: boolean) {\n if (!focused && !this.textInputValue) {\n this.updateTextInputValue(this.safeCurrentValue);\n }\n\n this.updateFocused(focused);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n private get textInputValue(): string {\n return this.inputNumberRef?.nativeValue || '';\n }\n\n protected getFallbackValue(): number {\n return 0;\n }\n\n protected valueGuard(value: number): number {\n const roundedValue = round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n );\n\n return clamp(roundedValue, this.min, this.max);\n }\n\n private updateTextInputValue(value: number) {\n if (this.inputNumberRef) {\n this.inputNumberRef.nativeValue =\n this.inputNumberRef.getFormattedValue(value);\n }\n }\n}\n\nfunction quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @deprecated helper for backward compatibility.\n * TODO remove in v3.0\n */\nfunction legacyMinMaxLabel({min, max, minLabel, maxLabel}: TuiInputSliderComponent) {\n return ({$implicit: value}: TuiContextWithImplicit<number>) => {\n switch (value) {\n case min:\n return minLabel || value;\n case max:\n return maxLabel || value;\n default:\n return value;\n }\n };\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule, ReactiveFormsModule} from '@angular/forms';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiInputModeModule,\n TuiMapperPipeModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiFormatNumberPipeModule,\n TuiTextfieldControllerModule,\n TuiTooltipModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\nimport {TuiInputNumberModule} from '@taiga-ui/kit/components/input-number';\nimport {TuiSliderModule} from '@taiga-ui/kit/components/slider';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TextMaskModule} from 'angular2-text-mask';\n\nimport {\n TuiInputSliderComponent,\n TuiNewInputSliderDirective,\n} from './input-slider.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n TextMaskModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiMapperPipeModule,\n TuiInputModeModule,\n TuiTooltipModule,\n TuiSliderModule,\n TuiWrapperModule,\n TuiFormatNumberPipeModule,\n TuiRepeatTimesModule,\n PolymorpheusModule,\n TuiInputNumberModule,\n TuiTextfieldControllerModule,\n ],\n declarations: [TuiInputSliderComponent, TuiNewInputSliderDirective],\n exports: [TuiInputSliderComponent, TuiNewInputSliderDirective],\n})\nexport class TuiInputSliderModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -497,7 +497,7 @@ var TuiInputTagComponent = /** @class */ (function (_super) {
497
497
  TEXTFIELD_CONTROLLER_PROVIDER,
498
498
  HINT_CONTROLLER_PROVIDER,
499
499
  ],
500
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font-size:.9375rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size='s'] .t-content{padding:0 var(--tui-padding-s)}:host[data-size='l'] .t-content{padding:0 var(--tui-padding-l)}.t-content:after{content:'';margin-right:-.25rem}:host[data-size='m'] .t-content:after{display:none}.t-wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;font-size:.8125rem;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font-size:.69rem;transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused)._hovered .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{transition-property:transform,color,letter-spacing}}.t-cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-cleaner:hover{color:var(--tui-text-02)}:host._disabled .t-cleaner,:host._readonly .t-cleaner{pointer-events:none}:host[data-mode=onDark] .t-cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-cleaner:hover{color:var(--tui-text-01-night)}.t-icon{display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03)}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}.t-icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-size='s'] .t-icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{cursor:text}:host._expandable{height:auto;max-height:none}:host._disabled{pointer-events:none}:host._readonly{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-scrollbar{margin:0 -.25rem;padding:0 .25rem}.t-tags{display:flex;align-items:center;box-sizing:border-box}:host._expandable .t-tags{flex-wrap:wrap;white-space:normal}:host._readonly .t-tags{pointer-events:none}:host[data-size='s'] .t-tags{min-height:var(--tui-height-s);padding:.25rem .25rem .25rem 0}:host[data-size='m'] .t-tags{min-height:var(--tui-height-m);padding:.5rem .25rem .5rem 0}:host[data-size='l'] .t-tags{min-height:var(--tui-height-l);padding:.625rem .25rem .625rem 0}:host[data-size='m']:not(._label-outside) .t-tags{padding:1.1875rem 1rem 0 0}:host[data-size='l']:not(._label-outside) .t-tags{padding:1.6875rem 1rem .5625rem 0}.t-tags :host[data-size]{-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host[data-size]:not(._label-outside) .t-tags{-webkit-padding-end:1rem;padding-inline-end:1rem}.t-content{align-items:flex-start}.t-icons{display:flex;align-items:center;padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.t-icons_left{padding:0;margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host._expandable .t-icons_right{margin:0 0 0 -.625rem;-webkit-margin-start:-.625rem;margin-inline-start:-.625rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-size='s'] .t-icons{height:var(--tui-height-s)}:host[data-size='m'] .t-icons{height:var(--tui-height-m)}:host[data-size='l'] .t-icons{height:var(--tui-height-l)}.t-absolute-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}:host[data-size='m'] .t-absolute-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-absolute-wrapper{height:var(--tui-height-l)}.t-wrapper{position:relative;padding:0}.t-tag{margin:.125rem .5rem .125rem -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;max-width:100%;flex-shrink:0}.t-text:after{content:',\\00a0'}.t-text_disabled{color:var(--tui-text-03)}.t-text_error{color:var(--tui-negative)}:host:not(._expandable) .t-text{white-space:nowrap}:host:not(:focus-within) .t-text:last-of-type:after{content:''}.t-input-wrapper{position:relative;flex:1;max-width:100%}.t-input-wrapper_collapsed{flex:0;margin:0 0 0 -.5rem;-webkit-margin-start:-.5rem;margin-inline-start:-.5rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-size='s'] .t-input-wrapper{min-height:1.5rem}:host[data-size='m'] .t-input-wrapper{min-height:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-size='l'] .t-input-wrapper{min-height:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .t-input-wrapper{min-height:1.25rem}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-width:.125rem}:host:not(._expandable) .t-ghost{min-width:2rem}.t-native{border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-native_hidden{opacity:0;text-indent:-10em}.t-native::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.t-native::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-native::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-native::placeholder{color:var(--tui-text-03-night)}:host._focused .t-native:not(:read-only)::-ms-input-placeholder{opacity:1}:host._focused .t-native:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .t-native:not(:read-only)::placeholder{opacity:1}.t-error-icon{display:block;color:var(--tui-error-fill);width:1rem;height:1rem}"]
500
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;border-radius:var(--tui-radius-m);text-align:left}:host[data-size='s']{height:var(--tui-height-s);min-height:var(--tui-height-s);max-height:var(--tui-height-s)}:host[data-size='m']{height:var(--tui-height-m);min-height:var(--tui-height-m);max-height:var(--tui-height-m)}:host[data-size='l']{height:var(--tui-height-l);min-height:var(--tui-height-l);max-height:var(--tui-height-l);font:var(--tui-font-text-m);line-height:1.25rem}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:solid transparent;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-content{display:flex;height:100%;width:100%;padding:0 var(--tui-padding-m);box-sizing:border-box;align-items:center;overflow:hidden}:host[data-size='s'] .t-content{padding:0 var(--tui-padding-s)}:host[data-size='l'] .t-content{padding:0 var(--tui-padding-l)}.t-content:after{content:'';margin-right:-.25rem}:host[data-size='m'] .t-content:after{display:none}.t-wrapper{flex:1;min-width:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem;-webkit-padding-start:0;padding-inline-start:0}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{transition-property:transform,color,letter-spacing}}.t-cleaner{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-cleaner:hover{color:var(--tui-text-02)}:host._disabled .t-cleaner,:host._readonly .t-cleaner{pointer-events:none}:host[data-mode=onDark] .t-cleaner{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-cleaner:hover{color:var(--tui-text-01-night)}.t-icon{display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03)}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}.t-icon_left{margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host[data-size='s'] .t-icon_left{margin-right:.25rem;-webkit-margin-end:.25rem;margin-inline-end:.25rem}:host{cursor:text}:host._expandable{height:auto;max-height:none}:host._disabled{pointer-events:none}:host._readonly{cursor:default}.t-hosted{display:block;border-radius:inherit}.t-scrollbar{margin:0 -.25rem;padding:0 .25rem}.t-tags{display:flex;align-items:center;box-sizing:border-box}:host._expandable .t-tags{flex-wrap:wrap;white-space:normal}:host._readonly .t-tags{pointer-events:none}:host[data-size='s'] .t-tags{min-height:var(--tui-height-s);padding:.25rem .25rem .25rem 0}:host[data-size='m'] .t-tags{min-height:var(--tui-height-m);padding:.5rem .25rem .5rem 0}:host[data-size='l'] .t-tags{min-height:var(--tui-height-l);padding:.625rem .25rem .625rem 0}:host[data-size='m']:not(._label-outside) .t-tags{padding:1.1875rem 1rem 0 0}:host[data-size='l']:not(._label-outside) .t-tags{padding:1.6875rem 1rem .5625rem 0}.t-tags :host[data-size]{-webkit-padding-start:0;padding-inline-start:0;-webkit-padding-end:.25rem;padding-inline-end:.25rem}:host[data-size]:not(._label-outside) .t-tags{-webkit-padding-end:1rem;padding-inline-end:1rem}.t-content{align-items:flex-start}.t-icons{display:flex;align-items:center;padding:0 0 0 .75rem;-webkit-padding-start:.75rem;padding-inline-start:.75rem;-webkit-padding-end:0;padding-inline-end:0}.t-icons_left{padding:0;margin:0 .5rem 0 -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}:host._expandable .t-icons_right{margin:0 0 0 -.625rem;-webkit-margin-start:-.625rem;margin-inline-start:-.625rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-size='s'] .t-icons{height:var(--tui-height-s)}:host[data-size='m'] .t-icons{height:var(--tui-height-m)}:host[data-size='l'] .t-icons{height:var(--tui-height-l)}.t-absolute-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:center}:host[data-size='m'] .t-absolute-wrapper{height:var(--tui-height-m)}:host[data-size='l'] .t-absolute-wrapper{height:var(--tui-height-l)}.t-wrapper{position:relative;padding:0}.t-tag{margin:.125rem .5rem .125rem -.25rem;-webkit-margin-start:-.25rem;margin-inline-start:-.25rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem;max-width:100%;flex-shrink:0}.t-text:after{content:',\\00a0'}.t-text_disabled{color:var(--tui-text-03)}.t-text_error{color:var(--tui-negative)}:host:not(._expandable) .t-text{white-space:nowrap}:host:not(._focused) .t-text:last-of-type:after{content:''}.t-input-wrapper{position:relative;flex:1;max-width:100%}.t-input-wrapper_collapsed{flex:0;margin:0 0 0 -.5rem;-webkit-margin-start:-.5rem;margin-inline-start:-.5rem;-webkit-margin-end:0;margin-inline-end:0}:host[data-size='s'] .t-input-wrapper{min-height:1.5rem}:host[data-size='m'] .t-input-wrapper{min-height:calc(var(--tui-height-xs) + 2 * .125rem)}:host[data-size='l'] .t-input-wrapper{min-height:calc(var(--tui-height-s) + 2 * .125rem)}:host:not(._label-outside) .t-input-wrapper{min-height:1.25rem}.t-ghost{visibility:hidden;white-space:pre;text-overflow:clip;min-width:.125rem}:host:not(._expandable) .t-ghost{min-width:2rem}.t-native{border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;padding:0;cursor:inherit}.t-native:-webkit-autofill,.t-native:-webkit-autofill:focus,.t-native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}.t-native_hidden{opacity:0;text-indent:-10em}.t-native::-ms-input-placeholder{color:var(--tui-text-03);opacity:0}.t-native::placeholder{color:var(--tui-text-03);opacity:0}:host[data-mode=onDark] .t-native::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-native::placeholder{color:var(--tui-text-03-night)}:host._focused .t-native:not(:read-only)::-ms-input-placeholder{opacity:1}:host._focused .t-native:not(:-moz-read-only)::placeholder{opacity:1}:host._focused .t-native:not(:read-only)::placeholder{opacity:1}.t-error-icon{display:block;color:var(--tui-error-fill);width:1rem;height:1rem}"]
501
501
  }),
502
502
  __param(0, Optional()),
503
503
  __param(0, Self()),