@taiga-ui/kit 3.18.0 → 3.19.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 (507) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +20 -29
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +11 -20
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-arrow.umd.js +7 -7
  6. package/bundles/taiga-ui-kit-components-avatar.umd.js +11 -20
  7. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-badge.umd.js +11 -20
  9. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-badged-content.umd.js +11 -20
  11. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +11 -20
  13. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +11 -20
  15. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +11 -20
  17. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-carousel.umd.js +23 -32
  19. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +11 -20
  21. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +11 -20
  23. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-checkbox.umd.js +12 -21
  25. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-combo-box.umd.js +17 -26
  27. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +17 -26
  29. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-elastic-container.umd.js +10 -10
  31. package/bundles/taiga-ui-kit-components-files.umd.js +14 -23
  32. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-filter.umd.js +11 -20
  34. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-copy.umd.js +14 -23
  36. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-count.umd.js +22 -33
  38. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +14 -23
  40. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +14 -23
  42. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date.umd.js +14 -23
  44. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-files.umd.js +17 -26
  46. package/bundles/taiga-ui-kit-components-input-files.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-inline.umd.js +11 -20
  48. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +14 -23
  50. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-month.umd.js +14 -23
  52. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-number.umd.js +14 -23
  54. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-password.umd.js +14 -23
  56. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +37 -46
  58. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-phone.umd.js +14 -23
  60. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-range.umd.js +25 -61
  62. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-slider.umd.js +11 -20
  64. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-tag.umd.js +19 -25
  66. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-time.umd.js +11 -20
  68. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-year.umd.js +14 -23
  70. package/bundles/taiga-ui-kit-components-input-year.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input.umd.js +14 -23
  72. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-island.umd.js +11 -20
  74. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-items-with-more.umd.js +20 -29
  76. package/bundles/taiga-ui-kit-components-items-with-more.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +17 -26
  78. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +11 -20
  80. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +11 -20
  82. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-multi-select.umd.js +20 -29
  84. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-pagination.umd.js +11 -20
  86. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +17 -26
  88. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-progress.umd.js +23 -32
  90. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-prompt.umd.js +7 -7
  92. package/bundles/taiga-ui-kit-components-push.umd.js +23 -32
  93. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-radio-block.umd.js +11 -20
  95. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-radio-group.umd.js +11 -20
  97. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +11 -20
  99. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-radio-list.umd.js +11 -20
  101. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-radio.umd.js +11 -20
  103. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-range.umd.js +14 -23
  105. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-rating.umd.js +11 -20
  107. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-routable-dialog.umd.js +452 -0
  109. package/bundles/taiga-ui-kit-components-routable-dialog.umd.js.map +1 -0
  110. package/bundles/taiga-ui-kit-components-select-option.umd.js +7 -7
  111. package/bundles/taiga-ui-kit-components-select.umd.js +23 -32
  112. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-slider.umd.js +20 -29
  114. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-stepper.umd.js +14 -23
  116. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-tabs.umd.js +27 -36
  118. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-tag.umd.js +11 -20
  120. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-text-area.umd.js +22 -28
  122. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-tiles.umd.js +17 -26
  124. package/bundles/taiga-ui-kit-components-tiles.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-toggle.umd.js +11 -20
  126. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-tree.umd.js +40 -43
  128. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components.umd.js +10 -4
  130. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-constants.umd.js +4 -13
  132. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js +11 -20
  134. package/bundles/taiga-ui-kit-directives-data-list-dropdown-manager.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-directives-highlight.umd.js +11 -20
  136. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +14 -23
  138. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-directives-mask.umd.js +7 -7
  140. package/bundles/taiga-ui-kit-directives-present.umd.js +7 -7
  141. package/bundles/taiga-ui-kit-directives-project-class.umd.js +11 -20
  142. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  143. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js +7 -7
  144. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js +7 -7
  145. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +11 -20
  146. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  147. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +14 -23
  148. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +14 -23
  150. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  151. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js +11 -20
  152. package/bundles/taiga-ui-kit-pipes-sort-countries.umd.js.map +1 -1
  153. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js +7 -7
  154. package/bundles/taiga-ui-kit-pipes-stringify.umd.js +7 -7
  155. package/bundles/taiga-ui-kit-pipes-to-year.umd.js +7 -7
  156. package/bundles/taiga-ui-kit-utils-mask.umd.js +4 -13
  157. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  158. package/bundles/taiga-ui-kit-utils-math.umd.js +4 -13
  159. package/bundles/taiga-ui-kit-utils-math.umd.js.map +1 -1
  160. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +4 -13
  161. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  162. package/components/index.d.ts +1 -0
  163. package/components/input-count/input-count.component.d.ts +4 -5
  164. package/components/input-phone-international/input-phone-international.component.d.ts +11 -3
  165. package/components/input-phone-international/input-phone-international.module.d.ts +1 -1
  166. package/components/input-range/input-range.component.d.ts +3 -7
  167. package/components/input-range/input-range.module.d.ts +1 -1
  168. package/components/input-tag/input-tag.component.d.ts +3 -3
  169. package/components/routable-dialog/generate-dialogable-route.d.ts +6 -0
  170. package/components/routable-dialog/index.d.ts +3 -0
  171. package/components/routable-dialog/package.json +10 -0
  172. package/components/routable-dialog/routable-dialog.component.d.ts +14 -0
  173. package/components/routable-dialog/routable-dialog.module.d.ts +7 -0
  174. package/components/routable-dialog/taiga-ui-kit-components-routable-dialog.d.ts +5 -0
  175. package/components/text-area/text-area.component.d.ts +3 -3
  176. package/components/tree/components/tree/tree.component.d.ts +1 -0
  177. package/components/tree/components/tree-item/tree-item.component.d.ts +1 -0
  178. package/esm2015/components/accordion/accordion-item/accordion-item-content.directive.js +3 -3
  179. package/esm2015/components/accordion/accordion-item/accordion-item-eager-content.directive.js +3 -3
  180. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
  181. package/esm2015/components/accordion/accordion.component.js +3 -3
  182. package/esm2015/components/accordion/accordion.module.js +4 -4
  183. package/esm2015/components/action/action.component.js +3 -3
  184. package/esm2015/components/action/action.module.js +4 -4
  185. package/esm2015/components/arrow/arrow.component.js +3 -3
  186. package/esm2015/components/arrow/arrow.module.js +4 -4
  187. package/esm2015/components/avatar/avatar.component.js +3 -3
  188. package/esm2015/components/avatar/avatar.module.js +4 -4
  189. package/esm2015/components/badge/badge.component.js +3 -3
  190. package/esm2015/components/badge/badge.module.js +4 -4
  191. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  192. package/esm2015/components/badged-content/badged-content.module.js +4 -4
  193. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +3 -3
  194. package/esm2015/components/breadcrumbs/breadcrumbs.module.js +4 -4
  195. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  196. package/esm2015/components/calendar-month/calendar-month.module.js +4 -4
  197. package/esm2015/components/calendar-range/calendar-range.component.js +3 -3
  198. package/esm2015/components/calendar-range/calendar-range.module.js +4 -4
  199. package/esm2015/components/carousel/carousel-autoscroll.directive.js +3 -3
  200. package/esm2015/components/carousel/carousel-buttons.directive.js +3 -3
  201. package/esm2015/components/carousel/carousel-scroll.directive.js +3 -3
  202. package/esm2015/components/carousel/carousel.component.js +3 -3
  203. package/esm2015/components/carousel/carousel.directive.js +3 -3
  204. package/esm2015/components/carousel/carousel.module.js +4 -4
  205. package/esm2015/components/checkbox/checkbox.component.js +4 -4
  206. package/esm2015/components/checkbox/checkbox.module.js +4 -4
  207. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
  208. package/esm2015/components/checkbox-block/checkbox-block.module.js +4 -4
  209. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  210. package/esm2015/components/checkbox-labeled/checkbox-labeled.module.js +4 -4
  211. package/esm2015/components/combo-box/combo-box-strict.directive.js +3 -3
  212. package/esm2015/components/combo-box/combo-box.component.js +3 -3
  213. package/esm2015/components/combo-box/combo-box.directive.js +3 -3
  214. package/esm2015/components/combo-box/combo-box.module.js +4 -4
  215. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +3 -3
  216. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +3 -3
  217. package/esm2015/components/data-list-wrapper/data-list-wrapper.js +3 -3
  218. package/esm2015/components/data-list-wrapper/data-list-wrapper.module.js +4 -4
  219. package/esm2015/components/elastic-container/elastic-container.component.js +3 -3
  220. package/esm2015/components/elastic-container/elastic-container.directive.js +3 -3
  221. package/esm2015/components/elastic-container/elastic-container.module.js +4 -4
  222. package/esm2015/components/files/file/file.component.js +3 -3
  223. package/esm2015/components/files/files.component.js +3 -3
  224. package/esm2015/components/files/files.module.js +4 -4
  225. package/esm2015/components/filter/filter.component.js +3 -3
  226. package/esm2015/components/filter/filter.module.js +4 -4
  227. package/esm2015/components/index.js +2 -1
  228. package/esm2015/components/input/input.component.js +3 -3
  229. package/esm2015/components/input/input.directive.js +3 -3
  230. package/esm2015/components/input/input.module.js +4 -4
  231. package/esm2015/components/input-copy/input-copy.component.js +3 -3
  232. package/esm2015/components/input-copy/input-copy.directive.js +3 -3
  233. package/esm2015/components/input-copy/input-copy.module.js +4 -4
  234. package/esm2015/components/input-count/input-count.component.js +13 -15
  235. package/esm2015/components/input-count/input-count.directive.js +3 -3
  236. package/esm2015/components/input-count/input-count.module.js +4 -4
  237. package/esm2015/components/input-date/input-date.component.js +3 -3
  238. package/esm2015/components/input-date/input-date.directive.js +3 -3
  239. package/esm2015/components/input-date/input-date.module.js +4 -4
  240. package/esm2015/components/input-date-range/input-date-range.component.js +3 -3
  241. package/esm2015/components/input-date-range/input-date-range.directive.js +3 -3
  242. package/esm2015/components/input-date-range/input-date-range.module.js +4 -4
  243. package/esm2015/components/input-date-time/input-date-time.component.js +3 -3
  244. package/esm2015/components/input-date-time/input-date-time.directive.js +3 -3
  245. package/esm2015/components/input-date-time/input-date-time.module.js +4 -4
  246. package/esm2015/components/input-files/input-files.component.js +3 -3
  247. package/esm2015/components/input-files/input-files.directive.js +3 -3
  248. package/esm2015/components/input-files/input-files.module.js +4 -4
  249. package/esm2015/components/input-files/max-size-rejection-error.pipe.js +3 -3
  250. package/esm2015/components/input-inline/input-inline.component.js +3 -3
  251. package/esm2015/components/input-inline/input-inline.module.js +4 -4
  252. package/esm2015/components/input-month/input-month.component.js +3 -3
  253. package/esm2015/components/input-month/input-month.directive.js +3 -3
  254. package/esm2015/components/input-month/input-month.module.js +4 -4
  255. package/esm2015/components/input-month-range/input-month-range.component.js +3 -3
  256. package/esm2015/components/input-month-range/input-month-range.directive.js +3 -3
  257. package/esm2015/components/input-month-range/input-month-range.module.js +4 -4
  258. package/esm2015/components/input-number/input-number.component.js +3 -3
  259. package/esm2015/components/input-number/input-number.directive.js +3 -3
  260. package/esm2015/components/input-number/input-number.module.js +4 -4
  261. package/esm2015/components/input-password/input-password.component.js +3 -3
  262. package/esm2015/components/input-password/input-password.directive.js +3 -3
  263. package/esm2015/components/input-password/input-password.module.js +4 -4
  264. package/esm2015/components/input-phone/input-phone.component.js +3 -3
  265. package/esm2015/components/input-phone/input-phone.directive.js +3 -3
  266. package/esm2015/components/input-phone/input-phone.module.js +4 -4
  267. package/esm2015/components/input-phone-international/input-phone-international.component.js +27 -29
  268. package/esm2015/components/input-phone-international/input-phone-international.module.js +10 -7
  269. package/esm2015/components/input-range/input-range.component.js +11 -35
  270. package/esm2015/components/input-range/input-range.module.js +12 -9
  271. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  272. package/esm2015/components/input-slider/input-slider.module.js +4 -4
  273. package/esm2015/components/input-tag/input-tag.component.js +9 -10
  274. package/esm2015/components/input-tag/input-tag.module.js +4 -4
  275. package/esm2015/components/input-time/input-time.component.js +3 -3
  276. package/esm2015/components/input-time/input-time.module.js +4 -4
  277. package/esm2015/components/input-year/input-year.component.js +3 -3
  278. package/esm2015/components/input-year/input-year.directive.js +3 -3
  279. package/esm2015/components/input-year/input-year.module.js +4 -4
  280. package/esm2015/components/island/island.component.js +3 -3
  281. package/esm2015/components/island/island.module.js +4 -4
  282. package/esm2015/components/items-with-more/items-with-more.component.js +3 -3
  283. package/esm2015/components/items-with-more/items-with-more.directive.js +3 -3
  284. package/esm2015/components/items-with-more/items-with-more.module.js +4 -4
  285. package/esm2015/components/items-with-more/items-with-more.service.js +3 -3
  286. package/esm2015/components/items-with-more/more.directive.js +3 -3
  287. package/esm2015/components/line-clamp/line-clamp-box.component.js +3 -3
  288. package/esm2015/components/line-clamp/line-clamp-position.directive.js +3 -3
  289. package/esm2015/components/line-clamp/line-clamp.component.js +3 -3
  290. package/esm2015/components/line-clamp/line-clamp.module.js +4 -4
  291. package/esm2015/components/marker-icon/marker-icon.component.js +3 -3
  292. package/esm2015/components/marker-icon/marker-icon.module.js +4 -4
  293. package/esm2015/components/multi-select/hide-selected.pipe.js +3 -3
  294. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +3 -3
  295. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +3 -3
  296. package/esm2015/components/multi-select/multi-select.component.js +3 -3
  297. package/esm2015/components/multi-select/multi-select.module.js +4 -4
  298. package/esm2015/components/multi-select-option/multi-select-option.component.js +3 -3
  299. package/esm2015/components/multi-select-option/multi-select-option.module.js +4 -4
  300. package/esm2015/components/pagination/pagination.component.js +3 -3
  301. package/esm2015/components/pagination/pagination.module.js +4 -4
  302. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +3 -3
  303. package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +3 -3
  304. package/esm2015/components/pdf-viewer/pdf-viewer.module.js +4 -4
  305. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +3 -3
  306. package/esm2015/components/progress/progress-bar/progress-bar.component.js +3 -3
  307. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +3 -3
  308. package/esm2015/components/progress/progress-circle/progress-circle.component.js +3 -3
  309. package/esm2015/components/progress/progress-label/progress-label.component.js +3 -3
  310. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +3 -3
  311. package/esm2015/components/progress/progress.module.js +4 -4
  312. package/esm2015/components/prompt/prompt.component.js +3 -3
  313. package/esm2015/components/prompt/prompt.module.js +4 -4
  314. package/esm2015/components/push/push-alert.component.js +3 -3
  315. package/esm2015/components/push/push-alert.directive.js +3 -3
  316. package/esm2015/components/push/push.component.js +3 -3
  317. package/esm2015/components/push/push.directive.js +3 -3
  318. package/esm2015/components/push/push.module.js +4 -4
  319. package/esm2015/components/push/push.service.js +3 -3
  320. package/esm2015/components/radio/radio.component.js +3 -3
  321. package/esm2015/components/radio/radio.module.js +4 -4
  322. package/esm2015/components/radio-block/radio-block.component.js +3 -3
  323. package/esm2015/components/radio-block/radio-block.module.js +4 -4
  324. package/esm2015/components/radio-group/radio-group.component.js +3 -3
  325. package/esm2015/components/radio-group/radio-group.module.js +4 -4
  326. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
  327. package/esm2015/components/radio-labeled/radio-labeled.module.js +4 -4
  328. package/esm2015/components/radio-list/radio-list.component.js +3 -3
  329. package/esm2015/components/radio-list/radio-list.module.js +4 -4
  330. package/esm2015/components/range/range-change.directive.js +3 -3
  331. package/esm2015/components/range/range.component.js +3 -3
  332. package/esm2015/components/range/range.module.js +4 -4
  333. package/esm2015/components/rating/rating.component.js +3 -3
  334. package/esm2015/components/rating/rating.module.js +4 -4
  335. package/esm2015/components/routable-dialog/generate-dialogable-route.js +19 -0
  336. package/esm2015/components/routable-dialog/index.js +4 -0
  337. package/esm2015/components/routable-dialog/routable-dialog.component.js +65 -0
  338. package/esm2015/components/routable-dialog/routable-dialog.module.js +16 -0
  339. package/esm2015/components/routable-dialog/taiga-ui-kit-components-routable-dialog.js +5 -0
  340. package/esm2015/components/select/native-select/native-select-group.component.js +3 -3
  341. package/esm2015/components/select/native-select/native-select.component.js +3 -3
  342. package/esm2015/components/select/native-select/native-select.js +3 -3
  343. package/esm2015/components/select/select.component.js +3 -3
  344. package/esm2015/components/select/select.directive.js +3 -3
  345. package/esm2015/components/select/select.module.js +4 -4
  346. package/esm2015/components/select-option/select-option.component.js +3 -3
  347. package/esm2015/components/select-option/select-option.module.js +4 -4
  348. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +3 -3
  349. package/esm2015/components/slider/helpers/slider-readonly.directive.js +3 -3
  350. package/esm2015/components/slider/helpers/slider-thumb-label/slider-thumb-label.component.js +3 -3
  351. package/esm2015/components/slider/slider.component.js +3 -3
  352. package/esm2015/components/slider/slider.module.js +4 -4
  353. package/esm2015/components/stepper/step/step.component.js +3 -3
  354. package/esm2015/components/stepper/stepper.component.js +3 -3
  355. package/esm2015/components/stepper/stepper.module.js +4 -4
  356. package/esm2015/components/tabs/tab/tab.component.js +3 -3
  357. package/esm2015/components/tabs/tabs/tabs.component.js +3 -3
  358. package/esm2015/components/tabs/tabs-vertical/tabs-vertical.component.js +3 -3
  359. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +5 -5
  360. package/esm2015/components/tabs/tabs.directive.js +3 -3
  361. package/esm2015/components/tabs/tabs.module.js +4 -4
  362. package/esm2015/components/tabs/underline/underline.component.js +3 -3
  363. package/esm2015/components/tag/tag.component.js +3 -3
  364. package/esm2015/components/tag/tag.module.js +4 -4
  365. package/esm2015/components/text-area/text-area.component.js +9 -10
  366. package/esm2015/components/text-area/text-area.directive.js +3 -3
  367. package/esm2015/components/text-area/text-area.module.js +4 -4
  368. package/esm2015/components/tiles/tile-handle.directive.js +3 -3
  369. package/esm2015/components/tiles/tile.component.js +3 -3
  370. package/esm2015/components/tiles/tiles.component.js +3 -3
  371. package/esm2015/components/tiles/tiles.module.js +4 -4
  372. package/esm2015/components/toggle/toggle.component.js +3 -3
  373. package/esm2015/components/toggle/toggle.module.js +4 -4
  374. package/esm2015/components/tree/components/tree/tree.component.js +9 -6
  375. package/esm2015/components/tree/components/tree-item/tree-item.component.js +7 -4
  376. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +3 -3
  377. package/esm2015/components/tree/directives/tree-children.directive.js +3 -3
  378. package/esm2015/components/tree/directives/tree-controller.directive.js +3 -3
  379. package/esm2015/components/tree/directives/tree-item-controller.directive.js +3 -3
  380. package/esm2015/components/tree/directives/tree-node.directive.js +3 -3
  381. package/esm2015/components/tree/misc/tree.service.js +3 -3
  382. package/esm2015/components/tree/tree.module.js +4 -4
  383. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.directive.js +3 -3
  384. package/esm2015/directives/data-list-dropdown-manager/data-list-dropdown-manager.module.js +4 -4
  385. package/esm2015/directives/highlight/highlight.directive.js +3 -3
  386. package/esm2015/directives/highlight/highlight.module.js +4 -4
  387. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +3 -3
  388. package/esm2015/directives/lazy-loading/lazy-loading.module.js +4 -4
  389. package/esm2015/directives/lazy-loading/lazy-loading.service.js +3 -3
  390. package/esm2015/directives/mask/legacy-mask.js +7 -7
  391. package/esm2015/directives/present/present.directive.js +3 -3
  392. package/esm2015/directives/present/present.module.js +4 -4
  393. package/esm2015/directives/project-class/project-class.directive.js +3 -3
  394. package/esm2015/directives/project-class/project-class.module.js +4 -4
  395. package/esm2015/directives/unfinished-validator/unfinished-validator.directive.js +3 -3
  396. package/esm2015/directives/unfinished-validator/unfinished-validator.module.js +4 -4
  397. package/esm2015/directives/value-accessor/value-accessor.directive.js +3 -3
  398. package/esm2015/directives/value-accessor/value-accessor.module.js +4 -4
  399. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +3 -3
  400. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.module.js +4 -4
  401. package/esm2015/pipes/field-error/field-error-content-pipe.js +3 -3
  402. package/esm2015/pipes/field-error/field-error-pipe.js +3 -3
  403. package/esm2015/pipes/field-error/field-error.module.js +4 -4
  404. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +3 -3
  405. package/esm2015/pipes/filter-by-input/filter-by-input.module.js +4 -4
  406. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +3 -3
  407. package/esm2015/pipes/sort-countries/sort-countries.module.js +4 -4
  408. package/esm2015/pipes/sort-countries/sort-countries.pipe.js +3 -3
  409. package/esm2015/pipes/stringify/stringify.module.js +4 -4
  410. package/esm2015/pipes/stringify/stringify.pipe.js +3 -3
  411. package/esm2015/pipes/stringify-content/stringify-content.module.js +4 -4
  412. package/esm2015/pipes/stringify-content/stringify-content.pipe.js +3 -3
  413. package/esm2015/pipes/to-year/to-year.module.js +4 -4
  414. package/esm2015/pipes/to-year/to-year.pipe.js +3 -3
  415. package/fesm2015/taiga-ui-kit-components-accordion.js +16 -16
  416. package/fesm2015/taiga-ui-kit-components-action.js +7 -7
  417. package/fesm2015/taiga-ui-kit-components-arrow.js +7 -7
  418. package/fesm2015/taiga-ui-kit-components-avatar.js +7 -7
  419. package/fesm2015/taiga-ui-kit-components-badge.js +7 -7
  420. package/fesm2015/taiga-ui-kit-components-badged-content.js +7 -7
  421. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +7 -7
  422. package/fesm2015/taiga-ui-kit-components-calendar-month.js +7 -7
  423. package/fesm2015/taiga-ui-kit-components-calendar-range.js +7 -7
  424. package/fesm2015/taiga-ui-kit-components-carousel.js +19 -19
  425. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +7 -7
  426. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +7 -7
  427. package/fesm2015/taiga-ui-kit-components-checkbox.js +8 -8
  428. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  429. package/fesm2015/taiga-ui-kit-components-combo-box.js +13 -13
  430. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +13 -13
  431. package/fesm2015/taiga-ui-kit-components-elastic-container.js +10 -10
  432. package/fesm2015/taiga-ui-kit-components-files.js +10 -10
  433. package/fesm2015/taiga-ui-kit-components-filter.js +7 -7
  434. package/fesm2015/taiga-ui-kit-components-input-copy.js +10 -10
  435. package/fesm2015/taiga-ui-kit-components-input-count.js +19 -21
  436. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  437. package/fesm2015/taiga-ui-kit-components-input-date-range.js +10 -10
  438. package/fesm2015/taiga-ui-kit-components-input-date-time.js +10 -10
  439. package/fesm2015/taiga-ui-kit-components-input-date.js +10 -10
  440. package/fesm2015/taiga-ui-kit-components-input-files.js +13 -13
  441. package/fesm2015/taiga-ui-kit-components-input-inline.js +7 -7
  442. package/fesm2015/taiga-ui-kit-components-input-month-range.js +10 -10
  443. package/fesm2015/taiga-ui-kit-components-input-month.js +10 -10
  444. package/fesm2015/taiga-ui-kit-components-input-number.js +10 -10
  445. package/fesm2015/taiga-ui-kit-components-input-password.js +10 -10
  446. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +34 -33
  447. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  448. package/fesm2015/taiga-ui-kit-components-input-phone.js +10 -10
  449. package/fesm2015/taiga-ui-kit-components-input-range.js +20 -41
  450. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  451. package/fesm2015/taiga-ui-kit-components-input-slider.js +7 -7
  452. package/fesm2015/taiga-ui-kit-components-input-tag.js +12 -13
  453. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  454. package/fesm2015/taiga-ui-kit-components-input-time.js +7 -7
  455. package/fesm2015/taiga-ui-kit-components-input-year.js +10 -10
  456. package/fesm2015/taiga-ui-kit-components-input.js +10 -10
  457. package/fesm2015/taiga-ui-kit-components-island.js +7 -7
  458. package/fesm2015/taiga-ui-kit-components-items-with-more.js +16 -16
  459. package/fesm2015/taiga-ui-kit-components-line-clamp.js +13 -13
  460. package/fesm2015/taiga-ui-kit-components-marker-icon.js +7 -7
  461. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -7
  462. package/fesm2015/taiga-ui-kit-components-multi-select.js +16 -16
  463. package/fesm2015/taiga-ui-kit-components-pagination.js +7 -7
  464. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +13 -13
  465. package/fesm2015/taiga-ui-kit-components-progress.js +19 -19
  466. package/fesm2015/taiga-ui-kit-components-prompt.js +7 -7
  467. package/fesm2015/taiga-ui-kit-components-push.js +19 -19
  468. package/fesm2015/taiga-ui-kit-components-radio-block.js +7 -7
  469. package/fesm2015/taiga-ui-kit-components-radio-group.js +7 -7
  470. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +7 -7
  471. package/fesm2015/taiga-ui-kit-components-radio-list.js +7 -7
  472. package/fesm2015/taiga-ui-kit-components-radio.js +7 -7
  473. package/fesm2015/taiga-ui-kit-components-range.js +10 -10
  474. package/fesm2015/taiga-ui-kit-components-rating.js +7 -7
  475. package/fesm2015/taiga-ui-kit-components-routable-dialog.js +103 -0
  476. package/fesm2015/taiga-ui-kit-components-routable-dialog.js.map +1 -0
  477. package/fesm2015/taiga-ui-kit-components-select-option.js +7 -7
  478. package/fesm2015/taiga-ui-kit-components-select.js +19 -19
  479. package/fesm2015/taiga-ui-kit-components-slider.js +16 -16
  480. package/fesm2015/taiga-ui-kit-components-stepper.js +10 -10
  481. package/fesm2015/taiga-ui-kit-components-tabs.js +23 -23
  482. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  483. package/fesm2015/taiga-ui-kit-components-tag.js +7 -7
  484. package/fesm2015/taiga-ui-kit-components-text-area.js +15 -16
  485. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  486. package/fesm2015/taiga-ui-kit-components-tiles.js +13 -13
  487. package/fesm2015/taiga-ui-kit-components-toggle.js +7 -7
  488. package/fesm2015/taiga-ui-kit-components-tree.js +36 -30
  489. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  490. package/fesm2015/taiga-ui-kit-components.js +1 -0
  491. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  492. package/fesm2015/taiga-ui-kit-directives-data-list-dropdown-manager.js +7 -7
  493. package/fesm2015/taiga-ui-kit-directives-highlight.js +7 -7
  494. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +10 -10
  495. package/fesm2015/taiga-ui-kit-directives-mask.js +7 -7
  496. package/fesm2015/taiga-ui-kit-directives-present.js +7 -7
  497. package/fesm2015/taiga-ui-kit-directives-project-class.js +7 -7
  498. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js +7 -7
  499. package/fesm2015/taiga-ui-kit-directives-value-accessor.js +7 -7
  500. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +7 -7
  501. package/fesm2015/taiga-ui-kit-pipes-field-error.js +10 -10
  502. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +10 -10
  503. package/fesm2015/taiga-ui-kit-pipes-sort-countries.js +7 -7
  504. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js +7 -7
  505. package/fesm2015/taiga-ui-kit-pipes-stringify.js +7 -7
  506. package/fesm2015/taiga-ui-kit-pipes-to-year.js +7 -7
  507. package/package.json +6 -6
@@ -14,8 +14,8 @@ class TuiElasticContainerDirective {
14
14
  this.tuiElasticContainer = merge(this.resize$, this.mutation$).pipe(debounceTime(0), map(() => this.elementRef.nativeElement.clientHeight), distinctUntilChanged());
15
15
  }
16
16
  }
17
- TuiElasticContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerDirective, deps: [{ token: ElementRef }, { token: ResizeObserverService }, { token: MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
18
- TuiElasticContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: { tuiElasticContainer: "tuiElasticContainer" }, providers: [
17
+ TuiElasticContainerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiElasticContainerDirective, deps: [{ token: ElementRef }, { token: ResizeObserverService }, { token: MutationObserverService }], target: i0.ɵɵFactoryTarget.Directive });
18
+ TuiElasticContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: { tuiElasticContainer: "tuiElasticContainer" }, providers: [
19
19
  ResizeObserverService,
20
20
  MutationObserverService,
21
21
  {
@@ -27,7 +27,7 @@ TuiElasticContainerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12
27
27
  },
28
28
  },
29
29
  ], ngImport: i0 });
30
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerDirective, decorators: [{
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiElasticContainerDirective, decorators: [{
31
31
  type: Directive,
32
32
  args: [{
33
33
  selector: '[tuiElasticContainer]',
@@ -62,9 +62,9 @@ class TuiElasticContainerComponent {
62
62
  this.height = NaN;
63
63
  }
64
64
  }
65
- TuiElasticContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
- TuiElasticContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiElasticContainerComponent, selector: "tui-elastic-container", host: { properties: { "style.height.px": "this.height" } }, ngImport: i0, template: "<div (tuiElasticContainer)=\"height = $event\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}\n"], directives: [{ type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerComponent, decorators: [{
65
+ TuiElasticContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiElasticContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
+ TuiElasticContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiElasticContainerComponent, selector: "tui-elastic-container", host: { properties: { "style.height.px": "this.height" } }, ngImport: i0, template: "<div (tuiElasticContainer)=\"height = $event\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{transition-property:height;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;display:block;overflow:hidden}\n"], directives: [{ type: TuiElasticContainerDirective, selector: "[tuiElasticContainer]", outputs: ["tuiElasticContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
67
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiElasticContainerComponent, decorators: [{
68
68
  type: Component,
69
69
  args: [{
70
70
  selector: 'tui-elastic-container',
@@ -79,10 +79,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
79
79
 
80
80
  class TuiElasticContainerModule {
81
81
  }
82
- TuiElasticContainerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
83
- TuiElasticContainerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerModule, declarations: [TuiElasticContainerComponent, TuiElasticContainerDirective], exports: [TuiElasticContainerComponent] });
84
- TuiElasticContainerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerModule });
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiElasticContainerModule, decorators: [{
82
+ TuiElasticContainerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiElasticContainerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
83
+ TuiElasticContainerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiElasticContainerModule, declarations: [TuiElasticContainerComponent, TuiElasticContainerDirective], exports: [TuiElasticContainerComponent] });
84
+ TuiElasticContainerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiElasticContainerModule });
85
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiElasticContainerModule, decorators: [{
86
86
  type: NgModule,
87
87
  args: [{
88
88
  declarations: [TuiElasticContainerComponent, TuiElasticContainerDirective],
@@ -117,8 +117,8 @@ class TuiFileComponent {
117
117
  return `.${file.name.split('.').pop()}` || '';
118
118
  }
119
119
  }
120
- TuiFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFileComponent, deps: [{ token: TUI_IS_MOBILE }, { token: DomSanitizer }, { token: TUI_FILE_TEXTS }, { token: TUI_FILE_OPTIONS }, { token: TUI_DIGITAL_INFORMATION_UNITS }], target: i0.ɵɵFactoryTarget.Component });
121
- TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showDelete: "showDelete", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n alt=\"file preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_blank]=\"isBig || isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);background:var(--tui-base-01);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_blank{color:var(--tui-base-06)}.t-icon_error{color:var(--tui-error-fill)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
120
+ TuiFileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFileComponent, deps: [{ token: TUI_IS_MOBILE }, { token: DomSanitizer }, { token: TUI_FILE_TEXTS }, { token: TUI_FILE_OPTIONS }, { token: TUI_DIGITAL_INFORMATION_UNITS }], target: i0.ɵɵFactoryTarget.Component });
121
+ TuiFileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiFileComponent, selector: "tui-file", inputs: { file: "file", state: "state", size: "size", showDelete: "showDelete", showSize: "showSize", leftContent: "leftContent" }, outputs: { removed: "removed" }, host: { properties: { "class._focused": "this.focused", "class._link": "this.src" } }, ngImport: i0, template: "<ng-container\n *ngIf=\"!src; else withLink\"\n [ngTemplateOutlet]=\"fileInfoTemplate\"\n></ng-container>\n\n<ng-template #withLink>\n <a\n rel=\"noreferrer noopener\"\n target=\"_blank\"\n class=\"t-link\"\n [href]=\"src\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n >\n <ng-container [ngTemplateOutlet]=\"fileInfoTemplate\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #fileInfoTemplate>\n <div\n class=\"t-preview\"\n [class.t-preview_big]=\"isBig\"\n >\n <ng-container *polymorpheusOutlet=\"leftContent || defaultLeftContent as text\">\n {{ text }}\n </ng-container>\n </div>\n <div class=\"t-wrapper\">\n <div class=\"t-text\">\n <div\n automation-id=\"tui-file__name\"\n class=\"t-name\"\n >\n {{ name }}\n </div>\n <div\n automation-id=\"tui-file__type\"\n class=\"t-type\"\n >\n {{ type }}\n </div>\n <div\n *ngIf=\"showSize && (fileSize$ | async) as fileSize\"\n automation-id=\"tui-file__size\"\n class=\"t-size\"\n >\n {{ fileSize }}\n </div>\n </div>\n <div\n *ngIf=\"content$ | async as content\"\n automation-id=\"tui-file__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text\">\n {{ text }}\n </ng-container>\n </div>\n <ng-content></ng-content>\n </div>\n <ng-container *ngIf=\"allowDelete\">\n <button\n *ngIf=\"fileTexts$ | async as texts\"\n automation-id=\"tui-file__remove\"\n tuiIconButton\n type=\"button\"\n size=\"xs\"\n icon=\"tuiIconCloseLarge\"\n appearance=\"icon\"\n class=\"t-remove\"\n [title]=\"texts.remove\"\n [class.t-remove_mobile]=\"isMobile\"\n (click.prevent)=\"onRemoveClick()\"\n ></button>\n </ng-container>\n</ng-template>\n\n<ng-template #defaultLeftContent>\n <img\n *ngIf=\"preview; else loader\"\n automation-id=\"tui-file__preview\"\n alt=\"file preview\"\n class=\"t-image\"\n [src]=\"preview\"\n />\n <ng-template #loader>\n <tui-loader\n *ngIf=\"isLoading; else svg\"\n automation-id=\"tui-file__loader\"\n class=\"t-loader\"\n [inheritColor]=\"isBig\"\n ></tui-loader>\n </ng-template>\n <ng-template #svg>\n <tui-svg\n automation-id=\"tui-file__icon\"\n class=\"t-icon\"\n [class.t-icon_blank]=\"isBig || isDeleted\"\n [class.t-icon_error]=\"isError\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n</ng-template>\n", styles: [":host{position:relative;display:flex;align-items:center;font:var(--tui-font-text-m);background:var(--tui-base-01);border:1px solid var(--tui-base-03);border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host:not(._link){padding:.5625rem 2.1875rem .5625rem .5625rem}:host:hover .t-remove{opacity:1}:host._focused{border-color:var(--tui-focus);box-shadow:0 0 0 1px inset var(--tui-focus)}.t-link{display:flex;flex:1;padding:.5625rem 2.1875rem .5625rem .5625rem;text-decoration:none;outline:none;cursor:pointer;color:var(--tui-text-01);max-width:calc(100% - 2.75rem)}.t-link:hover{background-color:var(--tui-base-02)}.t-preview{position:relative;display:flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;margin-right:.75rem;border-radius:var(--tui-radius-m);overflow:hidden;color:var(--tui-base-06)}.t-preview_big{width:4rem;height:4rem;margin-right:1rem}.t-preview_big:before{position:absolute;top:0;left:0;width:100%;height:100%;content:\"\";background:var(--tui-base-08);opacity:.08}.t-image{max-width:100%;max-height:100%}.t-loader{position:absolute;top:0;left:0;width:100%;height:100%}.t-icon{position:absolute;top:0;left:0;width:100%;height:100%;color:var(--tui-success-fill)}.t-icon_blank{color:var(--tui-base-06)}.t-icon_error{color:var(--tui-error-fill)}.t-remove{transition-property:opacity;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;top:.625rem;right:.625rem;opacity:0}.t-remove:focus,.t-remove_mobile{opacity:1}.t-wrapper{display:flex;flex-direction:column;justify-content:center;overflow:hidden}.t-text{display:flex}.t-size{flex-shrink:0;opacity:var(--tui-disabled-opacity);margin-left:.5rem}.t-type{flex-shrink:0}.t-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.t-content{font:var(--tui-font-text-s);color:var(--tui-error-fill)}\n"], components: [{ type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }, { type: i1.TuiLoaderComponent, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "showLoader"] }, { type: i1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i3.TuiFocusVisibleDirective, selector: "[tuiFocusVisibleChange]", outputs: ["tuiFocusVisibleChange"] }, { type: i4.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
122
122
  __decorate([
123
123
  tuiDefaultProp()
124
124
  ], TuiFileComponent.prototype, "file", void 0);
@@ -152,7 +152,7 @@ __decorate([
152
152
  __decorate([
153
153
  tuiPure
154
154
  ], TuiFileComponent.prototype, "getType", null);
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFileComponent, decorators: [{
155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFileComponent, decorators: [{
156
156
  type: Component,
157
157
  args: [{
158
158
  selector: 'tui-file',
@@ -213,12 +213,12 @@ class TuiFilesComponent {
213
213
  this.hidden = !this.hidden;
214
214
  }
215
215
  }
216
- TuiFilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilesComponent, deps: [{ token: TUI_HIDE_TEXT }, { token: TUI_SHOW_ALL_TEXT }], target: i0.ɵɵFactoryTarget.Component });
217
- TuiFilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFilesComponent, selector: "tui-files", inputs: { max: "max" }, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"!hidden\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n type=\"button\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"hidden\"\n (click)=\"toggle()\"\n >\n {{ (hidden ? showAllText$ : hideText$) | async }}\n </button>\n</section>\n", styles: ["tui-files{display:block}tui-files .t-files{position:relative;display:block;width:100%;height:100%;border-radius:var(--tui-radius-m);overflow:hidden}tui-files .t-button{z-index:3;width:100%;background:var(--tui-base-01)}tui-files .t-button_collapsed{box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);margin-top:-1.5rem}tui-files .t-extra-items tui-file{border-radius:0;margin-top:0;margin-bottom:-.0625rem}\n"], components: [{ type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
216
+ TuiFilesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilesComponent, deps: [{ token: TUI_HIDE_TEXT }, { token: TUI_SHOW_ALL_TEXT }], target: i0.ɵɵFactoryTarget.Component });
217
+ TuiFilesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiFilesComponent, selector: "tui-files", inputs: { max: "max" }, queries: [{ propertyName: "items", predicate: TuiItemDirective, read: TemplateRef }], ngImport: i0, template: "<ng-container *ngIf=\"items?.changes | async\"></ng-container>\n\n<section\n tuiGroup\n orientation=\"vertical\"\n class=\"t-files\"\n [collapsed]=\"true\"\n>\n <ng-content></ng-content>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"!max || index < max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n <tui-expand\n *ngIf=\"hasExtraItems\"\n [expanded]=\"!hidden\"\n >\n <div class=\"t-extra-items\">\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"max && index >= max\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </ng-container>\n </div>\n </tui-expand>\n <button\n *ngIf=\"hasExtraItems\"\n tuiButton\n appearance=\"outline\"\n size=\"m\"\n type=\"button\"\n class=\"t-button\"\n [class.t-button_collapsed]=\"hidden\"\n (click)=\"toggle()\"\n >\n {{ (hidden ? showAllText$ : hideText$) | async }}\n </button>\n</section>\n", styles: ["tui-files{display:block}tui-files .t-files{position:relative;display:block;width:100%;height:100%;border-radius:var(--tui-radius-m);overflow:hidden}tui-files .t-button{z-index:3;width:100%;background:var(--tui-base-01)}tui-files .t-button_collapsed{box-shadow:0 1.125rem 1.875rem rgba(0,0,0,.48);margin-top:-1.5rem}tui-files .t-extra-items tui-file{border-radius:0;margin-top:0;margin-bottom:-.0625rem}\n"], components: [{ type: i1.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i2.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
218
218
  __decorate([
219
219
  tuiDefaultProp()
220
220
  ], TuiFilesComponent.prototype, "max", void 0);
221
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilesComponent, decorators: [{
221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilesComponent, decorators: [{
222
222
  type: Component,
223
223
  args: [{
224
224
  selector: 'tui-files',
@@ -242,8 +242,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
242
242
 
243
243
  class TuiFilesModule {
244
244
  }
245
- TuiFilesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
246
- TuiFilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilesModule, declarations: [TuiFilesComponent, TuiFileComponent], imports: [CommonModule,
245
+ TuiFilesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
246
+ TuiFilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilesModule, declarations: [TuiFilesComponent, TuiFileComponent], imports: [CommonModule,
247
247
  TuiGroupModule,
248
248
  TuiLoaderModule,
249
249
  PolymorpheusModule,
@@ -252,7 +252,7 @@ TuiFilesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version:
252
252
  TuiButtonModule,
253
253
  TuiItemModule,
254
254
  TuiExpandModule], exports: [TuiFilesComponent, TuiFileComponent, TuiItemDirective] });
255
- TuiFilesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilesModule, imports: [[
255
+ TuiFilesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilesModule, imports: [[
256
256
  CommonModule,
257
257
  TuiGroupModule,
258
258
  TuiLoaderModule,
@@ -263,7 +263,7 @@ TuiFilesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version:
263
263
  TuiItemModule,
264
264
  TuiExpandModule,
265
265
  ]] });
266
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilesModule, decorators: [{
266
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilesModule, decorators: [{
267
267
  type: NgModule,
268
268
  args: [{
269
269
  declarations: [TuiFilesComponent, TuiFileComponent],
@@ -41,8 +41,8 @@ class TuiFilterComponent extends AbstractTuiMultipleControl {
41
41
  return this.value.some(arrItem => this.identityMatcher(arrItem, item));
42
42
  }
43
43
  }
44
- TuiFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilterComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
45
- TuiFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiFilterComponent, selector: "tui-filter", inputs: { identityMatcher: "identityMatcher", items: "items", size: "size", disabledItemHandler: "disabledItemHandler", content: "content", badgeHandler: "badgeHandler" }, outputs: { toggledItem: "toggledItem" }, host: { properties: { "attr.data-size": "this.size" } }, usesInheritance: true, ngImport: i0, template: "<tui-checkbox-block\n *ngFor=\"let item of items\"\n automation-id=\"tui-filter__checkbox\"\n class=\"t-item\"\n [disabled]=\"disabledItemHandler(item)\"\n [hideCheckbox]=\"true\"\n [ngModel]=\"isCheckboxEnabled(item)\"\n [size]=\"size\"\n (ngModelChange)=\"onCheckbox($event, item)\"\n>\n <div\n automation-id=\"tui-filter__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: item}\">\n {{ text }}\n </ng-container>\n <tui-badge\n *ngIf=\"badgeHandler(item) as badgeValue\"\n automation-id=\"tui-filter__badge\"\n tuiMode=\"onLight\"\n class=\"t-badge\"\n [class.t-badge_disabled]=\"disabledItemHandler(item)\"\n [size]=\"size\"\n [value]=\"badgeValue\"\n ></tui-badge>\n </div>\n</tui-checkbox-block>\n", styles: [":host{display:block;margin-bottom:-.25rem}.t-content{display:flex;align-items:center}.t-item{margin-right:.25rem;margin-bottom:.25rem}.t-item:last-child,:host[data-size=l] .t-item:last-child{margin-right:0}:host[data-size=l] .t-item{margin-right:.5rem;margin-bottom:.5rem}.t-badge{margin-left:.25rem}.t-badge_disabled{opacity:var(--tui-disabled-opacity)}\n"], components: [{ type: i1.TuiCheckboxBlockComponent, selector: "tui-checkbox-block", inputs: ["contentAlign", "hideCheckbox", "size"] }, { type: i2.TuiBadgeComponent, selector: "tui-badge", inputs: ["value", "size", "status", "hoverable"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
44
+ TuiFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilterComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: ElementRef }], target: i0.ɵɵFactoryTarget.Component });
45
+ TuiFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiFilterComponent, selector: "tui-filter", inputs: { identityMatcher: "identityMatcher", items: "items", size: "size", disabledItemHandler: "disabledItemHandler", content: "content", badgeHandler: "badgeHandler" }, outputs: { toggledItem: "toggledItem" }, host: { properties: { "attr.data-size": "this.size" } }, usesInheritance: true, ngImport: i0, template: "<tui-checkbox-block\n *ngFor=\"let item of items\"\n automation-id=\"tui-filter__checkbox\"\n class=\"t-item\"\n [disabled]=\"disabledItemHandler(item)\"\n [hideCheckbox]=\"true\"\n [ngModel]=\"isCheckboxEnabled(item)\"\n [size]=\"size\"\n (ngModelChange)=\"onCheckbox($event, item)\"\n>\n <div\n automation-id=\"tui-filter__content\"\n class=\"t-content\"\n >\n <ng-container *polymorpheusOutlet=\"content as text; context: {$implicit: item}\">\n {{ text }}\n </ng-container>\n <tui-badge\n *ngIf=\"badgeHandler(item) as badgeValue\"\n automation-id=\"tui-filter__badge\"\n tuiMode=\"onLight\"\n class=\"t-badge\"\n [class.t-badge_disabled]=\"disabledItemHandler(item)\"\n [size]=\"size\"\n [value]=\"badgeValue\"\n ></tui-badge>\n </div>\n</tui-checkbox-block>\n", styles: [":host{display:block;margin-bottom:-.25rem}.t-content{display:flex;align-items:center}.t-item{margin-right:.25rem;margin-bottom:.25rem}.t-item:last-child,:host[data-size=l] .t-item:last-child{margin-right:0}:host[data-size=l] .t-item{margin-right:.5rem;margin-bottom:.5rem}.t-badge{margin-left:.25rem}.t-badge_disabled{opacity:var(--tui-disabled-opacity)}\n"], components: [{ type: i1.TuiCheckboxBlockComponent, selector: "tui-checkbox-block", inputs: ["contentAlign", "hideCheckbox", "size"] }, { type: i2.TuiBadgeComponent, selector: "tui-badge", inputs: ["value", "size", "status", "hoverable"] }], directives: [{ type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i5.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.TuiModeDirective, selector: "[tuiMode]", inputs: ["tuiMode"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
46
46
  __decorate([
47
47
  tuiDefaultProp()
48
48
  ], TuiFilterComponent.prototype, "identityMatcher", void 0);
@@ -61,7 +61,7 @@ __decorate([
61
61
  __decorate([
62
62
  tuiDefaultProp()
63
63
  ], TuiFilterComponent.prototype, "badgeHandler", void 0);
64
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilterComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilterComponent, decorators: [{
65
65
  type: Component,
66
66
  args: [{
67
67
  selector: 'tui-filter',
@@ -103,14 +103,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
103
103
 
104
104
  class TuiFilterModule {
105
105
  }
106
- TuiFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
107
- TuiFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilterModule, declarations: [TuiFilterComponent], imports: [CommonModule,
106
+ TuiFilterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
107
+ TuiFilterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilterModule, declarations: [TuiFilterComponent], imports: [CommonModule,
108
108
  FormsModule,
109
109
  PolymorpheusModule,
110
110
  TuiCheckboxBlockModule,
111
111
  TuiBadgeModule,
112
112
  TuiModeModule], exports: [TuiFilterComponent] });
113
- TuiFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilterModule, imports: [[
113
+ TuiFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilterModule, imports: [[
114
114
  CommonModule,
115
115
  FormsModule,
116
116
  PolymorpheusModule,
@@ -118,7 +118,7 @@ TuiFilterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
118
118
  TuiBadgeModule,
119
119
  TuiModeModule,
120
120
  ]] });
121
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiFilterModule, decorators: [{
121
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiFilterModule, decorators: [{
122
122
  type: NgModule,
123
123
  args: [{
124
124
  imports: [
@@ -63,8 +63,8 @@ class TuiInputCopyComponent extends AbstractTuiControl {
63
63
  return '';
64
64
  }
65
65
  }
66
- TuiInputCopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCopyComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: DOCUMENT }, { token: TUI_TEXTFIELD_SIZE }, { token: TUI_COPY_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
67
- TuiInputCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputCopyComponent, selector: "tui-input-copy", inputs: { successMessage: "successMessage", messageDirection: "messageDirection", messageAppearance: "messageAppearance" }, host: { properties: { "class._has-value": "this.hasValue" } }, providers: [
66
+ TuiInputCopyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCopyComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: DOCUMENT }, { token: TUI_TEXTFIELD_SIZE }, { token: TUI_COPY_TEXTS }], target: i0.ɵɵFactoryTarget.Component });
67
+ TuiInputCopyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputCopyComponent, selector: "tui-input-copy", inputs: { successMessage: "successMessage", messageDirection: "messageDirection", messageAppearance: "messageAppearance" }, host: { properties: { "class._has-value": "this.hasValue" } }, providers: [
68
68
  TUI_VALUE_ACCESSOR_PROVIDER,
69
69
  tuiAsFocusableItemAccessor(TuiInputCopyComponent),
70
70
  tuiAsControl(TuiInputCopyComponent),
@@ -81,7 +81,7 @@ __decorate([
81
81
  __decorate([
82
82
  tuiPure
83
83
  ], TuiInputCopyComponent.prototype, "hintText$", null);
84
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCopyComponent, decorators: [{
84
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCopyComponent, decorators: [{
85
85
  type: Component,
86
86
  args: [{
87
87
  selector: 'tui-input-copy',
@@ -132,9 +132,9 @@ class TuiInputCopyDirective extends AbstractTuiTextfieldHost {
132
132
  this.host.onValueChange(value);
133
133
  }
134
134
  }
135
- TuiInputCopyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCopyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
136
- TuiInputCopyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputCopyDirective, selector: "tui-input-copy", providers: [tuiAsTextfieldHost(TuiInputCopyDirective)], usesInheritance: true, ngImport: i0 });
137
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCopyDirective, decorators: [{
135
+ TuiInputCopyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCopyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
136
+ TuiInputCopyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputCopyDirective, selector: "tui-input-copy", providers: [tuiAsTextfieldHost(TuiInputCopyDirective)], usesInheritance: true, ngImport: i0 });
137
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCopyDirective, decorators: [{
138
138
  type: Directive,
139
139
  args: [{
140
140
  selector: 'tui-input-copy',
@@ -144,8 +144,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
144
144
 
145
145
  class TuiInputCopyModule {
146
146
  }
147
- TuiInputCopyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCopyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
148
- TuiInputCopyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCopyModule, declarations: [TuiInputCopyComponent, TuiInputCopyDirective], imports: [CommonModule,
147
+ TuiInputCopyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCopyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
148
+ TuiInputCopyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCopyModule, declarations: [TuiInputCopyComponent, TuiInputCopyDirective], imports: [CommonModule,
149
149
  PolymorpheusModule,
150
150
  TuiWrapperModule,
151
151
  TuiSvgModule,
@@ -153,7 +153,7 @@ TuiInputCopyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
153
153
  TuiPrimitiveTextfieldModule,
154
154
  TuiAlertModule,
155
155
  TuiTextfieldControllerModule], exports: [TuiInputCopyComponent, TuiInputCopyDirective, TuiTextfieldComponent] });
156
- TuiInputCopyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCopyModule, imports: [[
156
+ TuiInputCopyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCopyModule, imports: [[
157
157
  CommonModule,
158
158
  PolymorpheusModule,
159
159
  TuiWrapperModule,
@@ -163,7 +163,7 @@ TuiInputCopyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", vers
163
163
  TuiAlertModule,
164
164
  TuiTextfieldControllerModule,
165
165
  ]] });
166
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCopyModule, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCopyModule, decorators: [{
167
167
  type: NgModule,
168
168
  args: [{
169
169
  imports: [
@@ -5,7 +5,7 @@ import * as i4 from '@angular/forms';
5
5
  import { NgControl } from '@angular/forms';
6
6
  import { AbstractTuiNullableControl, tuiIsNativeFocused, tuiIsPresent, tuiClamp, TUI_IS_MOBILE, tuiAsFocusableItemAccessor, tuiAsControl, tuiDefaultProp, tuiPure } from '@taiga-ui/cdk';
7
7
  import * as i1 from '@taiga-ui/core';
8
- import { tuiCreateNumberMask, tuiFormatNumber, TUI_TEXTFIELD_APPEARANCE, TUI_TEXTFIELD_SIZE, TUI_NUMBER_FORMAT, TuiPrimitiveTextfieldComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiButtonModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiTextfieldComponent } from '@taiga-ui/core';
8
+ import { tuiCreateNumberMask, tuiFormatNumber, TUI_TEXTFIELD_WATCHED_CONTROLLER, TUI_NUMBER_FORMAT, TEXTFIELD_CONTROLLER_PROVIDER, TuiPrimitiveTextfieldComponent, AbstractTuiTextfieldHost, tuiAsTextfieldHost, TuiButtonModule, TuiPrimitiveTextfieldModule, TuiTextfieldControllerModule, TuiTextfieldComponent } from '@taiga-ui/core';
9
9
  import { TUI_PLUS_MINUS_TEXTS } from '@taiga-ui/kit/tokens';
10
10
  import * as i2 from '@taiga-ui/kit/directives';
11
11
  import { TextMaskModule, TuiValueAccessorModule } from '@taiga-ui/kit/directives';
@@ -36,10 +36,9 @@ const tuiInputCountOptionsProvider = (options) => ({
36
36
  });
37
37
 
38
38
  class TuiInputCountComponent extends AbstractTuiNullableControl {
39
- constructor(control, changeDetectorRef, appearance, textfieldSize, minusTexts$, isMobile, options, numberFormat) {
39
+ constructor(control, changeDetectorRef, textfieldController, minusTexts$, isMobile, options, numberFormat) {
40
40
  super(control, changeDetectorRef);
41
- this.appearance = appearance;
42
- this.textfieldSize = textfieldSize;
41
+ this.textfieldController = textfieldController;
43
42
  this.minusTexts$ = minusTexts$;
44
43
  this.isMobile = isMobile;
45
44
  this.options = options;
@@ -64,7 +63,7 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
64
63
  };
65
64
  }
66
65
  get buttonsHidden() {
67
- return this.hideButtons || this.appearance === 'table';
66
+ return this.hideButtons || this.textfieldController.appearance === 'table';
68
67
  }
69
68
  get iconUp() {
70
69
  return this.options.icons.up;
@@ -78,7 +77,7 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
78
77
  : this.primitiveTextfield.nativeFocusableElement;
79
78
  }
80
79
  get size() {
81
- return this.textfieldSize.size;
80
+ return this.textfieldController.size;
82
81
  }
83
82
  get focused() {
84
83
  return tuiIsNativeFocused(this.nativeFocusableElement);
@@ -191,10 +190,11 @@ class TuiInputCountComponent extends AbstractTuiNullableControl {
191
190
  return Number.isNaN(value) || !tuiIsPresent(value);
192
191
  }
193
192
  }
194
- TuiInputCountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCountComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_TEXTFIELD_APPEARANCE }, { token: TUI_TEXTFIELD_SIZE }, { token: TUI_PLUS_MINUS_TEXTS }, { token: TUI_IS_MOBILE }, { token: TUI_INPUT_COUNT_OPTIONS }, { token: TUI_NUMBER_FORMAT }], target: i0.ɵɵFactoryTarget.Component });
195
- TuiInputCountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputCountComponent, selector: "tui-input-count", inputs: { step: "step", min: "min", max: "max", hideButtons: "hideButtons", prefix: "prefix", postfix: "postfix" }, host: { properties: { "class._hide-buttons": "this.buttonsHidden", "attr.data-size": "this.size" } }, providers: [
193
+ TuiInputCountComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountComponent, deps: [{ token: NgControl, optional: true, self: true }, { token: ChangeDetectorRef }, { token: TUI_TEXTFIELD_WATCHED_CONTROLLER }, { token: TUI_PLUS_MINUS_TEXTS }, { token: TUI_IS_MOBILE }, { token: TUI_INPUT_COUNT_OPTIONS }, { token: TUI_NUMBER_FORMAT }], target: i0.ɵɵFactoryTarget.Component });
194
+ TuiInputCountComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputCountComponent, selector: "tui-input-count", inputs: { step: "step", min: "min", max: "max", hideButtons: "hideButtons", prefix: "prefix", postfix: "postfix" }, host: { properties: { "class._hide-buttons": "this.buttonsHidden", "attr.data-size": "this.size" } }, providers: [
196
195
  tuiAsFocusableItemAccessor(TuiInputCountComponent),
197
196
  tuiAsControl(TuiInputCountComponent),
197
+ TEXTFIELD_CONTROLLER_PROVIDER,
198
198
  ], viewQueries: [{ propertyName: "primitiveTextfield", first: true, predicate: TuiPrimitiveTextfieldComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n", styles: [":host{display:flex;font:var(--tui-font-text-s);border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01);text-align:left}:host._disabled{pointer-events:none}:host[data-size=l]{font:var(--tui-font-text-m);height:var(--tui-height-l)}.t-textfield{position:relative;border-radius:inherit;text-align:inherit;flex-grow:1;min-width:0}:host:not(._hide-buttons) .t-textfield{border-top-right-radius:0;border-bottom-right-radius:0}.t-buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.t-buttons .t-button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.t-buttons .t-button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.t-buttons .t-button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-size=l] .t-buttons .t-button{width:calc(var(--tui-height-l) * .75)}\n"], components: [{ type: i1.TuiPrimitiveTextfieldComponent, selector: "tui-primitive-textfield", inputs: ["editable", "filler", "iconCleaner", "readOnly", "invalid", "disabled", "prefix", "postfix", "value"], outputs: ["valueChange"] }, { type: i1.TuiButtonComponent, selector: "button[tuiButton], button[tuiIconButton], a[tuiButton], a[tuiIconButton]", inputs: ["appearance", "disabled", "icon", "iconRight", "shape", "showLoader", "size"] }], directives: [{ type: i1.TuiPrimitiveTextfieldDirective, selector: "tui-primitive-textfield" }, { type: i2.TuiValueAccessorDirective, selector: "[tuiValueAccessor]" }, { type: i2.MaskedInputDirective, selector: "[textMask]", inputs: ["textMask"], exportAs: ["textMask"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
199
199
  __decorate([
200
200
  tuiDefaultProp()
@@ -217,7 +217,7 @@ __decorate([
217
217
  __decorate([
218
218
  tuiPure
219
219
  ], TuiInputCountComponent.prototype, "getMask", null);
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCountComponent, decorators: [{
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountComponent, decorators: [{
221
221
  type: Component,
222
222
  args: [{
223
223
  selector: 'tui-input-count',
@@ -227,6 +227,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
227
227
  providers: [
228
228
  tuiAsFocusableItemAccessor(TuiInputCountComponent),
229
229
  tuiAsControl(TuiInputCountComponent),
230
+ TEXTFIELD_CONTROLLER_PROVIDER,
230
231
  ],
231
232
  }]
232
233
  }], ctorParameters: function () { return [{ type: i4.NgControl, decorators: [{
@@ -239,12 +240,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
239
240
  }] }, { type: i0.ChangeDetectorRef, decorators: [{
240
241
  type: Inject,
241
242
  args: [ChangeDetectorRef]
242
- }] }, { type: undefined, decorators: [{
243
- type: Inject,
244
- args: [TUI_TEXTFIELD_APPEARANCE]
245
- }] }, { type: i1.TuiTextfieldSizeDirective, decorators: [{
243
+ }] }, { type: i1.TuiTextfieldController, decorators: [{
246
244
  type: Inject,
247
- args: [TUI_TEXTFIELD_SIZE]
245
+ args: [TUI_TEXTFIELD_WATCHED_CONTROLLER]
248
246
  }] }, { type: i5.Observable, decorators: [{
249
247
  type: Inject,
250
248
  args: [TUI_PLUS_MINUS_TEXTS]
@@ -296,9 +294,9 @@ class TuiInputCountDirective extends AbstractTuiTextfieldHost {
296
294
  }
297
295
  }
298
296
  }
299
- TuiInputCountDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCountDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
300
- TuiInputCountDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiInputCountDirective, selector: "tui-input-count", providers: [tuiAsTextfieldHost(TuiInputCountDirective)], usesInheritance: true, ngImport: i0 });
301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCountDirective, decorators: [{
297
+ TuiInputCountDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
298
+ TuiInputCountDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.17", type: TuiInputCountDirective, selector: "tui-input-count", providers: [tuiAsTextfieldHost(TuiInputCountDirective)], usesInheritance: true, ngImport: i0 });
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountDirective, decorators: [{
302
300
  type: Directive,
303
301
  args: [{
304
302
  selector: 'tui-input-count',
@@ -308,15 +306,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
308
306
 
309
307
  class TuiInputCountModule {
310
308
  }
311
- TuiInputCountModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
312
- TuiInputCountModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCountModule, declarations: [TuiInputCountComponent, TuiInputCountDirective], imports: [CommonModule,
309
+ TuiInputCountModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
310
+ TuiInputCountModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, declarations: [TuiInputCountComponent, TuiInputCountDirective], imports: [CommonModule,
313
311
  TextMaskModule,
314
312
  TuiButtonModule,
315
313
  TuiPrimitiveTextfieldModule,
316
314
  TuiTextfieldControllerModule,
317
315
  TuiValueAccessorModule,
318
316
  PolymorpheusModule], exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent] });
319
- TuiInputCountModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCountModule, imports: [[
317
+ TuiInputCountModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, imports: [[
320
318
  CommonModule,
321
319
  TextMaskModule,
322
320
  TuiButtonModule,
@@ -325,7 +323,7 @@ TuiInputCountModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", ver
325
323
  TuiValueAccessorModule,
326
324
  PolymorpheusModule,
327
325
  ]] });
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiInputCountModule, decorators: [{
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: TuiInputCountModule, decorators: [{
329
327
  type: NgModule,
330
328
  args: [{
331
329
  imports: [
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-input-count.js","sources":["../../../projects/kit/components/input-count/input-count-options.ts","../../../projects/kit/components/input-count/input-count.component.ts","../../../projects/kit/components/input-count/input-count.template.html","../../../projects/kit/components/input-count/input-count.directive.ts","../../../projects/kit/components/input-count/input-count.module.ts","../../../projects/kit/components/input-count/taiga-ui-kit-components-input-count.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputCountOptions {\n readonly icons: Readonly<{\n up: PolymorpheusContent<Record<string, unknown>>;\n down: PolymorpheusContent<Record<string, unknown>>;\n }>;\n readonly appearance: string;\n readonly hideButtons: boolean;\n readonly min: number;\n readonly max: number;\n readonly step: number;\n readonly postfix: string;\n}\n\n/** Default values for the input count options. */\nexport const TUI_INPUT_COUNT_DEFAULT_OPTIONS: TuiInputCountOptions = {\n icons: {\n up: `tuiIconPlus`,\n down: `tuiIconMinus`,\n },\n appearance: `textfield`,\n hideButtons: false,\n min: 0,\n max: Number.MAX_SAFE_INTEGER,\n step: 1,\n postfix: ``,\n};\n\nexport const TUI_INPUT_COUNT_OPTIONS = new InjectionToken<TuiInputCountOptions>(\n `[TUI_INPUT_COUNT_OPTIONS]: Default parameters for input count component`,\n {\n factory: () => TUI_INPUT_COUNT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiInputCountOptionsProvider: (\n options: Partial<TuiInputCountOptions>,\n) => ValueProvider = (options: Partial<TuiInputCountOptions>) => ({\n provide: TUI_INPUT_COUNT_OPTIONS,\n useValue: {...TUI_INPUT_COUNT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsPresent,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_SIZE,\n tuiCreateNumberMask,\n tuiFormatNumber,\n TuiNumberFormatSettings,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldSizeDirective,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_PLUS_MINUS_TEXTS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from './input-count-options';\n\n@Component({\n selector: 'tui-input-count',\n templateUrl: './input-count.template.html',\n styleUrls: ['./input-count.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCountComponent),\n tuiAsControl(TuiInputCountComponent),\n ],\n})\nexport class TuiInputCountComponent\n extends AbstractTuiNullableControl<number>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n step = this.options.step;\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n hideButtons = this.options.hideButtons;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n @tuiDefaultProp()\n postfix = this.options.postfix;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE)\n private readonly appearance: string,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_PLUS_MINUS_TEXTS)\n readonly minusTexts$: Observable<[string, string]>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_INPUT_COUNT_OPTIONS)\n readonly options: TuiInputCountOptions,\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: TuiNumberFormatSettings,\n ) {\n super(control, changeDetectorRef);\n }\n\n @tuiPure\n getMask(allowNegative: boolean): TuiTextMaskOptions {\n return {\n mask: tuiCreateNumberMask({\n allowNegative,\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n guide: false,\n };\n }\n\n @HostBinding('class._hide-buttons')\n get buttonsHidden(): boolean {\n return this.hideButtons || this.appearance === 'table';\n }\n\n get iconUp(): PolymorpheusContent<Record<string, unknown>> {\n return this.options.icons.up;\n }\n\n get iconDown(): PolymorpheusContent<Record<string, unknown>> {\n return this.options.icons.down;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.primitiveTextfield || this.computedDisabled\n ? null\n : this.primitiveTextfield.nativeFocusableElement;\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldSize.size;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get exampleText(): string {\n return String(this.min);\n }\n\n get computedValue(): string {\n return this.focused ? this.nativeValue : this.formatNumber(this.value);\n }\n\n get minusButtonDisabled(): boolean {\n return !this.interactive || (tuiIsPresent(this.value) && this.value <= this.min);\n }\n\n get plusButtonDisabled(): boolean {\n return !this.interactive || (tuiIsPresent(this.value) && this.value >= this.max);\n }\n\n onButtonMouseDown(event: MouseEvent, disabled: boolean = false): void {\n if (disabled || !this.nativeFocusableElement || this.isMobile) {\n return;\n }\n\n event.preventDefault();\n this.nativeFocusableElement.focus();\n }\n\n onFocused(focused: boolean): void {\n if (!focused) {\n this.onBlur();\n }\n\n this.updateFocused(focused);\n }\n\n onValueChange(): void {\n const capped = this.capValue(this.nativeNumberValue);\n\n if (this.isNotNumber(capped)) {\n this.updateValue(null);\n\n return;\n }\n\n const newValue = this.formatNumber(capped);\n\n if (this.nativeValue !== newValue) {\n this.nativeValue = newValue;\n }\n\n this.updateValue(capped);\n }\n\n decreaseValue(): void {\n if (this.readOnly) {\n return;\n }\n\n const newValue = (this.value || 0) - this.step;\n\n this.safeUpdateValue(newValue);\n }\n\n increaseValue(): void {\n if (this.readOnly) {\n return;\n }\n\n const newValue = (this.value || 0) + this.step;\n\n this.safeUpdateValue(newValue);\n }\n\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowUp':\n case 'Up':\n this.increaseValue();\n event.preventDefault();\n break;\n case 'ArrowDown':\n case 'Down':\n this.decreaseValue();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n\n private get nativeNumberValue(): number {\n return parseInt(\n this.nativeValue.split(this.numberFormat.thousandSeparator).join(''),\n 10,\n );\n }\n\n private get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n private set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n private safeUpdateValue(newValue: number): void {\n const value = tuiClamp(newValue, this.min, this.max);\n\n this.updateValue(value);\n this.nativeValue = this.formatNumber(value);\n }\n\n private capValue(value: number): number | null {\n const capped = Math.min(value, this.max);\n\n return Number.isNaN(capped) || capped < this.min ? null : capped;\n }\n\n private onBlur(): void {\n if (this.isNotNumber(this.value)) {\n this.updateValue(null);\n\n return;\n }\n\n const value = Math.max(this.nativeNumberValue || 0, this.min);\n const formattedValue = this.formatNumber(value);\n\n this.nativeValue = formattedValue;\n this.updateValue(value);\n\n if (this.primitiveTextfield) {\n this.primitiveTextfield.value = formattedValue;\n }\n }\n\n private formatNumber(value: number | null): string {\n return this.isNotNumber(value) ? '' : tuiFormatNumber(value, this.numberFormat);\n }\n\n private isNotNumber(value: number | null): value is null {\n return Number.isNaN(value) || !tuiIsPresent(value);\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n","import {AfterViewInit, Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputCountComponent} from './input-count.component';\n\n@Directive({\n selector: 'tui-input-count',\n providers: [tuiAsTextfieldHost(TuiInputCountDirective)],\n})\nexport class TuiInputCountDirective\n extends AbstractTuiTextfieldHost<TuiInputCountComponent>\n implements AfterViewInit\n{\n onValueChange(): void {\n this.host.onValueChange();\n }\n\n ngAfterViewInit(): void {\n if (this.host.nativeFocusableElement) {\n const {nativeFocusableElement} = this.host;\n\n nativeFocusableElement.autocomplete = 'off';\n nativeFocusableElement.inputMode = 'numeric';\n nativeFocusableElement.maxLength =\n nativeFocusableElement.maxLength > -1\n ? nativeFocusableElement.maxLength\n : 18;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCountComponent} from './input-count.component';\nimport {TuiInputCountDirective} from './input-count.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputCountComponent, TuiInputCountDirective],\n exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent],\n})\nexport class TuiInputCountModule {}\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-count.js","sources":["../../../projects/kit/components/input-count/input-count-options.ts","../../../projects/kit/components/input-count/input-count.component.ts","../../../projects/kit/components/input-count/input-count.template.html","../../../projects/kit/components/input-count/input-count.directive.ts","../../../projects/kit/components/input-count/input-count.module.ts","../../../projects/kit/components/input-count/taiga-ui-kit-components-input-count.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiInputCountOptions {\n readonly icons: Readonly<{\n up: PolymorpheusContent<Record<string, unknown>>;\n down: PolymorpheusContent<Record<string, unknown>>;\n }>;\n readonly appearance: string;\n readonly hideButtons: boolean;\n readonly min: number;\n readonly max: number;\n readonly step: number;\n readonly postfix: string;\n}\n\n/** Default values for the input count options. */\nexport const TUI_INPUT_COUNT_DEFAULT_OPTIONS: TuiInputCountOptions = {\n icons: {\n up: `tuiIconPlus`,\n down: `tuiIconMinus`,\n },\n appearance: `textfield`,\n hideButtons: false,\n min: 0,\n max: Number.MAX_SAFE_INTEGER,\n step: 1,\n postfix: ``,\n};\n\nexport const TUI_INPUT_COUNT_OPTIONS = new InjectionToken<TuiInputCountOptions>(\n `[TUI_INPUT_COUNT_OPTIONS]: Default parameters for input count component`,\n {\n factory: () => TUI_INPUT_COUNT_DEFAULT_OPTIONS,\n },\n);\n\nexport const tuiInputCountOptionsProvider: (\n options: Partial<TuiInputCountOptions>,\n) => ValueProvider = (options: Partial<TuiInputCountOptions>) => ({\n provide: TUI_INPUT_COUNT_OPTIONS,\n useValue: {...TUI_INPUT_COUNT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n TUI_IS_MOBILE,\n tuiAsControl,\n tuiAsFocusableItemAccessor,\n tuiClamp,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiIsNativeFocused,\n tuiIsPresent,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_NUMBER_FORMAT,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n tuiCreateNumberMask,\n tuiFormatNumber,\n TuiNumberFormatSettings,\n TuiPrimitiveTextfieldComponent,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldController,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_PLUS_MINUS_TEXTS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TUI_INPUT_COUNT_OPTIONS, TuiInputCountOptions} from './input-count-options';\n\n@Component({\n selector: 'tui-input-count',\n templateUrl: './input-count.template.html',\n styleUrls: ['./input-count.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n tuiAsFocusableItemAccessor(TuiInputCountComponent),\n tuiAsControl(TuiInputCountComponent),\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiInputCountComponent\n extends AbstractTuiNullableControl<number>\n implements TuiWithOptionalMinMax<number>, TuiFocusableElementAccessor\n{\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly primitiveTextfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n step = this.options.step;\n\n @Input()\n @tuiDefaultProp()\n min = this.options.min;\n\n @Input()\n @tuiDefaultProp()\n max = this.options.max;\n\n @Input()\n @tuiDefaultProp()\n hideButtons = this.options.hideButtons;\n\n /** @deprecated use `tuiTextfieldPrefix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n @tuiDefaultProp()\n prefix = '';\n\n /** @deprecated use `tuiTextfieldPostfix` from {@link TuiTextfieldControllerModule} instead */\n @Input()\n @tuiDefaultProp()\n postfix = this.options.postfix;\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 private readonly textfieldController: TuiTextfieldController,\n @Inject(TUI_PLUS_MINUS_TEXTS)\n readonly minusTexts$: Observable<[string, string]>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_INPUT_COUNT_OPTIONS)\n readonly options: TuiInputCountOptions,\n @Inject(TUI_NUMBER_FORMAT)\n private readonly numberFormat: TuiNumberFormatSettings,\n ) {\n super(control, changeDetectorRef);\n }\n\n @tuiPure\n getMask(allowNegative: boolean): TuiTextMaskOptions {\n return {\n mask: tuiCreateNumberMask({\n allowNegative,\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n guide: false,\n };\n }\n\n @HostBinding('class._hide-buttons')\n get buttonsHidden(): boolean {\n return this.hideButtons || this.textfieldController.appearance === 'table';\n }\n\n get iconUp(): PolymorpheusContent<Record<string, unknown>> {\n return this.options.icons.up;\n }\n\n get iconDown(): PolymorpheusContent<Record<string, unknown>> {\n return this.options.icons.down;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.primitiveTextfield || this.computedDisabled\n ? null\n : this.primitiveTextfield.nativeFocusableElement;\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.textfieldController.size;\n }\n\n get focused(): boolean {\n return tuiIsNativeFocused(this.nativeFocusableElement);\n }\n\n get exampleText(): string {\n return String(this.min);\n }\n\n get computedValue(): string {\n return this.focused ? this.nativeValue : this.formatNumber(this.value);\n }\n\n get minusButtonDisabled(): boolean {\n return !this.interactive || (tuiIsPresent(this.value) && this.value <= this.min);\n }\n\n get plusButtonDisabled(): boolean {\n return !this.interactive || (tuiIsPresent(this.value) && this.value >= this.max);\n }\n\n onButtonMouseDown(event: MouseEvent, disabled: boolean = false): void {\n if (disabled || !this.nativeFocusableElement || this.isMobile) {\n return;\n }\n\n event.preventDefault();\n this.nativeFocusableElement.focus();\n }\n\n onFocused(focused: boolean): void {\n if (!focused) {\n this.onBlur();\n }\n\n this.updateFocused(focused);\n }\n\n onValueChange(): void {\n const capped = this.capValue(this.nativeNumberValue);\n\n if (this.isNotNumber(capped)) {\n this.updateValue(null);\n\n return;\n }\n\n const newValue = this.formatNumber(capped);\n\n if (this.nativeValue !== newValue) {\n this.nativeValue = newValue;\n }\n\n this.updateValue(capped);\n }\n\n decreaseValue(): void {\n if (this.readOnly) {\n return;\n }\n\n const newValue = (this.value || 0) - this.step;\n\n this.safeUpdateValue(newValue);\n }\n\n increaseValue(): void {\n if (this.readOnly) {\n return;\n }\n\n const newValue = (this.value || 0) + this.step;\n\n this.safeUpdateValue(newValue);\n }\n\n onKeydown(event: KeyboardEvent): void {\n switch (event.key) {\n case 'ArrowUp':\n case 'Up':\n this.increaseValue();\n event.preventDefault();\n break;\n case 'ArrowDown':\n case 'Down':\n this.decreaseValue();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n\n private get nativeNumberValue(): number {\n return parseInt(\n this.nativeValue.split(this.numberFormat.thousandSeparator).join(''),\n 10,\n );\n }\n\n private get nativeValue(): string {\n return this.nativeFocusableElement ? this.nativeFocusableElement.value : '';\n }\n\n private set nativeValue(value: string) {\n if (!this.nativeFocusableElement) {\n return;\n }\n\n this.nativeFocusableElement.value = value;\n }\n\n private safeUpdateValue(newValue: number): void {\n const value = tuiClamp(newValue, this.min, this.max);\n\n this.updateValue(value);\n this.nativeValue = this.formatNumber(value);\n }\n\n private capValue(value: number): number | null {\n const capped = Math.min(value, this.max);\n\n return Number.isNaN(capped) || capped < this.min ? null : capped;\n }\n\n private onBlur(): void {\n if (this.isNotNumber(this.value)) {\n this.updateValue(null);\n\n return;\n }\n\n const value = Math.max(this.nativeNumberValue || 0, this.min);\n const formattedValue = this.formatNumber(value);\n\n this.nativeValue = formattedValue;\n this.updateValue(value);\n\n if (this.primitiveTextfield) {\n this.primitiveTextfield.value = formattedValue;\n }\n }\n\n private formatNumber(value: number | null): string {\n return this.isNotNumber(value) ? '' : tuiFormatNumber(value, this.numberFormat);\n }\n\n private isNotNumber(value: number | null): value is null {\n return Number.isNaN(value) || !tuiIsPresent(value);\n }\n}\n","<tui-primitive-textfield\n tuiValueAccessor\n class=\"t-textfield\"\n [pseudoFocus]=\"pseudoFocus\"\n [pseudoHover]=\"pseudoHover\"\n [pseudoActive]=\"pseudoActive\"\n [focusable]=\"focusable\"\n [nativeId]=\"nativeId\"\n [prefix]=\"prefix\"\n [postfix]=\"postfix\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"getMask(min < 0)\"\n [invalid]=\"computedInvalid\"\n [value]=\"computedValue\"\n (valueChange)=\"onValueChange()\"\n (keydown)=\"onKeydown($event)\"\n (focusedChange)=\"onFocused($event)\"\n>\n <ng-content></ng-content>\n <ng-content\n select=\"input\"\n ngProjectAs=\"input\"\n ></ng-content>\n</tui-primitive-textfield>\n<ng-container *ngIf=\"!buttonsHidden\">\n <ng-container *ngIf=\"minusTexts$ | async as texts\">\n <section class=\"t-buttons\">\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__plus-button\"\n size=\"s\"\n class=\"t-button t-button_plus\"\n [icon]=\"iconUp\"\n [appearance]=\"options.appearance\"\n [title]=\"texts[0]\"\n [disabled]=\"plusButtonDisabled\"\n [focusable]=\"false\"\n (mousedown)=\"onButtonMouseDown($event, plusButtonDisabled)\"\n (click)=\"increaseValue()\"\n ></button>\n <button\n tuiIconButton\n type=\"button\"\n automation-id=\"tui-input-count__minus-button\"\n size=\"s\"\n class=\"t-button t-button_minus\"\n [icon]=\"iconDown\"\n [appearance]=\"options.appearance\"\n [disabled]=\"minusButtonDisabled\"\n [focusable]=\"false\"\n [title]=\"texts[1]\"\n (mousedown)=\"onButtonMouseDown($event, minusButtonDisabled)\"\n (click)=\"decreaseValue()\"\n ></button>\n </section>\n </ng-container>\n</ng-container>\n","import {AfterViewInit, Directive} from '@angular/core';\nimport {AbstractTuiTextfieldHost, tuiAsTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiInputCountComponent} from './input-count.component';\n\n@Directive({\n selector: 'tui-input-count',\n providers: [tuiAsTextfieldHost(TuiInputCountDirective)],\n})\nexport class TuiInputCountDirective\n extends AbstractTuiTextfieldHost<TuiInputCountComponent>\n implements AfterViewInit\n{\n onValueChange(): void {\n this.host.onValueChange();\n }\n\n ngAfterViewInit(): void {\n if (this.host.nativeFocusableElement) {\n const {nativeFocusableElement} = this.host;\n\n nativeFocusableElement.autocomplete = 'off';\n nativeFocusableElement.inputMode = 'numeric';\n nativeFocusableElement.maxLength =\n nativeFocusableElement.maxLength > -1\n ? nativeFocusableElement.maxLength\n : 18;\n }\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n TuiTextfieldControllerModule,\n} from '@taiga-ui/core';\nimport {TextMaskModule, TuiValueAccessorModule} from '@taiga-ui/kit/directives';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiInputCountComponent} from './input-count.component';\nimport {TuiInputCountDirective} from './input-count.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TextMaskModule,\n TuiButtonModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldControllerModule,\n TuiValueAccessorModule,\n PolymorpheusModule,\n ],\n declarations: [TuiInputCountComponent, TuiInputCountDirective],\n exports: [TuiInputCountComponent, TuiInputCountDirective, TuiTextfieldComponent],\n})\nexport class TuiInputCountModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}