@taiga-ui/kit 2.33.0 → 2.36.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 (685) hide show
  1. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  2. package/bundles/taiga-ui-kit-abstract.umd.js +2 -2
  3. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.min.js +1 -1
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.js +2 -2
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-arrow.umd.js +14 -1
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js +1 -1
  13. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js +2 -2
  15. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +2 -2
  17. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-badge.umd.js +2 -2
  19. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-badge.umd.min.js +1 -1
  21. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-badged-content.umd.js +2 -2
  23. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +2 -2
  25. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +2 -2
  27. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  29. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +2 -2
  31. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
  33. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +2 -2
  37. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js +2 -2
  39. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +2 -2
  41. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  43. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  45. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  47. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-combo-box.umd.js +64 -22
  49. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +2 -2
  51. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +17 -11
  53. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +2 -2
  55. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-field-error.umd.js +10 -15
  57. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-field-error.umd.min.js +1 -1
  59. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-filter.umd.js +2 -2
  61. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  63. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-count.umd.js +7 -2
  65. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  67. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +64 -41
  69. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +2 -2
  71. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-month.umd.js +57 -32
  73. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +2 -2
  75. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
  77. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  79. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-password.umd.js +5 -0
  81. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  83. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-phone.umd.js +8 -2
  85. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +2 -2
  87. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-range.umd.js +2 -2
  89. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  91. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-slider.umd.js +2 -2
  93. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  95. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-tag.umd.js +53 -17
  97. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  99. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-time.umd.js +5 -0
  101. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  103. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +25 -14
  105. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  107. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +2 -2
  109. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  111. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-multi-select.umd.js +51 -16
  113. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  115. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-progress.umd.js +140 -73
  117. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-progress.umd.min.js +2 -2
  119. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-radio-block.umd.js +2 -2
  121. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  123. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +2 -2
  125. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  127. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-radio-list.umd.js +2 -2
  129. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js +1 -1
  131. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-radio.umd.js +7 -2
  133. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  135. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  137. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  138. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-kit-components-rating.umd.js +5 -0
  140. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-rating.umd.min.js +1 -1
  142. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-select.umd.js +35 -10
  144. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
  146. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-slider.umd.js +272 -27
  148. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  150. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  151. package/bundles/taiga-ui-kit-components-tag.umd.js +9 -3
  152. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  154. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-text-area.umd.js +50 -13
  156. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  157. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  158. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  159. package/bundles/taiga-ui-kit-components-toggle.umd.js +7 -2
  160. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  162. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  163. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +22 -5
  164. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  165. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
  166. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  167. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js +1 -1
  168. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js +1 -1
  169. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +421 -0
  170. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -0
  171. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +16 -0
  172. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -0
  173. package/bundles/taiga-ui-kit-pipes.umd.js +12 -4
  174. package/bundles/taiga-ui-kit-pipes.umd.js.map +1 -1
  175. package/bundles/taiga-ui-kit-pipes.umd.min.js +1 -1
  176. package/bundles/taiga-ui-kit-providers.umd.js +29 -12
  177. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  178. package/bundles/taiga-ui-kit-providers.umd.min.js +1 -1
  179. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  180. package/bundles/taiga-ui-kit-tokens.umd.js +242 -4
  181. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  182. package/bundles/taiga-ui-kit-tokens.umd.min.js +15 -1
  183. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  184. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  185. package/components/arrow/arrow-options.d.ts +7 -5
  186. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  187. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  188. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  189. package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
  190. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  191. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  192. package/components/carousel/carousel-buttons.directive.d.ts +2 -2
  193. package/components/checkbox/checkbox.component.d.ts +2 -2
  194. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  195. package/components/checkbox-block/taiga-ui-kit-components-checkbox-block.metadata.json +1 -1
  196. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  197. package/components/combo-box/combo-box-strict.directive.d.ts +7 -0
  198. package/components/combo-box/combo-box.component.d.ts +8 -5
  199. package/components/combo-box/index.d.ts +1 -0
  200. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  201. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +5 -3
  202. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  203. package/components/field-error/field-error.component.d.ts +1 -2
  204. package/components/field-error/field-error.module.d.ts +3 -0
  205. package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
  206. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  207. package/components/input-count/input-count-options.d.ts +10 -4
  208. package/components/input-count/input-count.component.d.ts +3 -3
  209. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  210. package/components/input-month/index.d.ts +1 -0
  211. package/components/input-month/input-month.component.d.ts +6 -4
  212. package/components/input-month/input-month.directive.d.ts +8 -1
  213. package/components/input-month/input-month.providers.d.ts +2 -0
  214. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  215. package/components/input-month-range/index.d.ts +1 -0
  216. package/components/input-month-range/input-month-range.component.d.ts +6 -7
  217. package/components/input-month-range/input-month-range.directive.d.ts +8 -1
  218. package/components/input-month-range/input-month-range.providers.d.ts +2 -0
  219. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  220. package/components/input-number/input-number.directive.d.ts +4 -1
  221. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  222. package/components/input-password/input-password-options.d.ts +10 -4
  223. package/components/input-password/input-password.component.d.ts +3 -3
  224. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  225. package/components/input-phone/input-phone.directive.d.ts +4 -1
  226. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  227. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  228. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  229. package/components/input-tag/index.d.ts +1 -0
  230. package/components/input-tag/input-tag-options.d.ts +7 -0
  231. package/components/input-tag/input-tag.component.d.ts +9 -4
  232. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  233. package/components/input-time/input-time-options.d.ts +10 -4
  234. package/components/input-time/input-time.component.d.ts +6 -6
  235. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  236. package/components/line-clamp/line-clamp.component.d.ts +7 -3
  237. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  238. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  239. package/components/multi-select/hide-selected.pipe.d.ts +1 -1
  240. package/components/multi-select/index.d.ts +1 -0
  241. package/components/multi-select/multi-select-options.d.ts +10 -0
  242. package/components/multi-select/multi-select.component.d.ts +14 -8
  243. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  244. package/components/progress/index.d.ts +4 -3
  245. package/components/progress/progress-bar/progress-color-segments.directive.d.ts +11 -0
  246. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  247. package/components/progress/{pipes → utils}/abstract-color-segments.d.ts +0 -0
  248. package/components/progress/utils/calculate-color-segments.d.ts +5 -0
  249. package/components/progress/{pipes → utils}/progress-color-segments-async.pipe.d.ts +5 -0
  250. package/components/progress/utils/progress-color-segments.pipe.d.ts +9 -0
  251. package/components/radio/radio-options.d.ts +10 -4
  252. package/components/radio/radio.component.d.ts +2 -2
  253. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  254. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  255. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  256. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  257. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  258. package/components/rating/rating-options.d.ts +2 -1
  259. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -1
  260. package/components/select/index.d.ts +1 -0
  261. package/components/select/select-options.d.ts +9 -0
  262. package/components/select/select.component.d.ts +9 -4
  263. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  264. package/components/slider/index.d.ts +3 -0
  265. package/components/slider/slider-key-steps.directive.d.ts +17 -0
  266. package/components/slider/slider-old.component.d.ts +19 -0
  267. package/components/slider/slider-options.d.ts +9 -0
  268. package/components/slider/slider.component.d.ts +18 -13
  269. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  270. package/components/tag/tag.component.d.ts +1 -0
  271. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  272. package/components/text-area/index.d.ts +1 -0
  273. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  274. package/components/text-area/text-area.component.d.ts +2 -1
  275. package/components/text-area/text-area.directive.d.ts +5 -0
  276. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  277. package/components/toggle/toggle-options.d.ts +10 -4
  278. package/components/toggle/toggle.component.d.ts +3 -3
  279. package/directives/dropdown-selection/dropdown-selection.directive.d.ts +2 -2
  280. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  281. package/directives/lazy-loading/index.d.ts +1 -0
  282. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.d.ts +0 -1
  283. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.metadata.json +1 -1
  284. package/esm2015/abstract/input-slider.js +2 -2
  285. package/esm2015/abstract/slider/slider.js +2 -2
  286. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
  287. package/esm2015/components/arrow/arrow-options.js +13 -2
  288. package/esm2015/components/avatar/avatar.component.js +3 -3
  289. package/esm2015/components/badge/badge.component.js +3 -3
  290. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  291. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +3 -3
  292. package/esm2015/components/calendar-month/calendar-month.component.js +3 -3
  293. package/esm2015/components/carousel/carousel-buttons.directive.js +1 -1
  294. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  295. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
  296. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  297. package/esm2015/components/combo-box/combo-box-strict.directive.js +31 -0
  298. package/esm2015/components/combo-box/combo-box.component.js +24 -18
  299. package/esm2015/components/combo-box/combo-box.module.js +13 -3
  300. package/esm2015/components/combo-box/index.js +2 -1
  301. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +17 -11
  302. package/esm2015/components/field-error/field-error.component.js +8 -12
  303. package/esm2015/components/field-error/field-error.module.js +6 -2
  304. package/esm2015/components/filter/filter.component.js +3 -3
  305. package/esm2015/components/input-count/input-count-options.js +5 -1
  306. package/esm2015/components/input-count/input-count.component.js +3 -3
  307. package/esm2015/components/input-month/index.js +2 -1
  308. package/esm2015/components/input-month/input-month.component.js +19 -25
  309. package/esm2015/components/input-month/input-month.directive.js +32 -7
  310. package/esm2015/components/input-month/input-month.module.js +4 -4
  311. package/esm2015/components/input-month/input-month.providers.js +19 -0
  312. package/esm2015/components/input-month-range/index.js +2 -1
  313. package/esm2015/components/input-month-range/input-month-range.component.js +21 -37
  314. package/esm2015/components/input-month-range/input-month-range.directive.js +37 -7
  315. package/esm2015/components/input-month-range/input-month-range.module.js +3 -2
  316. package/esm2015/components/input-month-range/input-month-range.providers.js +19 -0
  317. package/esm2015/components/input-number/input-number.directive.js +9 -3
  318. package/esm2015/components/input-password/input-password-options.js +5 -1
  319. package/esm2015/components/input-password/input-password.component.js +2 -2
  320. package/esm2015/components/input-phone/input-phone.directive.js +9 -3
  321. package/esm2015/components/input-range/input-range.component.js +3 -3
  322. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  323. package/esm2015/components/input-tag/index.js +2 -1
  324. package/esm2015/components/input-tag/input-tag-options.js +9 -0
  325. package/esm2015/components/input-tag/input-tag.component.js +40 -17
  326. package/esm2015/components/input-time/input-time-options.js +5 -1
  327. package/esm2015/components/input-time/input-time.component.js +1 -1
  328. package/esm2015/components/line-clamp/line-clamp.component.js +25 -15
  329. package/esm2015/components/line-clamp/line-clamp.directive.js +2 -1
  330. package/esm2015/components/marker-icon/marker-icon.component.js +3 -3
  331. package/esm2015/components/multi-select/hide-selected.pipe.js +4 -3
  332. package/esm2015/components/multi-select/index.js +2 -1
  333. package/esm2015/components/multi-select/multi-select-options.js +13 -0
  334. package/esm2015/components/multi-select/multi-select.component.js +30 -12
  335. package/esm2015/components/progress/index.js +5 -4
  336. package/esm2015/components/progress/progress-bar/progress-color-segments.directive.js +48 -0
  337. package/esm2015/components/progress/progress.module.js +6 -3
  338. package/esm2015/components/progress/utils/abstract-color-segments.js +32 -0
  339. package/esm2015/components/progress/utils/calculate-color-segments.js +10 -0
  340. package/esm2015/components/progress/utils/progress-color-segments-async.pipe.js +21 -0
  341. package/esm2015/components/progress/utils/progress-color-segments.pipe.js +19 -0
  342. package/esm2015/components/radio/radio-options.js +5 -1
  343. package/esm2015/components/radio/radio.component.js +3 -3
  344. package/esm2015/components/radio-block/radio-block.component.js +3 -3
  345. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
  346. package/esm2015/components/radio-list/radio-list.component.js +3 -3
  347. package/esm2015/components/range/range.component.js +1 -1
  348. package/esm2015/components/rating/rating-options.js +5 -1
  349. package/esm2015/components/select/index.js +2 -1
  350. package/esm2015/components/select/select-options.js +12 -0
  351. package/esm2015/components/select/select.component.js +21 -8
  352. package/esm2015/components/slider/index.js +4 -1
  353. package/esm2015/components/slider/slider-key-steps.directive.js +81 -0
  354. package/esm2015/components/slider/slider-old.component.js +71 -0
  355. package/esm2015/components/slider/slider-options.js +11 -0
  356. package/esm2015/components/slider/slider.component.js +86 -44
  357. package/esm2015/components/slider/slider.module.js +5 -3
  358. package/esm2015/components/tag/tag.component.js +10 -4
  359. package/esm2015/components/text-area/index.js +2 -1
  360. package/esm2015/components/text-area/text-area.component.js +21 -13
  361. package/esm2015/components/text-area/text-area.directive.js +22 -0
  362. package/esm2015/components/text-area/text-area.module.js +7 -6
  363. package/esm2015/components/text-area/text-area.providers.js +6 -2
  364. package/esm2015/components/toggle/toggle-options.js +5 -1
  365. package/esm2015/components/toggle/toggle.component.js +3 -3
  366. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
  367. package/esm2015/directives/lazy-loading/index.js +2 -1
  368. package/esm2015/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  369. package/esm2015/pipes/field-error/field-error-content-pipe.js +35 -0
  370. package/esm2015/pipes/field-error/field-error-pipe.js +120 -0
  371. package/esm2015/pipes/field-error/field-error.module.js +14 -0
  372. package/esm2015/pipes/field-error/index.js +4 -0
  373. package/esm2015/pipes/field-error/taiga-ui-kit-pipes-field-error.js +5 -0
  374. package/esm2015/pipes/index.js +2 -1
  375. package/esm2015/providers/index.js +2 -1
  376. package/esm2015/providers/month-formatter.provider.js +17 -0
  377. package/esm2015/providers/value-accessor.provider.js +2 -2
  378. package/esm2015/tokens/index.js +3 -1
  379. package/esm2015/tokens/items-handlers.js +15 -0
  380. package/esm2015/tokens/month-formatter.js +3 -0
  381. package/esm5/abstract/input-slider.js +2 -2
  382. package/esm5/abstract/slider/slider.js +2 -2
  383. package/esm5/components/accordion/accordion-item/accordion-item.component.js +3 -3
  384. package/esm5/components/arrow/arrow-options.js +14 -2
  385. package/esm5/components/avatar/avatar.component.js +3 -3
  386. package/esm5/components/badge/badge.component.js +3 -3
  387. package/esm5/components/badged-content/badged-content.component.js +3 -3
  388. package/esm5/components/breadcrumbs/breadcrumbs.component.js +3 -3
  389. package/esm5/components/calendar-month/calendar-month.component.js +3 -3
  390. package/esm5/components/carousel/carousel-buttons.directive.js +1 -1
  391. package/esm5/components/checkbox/checkbox.component.js +3 -3
  392. package/esm5/components/checkbox-block/checkbox-block.component.js +3 -3
  393. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  394. package/esm5/components/combo-box/combo-box-strict.directive.js +32 -0
  395. package/esm5/components/combo-box/combo-box.component.js +24 -18
  396. package/esm5/components/combo-box/combo-box.module.js +13 -3
  397. package/esm5/components/combo-box/index.js +2 -1
  398. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +18 -11
  399. package/esm5/components/field-error/field-error.component.js +8 -16
  400. package/esm5/components/field-error/field-error.module.js +6 -2
  401. package/esm5/components/filter/filter.component.js +3 -3
  402. package/esm5/components/input-count/input-count-options.js +6 -1
  403. package/esm5/components/input-count/input-count.component.js +3 -3
  404. package/esm5/components/input-month/index.js +2 -1
  405. package/esm5/components/input-month/input-month.component.js +18 -25
  406. package/esm5/components/input-month/input-month.directive.js +32 -9
  407. package/esm5/components/input-month/input-month.module.js +4 -4
  408. package/esm5/components/input-month/input-month.providers.js +19 -0
  409. package/esm5/components/input-month-range/index.js +2 -1
  410. package/esm5/components/input-month-range/input-month-range.component.js +20 -38
  411. package/esm5/components/input-month-range/input-month-range.directive.js +38 -8
  412. package/esm5/components/input-month-range/input-month-range.module.js +3 -2
  413. package/esm5/components/input-month-range/input-month-range.providers.js +19 -0
  414. package/esm5/components/input-number/input-number.directive.js +9 -3
  415. package/esm5/components/input-password/input-password-options.js +6 -1
  416. package/esm5/components/input-password/input-password.component.js +2 -2
  417. package/esm5/components/input-phone/input-phone.directive.js +9 -3
  418. package/esm5/components/input-range/input-range.component.js +3 -3
  419. package/esm5/components/input-slider/input-slider.component.js +3 -3
  420. package/esm5/components/input-tag/index.js +2 -1
  421. package/esm5/components/input-tag/input-tag-options.js +9 -0
  422. package/esm5/components/input-tag/input-tag.component.js +45 -18
  423. package/esm5/components/input-time/input-time-options.js +6 -1
  424. package/esm5/components/input-time/input-time.component.js +1 -1
  425. package/esm5/components/line-clamp/line-clamp.component.js +26 -16
  426. package/esm5/components/line-clamp/line-clamp.directive.js +2 -1
  427. package/esm5/components/marker-icon/marker-icon.component.js +3 -3
  428. package/esm5/components/multi-select/hide-selected.pipe.js +4 -4
  429. package/esm5/components/multi-select/index.js +2 -1
  430. package/esm5/components/multi-select/multi-select-options.js +14 -0
  431. package/esm5/components/multi-select/multi-select.component.js +34 -12
  432. package/esm5/components/progress/index.js +5 -4
  433. package/esm5/components/progress/progress-bar/progress-color-segments.directive.js +56 -0
  434. package/esm5/components/progress/progress.module.js +6 -3
  435. package/esm5/components/progress/utils/abstract-color-segments.js +33 -0
  436. package/esm5/components/progress/utils/calculate-color-segments.js +12 -0
  437. package/esm5/components/progress/utils/progress-color-segments-async.pipe.js +27 -0
  438. package/esm5/components/progress/utils/progress-color-segments.pipe.js +24 -0
  439. package/esm5/components/radio/radio-options.js +6 -1
  440. package/esm5/components/radio/radio.component.js +3 -3
  441. package/esm5/components/radio-block/radio-block.component.js +3 -3
  442. package/esm5/components/radio-labeled/radio-labeled.component.js +3 -3
  443. package/esm5/components/radio-list/radio-list.component.js +3 -3
  444. package/esm5/components/range/range.component.js +1 -1
  445. package/esm5/components/rating/rating-options.js +6 -1
  446. package/esm5/components/select/index.js +2 -1
  447. package/esm5/components/select/select-options.js +13 -0
  448. package/esm5/components/select/select.component.js +21 -8
  449. package/esm5/components/slider/index.js +4 -1
  450. package/esm5/components/slider/slider-key-steps.directive.js +102 -0
  451. package/esm5/components/slider/slider-old.component.js +90 -0
  452. package/esm5/components/slider/slider-options.js +12 -0
  453. package/esm5/components/slider/slider.component.js +103 -51
  454. package/esm5/components/slider/slider.module.js +5 -3
  455. package/esm5/components/tag/tag.component.js +10 -4
  456. package/esm5/components/text-area/index.js +2 -1
  457. package/esm5/components/text-area/text-area.component.js +21 -13
  458. package/esm5/components/text-area/text-area.directive.js +28 -0
  459. package/esm5/components/text-area/text-area.module.js +7 -6
  460. package/esm5/components/text-area/text-area.providers.js +6 -2
  461. package/esm5/components/toggle/toggle-options.js +6 -1
  462. package/esm5/components/toggle/toggle.component.js +3 -3
  463. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +23 -6
  464. package/esm5/directives/lazy-loading/index.js +2 -1
  465. package/esm5/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.js +1 -2
  466. package/esm5/pipes/field-error/field-error-content-pipe.js +36 -0
  467. package/esm5/pipes/field-error/field-error-pipe.js +153 -0
  468. package/esm5/pipes/field-error/field-error.module.js +17 -0
  469. package/esm5/pipes/field-error/index.js +4 -0
  470. package/esm5/pipes/field-error/taiga-ui-kit-pipes-field-error.js +5 -0
  471. package/esm5/pipes/index.js +2 -1
  472. package/esm5/providers/index.js +2 -1
  473. package/esm5/providers/month-formatter.provider.js +19 -0
  474. package/esm5/providers/value-accessor.provider.js +2 -2
  475. package/esm5/tokens/index.js +3 -1
  476. package/esm5/tokens/items-handlers.js +16 -0
  477. package/esm5/tokens/month-formatter.js +3 -0
  478. package/fesm2015/taiga-ui-kit-abstract.js +2 -2
  479. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  480. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  481. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  482. package/fesm2015/taiga-ui-kit-components-arrow.js +13 -2
  483. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  484. package/fesm2015/taiga-ui-kit-components-avatar.js +2 -2
  485. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  486. package/fesm2015/taiga-ui-kit-components-badge.js +2 -2
  487. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  488. package/fesm2015/taiga-ui-kit-components-badged-content.js +2 -2
  489. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  490. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +2 -2
  491. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  492. package/fesm2015/taiga-ui-kit-components-calendar-month.js +2 -2
  493. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  494. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  495. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +2 -2
  496. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  497. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  498. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  499. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  500. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  501. package/fesm2015/taiga-ui-kit-components-combo-box.js +62 -21
  502. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  503. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +16 -10
  504. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  505. package/fesm2015/taiga-ui-kit-components-field-error.js +12 -13
  506. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  507. package/fesm2015/taiga-ui-kit-components-filter.js +2 -2
  508. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  509. package/fesm2015/taiga-ui-kit-components-input-count.js +7 -3
  510. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  511. package/fesm2015/taiga-ui-kit-components-input-month-range.js +67 -41
  512. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  513. package/fesm2015/taiga-ui-kit-components-input-month.js +61 -31
  514. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  515. package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
  516. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  517. package/fesm2015/taiga-ui-kit-components-input-password.js +5 -1
  518. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  519. package/fesm2015/taiga-ui-kit-components-input-phone.js +8 -2
  520. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  521. package/fesm2015/taiga-ui-kit-components-input-range.js +2 -2
  522. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  523. package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
  524. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  525. package/fesm2015/taiga-ui-kit-components-input-tag.js +48 -18
  526. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  527. package/fesm2015/taiga-ui-kit-components-input-time.js +5 -1
  528. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  529. package/fesm2015/taiga-ui-kit-components-line-clamp.js +25 -14
  530. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  531. package/fesm2015/taiga-ui-kit-components-marker-icon.js +2 -2
  532. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  533. package/fesm2015/taiga-ui-kit-components-multi-select.js +45 -15
  534. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  535. package/fesm2015/taiga-ui-kit-components-progress.js +113 -55
  536. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  537. package/fesm2015/taiga-ui-kit-components-radio-block.js +2 -2
  538. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  539. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +2 -2
  540. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  541. package/fesm2015/taiga-ui-kit-components-radio-list.js +2 -2
  542. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  543. package/fesm2015/taiga-ui-kit-components-radio.js +7 -3
  544. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  545. package/fesm2015/taiga-ui-kit-components-range.js +1 -1
  546. package/fesm2015/taiga-ui-kit-components-rating.js +5 -1
  547. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  548. package/fesm2015/taiga-ui-kit-components-select.js +32 -9
  549. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  550. package/fesm2015/taiga-ui-kit-components-slider.js +206 -14
  551. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  552. package/fesm2015/taiga-ui-kit-components-tag.js +9 -3
  553. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  554. package/fesm2015/taiga-ui-kit-components-text-area.js +47 -17
  555. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  556. package/fesm2015/taiga-ui-kit-components-toggle.js +7 -3
  557. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  558. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +22 -5
  559. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  560. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js +1 -1
  561. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  562. package/fesm2015/taiga-ui-kit-pipes-field-error.js +166 -0
  563. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -0
  564. package/fesm2015/taiga-ui-kit-pipes.js +1 -0
  565. package/fesm2015/taiga-ui-kit-pipes.js.map +1 -1
  566. package/fesm2015/taiga-ui-kit-providers.js +18 -4
  567. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  568. package/fesm2015/taiga-ui-kit-tokens.js +17 -1
  569. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  570. package/fesm5/taiga-ui-kit-abstract.js +2 -2
  571. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  572. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  573. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  574. package/fesm5/taiga-ui-kit-components-arrow.js +14 -3
  575. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  576. package/fesm5/taiga-ui-kit-components-avatar.js +2 -2
  577. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  578. package/fesm5/taiga-ui-kit-components-badge.js +2 -2
  579. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  580. package/fesm5/taiga-ui-kit-components-badged-content.js +2 -2
  581. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  582. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +2 -2
  583. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  584. package/fesm5/taiga-ui-kit-components-calendar-month.js +2 -2
  585. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  586. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  587. package/fesm5/taiga-ui-kit-components-checkbox-block.js +2 -2
  588. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  589. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  590. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  591. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  592. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  593. package/fesm5/taiga-ui-kit-components-combo-box.js +63 -21
  594. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  595. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +17 -10
  596. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  597. package/fesm5/taiga-ui-kit-components-field-error.js +12 -17
  598. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  599. package/fesm5/taiga-ui-kit-components-filter.js +2 -2
  600. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  601. package/fesm5/taiga-ui-kit-components-input-count.js +8 -4
  602. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  603. package/fesm5/taiga-ui-kit-components-input-month-range.js +68 -44
  604. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  605. package/fesm5/taiga-ui-kit-components-input-month.js +60 -33
  606. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  607. package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
  608. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  609. package/fesm5/taiga-ui-kit-components-input-password.js +6 -2
  610. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  611. package/fesm5/taiga-ui-kit-components-input-phone.js +8 -2
  612. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  613. package/fesm5/taiga-ui-kit-components-input-range.js +2 -2
  614. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  615. package/fesm5/taiga-ui-kit-components-input-slider.js +2 -2
  616. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  617. package/fesm5/taiga-ui-kit-components-input-tag.js +53 -19
  618. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  619. package/fesm5/taiga-ui-kit-components-input-time.js +6 -2
  620. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  621. package/fesm5/taiga-ui-kit-components-line-clamp.js +26 -15
  622. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  623. package/fesm5/taiga-ui-kit-components-marker-icon.js +2 -2
  624. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  625. package/fesm5/taiga-ui-kit-components-multi-select.js +50 -17
  626. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  627. package/fesm5/taiga-ui-kit-components-progress.js +135 -69
  628. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  629. package/fesm5/taiga-ui-kit-components-radio-block.js +2 -2
  630. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  631. package/fesm5/taiga-ui-kit-components-radio-labeled.js +2 -2
  632. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  633. package/fesm5/taiga-ui-kit-components-radio-list.js +2 -2
  634. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  635. package/fesm5/taiga-ui-kit-components-radio.js +8 -4
  636. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  637. package/fesm5/taiga-ui-kit-components-range.js +1 -1
  638. package/fesm5/taiga-ui-kit-components-rating.js +6 -2
  639. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  640. package/fesm5/taiga-ui-kit-components-select.js +33 -10
  641. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  642. package/fesm5/taiga-ui-kit-components-slider.js +268 -26
  643. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  644. package/fesm5/taiga-ui-kit-components-tag.js +9 -3
  645. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  646. package/fesm5/taiga-ui-kit-components-text-area.js +53 -17
  647. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  648. package/fesm5/taiga-ui-kit-components-toggle.js +8 -4
  649. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  650. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +22 -5
  651. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  652. package/fesm5/taiga-ui-kit-directives-lazy-loading.js +1 -1
  653. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  654. package/fesm5/taiga-ui-kit-pipes-field-error.js +203 -0
  655. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -0
  656. package/fesm5/taiga-ui-kit-pipes.js +1 -0
  657. package/fesm5/taiga-ui-kit-pipes.js.map +1 -1
  658. package/fesm5/taiga-ui-kit-providers.js +20 -4
  659. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  660. package/fesm5/taiga-ui-kit-tokens.js +18 -1
  661. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  662. package/package.json +4 -4
  663. package/pipes/field-error/field-error-content-pipe.d.ts +11 -0
  664. package/pipes/field-error/field-error-pipe.d.ts +29 -0
  665. package/pipes/field-error/field-error.module.d.ts +2 -0
  666. package/pipes/field-error/index.d.ts +3 -0
  667. package/pipes/field-error/package.json +13 -0
  668. package/pipes/field-error/taiga-ui-kit-pipes-field-error.d.ts +4 -0
  669. package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -0
  670. package/pipes/index.d.ts +1 -0
  671. package/pipes/taiga-ui-kit-pipes.metadata.json +1 -1
  672. package/providers/index.d.ts +1 -0
  673. package/providers/month-formatter.provider.d.ts +6 -0
  674. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  675. package/tokens/index.d.ts +2 -0
  676. package/tokens/items-handlers.d.ts +10 -0
  677. package/tokens/month-formatter.d.ts +4 -0
  678. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  679. package/components/progress/pipes/progress-color-segments.pipe.d.ts +0 -9
  680. package/esm2015/components/progress/pipes/abstract-color-segments.js +0 -32
  681. package/esm2015/components/progress/pipes/progress-color-segments-async.pipe.js +0 -15
  682. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +0 -18
  683. package/esm5/components/progress/pipes/abstract-color-segments.js +0 -35
  684. package/esm5/components/progress/pipes/progress-color-segments-async.pipe.js +0 -21
  685. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +0 -23
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-calendar-month.js","sources":["ng://@taiga-ui/kit/components/calendar-month/calendar-month.component.ts","ng://@taiga-ui/kit/components/calendar-month/calendar-month.module.ts","ng://@taiga-ui/kit/components/calendar-month/taiga-ui-kit-components-calendar-month.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n nullableSame,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n tuiDefaultProp,\n TuiMonth,\n TuiMonthRange,\n tuiPure,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiInteractiveState, TuiRangeState, TuiWithOptionalMinMax} from '@taiga-ui/core';\nimport {TuiMonthContext} from '@taiga-ui/kit/interfaces';\nimport {TUI_CALENDAR_MONTHS} from '@taiga-ui/kit/tokens';\nimport {TuiBooleanHandlerWithContext} from '@taiga-ui/kit/types';\nimport {Observable} from 'rxjs';\n\nconst TODAY = TuiDay.currentLocal();\n\n// @dynamic\n@Component({\n selector: 'tui-calendar-month',\n templateUrl: './calendar-month.template.html',\n styleUrls: ['./calendar-month.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarMonthComponent implements TuiWithOptionalMinMax<TuiMonth> {\n @Input()\n @tuiDefaultProp()\n value: TuiMonthRange | TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n year: TuiYear = TODAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext> =\n ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n min: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiMonth = TUI_LAST_DAY;\n\n @Output()\n readonly monthClick = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiMonth | null>();\n\n @Output()\n readonly yearChange = new EventEmitter<TuiYear>();\n\n isYearPickerShown = false;\n\n hoveredItem: TuiMonth | null = null;\n pressedItem: TuiMonth | null = null;\n\n constructor(\n @Inject(TUI_CALENDAR_MONTHS) readonly months$: Observable<readonly string[]>,\n ) {}\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n return (\n this.value !== null &&\n (this.value instanceof TuiMonth || this.value.isSingleMonth)\n );\n }\n\n get previousYearDisabled(): boolean {\n return this.year.yearSameOrBefore(this.min);\n }\n\n get nextYearDisabled(): boolean {\n return this.year.yearSameOrAfter(this.max);\n }\n\n getItemState(item: TuiMonth): TuiInteractiveState | null {\n const {disabledItemHandlerWithMinMax, pressedItem, hoveredItem} = this;\n\n if (disabledItemHandlerWithMinMax(item)) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem !== null && pressedItem.monthSame(item)) {\n return TuiInteractiveState.Pressed;\n }\n\n if (hoveredItem !== null && hoveredItem.monthSame(item)) {\n return TuiInteractiveState.Hovered;\n }\n\n return null;\n }\n\n getItemRange(item: TuiMonth): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiMonth) {\n return value.monthSame(item) ? TuiRangeState.Single : null;\n }\n\n const theFirstOfRange = value.from.monthSame(item) && !value.isSingleMonth;\n const hoveredItemAfterFrom =\n hoveredItem !== null &&\n hoveredItem.monthAfter(value.from) &&\n value.from.monthSame(item) &&\n value.isSingleMonth;\n const hoveredItemIsCandidatToBeFrom =\n hoveredItem !== null &&\n hoveredItem.monthSame(item) &&\n hoveredItem.monthBefore(value.from) &&\n value.isSingleMonth;\n\n if (theFirstOfRange || hoveredItemAfterFrom || hoveredItemIsCandidatToBeFrom) {\n return TuiRangeState.Start;\n }\n\n const theLastOfRange = value.to.monthSame(item) && !value.isSingleMonth;\n const hoveredItemBeforeTo =\n hoveredItem !== null &&\n value.to.monthSame(item) &&\n hoveredItem.monthBefore(value.to) &&\n value.isSingleMonth;\n const hoveredItemIsCandidatToBeTo =\n hoveredItem !== null &&\n hoveredItem.monthSame(item) &&\n hoveredItem.monthAfter(value.from) &&\n value.isSingleMonth;\n\n if (theLastOfRange || hoveredItemBeforeTo || hoveredItemIsCandidatToBeTo) {\n return TuiRangeState.End;\n }\n\n return value.isSingleMonth && value.from.monthSame(item)\n ? TuiRangeState.Single\n : null;\n }\n\n getTuiMonth(monthNumber: number, yearNumber: number): TuiMonth {\n return new TuiMonth(yearNumber, monthNumber);\n }\n\n isItemToday(item: TuiMonth): boolean {\n return TODAY.monthSame(item);\n }\n\n isItemInsideRange(month: TuiMonth): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || value instanceof TuiMonth) {\n return false;\n }\n\n if (!value.isSingleMonth) {\n return value.from.monthSameOrBefore(month) && value.to.monthAfter(month);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiMonthRange.sort(value.from, hoveredItem);\n\n return range.from.monthSameOrBefore(month) && range.to.monthAfter(month);\n }\n\n onPickerYearClick(year: TuiYear) {\n this.isYearPickerShown = false;\n\n if (this.year.yearSame(year)) {\n return;\n }\n\n this.year = year;\n this.yearChange.emit(year);\n }\n\n onItemClick(month: TuiMonth) {\n if (this.disabledItemHandlerWithMinMax(month)) {\n return;\n }\n\n this.monthClick.emit(month);\n }\n\n onYearClick() {\n this.isYearPickerShown = true;\n }\n\n onNextYear() {\n this.year = this.year.append({year: 1});\n }\n\n onPreviousYear() {\n this.year = this.year.append({year: -1});\n }\n\n onItemHovered(hovered: boolean, item: TuiMonth) {\n this.updateHoveredItem(hovered ? item : null);\n }\n\n onItemPressed(pressed: boolean, item: TuiMonth) {\n this.updatePressedItem(pressed ? item : null);\n }\n\n @tuiPure\n private calculateDisabledItemHandlerWithMinMax(\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext>,\n value: TuiMonth | TuiMonthRange | null,\n min: TuiMonth,\n max: TuiMonth,\n ): TuiBooleanHandler<TuiMonth> {\n return item =>\n item.monthBefore(min) ||\n item.monthAfter(max) ||\n disabledItemHandler(item, {value});\n }\n\n private get disabledItemHandlerWithMinMax(): TuiBooleanHandler<TuiMonth> {\n return this.calculateDisabledItemHandlerWithMinMax(\n this.disabledItemHandler,\n this.value,\n this.min,\n this.max,\n );\n }\n\n private updateHoveredItem(month: TuiMonth | null) {\n if (nullableSame(this.hoveredItem, month, (a, b) => a.monthSame(b))) {\n return;\n }\n\n this.hoveredItem = month;\n this.hoveredItemChange.emit(month);\n }\n\n private updatePressedItem(item: TuiMonth | null) {\n this.pressedItem = item;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiLinkModule,\n TuiPrimitiveSpinButtonModule,\n TuiPrimitiveYearPickerModule,\n TuiScrollbarModule,\n} from '@taiga-ui/core';\n\nimport {TuiCalendarMonthComponent} from './calendar-month.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveYearPickerModule,\n TuiPrimitiveSpinButtonModule,\n TuiScrollbarModule,\n TuiLinkModule,\n TuiLetModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusableModule,\n ],\n declarations: [TuiCalendarMonthComponent],\n exports: [TuiCalendarMonthComponent],\n})\nexport class TuiCalendarMonthModule {}\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-calendar-month.js","sources":["ng://@taiga-ui/kit/components/calendar-month/calendar-month.component.ts","ng://@taiga-ui/kit/components/calendar-month/calendar-month.module.ts","ng://@taiga-ui/kit/components/calendar-month/taiga-ui-kit-components-calendar-month.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n nullableSame,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n tuiDefaultProp,\n TuiMonth,\n TuiMonthRange,\n tuiPure,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiInteractiveState, TuiRangeState, TuiWithOptionalMinMax} from '@taiga-ui/core';\nimport {TuiMonthContext} from '@taiga-ui/kit/interfaces';\nimport {TUI_CALENDAR_MONTHS} from '@taiga-ui/kit/tokens';\nimport {TuiBooleanHandlerWithContext} from '@taiga-ui/kit/types';\nimport {Observable} from 'rxjs';\n\nconst TODAY = TuiDay.currentLocal();\n\n// @dynamic\n@Component({\n selector: 'tui-calendar-month',\n templateUrl: './calendar-month.template.html',\n styleUrls: ['./calendar-month.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarMonthComponent implements TuiWithOptionalMinMax<TuiMonth> {\n @Input()\n @tuiDefaultProp()\n value: TuiMonthRange | TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n year: TuiYear = TODAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext> =\n ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n min: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiMonth = TUI_LAST_DAY;\n\n @Output()\n readonly monthClick = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiMonth | null>();\n\n @Output()\n readonly yearChange = new EventEmitter<TuiYear>();\n\n isYearPickerShown = false;\n\n hoveredItem: TuiMonth | null = null;\n pressedItem: TuiMonth | null = null;\n\n constructor(\n @Inject(TUI_CALENDAR_MONTHS) readonly months$: Observable<readonly string[]>,\n ) {}\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n return (\n this.value !== null &&\n (this.value instanceof TuiMonth || this.value.isSingleMonth)\n );\n }\n\n get previousYearDisabled(): boolean {\n return this.year.yearSameOrBefore(this.min);\n }\n\n get nextYearDisabled(): boolean {\n return this.year.yearSameOrAfter(this.max);\n }\n\n getItemState(item: TuiMonth): TuiInteractiveState | null {\n const {disabledItemHandlerWithMinMax, pressedItem, hoveredItem} = this;\n\n if (disabledItemHandlerWithMinMax(item)) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem !== null && pressedItem.monthSame(item)) {\n return TuiInteractiveState.Pressed;\n }\n\n if (hoveredItem !== null && hoveredItem.monthSame(item)) {\n return TuiInteractiveState.Hovered;\n }\n\n return null;\n }\n\n getItemRange(item: TuiMonth): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiMonth) {\n return value.monthSame(item) ? TuiRangeState.Single : null;\n }\n\n const theFirstOfRange = value.from.monthSame(item) && !value.isSingleMonth;\n const hoveredItemAfterFrom =\n hoveredItem !== null &&\n hoveredItem.monthAfter(value.from) &&\n value.from.monthSame(item) &&\n value.isSingleMonth;\n const hoveredItemIsCandidatToBeFrom =\n hoveredItem !== null &&\n hoveredItem.monthSame(item) &&\n hoveredItem.monthBefore(value.from) &&\n value.isSingleMonth;\n\n if (theFirstOfRange || hoveredItemAfterFrom || hoveredItemIsCandidatToBeFrom) {\n return TuiRangeState.Start;\n }\n\n const theLastOfRange = value.to.monthSame(item) && !value.isSingleMonth;\n const hoveredItemBeforeTo =\n hoveredItem !== null &&\n value.to.monthSame(item) &&\n hoveredItem.monthBefore(value.to) &&\n value.isSingleMonth;\n const hoveredItemIsCandidatToBeTo =\n hoveredItem !== null &&\n hoveredItem.monthSame(item) &&\n hoveredItem.monthAfter(value.from) &&\n value.isSingleMonth;\n\n if (theLastOfRange || hoveredItemBeforeTo || hoveredItemIsCandidatToBeTo) {\n return TuiRangeState.End;\n }\n\n return value.isSingleMonth && value.from.monthSame(item)\n ? TuiRangeState.Single\n : null;\n }\n\n getTuiMonth(monthNumber: number, yearNumber: number): TuiMonth {\n return new TuiMonth(yearNumber, monthNumber);\n }\n\n isItemToday(item: TuiMonth): boolean {\n return TODAY.monthSame(item);\n }\n\n isItemInsideRange(month: TuiMonth): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || value instanceof TuiMonth) {\n return false;\n }\n\n if (!value.isSingleMonth) {\n return value.from.monthSameOrBefore(month) && value.to.monthAfter(month);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiMonthRange.sort(value.from, hoveredItem);\n\n return range.from.monthSameOrBefore(month) && range.to.monthAfter(month);\n }\n\n onPickerYearClick(year: TuiYear) {\n this.isYearPickerShown = false;\n\n if (this.year.yearSame(year)) {\n return;\n }\n\n this.year = year;\n this.yearChange.emit(year);\n }\n\n onItemClick(month: TuiMonth) {\n if (this.disabledItemHandlerWithMinMax(month)) {\n return;\n }\n\n this.monthClick.emit(month);\n }\n\n onYearClick() {\n this.isYearPickerShown = true;\n }\n\n onNextYear() {\n this.year = this.year.append({year: 1});\n }\n\n onPreviousYear() {\n this.year = this.year.append({year: -1});\n }\n\n onItemHovered(hovered: boolean, item: TuiMonth) {\n this.updateHoveredItem(hovered ? item : null);\n }\n\n onItemPressed(pressed: boolean, item: TuiMonth) {\n this.updatePressedItem(pressed ? item : null);\n }\n\n @tuiPure\n private calculateDisabledItemHandlerWithMinMax(\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext>,\n value: TuiMonth | TuiMonthRange | null,\n min: TuiMonth,\n max: TuiMonth,\n ): TuiBooleanHandler<TuiMonth> {\n return item =>\n item.monthBefore(min) ||\n item.monthAfter(max) ||\n disabledItemHandler(item, {value});\n }\n\n private get disabledItemHandlerWithMinMax(): TuiBooleanHandler<TuiMonth> {\n return this.calculateDisabledItemHandlerWithMinMax(\n this.disabledItemHandler,\n this.value,\n this.min,\n this.max,\n );\n }\n\n private updateHoveredItem(month: TuiMonth | null) {\n if (nullableSame(this.hoveredItem, month, (a, b) => a.monthSame(b))) {\n return;\n }\n\n this.hoveredItem = month;\n this.hoveredItemChange.emit(month);\n }\n\n private updatePressedItem(item: TuiMonth | null) {\n this.pressedItem = item;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiLinkModule,\n TuiPrimitiveSpinButtonModule,\n TuiPrimitiveYearPickerModule,\n TuiScrollbarModule,\n} from '@taiga-ui/core';\n\nimport {TuiCalendarMonthComponent} from './calendar-month.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveYearPickerModule,\n TuiPrimitiveSpinButtonModule,\n TuiScrollbarModule,\n TuiLinkModule,\n TuiLetModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusableModule,\n ],\n declarations: [TuiCalendarMonthComponent],\n exports: [TuiCalendarMonthComponent],\n})\nexport class TuiCalendarMonthModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-carousel.js","sources":["ng://@taiga-ui/kit/components/carousel/carousel.component.ts","ng://@taiga-ui/kit/components/carousel/carousel.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-autoscroll.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-buttons.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-scroll.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel.module.ts","ng://@taiga-ui/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {INTERSECTION_ROOT} from '@ng-web-apis/intersection-observer';\nimport {\n clamp,\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n tuiDefaultProp,\n TuiItemDirective,\n tuiPure,\n TuiSwipeDirection,\n} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-carousel',\n templateUrl: 'carousel.template.html',\n styleUrls: ['carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: INTERSECTION_ROOT,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiCarouselComponent {\n private translate = 0;\n\n @Input()\n @HostBinding('class._draggable')\n @tuiDefaultProp()\n draggable = false;\n\n @Input()\n @tuiDefaultProp()\n itemsCount = 1;\n\n @Input()\n @tuiDefaultProp()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<any>> = EMPTY_QUERY;\n\n @HostBinding('class._transitioned')\n transitioned = true;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @HostListener('touchstart', ['false'])\n @HostListener('touchend', ['true'])\n @HostListener('mousedown', ['false'])\n @HostListener('document:mouseup.silent', ['true'])\n onTransitioned(transitioned: boolean) {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n @tuiPure\n getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n next() {\n this.updateIndex(this.index + 1);\n }\n\n prev() {\n this.updateIndex(this.index - 1);\n }\n\n isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n onIntersection({intersectionRatio}: IntersectionObserverEntry, index: number) {\n if (intersectionRatio && intersectionRatio !== 1 && !this.transitioned) {\n this.updateIndex(index - Math.floor(this.itemsCount / 2));\n }\n }\n\n onScroll(delta: number) {\n if (!this.isMobile) {\n this.updateIndex(this.index + delta);\n }\n }\n\n onPan(x: number) {\n if (!this.computedDraggable) {\n return;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = clamp(x / clientWidth + this.translate, min, 0);\n }\n\n onSwipe(direction: TuiSwipeDirection) {\n if (Math.round(this.translate) !== -this.index || !this.computedDraggable) {\n return;\n } else if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n onAutoscroll() {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number) {\n this.index = clamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.changeDetectorRef.markForCheck();\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, EMPTY, interval, merge, Observable} from 'rxjs';\nimport {mapTo, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: 'tui-carousel',\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly duration$ = new BehaviorSubject(0);\n\n private readonly running$ = merge(\n typedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(mapTo(false)),\n typedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(mapTo(false)),\n typedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(mapTo(true)),\n typedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(mapTo(true)),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n switchMap(([duration, running]) =>\n duration && running ? interval(duration) : EMPTY,\n ),\n );\n\n @Input()\n set duration(duration: number) {\n this.duration$.next(duration);\n }\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PAGE_VISIBILITY) private readonly visible$: Observable<boolean>,\n ) {\n super(subscriber => this.output$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n selector: '[tuiCarouselAutoscroll]',\n outputs: ['tuiCarouselAutoscroll'],\n})\nexport class TuiCarouselAutoscrollDirective {\n constructor(\n @Inject(TuiCarouselDirective) readonly tuiCarouselAutoscroll: Observable<unknown>,\n ) {}\n}\n","import {Directive} from '@angular/core';\nimport {ButtonOptions, TUI_BUTTON_OPTIONS, TuiAppearance} from '@taiga-ui/core';\n\n// TODO: remove in ivy compilation\nexport const CAROUSEL_BUTTON_OPTIONS: ButtonOptions = {\n appearance: TuiAppearance.Secondary,\n shape: 'rounded',\n size: 'm',\n};\n\n@Directive({\n selector: '[tuiCarouselButtons]',\n providers: [\n {\n provide: TUI_BUTTON_OPTIONS,\n useValue: CAROUSEL_BUTTON_OPTIONS,\n },\n ],\n})\nexport class TuiCarouselButtonsDirective {}\n","import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {filter, map, tap, throttleTime} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScrollDirective {\n @Output()\n readonly tuiCarouselScroll = typedFromEvent(\n this.elementRef.nativeElement,\n 'wheel',\n ).pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.elementRef.nativeElement.scrollLeft = 10;\n }),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {\n TuiItemDirective,\n TuiItemModule,\n TuiPanModule,\n TuiSwipeModule,\n} from '@taiga-ui/cdk';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscrollDirective} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtonsDirective} from './carousel-buttons.directive';\nimport {TuiCarouselScrollDirective} from './carousel-scroll.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n IntersectionObserverModule,\n TuiPanModule,\n TuiSwipeModule,\n TuiItemModule,\n ],\n declarations: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiCarouselAutoscrollDirective,\n TuiCarouselScrollDirective,\n ],\n exports: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiItemDirective,\n ],\n})\nexport class TuiCarouselModule {}\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-carousel.js","sources":["ng://@taiga-ui/kit/components/carousel/carousel.component.ts","ng://@taiga-ui/kit/components/carousel/carousel.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-autoscroll.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-buttons.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-scroll.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel.module.ts","ng://@taiga-ui/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {INTERSECTION_ROOT} from '@ng-web-apis/intersection-observer';\nimport {\n clamp,\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n tuiDefaultProp,\n TuiItemDirective,\n tuiPure,\n TuiSwipeDirection,\n} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-carousel',\n templateUrl: 'carousel.template.html',\n styleUrls: ['carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: INTERSECTION_ROOT,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiCarouselComponent {\n private translate = 0;\n\n @Input()\n @HostBinding('class._draggable')\n @tuiDefaultProp()\n draggable = false;\n\n @Input()\n @tuiDefaultProp()\n itemsCount = 1;\n\n @Input()\n @tuiDefaultProp()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<any>> = EMPTY_QUERY;\n\n @HostBinding('class._transitioned')\n transitioned = true;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @HostListener('touchstart', ['false'])\n @HostListener('touchend', ['true'])\n @HostListener('mousedown', ['false'])\n @HostListener('document:mouseup.silent', ['true'])\n onTransitioned(transitioned: boolean) {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n @tuiPure\n getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n next() {\n this.updateIndex(this.index + 1);\n }\n\n prev() {\n this.updateIndex(this.index - 1);\n }\n\n isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n onIntersection({intersectionRatio}: IntersectionObserverEntry, index: number) {\n if (intersectionRatio && intersectionRatio !== 1 && !this.transitioned) {\n this.updateIndex(index - Math.floor(this.itemsCount / 2));\n }\n }\n\n onScroll(delta: number) {\n if (!this.isMobile) {\n this.updateIndex(this.index + delta);\n }\n }\n\n onPan(x: number) {\n if (!this.computedDraggable) {\n return;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = clamp(x / clientWidth + this.translate, min, 0);\n }\n\n onSwipe(direction: TuiSwipeDirection) {\n if (Math.round(this.translate) !== -this.index || !this.computedDraggable) {\n return;\n } else if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n onAutoscroll() {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number) {\n this.index = clamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.changeDetectorRef.markForCheck();\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, EMPTY, interval, merge, Observable} from 'rxjs';\nimport {mapTo, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: 'tui-carousel',\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly duration$ = new BehaviorSubject(0);\n\n private readonly running$ = merge(\n typedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(mapTo(false)),\n typedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(mapTo(false)),\n typedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(mapTo(true)),\n typedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(mapTo(true)),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n switchMap(([duration, running]) =>\n duration && running ? interval(duration) : EMPTY,\n ),\n );\n\n @Input()\n set duration(duration: number) {\n this.duration$.next(duration);\n }\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PAGE_VISIBILITY) private readonly visible$: Observable<boolean>,\n ) {\n super(subscriber => this.output$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n selector: '[tuiCarouselAutoscroll]',\n outputs: ['tuiCarouselAutoscroll'],\n})\nexport class TuiCarouselAutoscrollDirective {\n constructor(\n @Inject(TuiCarouselDirective) readonly tuiCarouselAutoscroll: Observable<unknown>,\n ) {}\n}\n","import {Directive} from '@angular/core';\nimport {TUI_BUTTON_OPTIONS, TuiAppearance, TuiButtonOptions} from '@taiga-ui/core';\n\n// TODO: remove in ivy compilation\nexport const CAROUSEL_BUTTON_OPTIONS: TuiButtonOptions = {\n appearance: TuiAppearance.Secondary,\n shape: 'rounded',\n size: 'm',\n};\n\n@Directive({\n selector: '[tuiCarouselButtons]',\n providers: [\n {\n provide: TUI_BUTTON_OPTIONS,\n useValue: CAROUSEL_BUTTON_OPTIONS,\n },\n ],\n})\nexport class TuiCarouselButtonsDirective {}\n","import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {filter, map, tap, throttleTime} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScrollDirective {\n @Output()\n readonly tuiCarouselScroll = typedFromEvent(\n this.elementRef.nativeElement,\n 'wheel',\n ).pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.elementRef.nativeElement.scrollLeft = 10;\n }),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {\n TuiItemDirective,\n TuiItemModule,\n TuiPanModule,\n TuiSwipeModule,\n} from '@taiga-ui/cdk';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscrollDirective} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtonsDirective} from './carousel-buttons.directive';\nimport {TuiCarouselScrollDirective} from './carousel-scroll.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n IntersectionObserverModule,\n TuiPanModule,\n TuiSwipeModule,\n TuiItemModule,\n ],\n declarations: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiCarouselAutoscrollDirective,\n TuiCarouselScrollDirective,\n ],\n exports: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiItemDirective,\n ],\n})\nexport class TuiCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ __decorate([
70
70
  ], TuiCheckboxBlockComponent.prototype, "hideCheckbox", void 0);
71
71
  __decorate([
72
72
  Input(),
73
- HostBinding('attr.data-tui-host-size'),
73
+ HostBinding('attr.data-size'),
74
74
  tuiDefaultProp()
75
75
  ], TuiCheckboxBlockComponent.prototype, "size", void 0);
76
76
  __decorate([
@@ -87,7 +87,7 @@ TuiCheckboxBlockComponent = TuiCheckboxBlockComponent_1 = __decorate([
87
87
  useExisting: forwardRef(() => TuiCheckboxBlockComponent_1),
88
88
  },
89
89
  ],
90
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:inline-block;vertical-align:top;border-radius:var(--tui-radius-m)}:host[data-tui-host-size='l'],:host[data-tui-host-size='m']{font:var(--tui-font-text-m)}:host._disabled,:host._readonly{pointer-events:none}.wrapper{position:relative;border-radius:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.content-wrapper{display:flex;flex-direction:column}:host[data-tui-host-size='s'] .content-wrapper{min-height:var(--tui-height-s)}:host[data-tui-host-size='m'] .content-wrapper{min-height:var(--tui-height-m)}:host[data-tui-host-size='l'] .content-wrapper{min-height:var(--tui-height-l)}.content{display:flex;align-items:center;min-height:inherit}:host[data-tui-host-align=right] .content{flex-direction:row-reverse}:host[data-tui-host-size='s'] .content{padding:0 1rem 0 .5rem}:host[data-tui-host-size='s'][data-tui-host-align=right] .content{padding:0 .5rem 0 1rem}:host[data-tui-host-size='s']._hidden_checkbox .content{padding:0 1rem}:host[data-tui-host-size='m'] .content{padding:0 1rem 0 .75rem}:host[data-tui-host-size='m'][data-tui-host-align=right] .content{padding:0 .75rem 0 1rem}:host[data-tui-host-size='m']._hidden_checkbox .content{padding:0 1.5rem}:host[data-tui-host-size='l'] .content{padding:0 1rem}:host[data-tui-host-size='l']._hidden_checkbox .content{padding:0 2.25rem}.view{margin-top:.75rem;margin-right:.75rem;align-self:flex-start}:host[data-tui-host-align=right] .view{margin-left:.75rem;margin-right:0}:host[data-tui-host-size='s'] .view{margin-top:.5rem;margin-right:.5rem}:host[data-tui-host-size='s'][data-tui-host-align=right] .view{margin-left:.5rem}:host[data-tui-host-size='m'] .view{margin-top:.875rem}:host[data-tui-host-size='l'] .view{margin-top:1rem}:host._hidden_checkbox .view{position:absolute;height:1px;width:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(0);clip-path:inset(0)}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}:host._hidden_checkbox .label{text-align:center}"]
90
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);display:inline-block;vertical-align:top;border-radius:var(--tui-radius-m)}:host[data-size='l'],:host[data-size='m']{font:var(--tui-font-text-m)}:host._disabled,:host._readonly{pointer-events:none}.wrapper{position:relative;border-radius:inherit;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.content-wrapper{display:flex;flex-direction:column}:host[data-size='s'] .content-wrapper{min-height:var(--tui-height-s)}:host[data-size='m'] .content-wrapper{min-height:var(--tui-height-m)}:host[data-size='l'] .content-wrapper{min-height:var(--tui-height-l)}.content{display:flex;align-items:center;min-height:inherit}:host[data-tui-host-align=right] .content{flex-direction:row-reverse}:host[data-size='s'] .content{padding:0 1rem 0 .5rem}:host[data-size='s'][data-tui-host-align=right] .content{padding:0 .5rem 0 1rem}:host[data-size='s']._hidden_checkbox .content{padding:0 1rem}:host[data-size='m'] .content{padding:0 1rem 0 .75rem}:host[data-size='m'][data-tui-host-align=right] .content{padding:0 .75rem 0 1rem}:host[data-size='m']._hidden_checkbox .content{padding:0 1.5rem}:host[data-size='l'] .content{padding:0 1rem}:host[data-size='l']._hidden_checkbox .content{padding:0 2.25rem}.view{margin-top:.75rem;margin-right:.75rem;align-self:flex-start}:host[data-tui-host-align=right] .view{margin-left:.75rem;margin-right:0}:host[data-size='s'] .view{margin-top:.5rem;margin-right:.5rem}:host[data-size='s'][data-tui-host-align=right] .view{margin-left:.5rem}:host[data-size='m'] .view{margin-top:.875rem}:host[data-size='l'] .view{margin-top:1rem}:host._hidden_checkbox .view{position:absolute;height:1px;width:1px;margin:-1px;border:0;padding:0;overflow:hidden;clip:rect(0,0,0,0);-webkit-clip-path:inset(0);clip-path:inset(0)}.label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:1}:host._hidden_checkbox .label{text-align:center}"]
91
91
  }),
92
92
  __param(0, Optional()),
93
93
  __param(0, Self()),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-checkbox-block.js","sources":["ng://@taiga-ui/kit/components/checkbox-block/checkbox-block.component.ts","ng://@taiga-ui/kit/components/checkbox-block/checkbox-block.module.ts","ng://@taiga-ui/kit/components/checkbox-block/taiga-ui-kit-components-checkbox-block.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TuiCheckboxComponent} from '@taiga-ui/kit/components/checkbox';\n\n@Component({\n selector: 'tui-checkbox-block',\n templateUrl: './checkbox-block.template.html',\n styleUrls: ['./checkbox-block.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiCheckboxBlockComponent),\n },\n ],\n})\nexport class TuiCheckboxBlockComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiCheckboxComponent)\n private readonly checkbox?: TuiCheckboxComponent;\n\n @Input()\n @HostBinding('attr.data-tui-host-align')\n @tuiDefaultProp()\n contentAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('class._hidden_checkbox')\n @tuiDefaultProp()\n hideCheckbox = false;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeL = 'l';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.checkbox ? this.checkbox.nativeFocusableElement : null;\n }\n\n @HostBinding('class._active')\n get checked(): boolean {\n return this.value !== false && this.hideCheckbox;\n }\n\n get checkboxSize(): TuiSizeL {\n return this.size === 'l' ? 'l' : 'm';\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n if (!this.modeDirective || !this.modeDirective.mode) {\n return this.checked\n ? TuiAppearance.WhiteblockActive\n : TuiAppearance.Whiteblock;\n }\n\n return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n onModelChange(value: boolean) {\n this.updateValue(value);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHoveredModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiCheckboxModule} from '@taiga-ui/kit/components/checkbox';\n\nimport {TuiCheckboxBlockComponent} from './checkbox-block.component';\n\n@NgModule({\n imports: [\n FormsModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiCheckboxModule,\n TuiWrapperModule,\n ],\n declarations: [TuiCheckboxBlockComponent],\n exports: [TuiCheckboxBlockComponent],\n})\nexport class TuiCheckboxBlockModule {}\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-checkbox-block.js","sources":["ng://@taiga-ui/kit/components/checkbox-block/checkbox-block.component.ts","ng://@taiga-ui/kit/components/checkbox-block/checkbox-block.module.ts","ng://@taiga-ui/kit/components/checkbox-block/taiga-ui-kit-components-checkbox-block.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TuiCheckboxComponent} from '@taiga-ui/kit/components/checkbox';\n\n@Component({\n selector: 'tui-checkbox-block',\n templateUrl: './checkbox-block.template.html',\n styleUrls: ['./checkbox-block.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiCheckboxBlockComponent),\n },\n ],\n})\nexport class TuiCheckboxBlockComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiCheckboxComponent)\n private readonly checkbox?: TuiCheckboxComponent;\n\n @Input()\n @HostBinding('attr.data-tui-host-align')\n @tuiDefaultProp()\n contentAlign: TuiHorizontalDirection = 'right';\n\n @Input()\n @HostBinding('class._hidden_checkbox')\n @tuiDefaultProp()\n hideCheckbox = false;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeL = 'l';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.checkbox ? this.checkbox.nativeFocusableElement : null;\n }\n\n @HostBinding('class._active')\n get checked(): boolean {\n return this.value !== false && this.hideCheckbox;\n }\n\n get checkboxSize(): TuiSizeL {\n return this.size === 'l' ? 'l' : 'm';\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n if (!this.modeDirective || !this.modeDirective.mode) {\n return this.checked\n ? TuiAppearance.WhiteblockActive\n : TuiAppearance.Whiteblock;\n }\n\n return this.checked ? TuiAppearance.Primary : TuiAppearance.Secondary;\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n onModelChange(value: boolean) {\n this.updateValue(value);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHoveredModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiWrapperModule} from '@taiga-ui/core';\nimport {TuiCheckboxModule} from '@taiga-ui/kit/components/checkbox';\n\nimport {TuiCheckboxBlockComponent} from './checkbox-block.component';\n\n@NgModule({\n imports: [\n FormsModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiCheckboxModule,\n TuiWrapperModule,\n ],\n declarations: [TuiCheckboxBlockComponent],\n exports: [TuiCheckboxBlockComponent],\n})\nexport class TuiCheckboxBlockModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ __decorate([
45
45
  ], TuiCheckboxLabeledComponent.prototype, "checkbox", void 0);
46
46
  __decorate([
47
47
  Input(),
48
- HostBinding('attr.data-tui-host-size'),
48
+ HostBinding('attr.data-size'),
49
49
  tuiDefaultProp()
50
50
  ], TuiCheckboxLabeledComponent.prototype, "size", void 0);
51
51
  __decorate([
@@ -62,7 +62,7 @@ TuiCheckboxLabeledComponent = TuiCheckboxLabeledComponent_1 = __decorate([
62
62
  useExisting: forwardRef(() => TuiCheckboxLabeledComponent_1),
63
63
  },
64
64
  ],
65
- styles: [":host{position:relative;display:block;line-height:0}:host._disabled,:host._readonly{pointer-events:none}.wrapper{display:inline-flex;max-width:100%;cursor:pointer}:host._disabled .wrapper{cursor:default}:host[data-mode=onDark] .wrapper{color:var(--tui-text-01-night)}.content{font:var(--tui-font-text-s);line-height:1rem;word-wrap:break-word;min-width:0}.content_disabled{opacity:var(--tui-disabled-opacity)}:host[data-tui-host-size='m'] .content{margin-left:.5rem}:host[data-tui-host-size='l'] .content{font:var(--tui-font-text-m);margin-left:.75rem}"]
65
+ styles: [":host{position:relative;display:block;line-height:0}:host._disabled,:host._readonly{pointer-events:none}.wrapper{display:inline-flex;max-width:100%;cursor:pointer}:host._disabled .wrapper{cursor:default}:host[data-mode=onDark] .wrapper{color:var(--tui-text-01-night)}.content{font:var(--tui-font-text-s);line-height:1rem;word-wrap:break-word;min-width:0}.content_disabled{opacity:var(--tui-disabled-opacity)}:host[data-size='m'] .content{margin-left:.5rem}:host[data-size='l'] .content{font:var(--tui-font-text-m);margin-left:.75rem}"]
66
66
  }),
67
67
  __param(0, Optional()),
68
68
  __param(0, Self()),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-checkbox-labeled.js","sources":["ng://@taiga-ui/kit/components/checkbox-labeled/checkbox-labeled.component.ts","ng://@taiga-ui/kit/components/checkbox-labeled/checkbox-labeled.module.ts","ng://@taiga-ui/kit/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective, TuiSizeL} from '@taiga-ui/core';\nimport {TuiCheckboxComponent} from '@taiga-ui/kit/components/checkbox';\n\n@Component({\n selector: 'tui-checkbox-labeled',\n templateUrl: './checkbox-labeled.template.html',\n styleUrls: ['./checkbox-labeled.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiCheckboxLabeledComponent),\n },\n ],\n})\nexport class TuiCheckboxLabeledComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiCheckboxComponent)\n private readonly checkbox?: TuiCheckboxComponent;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.checkbox ? this.checkbox.nativeFocusableElement : null;\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onModelChange(value: boolean) {\n this.updateValue(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHoveredModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiCheckboxModule} from '@taiga-ui/kit/components/checkbox';\n\nimport {TuiCheckboxLabeledComponent} from './checkbox-labeled.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiCheckboxModule,\n ],\n declarations: [TuiCheckboxLabeledComponent],\n exports: [TuiCheckboxLabeledComponent],\n})\nexport class TuiCheckboxLabeledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAoCa,2BAA2B,mCAAxC,MAAa,2BACT,SAAQ,0BAAmC;IAW3C,YAII,OAAyB,EACE,iBAAoC,EAG9C,aAAsC;QAEvD,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAFjB,kBAAa,GAAb,aAAa,CAAyB;QAV3D,SAAI,GAAa,GAAG,CAAC;KAapB;IAED,IAAI,OAAO;QACP,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvD;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC;KACtE;IAGD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;KAC9D;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,aAAa,CAAC,KAAc;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC3B;EACJ;;YArCgB,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;YAE6B,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;YAGO,gBAAgB,uBAF/C,QAAQ,YACR,MAAM,SAAC,gBAAgB;;AAd5B;IADC,SAAS,CAAC,oBAAoB,CAAC;6DACiB;AAKjD;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,yBAAyB,CAAC;IACtC,cAAc,EAAE;yDACI;AAwBrB;IADC,WAAW,CAAC,gBAAgB,CAAC;2DAG7B;AApCQ,2BAA2B;IAZvC,SAAS,CAAC;QACP,QAAQ,EAAE,sBAAsB;QAChC,+wBAA+C;QAE/C,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA2B,CAAC;aAC7D;SACJ;;KACJ,CAAC;IAcO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;GAnBpB,2BAA2B,CAqDvC;;ICtEY,wBAAwB,GAArC,MAAa,wBAAwB;EAAG;AAA3B,wBAAwB;IAXpC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;SACpB;QACD,YAAY,EAAE,CAAC,2BAA2B,CAAC;QAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;KACzC,CAAC;GACW,wBAAwB,CAAG;;ACnBxC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-checkbox-labeled.js","sources":["ng://@taiga-ui/kit/components/checkbox-labeled/checkbox-labeled.component.ts","ng://@taiga-ui/kit/components/checkbox-labeled/checkbox-labeled.module.ts","ng://@taiga-ui/kit/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {TuiBrightness, TuiModeDirective, TuiSizeL} from '@taiga-ui/core';\nimport {TuiCheckboxComponent} from '@taiga-ui/kit/components/checkbox';\n\n@Component({\n selector: 'tui-checkbox-labeled',\n templateUrl: './checkbox-labeled.template.html',\n styleUrls: ['./checkbox-labeled.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiCheckboxLabeledComponent),\n },\n ],\n})\nexport class TuiCheckboxLabeledComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild(TuiCheckboxComponent)\n private readonly checkbox?: TuiCheckboxComponent;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = 'm';\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n ) {\n super(control, changeDetectorRef);\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.checkbox ? this.checkbox.nativeFocusableElement : null;\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onModelChange(value: boolean) {\n this.updateValue(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiHoveredModule, TuiPressedModule} from '@taiga-ui/cdk';\nimport {TuiCheckboxModule} from '@taiga-ui/kit/components/checkbox';\n\nimport {TuiCheckboxLabeledComponent} from './checkbox-labeled.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiCheckboxModule,\n ],\n declarations: [TuiCheckboxLabeledComponent],\n exports: [TuiCheckboxLabeledComponent],\n})\nexport class TuiCheckboxLabeledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAoCa,2BAA2B,mCAAxC,MAAa,2BACT,SAAQ,0BAAmC;IAW3C,YAII,OAAyB,EACE,iBAAoC,EAG9C,aAAsC;QAEvD,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAFjB,kBAAa,GAAb,aAAa,CAAyB;QAV3D,SAAI,GAAa,GAAG,CAAC;KAapB;IAED,IAAI,OAAO;QACP,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvD;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC;KACtE;IAGD,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;KAC9D;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,aAAa,CAAC,KAAc;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC3B;EACJ;;YArCgB,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;YAE6B,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;YAGO,gBAAgB,uBAF/C,QAAQ,YACR,MAAM,SAAC,gBAAgB;;AAd5B;IADC,SAAS,CAAC,oBAAoB,CAAC;6DACiB;AAKjD;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;yDACI;AAwBrB;IADC,WAAW,CAAC,gBAAgB,CAAC;2DAG7B;AApCQ,2BAA2B;IAZvC,SAAS,CAAC;QACP,QAAQ,EAAE,sBAAsB;QAChC,+wBAA+C;QAE/C,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,UAAU,CAAC,MAAM,6BAA2B,CAAC;aAC7D;SACJ;;KACJ,CAAC;IAcO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;GAnBpB,2BAA2B,CAqDvC;;ICtEY,wBAAwB,GAArC,MAAa,wBAAwB;EAAG;AAA3B,wBAAwB;IAXpC,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,WAAW;YACX,gBAAgB;YAChB,gBAAgB;YAChB,iBAAiB;SACpB;QACD,YAAY,EAAE,CAAC,2BAA2B,CAAC;QAC3C,OAAO,EAAE,CAAC,2BAA2B,CAAC;KACzC,CAAC;GACW,wBAAwB,CAAG;;ACnBxC;;;;;;"}
@@ -49,7 +49,7 @@ __decorate([
49
49
  ], TuiCheckboxComponent.prototype, "focusableElement", void 0);
50
50
  __decorate([
51
51
  Input(),
52
- HostBinding('attr.data-tui-host-size'),
52
+ HostBinding('attr.data-size'),
53
53
  tuiDefaultProp()
54
54
  ], TuiCheckboxComponent.prototype, "size", void 0);
55
55
  TuiCheckboxComponent = TuiCheckboxComponent_1 = __decorate([
@@ -63,7 +63,7 @@ TuiCheckboxComponent = TuiCheckboxComponent_1 = __decorate([
63
63
  useExisting: forwardRef(() => TuiCheckboxComponent_1),
64
64
  },
65
65
  ],
66
- styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;flex-shrink:0}:host[data-tui-host-size='m']{width:1rem;height:1rem}:host[data-tui-host-size='l']{width:1.5rem;height:1.5rem}.native{padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .native,:host._readonly .native{pointer-events:none}"]
66
+ styles: [":host{font:var(--tui-font-text-s);color:var(--tui-text-01);position:relative;display:block;flex-shrink:0}:host[data-size='m']{width:1rem;height:1rem}:host[data-size='l']{width:1.5rem;height:1.5rem}.native{padding:0;border:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.native:-webkit-autofill,.native:-webkit-autofill:focus,.native:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 1000px var(--tui-autofill) inset!important}:host._disabled .native,:host._readonly .native{pointer-events:none}"]
67
67
  }),
68
68
  __param(0, Optional()),
69
69
  __param(0, Self()),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-checkbox.js","sources":["ng://@taiga-ui/kit/components/checkbox/checkbox.component.ts","ng://@taiga-ui/kit/components/checkbox/checkbox.module.ts","ng://@taiga-ui/kit/components/checkbox/taiga-ui-kit-components-checkbox.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {CheckboxOptions, TUI_CHECKBOX_OPTIONS, TuiSizeL} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-checkbox',\n templateUrl: './checkbox.template.html',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiCheckboxComponent),\n },\n ],\n})\nexport class TuiCheckboxComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(TUI_CHECKBOX_OPTIONS)\n private readonly options: CheckboxOptions,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get computedFocusable(): boolean {\n return this.interactive && this.focusable;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiPrimitiveCheckboxModule} from '@taiga-ui/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiPrimitiveCheckboxModule,\n ],\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;IAmCa,oBAAoB,4BAAjC,MAAa,oBACT,SAAQ,0BAAmC;IAW3C,YAII,OAAyB,EAER,OAAwB,EACd,iBAAoC;QAE/D,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAHjB,YAAO,GAAP,OAAO,CAAiB;QAR7C,SAAI,GAAa,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;KAYlC;IAED,IAAI,sBAAsB;QACtB,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB;cAChD,IAAI;cACJ,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;KAC7C;IAED,IAAI,OAAO;QACP,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvD;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;KAC7C;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC7B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,cAAc,CAAC,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;EACJ;;YAzCgB,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;4CAEhB,MAAM,SAAC,oBAAoB;YAEkB,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;;AAd7B;IADC,SAAS,CAAC,kBAAkB,CAAC;8DACmC;AAKjE;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,yBAAyB,CAAC;IACtC,cAAc,EAAE;kDACkB;AAV1B,oBAAoB;IAZhC,SAAS,CAAC;QACP,QAAQ,EAAE,cAAc;QACxB,2vBAAuC;QAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAoB,CAAC;aACtD;SACJ;;KACJ,CAAC;IAcO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEjB,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAE5B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GAnBrB,oBAAoB,CAyDhC;;IChEY,iBAAiB,GAA9B,MAAa,iBAAiB;EAAG;AAApB,iBAAiB;IAd7B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,gBAAgB;YAChB,kBAAkB;YAClB,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,qBAAqB;YACrB,0BAA0B;SAC7B;QACD,YAAY,EAAE,CAAC,oBAAoB,CAAC;QACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;KAClC,CAAC;GACW,iBAAiB,CAAG;;AC5BjC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-checkbox.js","sources":["ng://@taiga-ui/kit/components/checkbox/checkbox.component.ts","ng://@taiga-ui/kit/components/checkbox/checkbox.module.ts","ng://@taiga-ui/kit/components/checkbox/taiga-ui-kit-components-checkbox.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {TUI_CHECKBOX_OPTIONS, TuiCheckboxOptions, TuiSizeL} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-checkbox',\n templateUrl: './checkbox.template.html',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiCheckboxComponent),\n },\n ],\n})\nexport class TuiCheckboxComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(TUI_CHECKBOX_OPTIONS)\n private readonly options: TuiCheckboxOptions,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get computedFocusable(): boolean {\n return this.interactive && this.focusable;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiPrimitiveCheckboxModule} from '@taiga-ui/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiPrimitiveCheckboxModule,\n ],\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;IAmCa,oBAAoB,4BAAjC,MAAa,oBACT,SAAQ,0BAAmC;IAW3C,YAII,OAAyB,EAER,OAA2B,EACjB,iBAAoC;QAE/D,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAHjB,YAAO,GAAP,OAAO,CAAoB;QARhD,SAAI,GAAa,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;KAYlC;IAED,IAAI,sBAAsB;QACtB,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB;cAChD,IAAI;cACJ,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;KAC7C;IAED,IAAI,OAAO;QACP,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvD;IAED,IAAI,iBAAiB;QACjB,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;KAC7C;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC7B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,cAAc,CAAC,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;EACJ;;YAzCgB,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;4CAEhB,MAAM,SAAC,oBAAoB;YAEkB,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;;AAd7B;IADC,SAAS,CAAC,kBAAkB,CAAC;8DACmC;AAKjE;IAHC,KAAK,EAAE;IACP,WAAW,CAAC,gBAAgB,CAAC;IAC7B,cAAc,EAAE;kDACkB;AAV1B,oBAAoB;IAZhC,SAAS,CAAC;QACP,QAAQ,EAAE,cAAc;QACxB,2vBAAuC;QAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,2BAA2B;gBACpC,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAoB,CAAC;aACtD;SACJ;;KACJ,CAAC;IAcO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEjB,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;IAE5B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;GAnBrB,oBAAoB,CAyDhC;;IChEY,iBAAiB,GAA9B,MAAa,iBAAiB;EAAG;AAApB,iBAAiB;IAd7B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,gBAAgB;YAChB,kBAAkB;YAClB,gBAAgB;YAChB,gBAAgB;YAChB,gBAAgB;YAChB,qBAAqB;YACrB,0BAA0B;SAC7B;QACD,YAAY,EAAE,CAAC,oBAAoB,CAAC;QACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;KAClC,CAAC;GACW,iBAAiB,CAAG;;AC5BjC;;;;;;"}
@@ -1,9 +1,10 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { forwardRef, EventEmitter, Optional, Self, Inject, ChangeDetectorRef, ContentChild, ViewChild, Input, Output, TemplateRef, Component, ChangeDetectionStrategy, Directive, NgModule } from '@angular/core';
2
+ import { forwardRef, EventEmitter, Optional, Self, Inject, ChangeDetectorRef, ContentChild, ViewChild, Input, Output, TemplateRef, Component, ChangeDetectionStrategy, Directive, HostListener, NgModule } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
- import { TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiControl, AbstractTuiNullableControl, TUI_DEFAULT_STRINGIFY, TUI_STRICT_MATCHER, TUI_DEFAULT_IDENTITY_MATCHER, isNativeFocused, isPresent, setNativeFocused, tuiDefaultProp, tuiPure, TuiActiveZoneModule } from '@taiga-ui/cdk';
4
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiControl, AbstractTuiNullableControl, TUI_STRICT_MATCHER, isNativeFocused, isPresent, setNativeFocused, tuiDefaultProp, tuiPure, TuiActiveZoneModule } from '@taiga-ui/cdk';
5
5
  import { TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TUI_DATA_LIST_ACCESSOR, TuiHostedDropdownComponent, TuiPrimitiveTextfieldComponent, TuiDataListDirective, TuiAbstractTextfieldHost, TUI_TEXTFIELD_HOST, TuiPrimitiveTextfieldModule, TuiHostedDropdownModule, TuiTextfieldComponent } from '@taiga-ui/core';
6
6
  import { TUI_ARROW_MODE, TuiArrowModule } from '@taiga-ui/kit/components/arrow';
7
+ import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
7
8
  import { TUI_SELECT_OPTION, TuiSelectOptionModule } from '@taiga-ui/kit/components/select-option';
8
9
  import { FIXED_DROPDOWN_CONTROLLER_PROVIDER } from '@taiga-ui/kit/providers';
9
10
  import { CommonModule } from '@angular/common';
@@ -32,15 +33,16 @@ const TUI_COMBO_BOX_PROVIDERS = [
32
33
  ];
33
34
 
34
35
  let TuiComboBoxComponent = class TuiComboBoxComponent extends AbstractTuiNullableControl {
35
- constructor(control, changeDetectorRef, arrowMode) {
36
+ constructor(control, changeDetectorRef, arrowMode, itemsHandlers) {
36
37
  super(control, changeDetectorRef);
37
38
  this.arrowMode = arrowMode;
38
- this.stringify = TUI_DEFAULT_STRINGIFY;
39
+ this.itemsHandlers = itemsHandlers;
40
+ this.stringify = this.itemsHandlers.stringify;
39
41
  this.strictMatcher = TUI_STRICT_MATCHER;
40
- this.identityMatcher = TUI_DEFAULT_IDENTITY_MATCHER;
42
+ this.identityMatcher = this.itemsHandlers.identityMatcher;
41
43
  this.valueContent = '';
42
44
  this.strict = true;
43
- this.search = '';
45
+ this.search = null;
44
46
  this.searchChange = new EventEmitter();
45
47
  this.datalist = '';
46
48
  this.open = false;
@@ -56,10 +58,7 @@ let TuiComboBoxComponent = class TuiComboBoxComponent extends AbstractTuiNullabl
56
58
  (!!this.hostedDropdown && this.hostedDropdown.focused));
57
59
  }
58
60
  get nativeValue() {
59
- if (this.value === null) {
60
- return this.search || '';
61
- }
62
- return typeof this.value === 'string' ? this.value : this.stringify(this.value);
61
+ return this.value === null ? this.search || '' : this.stringify(this.value);
63
62
  }
64
63
  get showValueTemplate() {
65
64
  return isPresent(this.value) && !this.focused;
@@ -91,10 +90,11 @@ let TuiComboBoxComponent = class TuiComboBoxComponent extends AbstractTuiNullabl
91
90
  this.updateValue(item);
92
91
  }
93
92
  onFieldKeyDownEnter(event) {
93
+ var _a;
94
94
  if (this.open) {
95
95
  event.preventDefault();
96
96
  }
97
- const options = this.accessor ? this.accessor.getOptions() : [];
97
+ const options = ((_a = this.accessor) === null || _a === void 0 ? void 0 : _a.getOptions()) || [];
98
98
  if (options.length !== 1) {
99
99
  return;
100
100
  }
@@ -103,17 +103,21 @@ let TuiComboBoxComponent = class TuiComboBoxComponent extends AbstractTuiNullabl
103
103
  this.close();
104
104
  }
105
105
  onValueChange(value) {
106
- var _a;
106
+ var _a, _b;
107
107
  this.updateSearch(value);
108
- const match = this.accessor &&
109
- this.accessor.getOptions().find(item => this.isStrictMatch(item));
108
+ const match = (_a = this.accessor) === null || _a === void 0 ? void 0 : _a.getOptions().find(item => this.isStrictMatch(item));
110
109
  if (match !== undefined) {
111
110
  this.updateValue(match);
112
111
  this.updateSearch(null);
113
112
  return;
114
113
  }
115
- this.updateValue(this.strict || this.search === '' ? null : this.search);
116
- (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(true);
114
+ if (this.strict || this.search === '') {
115
+ this.updateValue(null);
116
+ }
117
+ (_b = this.hostedDropdown) === null || _b === void 0 ? void 0 : _b.updateOpen(true);
118
+ }
119
+ updateValue(value) {
120
+ super.updateValue(value);
117
121
  }
118
122
  onHovered(hovered) {
119
123
  this.updateHovered(hovered);
@@ -150,7 +154,8 @@ let TuiComboBoxComponent = class TuiComboBoxComponent extends AbstractTuiNullabl
150
154
  TuiComboBoxComponent.ctorParameters = () => [
151
155
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
152
156
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
153
- { type: undefined, decorators: [{ type: Inject, args: [TUI_ARROW_MODE,] }] }
157
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ARROW_MODE,] }] },
158
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ITEMS_HANDLERS,] }] }
154
159
  ];
155
160
  __decorate([
156
161
  ContentChild(TUI_DATA_LIST_ACCESSOR)
@@ -206,7 +211,8 @@ TuiComboBoxComponent = __decorate([
206
211
  __param(0, Self()),
207
212
  __param(0, Inject(NgControl)),
208
213
  __param(1, Inject(ChangeDetectorRef)),
209
- __param(2, Inject(TUI_ARROW_MODE))
214
+ __param(2, Inject(TUI_ARROW_MODE)),
215
+ __param(3, Inject(TUI_ITEMS_HANDLERS))
210
216
  ], TuiComboBoxComponent);
211
217
 
212
218
  var TuiComboBoxDirective_1;
@@ -230,6 +236,32 @@ TuiComboBoxDirective = TuiComboBoxDirective_1 = __decorate([
230
236
  })
231
237
  ], TuiComboBoxDirective);
232
238
 
239
+ let TuiComboBoxStrictDirective = class TuiComboBoxStrictDirective {
240
+ constructor(comboBox) {
241
+ this.comboBox = comboBox;
242
+ this.strict = true;
243
+ }
244
+ onInput() {
245
+ this.comboBox.updateValue(this.strict || this.comboBox.search === '' ? null : this.comboBox.search);
246
+ }
247
+ };
248
+ TuiComboBoxStrictDirective.ctorParameters = () => [
249
+ { type: TuiComboBoxComponent, decorators: [{ type: Inject, args: [TuiComboBoxComponent,] }] }
250
+ ];
251
+ __decorate([
252
+ Input(),
253
+ tuiDefaultProp()
254
+ ], TuiComboBoxStrictDirective.prototype, "strict", void 0);
255
+ __decorate([
256
+ HostListener('input')
257
+ ], TuiComboBoxStrictDirective.prototype, "onInput", null);
258
+ TuiComboBoxStrictDirective = __decorate([
259
+ Directive({
260
+ selector: 'tui-combo-box[strict]',
261
+ }),
262
+ __param(0, Inject(TuiComboBoxComponent))
263
+ ], TuiComboBoxStrictDirective);
264
+
233
265
  let TuiComboBoxModule = class TuiComboBoxModule {
234
266
  };
235
267
  TuiComboBoxModule = __decorate([
@@ -243,8 +275,17 @@ TuiComboBoxModule = __decorate([
243
275
  TuiSelectOptionModule,
244
276
  TuiArrowModule,
245
277
  ],
246
- declarations: [TuiComboBoxComponent, TuiComboBoxDirective],
247
- exports: [TuiComboBoxComponent, TuiComboBoxDirective, TuiTextfieldComponent],
278
+ declarations: [
279
+ TuiComboBoxComponent,
280
+ TuiComboBoxStrictDirective,
281
+ TuiComboBoxDirective,
282
+ ],
283
+ exports: [
284
+ TuiComboBoxComponent,
285
+ TuiComboBoxStrictDirective,
286
+ TuiComboBoxDirective,
287
+ TuiTextfieldComponent,
288
+ ],
248
289
  })
249
290
  ], TuiComboBoxModule);
250
291
 
@@ -252,5 +293,5 @@ TuiComboBoxModule = __decorate([
252
293
  * Generated bundle index. Do not edit.
253
294
  */
254
295
 
255
- export { COMBOBOX_OPTION, TUI_COMBO_BOX_PROVIDERS, TuiComboBoxComponent, TuiComboBoxDirective, TuiComboBoxModule };
296
+ export { COMBOBOX_OPTION, TUI_COMBO_BOX_PROVIDERS, TuiComboBoxComponent, TuiComboBoxDirective, TuiComboBoxModule, TuiComboBoxStrictDirective };
256
297
  //# sourceMappingURL=taiga-ui-kit-components-combo-box.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["ng://@taiga-ui/kit/components/combo-box/combo-box.providers.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.component.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.module.ts","ng://@taiga-ui/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n// TODO: remove in ivy compilation\nexport const COMBOBOX_OPTION: any = TUI_SELECT_OPTION;\n\nexport const TUI_COMBO_BOX_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: COMBOBOX_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n isPresent,\n setNativeFocused,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TUI_STRICT_MATCHER,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiIdentityMatcher,\n tuiPure,\n TuiStringHandler,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_COMBO_BOX_PROVIDERS} from './combo-box.providers';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_COMBO_BOX_PROVIDERS,\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T | string>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiStringHandler<T> = TUI_DEFAULT_STRINGIFY;\n\n @Input()\n @tuiDefaultProp()\n strictMatcher: TuiStringMatcher<T> = TUI_STRICT_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>> = '';\n\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = '';\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent = '';\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get nativeValue(): string {\n if (this.value === null) {\n return this.search || '';\n }\n\n return typeof this.value === 'string' ? this.value : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return isPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {\n $implicit,\n active,\n };\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n checkOption(option: T) {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.updateValue(option);\n this.updateSearch(null);\n }\n\n handleOption(item: T) {\n this.setNativeValue(this.stringify(item));\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.updateValue(item);\n }\n\n onFieldKeyDownEnter(event: KeyboardEvent) {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.updateValue(options[0]);\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string) {\n this.updateSearch(value);\n\n const match =\n this.accessor &&\n this.accessor.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.updateValue(match);\n this.updateSearch(null);\n\n return;\n }\n\n this.updateValue(this.strict || this.search === '' ? null : this.search);\n this.hostedDropdown?.updateOpen(true);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n toggle() {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return this.strictMatcher(item, this.search || '', this.stringify);\n }\n\n private close() {\n this.hostedDropdown?.updateOpen(false);\n }\n\n private updateSearch(search: string | null) {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private setNativeValue(value: string) {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiComboBoxDirective),\n },\n ],\n})\nexport class TuiComboBoxDirective extends TuiAbstractTextfieldHost<\n TuiComboBoxComponent<any>\n> {\n get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [TuiComboBoxComponent, TuiComboBoxDirective],\n exports: [TuiComboBoxComponent, TuiComboBoxDirective, TuiTextfieldComponent],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAQA;MACa,eAAe,GAAQ,kBAAkB;MAEzC,uBAAuB,GAAG;IACnC;QACI,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;KACtD;IACD;QACI,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;KACtD;IACD;QACI,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,UAAU,CAAC,MAAM,oBAAoB,CAAC;KACtD;IACD;QACI,OAAO,EAAE,kBAAkB;QAC3B,QAAQ,EAAE,eAAe;KAC5B;IACD,kCAAkC;;;ICuBzB,oBAAoB,GAAjC,MAAa,oBACT,SAAQ,0BAAsC;IA4C9C,YAII,OAAyB,EACE,iBAAoC,EAE9C,SAAuB;QAExC,KAAK,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;QAFjB,cAAS,GAAT,SAAS,CAAc;QArC5C,cAAS,GAAwB,qBAAqB,CAAC;QAIvD,kBAAa,GAAwB,kBAAkB,CAAC;QAIxD,oBAAe,GAA0B,4BAA4B,CAAC;QAItE,iBAAY,GAAmD,EAAE,CAAC;QAIlE,WAAM,GAAG,IAAI,CAAC;QAId,WAAM,GAAkB,EAAE,CAAC;QAGlB,iBAAY,GAAG,IAAI,YAAY,EAAiB,CAAC;QAGjD,aAAQ,GAAwB,EAAE,CAAC;QAE5C,SAAI,GAAG,KAAK,CAAC;KAYZ;IAED,IAAI,KAAK;QACL,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC;KACnF;IAED,IAAI,sBAAsB;QACtB,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,sBAAsB,GAAG,IAAI,CAAC;KACxE;IAED,IAAI,OAAO;QACP,QACI,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC;aAC3C,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EACxD;KACL;IAED,IAAI,WAAW;QACX,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE;YACrB,OAAO,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;SAC5B;QAED,OAAO,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACnF;IAED,IAAI,iBAAiB;QACjB,OAAO,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KACjD;IAED,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,CAAC;KAChD;IAGD,cAAc,CACV,SAAmB,EACnB,MAAe;QAEf,OAAO;YACH,SAAS;YACT,MAAM;SACT,CAAC;KACL;IAED,YAAY,CAAC,MAAe;QACxB,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;KAC9B;IAED,WAAW,CAAC,MAAS;QACjB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC7B,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QACzB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,YAAY,CAAC,IAAO;QAChB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KAC1B;IAED,mBAAmB,CAAC,KAAoB;QACpC,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,KAAK,CAAC,cAAc,EAAE,CAAC;SAC1B;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC;QAEhE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACtB,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACxB,IAAI,CAAC,KAAK,EAAE,CAAC;KAChB;IAED,aAAa,CAAC,KAAa;;QACvB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAEzB,MAAM,KAAK,GACP,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAExB,OAAO;SACV;QAED,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,KAAK,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;QACzE,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,CAAC,IAAI,EAAE;KACzC;IAED,SAAS,CAAC,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,MAAM;;QACF,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;KAC/C;IAEO,aAAa,CAAC,IAAO;QACzB,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACtE;IAEO,KAAK;;QACT,MAAA,IAAI,CAAC,cAAc,0CAAE,UAAU,CAAC,KAAK,EAAE;KAC1C;IAEO,YAAY,CAAC,MAAqB;QACtC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;YACxB,OAAO;SACV;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;KAClC;IAEO,cAAc,CAAC,KAAa;QAChC,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,KAAK,CAAC;SAC7C;KACJ;IAEO,UAAU,CAAC,gBAAyB,KAAK;QAC7C,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;SACtE;KACJ;EACJ;;YA7IgB,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;YAE6B,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;4CACxB,MAAM,SAAC,cAAc;;AA9C1B;IADC,YAAY,CAAC,sBAA6B,CAAC;sDACO;AAGnD;IADC,SAAS,CAAC,0BAA0B,CAAC;4DACuB;AAG7D;IADC,SAAS,CAAC,8BAA8B,CAAC;uDACkB;AAI5D;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;uDACsC;AAIvD;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;2DACuC;AAIxD;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;6DACqD;AAItE;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;0DACiD;AAIlE;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACH;AAId;IAFC,KAAK,EAAE;IACP,cAAc,EAAE;oDACU;AAG3B;IADC,MAAM,EAAE;0DACiD;AAG1D;IADC,YAAY,CAAC,oBAAoB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;sDACZ;AAgD5C;IADC,OAAO;0DASP;AAjGQ,oBAAoB;IAPhC,SAAS,CAAC;QACP,QAAQ,EAAE,eAAe;QACzB,w5CAAwC;QAExC,eAAe,EAAE,uBAAuB,CAAC,MAAM;QAC/C,SAAS,EAAE,uBAAuB;;KACrC,CAAC;IA+CO,WAAA,QAAQ,EAAE,CAAA;IACV,WAAA,IAAI,EAAE,CAAA;IACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;IAEjB,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;IACzB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;GAnDlB,oBAAoB,CA8LhC;;;ICnOY,oBAAoB,4BAAjC,MAAa,oBAAqB,SAAQ,wBAEzC;IACG,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;KAChC;IAED,aAAa,CAAC,KAAa;QACvB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAClC;EACJ;AAVY,oBAAoB;IAThC,SAAS,CAAC;QACP,QAAQ,EAAE,eAAe;QACzB,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,kBAAkB;gBAC3B,WAAW,EAAE,UAAU,CAAC,MAAM,sBAAoB,CAAC;aACtD;SACJ;KACJ,CAAC;GACW,oBAAoB,CAUhC;;ICIY,iBAAiB,GAA9B,MAAa,iBAAiB;EAAG;AAApB,iBAAiB;IAb7B,QAAQ,CAAC;QACN,OAAO,EAAE;YACL,YAAY;YACZ,kBAAkB;YAClB,mBAAmB;YACnB,2BAA2B;YAC3B,uBAAuB;YACvB,qBAAqB;YACrB,cAAc;SACjB;QACD,YAAY,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,CAAC;QAC1D,OAAO,EAAE,CAAC,oBAAoB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC;KAC/E,CAAC;GACW,iBAAiB,CAAG;;AC5BjC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-combo-box.js","sources":["ng://@taiga-ui/kit/components/combo-box/combo-box.providers.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.component.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box-strict.directive.ts","ng://@taiga-ui/kit/components/combo-box/combo-box.module.ts","ng://@taiga-ui/kit/components/combo-box/taiga-ui-kit-components-combo-box.ts"],"sourcesContent":["import {forwardRef} from '@angular/core';\nimport {AbstractTuiControl, TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT} from '@taiga-ui/core';\nimport {TUI_SELECT_OPTION} from '@taiga-ui/kit/components/select-option';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n// TODO: remove in ivy compilation\nexport const COMBOBOX_OPTION: any = TUI_SELECT_OPTION;\n\nexport const TUI_COMBO_BOX_PROVIDERS = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: AbstractTuiControl,\n useExisting: forwardRef(() => TuiComboBoxComponent),\n },\n {\n provide: TUI_OPTION_CONTENT,\n useValue: COMBOBOX_OPTION,\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n isPresent,\n setNativeFocused,\n TUI_STRICT_MATCHER,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n tuiPure,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiPrimitiveTextfieldComponent,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_COMBO_BOX_PROVIDERS} from './combo-box.providers';\n\n@Component({\n selector: 'tui-combo-box',\n templateUrl: './combo-box.template.html',\n styleUrls: ['./combo-box.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_COMBO_BOX_PROVIDERS,\n})\nexport class TuiComboBoxComponent<T>\n extends AbstractTuiNullableControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiPrimitiveTextfieldComponent)\n private readonly textfield?: TuiPrimitiveTextfieldComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n strictMatcher: TuiStringMatcher<T> = TUI_STRICT_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n valueContent: PolymorpheusContent<TuiValueContentContext<T>> = '';\n\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = null;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent = '';\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n ) {\n super(control, changeDetectorRef);\n }\n\n get arrow(): PolymorpheusContent {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.textfield ? this.textfield.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n isNativeFocused(this.nativeFocusableElement) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get nativeValue(): string {\n return this.value === null ? this.search || '' : this.stringify(this.value);\n }\n\n get showValueTemplate(): boolean {\n return isPresent(this.value) && !this.focused;\n }\n\n get computedContent(): PolymorpheusContent<TuiValueContentContext<T>> {\n return this.valueContent || this.nativeValue;\n }\n\n @tuiPure\n computeContext(\n $implicit: T | null,\n active: boolean,\n ): TuiValueContentContext<T | null> {\n return {\n $implicit,\n active,\n };\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n checkOption(option: T) {\n if (!this.isStrictMatch(option)) {\n return;\n }\n\n this.updateValue(option);\n this.updateSearch(null);\n }\n\n handleOption(item: T) {\n this.setNativeValue(this.stringify(item));\n this.focusInput();\n this.close();\n this.updateSearch(null);\n this.updateValue(item);\n }\n\n onFieldKeyDownEnter(event: KeyboardEvent) {\n if (this.open) {\n event.preventDefault();\n }\n\n const options = this.accessor?.getOptions() || [];\n\n if (options.length !== 1) {\n return;\n }\n\n this.updateValue(options[0]);\n this.updateSearch(null);\n this.close();\n }\n\n onValueChange(value: string) {\n this.updateSearch(value);\n\n const match = this.accessor?.getOptions().find(item => this.isStrictMatch(item));\n\n if (match !== undefined) {\n this.updateValue(match);\n this.updateSearch(null);\n\n return;\n }\n\n if (this.strict || this.search === '') {\n this.updateValue(null);\n }\n\n this.hostedDropdown?.updateOpen(true);\n }\n\n updateValue(value: T | null) {\n super.updateValue(value);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n toggle() {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n\n private isStrictMatch(item: T): boolean {\n return this.strictMatcher(item, this.search || '', this.stringify);\n }\n\n private close() {\n this.hostedDropdown?.updateOpen(false);\n }\n\n private updateSearch(search: string | null) {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private setNativeValue(value: string) {\n if (this.nativeFocusableElement) {\n this.nativeFocusableElement.value = value;\n }\n }\n\n private focusInput(preventScroll: boolean = false) {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Directive, forwardRef} from '@angular/core';\nimport {TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost} from '@taiga-ui/core';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box',\n providers: [\n {\n provide: TUI_TEXTFIELD_HOST,\n useExisting: forwardRef(() => TuiComboBoxDirective),\n },\n ],\n})\nexport class TuiComboBoxDirective extends TuiAbstractTextfieldHost<\n TuiComboBoxComponent<any>\n> {\n get value(): string {\n return this.host.nativeValue;\n }\n\n onValueChange(value: string) {\n this.host.onValueChange(value);\n }\n}\n","import {Directive, HostListener, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\n\n@Directive({\n selector: 'tui-combo-box[strict]',\n})\nexport class TuiComboBoxStrictDirective<T> {\n @Input()\n @tuiDefaultProp()\n strict = true;\n\n constructor(\n @Inject(TuiComboBoxComponent)\n private readonly comboBox: TuiComboBoxComponent<T | string>,\n ) {}\n\n @HostListener('input')\n onInput() {\n this.comboBox.updateValue(\n this.strict || this.comboBox.search === '' ? null : this.comboBox.search,\n );\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiActiveZoneModule} from '@taiga-ui/cdk';\nimport {\n TuiHostedDropdownModule,\n TuiPrimitiveTextfieldModule,\n TuiTextfieldComponent,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiSelectOptionModule} from '@taiga-ui/kit/components/select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiComboBoxComponent} from './combo-box.component';\nimport {TuiComboBoxDirective} from './combo-box.directive';\nimport {TuiComboBoxStrictDirective} from './combo-box-strict.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiActiveZoneModule,\n TuiPrimitiveTextfieldModule,\n TuiHostedDropdownModule,\n TuiSelectOptionModule,\n TuiArrowModule,\n ],\n declarations: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n ],\n exports: [\n TuiComboBoxComponent,\n TuiComboBoxStrictDirective,\n TuiComboBoxDirective,\n TuiTextfieldComponent,\n ],\n})\nexport class TuiComboBoxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}