@taiga-ui/kit 2.33.0 → 2.34.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 (469) 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-carousel.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js +2 -2
  33. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js +2 -2
  35. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js +2 -2
  37. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js +1 -1
  39. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-checkbox.umd.js +2 -2
  41. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  43. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-combo-box.umd.js +63 -21
  45. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +2 -2
  47. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +17 -11
  49. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +2 -2
  51. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-field-error.umd.js +10 -15
  53. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-field-error.umd.min.js +1 -1
  55. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-filter.umd.js +2 -2
  57. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  59. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-count.umd.js +7 -2
  61. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  63. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-password.umd.js +5 -0
  65. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  67. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-range.umd.js +1 -1
  69. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +1 -1
  70. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-slider.umd.js +1 -1
  72. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +2 -2
  73. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-input-tag.umd.js +42 -13
  75. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  77. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-time.umd.js +5 -0
  79. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  81. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  82. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +2 -2
  83. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js +1 -1
  85. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-multi-select.umd.js +34 -13
  87. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  89. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-radio-block.umd.js +2 -2
  91. package/bundles/taiga-ui-kit-components-radio-block.umd.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js +1 -1
  93. package/bundles/taiga-ui-kit-components-radio-block.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +2 -2
  95. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  97. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-radio-list.umd.js +2 -2
  99. package/bundles/taiga-ui-kit-components-radio-list.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js +1 -1
  101. package/bundles/taiga-ui-kit-components-radio-list.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-radio.umd.js +7 -2
  103. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-range.umd.js +1 -1
  107. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  108. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-rating.umd.js +5 -0
  110. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-rating.umd.min.js +1 -1
  112. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-select.umd.js +35 -10
  114. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
  116. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-slider.umd.js +142 -27
  118. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-slider.umd.min.js +2 -2
  120. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-tag.umd.js +9 -3
  122. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  124. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-toggle.umd.js +7 -2
  126. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  128. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-pipes-field-error.umd.js +389 -0
  130. package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -0
  131. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +16 -0
  132. package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -0
  133. package/bundles/taiga-ui-kit-pipes.umd.js +12 -4
  134. package/bundles/taiga-ui-kit-pipes.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-pipes.umd.min.js +1 -1
  136. package/bundles/taiga-ui-kit-tokens.umd.js +239 -4
  137. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  138. package/bundles/taiga-ui-kit-tokens.umd.min.js +15 -1
  139. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  140. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  141. package/components/arrow/arrow-options.d.ts +7 -5
  142. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  143. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  144. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  145. package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
  146. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  147. package/components/carousel/carousel-buttons.directive.d.ts +2 -2
  148. package/components/checkbox/checkbox.component.d.ts +2 -2
  149. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  150. package/components/checkbox-block/taiga-ui-kit-components-checkbox-block.metadata.json +1 -1
  151. package/components/checkbox-labeled/taiga-ui-kit-components-checkbox-labeled.metadata.json +1 -1
  152. package/components/combo-box/combo-box-strict.directive.d.ts +7 -0
  153. package/components/combo-box/combo-box.component.d.ts +8 -5
  154. package/components/combo-box/index.d.ts +1 -0
  155. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  156. package/components/data-list-wrapper/data-list-wrapper.component.d.ts +5 -3
  157. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  158. package/components/field-error/field-error.component.d.ts +1 -2
  159. package/components/field-error/field-error.module.d.ts +3 -0
  160. package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
  161. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  162. package/components/input-count/input-count-options.d.ts +10 -4
  163. package/components/input-count/input-count.component.d.ts +3 -3
  164. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  165. package/components/input-password/input-password-options.d.ts +10 -4
  166. package/components/input-password/input-password.component.d.ts +3 -3
  167. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  168. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  169. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  170. package/components/input-tag/index.d.ts +1 -0
  171. package/components/input-tag/input-tag-options.d.ts +7 -0
  172. package/components/input-tag/input-tag.component.d.ts +6 -2
  173. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  174. package/components/input-time/input-time-options.d.ts +10 -4
  175. package/components/input-time/input-time.component.d.ts +6 -6
  176. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  177. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  178. package/components/multi-select/index.d.ts +1 -0
  179. package/components/multi-select/multi-select-options.d.ts +10 -0
  180. package/components/multi-select/multi-select.component.d.ts +11 -7
  181. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  182. package/components/radio/radio-options.d.ts +10 -4
  183. package/components/radio/radio.component.d.ts +2 -2
  184. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  185. package/components/radio-block/taiga-ui-kit-components-radio-block.metadata.json +1 -1
  186. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  187. package/components/radio-list/taiga-ui-kit-components-radio-list.metadata.json +1 -1
  188. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  189. package/components/rating/rating-options.d.ts +2 -1
  190. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -1
  191. package/components/select/index.d.ts +1 -0
  192. package/components/select/select-options.d.ts +9 -0
  193. package/components/select/select.component.d.ts +9 -4
  194. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  195. package/components/slider/index.d.ts +1 -0
  196. package/components/slider/slider-old.component.d.ts +19 -0
  197. package/components/slider/slider.component.d.ts +16 -13
  198. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  199. package/components/tag/tag.component.d.ts +1 -0
  200. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  201. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  202. package/components/toggle/toggle-options.d.ts +10 -4
  203. package/components/toggle/toggle.component.d.ts +3 -3
  204. package/esm2015/abstract/input-slider.js +2 -2
  205. package/esm2015/abstract/slider/slider.js +2 -2
  206. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +3 -3
  207. package/esm2015/components/arrow/arrow-options.js +13 -2
  208. package/esm2015/components/avatar/avatar.component.js +3 -3
  209. package/esm2015/components/badge/badge.component.js +3 -3
  210. package/esm2015/components/badged-content/badged-content.component.js +3 -3
  211. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +3 -3
  212. package/esm2015/components/carousel/carousel-buttons.directive.js +1 -1
  213. package/esm2015/components/checkbox/checkbox.component.js +3 -3
  214. package/esm2015/components/checkbox-block/checkbox-block.component.js +3 -3
  215. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  216. package/esm2015/components/combo-box/combo-box-strict.directive.js +31 -0
  217. package/esm2015/components/combo-box/combo-box.component.js +23 -17
  218. package/esm2015/components/combo-box/combo-box.module.js +13 -3
  219. package/esm2015/components/combo-box/index.js +2 -1
  220. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +17 -11
  221. package/esm2015/components/field-error/field-error.component.js +8 -12
  222. package/esm2015/components/field-error/field-error.module.js +6 -2
  223. package/esm2015/components/filter/filter.component.js +3 -3
  224. package/esm2015/components/input-count/input-count-options.js +5 -1
  225. package/esm2015/components/input-count/input-count.component.js +3 -3
  226. package/esm2015/components/input-password/input-password-options.js +5 -1
  227. package/esm2015/components/input-password/input-password.component.js +2 -2
  228. package/esm2015/components/input-range/input-range.component.js +1 -1
  229. package/esm2015/components/input-slider/input-slider.component.js +1 -1
  230. package/esm2015/components/input-tag/index.js +2 -1
  231. package/esm2015/components/input-tag/input-tag-options.js +9 -0
  232. package/esm2015/components/input-tag/input-tag.component.js +29 -13
  233. package/esm2015/components/input-time/input-time-options.js +5 -1
  234. package/esm2015/components/input-time/input-time.component.js +1 -1
  235. package/esm2015/components/marker-icon/marker-icon.component.js +3 -3
  236. package/esm2015/components/multi-select/index.js +2 -1
  237. package/esm2015/components/multi-select/multi-select-options.js +13 -0
  238. package/esm2015/components/multi-select/multi-select.component.js +19 -11
  239. package/esm2015/components/radio/radio-options.js +5 -1
  240. package/esm2015/components/radio/radio.component.js +3 -3
  241. package/esm2015/components/radio-block/radio-block.component.js +3 -3
  242. package/esm2015/components/radio-labeled/radio-labeled.component.js +3 -3
  243. package/esm2015/components/radio-list/radio-list.component.js +3 -3
  244. package/esm2015/components/range/range.component.js +1 -1
  245. package/esm2015/components/rating/rating-options.js +5 -1
  246. package/esm2015/components/select/index.js +2 -1
  247. package/esm2015/components/select/select-options.js +12 -0
  248. package/esm2015/components/select/select.component.js +21 -8
  249. package/esm2015/components/slider/index.js +2 -1
  250. package/esm2015/components/slider/slider-old.component.js +71 -0
  251. package/esm2015/components/slider/slider.component.js +66 -46
  252. package/esm2015/components/slider/slider.module.js +4 -3
  253. package/esm2015/components/tag/tag.component.js +10 -4
  254. package/esm2015/components/toggle/toggle-options.js +5 -1
  255. package/esm2015/components/toggle/toggle.component.js +3 -3
  256. package/esm2015/pipes/field-error/field-error-pipe.js +120 -0
  257. package/esm2015/pipes/field-error/field-error.module.js +13 -0
  258. package/esm2015/pipes/field-error/index.js +3 -0
  259. package/esm2015/pipes/field-error/taiga-ui-kit-pipes-field-error.js +5 -0
  260. package/esm2015/pipes/index.js +2 -1
  261. package/esm2015/tokens/index.js +2 -1
  262. package/esm2015/tokens/items-handlers.js +15 -0
  263. package/esm5/abstract/input-slider.js +2 -2
  264. package/esm5/abstract/slider/slider.js +2 -2
  265. package/esm5/components/accordion/accordion-item/accordion-item.component.js +3 -3
  266. package/esm5/components/arrow/arrow-options.js +14 -2
  267. package/esm5/components/avatar/avatar.component.js +3 -3
  268. package/esm5/components/badge/badge.component.js +3 -3
  269. package/esm5/components/badged-content/badged-content.component.js +3 -3
  270. package/esm5/components/breadcrumbs/breadcrumbs.component.js +3 -3
  271. package/esm5/components/carousel/carousel-buttons.directive.js +1 -1
  272. package/esm5/components/checkbox/checkbox.component.js +3 -3
  273. package/esm5/components/checkbox-block/checkbox-block.component.js +3 -3
  274. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +3 -3
  275. package/esm5/components/combo-box/combo-box-strict.directive.js +32 -0
  276. package/esm5/components/combo-box/combo-box.component.js +23 -17
  277. package/esm5/components/combo-box/combo-box.module.js +13 -3
  278. package/esm5/components/combo-box/index.js +2 -1
  279. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +18 -11
  280. package/esm5/components/field-error/field-error.component.js +8 -16
  281. package/esm5/components/field-error/field-error.module.js +6 -2
  282. package/esm5/components/filter/filter.component.js +3 -3
  283. package/esm5/components/input-count/input-count-options.js +6 -1
  284. package/esm5/components/input-count/input-count.component.js +3 -3
  285. package/esm5/components/input-password/input-password-options.js +6 -1
  286. package/esm5/components/input-password/input-password.component.js +2 -2
  287. package/esm5/components/input-range/input-range.component.js +1 -1
  288. package/esm5/components/input-slider/input-slider.component.js +1 -1
  289. package/esm5/components/input-tag/index.js +2 -1
  290. package/esm5/components/input-tag/input-tag-options.js +9 -0
  291. package/esm5/components/input-tag/input-tag.component.js +34 -14
  292. package/esm5/components/input-time/input-time-options.js +6 -1
  293. package/esm5/components/input-time/input-time.component.js +1 -1
  294. package/esm5/components/marker-icon/marker-icon.component.js +3 -3
  295. package/esm5/components/multi-select/index.js +2 -1
  296. package/esm5/components/multi-select/multi-select-options.js +14 -0
  297. package/esm5/components/multi-select/multi-select.component.js +19 -11
  298. package/esm5/components/radio/radio-options.js +6 -1
  299. package/esm5/components/radio/radio.component.js +3 -3
  300. package/esm5/components/radio-block/radio-block.component.js +3 -3
  301. package/esm5/components/radio-labeled/radio-labeled.component.js +3 -3
  302. package/esm5/components/radio-list/radio-list.component.js +3 -3
  303. package/esm5/components/range/range.component.js +1 -1
  304. package/esm5/components/rating/rating-options.js +6 -1
  305. package/esm5/components/select/index.js +2 -1
  306. package/esm5/components/select/select-options.js +13 -0
  307. package/esm5/components/select/select.component.js +21 -8
  308. package/esm5/components/slider/index.js +2 -1
  309. package/esm5/components/slider/slider-old.component.js +90 -0
  310. package/esm5/components/slider/slider.component.js +83 -53
  311. package/esm5/components/slider/slider.module.js +4 -3
  312. package/esm5/components/tag/tag.component.js +10 -4
  313. package/esm5/components/toggle/toggle-options.js +6 -1
  314. package/esm5/components/toggle/toggle.component.js +3 -3
  315. package/esm5/pipes/field-error/field-error-pipe.js +153 -0
  316. package/esm5/pipes/field-error/field-error.module.js +16 -0
  317. package/esm5/pipes/field-error/index.js +3 -0
  318. package/esm5/pipes/field-error/taiga-ui-kit-pipes-field-error.js +5 -0
  319. package/esm5/pipes/index.js +2 -1
  320. package/esm5/tokens/index.js +2 -1
  321. package/esm5/tokens/items-handlers.js +16 -0
  322. package/fesm2015/taiga-ui-kit-abstract.js +2 -2
  323. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  324. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  325. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  326. package/fesm2015/taiga-ui-kit-components-arrow.js +13 -2
  327. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  328. package/fesm2015/taiga-ui-kit-components-avatar.js +2 -2
  329. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  330. package/fesm2015/taiga-ui-kit-components-badge.js +2 -2
  331. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  332. package/fesm2015/taiga-ui-kit-components-badged-content.js +2 -2
  333. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  334. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +2 -2
  335. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  336. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  337. package/fesm2015/taiga-ui-kit-components-checkbox-block.js +2 -2
  338. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  339. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  340. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  341. package/fesm2015/taiga-ui-kit-components-checkbox.js +2 -2
  342. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  343. package/fesm2015/taiga-ui-kit-components-combo-box.js +61 -20
  344. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  345. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +16 -10
  346. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  347. package/fesm2015/taiga-ui-kit-components-field-error.js +12 -13
  348. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  349. package/fesm2015/taiga-ui-kit-components-filter.js +2 -2
  350. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  351. package/fesm2015/taiga-ui-kit-components-input-count.js +7 -3
  352. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  353. package/fesm2015/taiga-ui-kit-components-input-password.js +5 -1
  354. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  355. package/fesm2015/taiga-ui-kit-components-input-range.js +1 -1
  356. package/fesm2015/taiga-ui-kit-components-input-slider.js +1 -1
  357. package/fesm2015/taiga-ui-kit-components-input-tag.js +37 -14
  358. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  359. package/fesm2015/taiga-ui-kit-components-input-time.js +5 -1
  360. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  361. package/fesm2015/taiga-ui-kit-components-marker-icon.js +2 -2
  362. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  363. package/fesm2015/taiga-ui-kit-components-multi-select.js +31 -12
  364. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  365. package/fesm2015/taiga-ui-kit-components-radio-block.js +2 -2
  366. package/fesm2015/taiga-ui-kit-components-radio-block.js.map +1 -1
  367. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +2 -2
  368. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  369. package/fesm2015/taiga-ui-kit-components-radio-list.js +2 -2
  370. package/fesm2015/taiga-ui-kit-components-radio-list.js.map +1 -1
  371. package/fesm2015/taiga-ui-kit-components-radio.js +7 -3
  372. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  373. package/fesm2015/taiga-ui-kit-components-range.js +1 -1
  374. package/fesm2015/taiga-ui-kit-components-rating.js +5 -1
  375. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -1
  376. package/fesm2015/taiga-ui-kit-components-select.js +32 -9
  377. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  378. package/fesm2015/taiga-ui-kit-components-slider.js +100 -14
  379. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  380. package/fesm2015/taiga-ui-kit-components-tag.js +9 -3
  381. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  382. package/fesm2015/taiga-ui-kit-components-toggle.js +7 -3
  383. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  384. package/fesm2015/taiga-ui-kit-pipes-field-error.js +135 -0
  385. package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -0
  386. package/fesm2015/taiga-ui-kit-pipes.js +1 -0
  387. package/fesm2015/taiga-ui-kit-pipes.js.map +1 -1
  388. package/fesm2015/taiga-ui-kit-tokens.js +15 -1
  389. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  390. package/fesm5/taiga-ui-kit-abstract.js +2 -2
  391. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  392. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  393. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  394. package/fesm5/taiga-ui-kit-components-arrow.js +14 -3
  395. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  396. package/fesm5/taiga-ui-kit-components-avatar.js +2 -2
  397. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  398. package/fesm5/taiga-ui-kit-components-badge.js +2 -2
  399. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  400. package/fesm5/taiga-ui-kit-components-badged-content.js +2 -2
  401. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  402. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +2 -2
  403. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  404. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  405. package/fesm5/taiga-ui-kit-components-checkbox-block.js +2 -2
  406. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  407. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js +2 -2
  408. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  409. package/fesm5/taiga-ui-kit-components-checkbox.js +2 -2
  410. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  411. package/fesm5/taiga-ui-kit-components-combo-box.js +62 -20
  412. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  413. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +17 -10
  414. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  415. package/fesm5/taiga-ui-kit-components-field-error.js +12 -17
  416. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  417. package/fesm5/taiga-ui-kit-components-filter.js +2 -2
  418. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  419. package/fesm5/taiga-ui-kit-components-input-count.js +8 -4
  420. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  421. package/fesm5/taiga-ui-kit-components-input-password.js +6 -2
  422. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  423. package/fesm5/taiga-ui-kit-components-input-range.js +1 -1
  424. package/fesm5/taiga-ui-kit-components-input-slider.js +1 -1
  425. package/fesm5/taiga-ui-kit-components-input-tag.js +42 -15
  426. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  427. package/fesm5/taiga-ui-kit-components-input-time.js +6 -2
  428. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  429. package/fesm5/taiga-ui-kit-components-marker-icon.js +2 -2
  430. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  431. package/fesm5/taiga-ui-kit-components-multi-select.js +32 -13
  432. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  433. package/fesm5/taiga-ui-kit-components-radio-block.js +2 -2
  434. package/fesm5/taiga-ui-kit-components-radio-block.js.map +1 -1
  435. package/fesm5/taiga-ui-kit-components-radio-labeled.js +2 -2
  436. package/fesm5/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  437. package/fesm5/taiga-ui-kit-components-radio-list.js +2 -2
  438. package/fesm5/taiga-ui-kit-components-radio-list.js.map +1 -1
  439. package/fesm5/taiga-ui-kit-components-radio.js +8 -4
  440. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  441. package/fesm5/taiga-ui-kit-components-range.js +1 -1
  442. package/fesm5/taiga-ui-kit-components-rating.js +6 -2
  443. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -1
  444. package/fesm5/taiga-ui-kit-components-select.js +33 -10
  445. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  446. package/fesm5/taiga-ui-kit-components-slider.js +141 -26
  447. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  448. package/fesm5/taiga-ui-kit-components-tag.js +9 -3
  449. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  450. package/fesm5/taiga-ui-kit-components-toggle.js +8 -4
  451. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  452. package/fesm5/taiga-ui-kit-pipes-field-error.js +171 -0
  453. package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -0
  454. package/fesm5/taiga-ui-kit-pipes.js +1 -0
  455. package/fesm5/taiga-ui-kit-pipes.js.map +1 -1
  456. package/fesm5/taiga-ui-kit-tokens.js +16 -1
  457. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  458. package/package.json +4 -4
  459. package/pipes/field-error/field-error-pipe.d.ts +29 -0
  460. package/pipes/field-error/field-error.module.d.ts +2 -0
  461. package/pipes/field-error/index.d.ts +2 -0
  462. package/pipes/field-error/package.json +13 -0
  463. package/pipes/field-error/taiga-ui-kit-pipes-field-error.d.ts +4 -0
  464. package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -0
  465. package/pipes/index.d.ts +1 -0
  466. package/pipes/taiga-ui-kit-pipes.metadata.json +1 -1
  467. package/tokens/index.d.ts +1 -0
  468. package/tokens/items-handlers.d.ts +10 -0
  469. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
@@ -1,9 +1,10 @@
1
1
  import { __extends, __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, TUI_DEFAULT_STRINGIFY, TUI_STRICT_MATCHER, TUI_DEFAULT_IDENTITY_MATCHER, isNativeFocused, isPresent, setNativeFocused, tuiDefaultProp, tuiPure, AbstractTuiNullableControl, TuiActiveZoneModule } from '@taiga-ui/cdk';
4
+ import { TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiControl, TUI_STRICT_MATCHER, isNativeFocused, isPresent, setNativeFocused, tuiDefaultProp, tuiPure, AbstractTuiNullableControl, TuiActiveZoneModule } from '@taiga-ui/cdk';
5
5
  import { TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TUI_DATA_LIST_ACCESSOR, TuiHostedDropdownComponent, TuiPrimitiveTextfieldComponent, TuiDataListDirective, TUI_TEXTFIELD_HOST, TuiAbstractTextfieldHost, 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';
@@ -33,12 +34,13 @@ var TUI_COMBO_BOX_PROVIDERS = [
33
34
 
34
35
  var TuiComboBoxComponent = /** @class */ (function (_super) {
35
36
  __extends(TuiComboBoxComponent, _super);
36
- function TuiComboBoxComponent(control, changeDetectorRef, arrowMode) {
37
+ function TuiComboBoxComponent(control, changeDetectorRef, arrowMode, itemsHandlers) {
37
38
  var _this = _super.call(this, control, changeDetectorRef) || this;
38
39
  _this.arrowMode = arrowMode;
39
- _this.stringify = TUI_DEFAULT_STRINGIFY;
40
+ _this.itemsHandlers = itemsHandlers;
41
+ _this.stringify = _this.itemsHandlers.stringify;
40
42
  _this.strictMatcher = TUI_STRICT_MATCHER;
41
- _this.identityMatcher = TUI_DEFAULT_IDENTITY_MATCHER;
43
+ _this.identityMatcher = _this.itemsHandlers.identityMatcher;
42
44
  _this.valueContent = '';
43
45
  _this.strict = true;
44
46
  _this.search = '';
@@ -71,10 +73,7 @@ var TuiComboBoxComponent = /** @class */ (function (_super) {
71
73
  });
72
74
  Object.defineProperty(TuiComboBoxComponent.prototype, "nativeValue", {
73
75
  get: function () {
74
- if (this.value === null) {
75
- return this.search || '';
76
- }
77
- return typeof this.value === 'string' ? this.value : this.stringify(this.value);
76
+ return this.value === null ? this.search || '' : this.stringify(this.value);
78
77
  },
79
78
  enumerable: true,
80
79
  configurable: true
@@ -117,10 +116,11 @@ var TuiComboBoxComponent = /** @class */ (function (_super) {
117
116
  this.updateValue(item);
118
117
  };
119
118
  TuiComboBoxComponent.prototype.onFieldKeyDownEnter = function (event) {
119
+ var _a;
120
120
  if (this.open) {
121
121
  event.preventDefault();
122
122
  }
123
- var options = this.accessor ? this.accessor.getOptions() : [];
123
+ var options = ((_a = this.accessor) === null || _a === void 0 ? void 0 : _a.getOptions()) || [];
124
124
  if (options.length !== 1) {
125
125
  return;
126
126
  }
@@ -130,17 +130,21 @@ var TuiComboBoxComponent = /** @class */ (function (_super) {
130
130
  };
131
131
  TuiComboBoxComponent.prototype.onValueChange = function (value) {
132
132
  var _this = this;
133
- var _a;
133
+ var _a, _b;
134
134
  this.updateSearch(value);
135
- var match = this.accessor &&
136
- this.accessor.getOptions().find(function (item) { return _this.isStrictMatch(item); });
135
+ var match = (_a = this.accessor) === null || _a === void 0 ? void 0 : _a.getOptions().find(function (item) { return _this.isStrictMatch(item); });
137
136
  if (match !== undefined) {
138
137
  this.updateValue(match);
139
138
  this.updateSearch(null);
140
139
  return;
141
140
  }
142
- this.updateValue(this.strict || this.search === '' ? null : this.search);
143
- (_a = this.hostedDropdown) === null || _a === void 0 ? void 0 : _a.updateOpen(true);
141
+ if (this.strict || this.search === '') {
142
+ this.updateValue(null);
143
+ }
144
+ (_b = this.hostedDropdown) === null || _b === void 0 ? void 0 : _b.updateOpen(true);
145
+ };
146
+ TuiComboBoxComponent.prototype.updateValue = function (value) {
147
+ _super.prototype.updateValue.call(this, value);
144
148
  };
145
149
  TuiComboBoxComponent.prototype.onHovered = function (hovered) {
146
150
  this.updateHovered(hovered);
@@ -177,7 +181,8 @@ var TuiComboBoxComponent = /** @class */ (function (_super) {
177
181
  TuiComboBoxComponent.ctorParameters = function () { return [
178
182
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
179
183
  { type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
180
- { type: undefined, decorators: [{ type: Inject, args: [TUI_ARROW_MODE,] }] }
184
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ARROW_MODE,] }] },
185
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ITEMS_HANDLERS,] }] }
181
186
  ]; };
182
187
  __decorate([
183
188
  ContentChild(TUI_DATA_LIST_ACCESSOR)
@@ -233,7 +238,8 @@ var TuiComboBoxComponent = /** @class */ (function (_super) {
233
238
  __param(0, Self()),
234
239
  __param(0, Inject(NgControl)),
235
240
  __param(1, Inject(ChangeDetectorRef)),
236
- __param(2, Inject(TUI_ARROW_MODE))
241
+ __param(2, Inject(TUI_ARROW_MODE)),
242
+ __param(3, Inject(TUI_ITEMS_HANDLERS))
237
243
  ], TuiComboBoxComponent);
238
244
  return TuiComboBoxComponent;
239
245
  }(AbstractTuiNullableControl));
@@ -269,6 +275,33 @@ var TuiComboBoxDirective = /** @class */ (function (_super) {
269
275
  return TuiComboBoxDirective;
270
276
  }(TuiAbstractTextfieldHost));
271
277
 
278
+ var TuiComboBoxStrictDirective = /** @class */ (function () {
279
+ function TuiComboBoxStrictDirective(comboBox) {
280
+ this.comboBox = comboBox;
281
+ this.strict = true;
282
+ }
283
+ TuiComboBoxStrictDirective.prototype.onInput = function () {
284
+ this.comboBox.updateValue(this.strict || this.comboBox.search === '' ? null : this.comboBox.search);
285
+ };
286
+ TuiComboBoxStrictDirective.ctorParameters = function () { return [
287
+ { type: TuiComboBoxComponent, decorators: [{ type: Inject, args: [TuiComboBoxComponent,] }] }
288
+ ]; };
289
+ __decorate([
290
+ Input(),
291
+ tuiDefaultProp()
292
+ ], TuiComboBoxStrictDirective.prototype, "strict", void 0);
293
+ __decorate([
294
+ HostListener('input')
295
+ ], TuiComboBoxStrictDirective.prototype, "onInput", null);
296
+ TuiComboBoxStrictDirective = __decorate([
297
+ Directive({
298
+ selector: 'tui-combo-box[strict]',
299
+ }),
300
+ __param(0, Inject(TuiComboBoxComponent))
301
+ ], TuiComboBoxStrictDirective);
302
+ return TuiComboBoxStrictDirective;
303
+ }());
304
+
272
305
  var TuiComboBoxModule = /** @class */ (function () {
273
306
  function TuiComboBoxModule() {
274
307
  }
@@ -283,8 +316,17 @@ var TuiComboBoxModule = /** @class */ (function () {
283
316
  TuiSelectOptionModule,
284
317
  TuiArrowModule,
285
318
  ],
286
- declarations: [TuiComboBoxComponent, TuiComboBoxDirective],
287
- exports: [TuiComboBoxComponent, TuiComboBoxDirective, TuiTextfieldComponent],
319
+ declarations: [
320
+ TuiComboBoxComponent,
321
+ TuiComboBoxStrictDirective,
322
+ TuiComboBoxDirective,
323
+ ],
324
+ exports: [
325
+ TuiComboBoxComponent,
326
+ TuiComboBoxStrictDirective,
327
+ TuiComboBoxDirective,
328
+ TuiTextfieldComponent,
329
+ ],
288
330
  })
289
331
  ], TuiComboBoxModule);
290
332
  return TuiComboBoxModule;
@@ -294,5 +336,5 @@ var TuiComboBoxModule = /** @class */ (function () {
294
336
  * Generated bundle index. Do not edit.
295
337
  */
296
338
 
297
- export { COMBOBOX_OPTION, TUI_COMBO_BOX_PROVIDERS, TuiComboBoxComponent, TuiComboBoxDirective, TuiComboBoxModule };
339
+ export { COMBOBOX_OPTION, TUI_COMBO_BOX_PROVIDERS, TuiComboBoxComponent, TuiComboBoxDirective, TuiComboBoxModule, TuiComboBoxStrictDirective };
298
340
  //# 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":"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"}
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 = '';\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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"}
@@ -1,20 +1,23 @@
1
- import { __decorate, __extends } from 'tslib';
2
- import { ViewChildren, forwardRef, Input, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
- import { EMPTY_QUERY, ALWAYS_FALSE_HANDLER, TUI_DEFAULT_STRINGIFY, isNativeFocused, isPresent, tuiDefaultProp, TuiElementModule } from '@taiga-ui/cdk';
1
+ import { __decorate, __param, __extends } from 'tslib';
2
+ import { Inject, ViewChildren, forwardRef, Input, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
+ import { EMPTY_QUERY, isNativeFocused, isPresent, tuiDefaultProp, TuiElementModule } from '@taiga-ui/cdk';
4
4
  import { TuiOptionComponent, TUI_DATA_LIST_ACCESSOR, TuiDataListModule, TuiLoaderModule, TuiDataListDirective } from '@taiga-ui/core';
5
+ import { TUI_ITEMS_HANDLERS } from '@taiga-ui/kit/tokens';
5
6
  import { CommonModule } from '@angular/common';
6
7
  import { PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
8
 
8
9
  var TuiDataListWrapperComponent = /** @class */ (function () {
9
- function TuiDataListWrapperComponent() {
10
- this.options = EMPTY_QUERY;
10
+ function TuiDataListWrapperComponent(itemsHandlers) {
11
+ var _this = this;
12
+ this.itemsHandlers = itemsHandlers;
13
+ this.optionsQuery = EMPTY_QUERY;
11
14
  this.items = [];
12
- this.disabledItemHandler = ALWAYS_FALSE_HANDLER;
15
+ this.disabledItemHandler = this.itemsHandlers.disabledItemHandler;
13
16
  this.emptyContent = '';
14
17
  this.size = 'm';
15
18
  this.itemContent = function (_a) {
16
19
  var $implicit = _a.$implicit;
17
- return TUI_DEFAULT_STRINGIFY($implicit);
20
+ return _this.itemsHandlers.stringify($implicit);
18
21
  };
19
22
  }
20
23
  TuiDataListWrapperComponent_1 = TuiDataListWrapperComponent;
@@ -24,7 +27,7 @@ var TuiDataListWrapperComponent = /** @class */ (function () {
24
27
  };
25
28
  TuiDataListWrapperComponent.prototype.getOptions = function (includeDisabled) {
26
29
  if (includeDisabled === void 0) { includeDisabled = false; }
27
- return this.options
30
+ return this.optionsQuery
28
31
  .toArray()
29
32
  .filter(function (_a) {
30
33
  var disabled = _a.disabled;
@@ -37,9 +40,12 @@ var TuiDataListWrapperComponent = /** @class */ (function () {
37
40
  .filter(isPresent);
38
41
  };
39
42
  var TuiDataListWrapperComponent_1;
43
+ TuiDataListWrapperComponent.ctorParameters = function () { return [
44
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ITEMS_HANDLERS,] }] }
45
+ ]; };
40
46
  __decorate([
41
47
  ViewChildren(forwardRef(function () { return TuiOptionComponent; }))
42
- ], TuiDataListWrapperComponent.prototype, "options", void 0);
48
+ ], TuiDataListWrapperComponent.prototype, "optionsQuery", void 0);
43
49
  __decorate([
44
50
  Input(),
45
51
  tuiDefaultProp()
@@ -72,7 +78,8 @@ var TuiDataListWrapperComponent = /** @class */ (function () {
72
78
  },
73
79
  ],
74
80
  styles: [":host{display:block}.content{flex:1}"]
75
- })
81
+ }),
82
+ __param(0, Inject(TUI_ITEMS_HANDLERS))
76
83
  ], TuiDataListWrapperComponent);
77
84
  return TuiDataListWrapperComponent;
78
85
  }());
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-data-list-wrapper.js","sources":["ng://@taiga-ui/kit/components/data-list-wrapper/data-list-wrapper.component.ts","ng://@taiga-ui/kit/components/data-list-wrapper/data-list-group-wrapper.component.ts","ng://@taiga-ui/kit/components/data-list-wrapper/data-list-wrapper.module.ts","ng://@taiga-ui/kit/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n Input,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n EMPTY_QUERY,\n isNativeFocused,\n isPresent,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n tuiDefaultProp,\n} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiOptionComponent,\n TuiSizeL,\n TuiSizeXS,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-data-list-wrapper:not([labels])',\n templateUrl: './data-list-wrapper.template.html',\n styleUrls: ['./data-list-wrapper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListWrapperComponent),\n },\n ],\n})\nexport class TuiDataListWrapperComponent<T> implements TuiDataListAccessor<T> {\n @ViewChildren(forwardRef(() => TuiOptionComponent))\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n items: ReadonlyArray<ReadonlyArray<T>> | ReadonlyArray<T> | null = [];\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<T> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n itemContent: PolymorpheusContent<TuiValueContentContext<T>> = ({$implicit}) =>\n TUI_DEFAULT_STRINGIFY($implicit);\n\n getContext(\n $implicit: T,\n {nativeElement}: ElementRef<HTMLElement>,\n ): TuiValueContentContext<T> {\n return {$implicit, active: isNativeFocused(nativeElement)};\n }\n\n getOptions(includeDisabled: boolean = false): ReadonlyArray<T> {\n return this.options\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n}\n","import {ChangeDetectionStrategy, Component, forwardRef, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_ACCESSOR, TuiDataListAccessor} from '@taiga-ui/core';\n\nimport {TuiDataListWrapperComponent} from './data-list-wrapper.component';\n\n@Component({\n selector: 'tui-data-list-wrapper[labels]',\n templateUrl: './data-list-group-wrapper.template.html',\n styleUrls: ['./data-list-wrapper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListGroupWrapperComponent),\n },\n ],\n})\nexport class TuiDataListGroupWrapperComponent<T>\n extends TuiDataListWrapperComponent<T>\n implements TuiDataListAccessor<T>\n{\n @Input()\n @tuiDefaultProp()\n items: ReadonlyArray<ReadonlyArray<T>> | null = [];\n\n @Input()\n @tuiDefaultProp()\n labels: readonly string[] = [];\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiElementModule} from '@taiga-ui/cdk';\nimport {TuiDataListDirective, TuiDataListModule, TuiLoaderModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListGroupWrapperComponent} from './data-list-group-wrapper.component';\nimport {TuiDataListWrapperComponent} from './data-list-wrapper.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiElementModule,\n TuiDataListModule,\n TuiLoaderModule,\n ],\n declarations: [TuiDataListWrapperComponent, TuiDataListGroupWrapperComponent],\n exports: [\n TuiDataListWrapperComponent,\n TuiDataListGroupWrapperComponent,\n TuiDataListDirective,\n ],\n})\nexport class TuiDataListWrapperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;IAwCA;QAEqB,YAAO,GAAqC,WAAW,CAAC;QAIzE,UAAK,GAA8D,EAAE,CAAC;QAItE,wBAAmB,GAAyB,oBAAoB,CAAC;QAIjE,iBAAY,GAAwB,EAAE,CAAC;QAIvC,SAAI,GAAyB,GAAG,CAAC;QAIjC,gBAAW,GAAmD,UAAC,EAAW;gBAAV,wBAAS;YACrE,OAAA,qBAAqB,CAAC,SAAS,CAAC;SAAA,CAAC;KAgBxC;oCAvCY,2BAA2B;IAyBpC,gDAAU,GAAV,UACI,SAAY,EACZ,EAAwC;YAAvC,gCAAa;QAEd,OAAO,EAAC,SAAS,WAAA,EAAE,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,EAAC,CAAC;KAC9D;IAED,gDAAU,GAAV,UAAW,eAAgC;QAAhC,gCAAA,EAAA,uBAAgC;QACvC,OAAO,IAAI,CAAC,OAAO;aACd,OAAO,EAAE;aACT,MAAM,CAAC,UAAC,EAAU;gBAAT,sBAAQ;YAAM,OAAA,eAAe,IAAI,CAAC,QAAQ;SAAA,CAAC;aACpD,GAAG,CAAC,UAAC,EAAO;gBAAN,gBAAK;YAAM,OAAA,KAAK;SAAA,CAAC;aACvB,MAAM,CAAC,SAAS,CAAC,CAAC;KAC1B;;IApCD;QADC,YAAY,CAAC,UAAU,CAAC,cAAM,OAAA,kBAAkB,GAAA,CAAC,CAAC;gEACsB;IAIzE;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;8DACqD;IAItE;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;4EACgD;IAIjE;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;qEACsB;IAIvC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;6DACgB;IAIjC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;oEAEoB;IAvB5B,2BAA2B;QAZvC,SAAS,CAAC;YACP,QAAQ,EAAE,qCAAqC;YAC/C,6wBAAgD;YAEhD,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,sBAAsB;oBAC/B,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,6BAA2B,GAAA,CAAC;iBAC7D;aACJ;;SACJ,CAAC;OACW,2BAA2B,CAuCvC;IAAD,kCAAC;CAvCD;;;ICrBY,oDAA8B;IAD1C;QAAA,qEAWC;QALG,WAAK,GAA2C,EAAE,CAAC;QAInD,YAAM,GAAsB,EAAE,CAAC;;KAClC;yCAXY,gCAAgC;;IAMzC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;mEACkC;IAInD;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;oEACc;IAVtB,gCAAgC;QAZ5C,SAAS,CAAC;YACP,QAAQ,EAAE,+BAA+B;YACzC,u5BAAsD;YAEtD,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,sBAAsB;oBAC/B,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,kCAAgC,GAAA,CAAC;iBAClE;aACJ;;SACJ,CAAC;OACW,gCAAgC,CAW5C;IAAD,uCAAC;CAAA,CAVW,2BAA2B;;;ICKvC;KAAwC;IAA3B,wBAAwB;QAfpC,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,kBAAkB;gBAClB,gBAAgB;gBAChB,iBAAiB;gBACjB,eAAe;aAClB;YACD,YAAY,EAAE,CAAC,2BAA2B,EAAE,gCAAgC,CAAC;YAC7E,OAAO,EAAE;gBACL,2BAA2B;gBAC3B,gCAAgC;gBAChC,oBAAoB;aACvB;SACJ,CAAC;OACW,wBAAwB,CAAG;IAAD,+BAAC;CAAxC;;ACxBA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-data-list-wrapper.js","sources":["ng://@taiga-ui/kit/components/data-list-wrapper/data-list-wrapper.component.ts","ng://@taiga-ui/kit/components/data-list-wrapper/data-list-group-wrapper.component.ts","ng://@taiga-ui/kit/components/data-list-wrapper/data-list-wrapper.module.ts","ng://@taiga-ui/kit/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n forwardRef,\n Inject,\n Input,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {EMPTY_QUERY, isNativeFocused, isPresent, tuiDefaultProp} from '@taiga-ui/cdk';\nimport {\n TUI_DATA_LIST_ACCESSOR,\n TuiDataListAccessor,\n TuiOptionComponent,\n TuiSizeL,\n TuiSizeXS,\n TuiValueContentContext,\n} from '@taiga-ui/core';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-data-list-wrapper:not([labels])',\n templateUrl: './data-list-wrapper.template.html',\n styleUrls: ['./data-list-wrapper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListWrapperComponent),\n },\n ],\n})\nexport class TuiDataListWrapperComponent<T> implements TuiDataListAccessor<T> {\n @ViewChildren(forwardRef(() => TuiOptionComponent))\n private readonly optionsQuery: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n items: ReadonlyArray<ReadonlyArray<T>> | ReadonlyArray<T> | null = [];\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n @tuiDefaultProp()\n emptyContent: PolymorpheusContent = '';\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeXS | TuiSizeL = 'm';\n\n constructor(\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n ) {}\n\n @Input()\n @tuiDefaultProp()\n itemContent: PolymorpheusContent<TuiValueContentContext<T>> = ({$implicit}) =>\n this.itemsHandlers.stringify($implicit);\n\n getContext(\n $implicit: T,\n {nativeElement}: ElementRef<HTMLElement>,\n ): TuiValueContentContext<T> {\n return {$implicit, active: isNativeFocused(nativeElement)};\n }\n\n getOptions(includeDisabled: boolean = false): ReadonlyArray<T> {\n return this.optionsQuery\n .toArray()\n .filter(({disabled}) => includeDisabled || !disabled)\n .map(({value}) => value)\n .filter(isPresent);\n }\n}\n","import {ChangeDetectionStrategy, Component, forwardRef, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_ACCESSOR, TuiDataListAccessor} from '@taiga-ui/core';\n\nimport {TuiDataListWrapperComponent} from './data-list-wrapper.component';\n\n@Component({\n selector: 'tui-data-list-wrapper[labels]',\n templateUrl: './data-list-group-wrapper.template.html',\n styleUrls: ['./data-list-wrapper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_DATA_LIST_ACCESSOR,\n useExisting: forwardRef(() => TuiDataListGroupWrapperComponent),\n },\n ],\n})\nexport class TuiDataListGroupWrapperComponent<T>\n extends TuiDataListWrapperComponent<T>\n implements TuiDataListAccessor<T>\n{\n @Input()\n @tuiDefaultProp()\n items: ReadonlyArray<ReadonlyArray<T>> | null = [];\n\n @Input()\n @tuiDefaultProp()\n labels: readonly string[] = [];\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiElementModule} from '@taiga-ui/cdk';\nimport {TuiDataListDirective, TuiDataListModule, TuiLoaderModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiDataListGroupWrapperComponent} from './data-list-group-wrapper.component';\nimport {TuiDataListWrapperComponent} from './data-list-wrapper.component';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiElementModule,\n TuiDataListModule,\n TuiLoaderModule,\n ],\n declarations: [TuiDataListWrapperComponent, TuiDataListGroupWrapperComponent],\n exports: [\n TuiDataListWrapperComponent,\n TuiDataListGroupWrapperComponent,\n TuiDataListDirective,\n ],\n})\nexport class TuiDataListWrapperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  import { __decorate, __param } from 'tslib';
2
2
  import { Optional, Self, Inject, Input, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
- import { NgControl, FormArrayName, FormGroupName, FormGroupDirective } from '@angular/forms';
3
+ import { NgControl, FormArrayName, FormGroupName, FormGroupDirective, ReactiveFormsModule } from '@angular/forms';
4
4
  import { TuiValidationError, tuiDefaultProp, tuiPure } from '@taiga-ui/cdk';
5
5
  import { TUI_VALIDATION_ERRORS } from '@taiga-ui/kit/tokens';
6
- import { merge, EMPTY, isObservable } from 'rxjs';
6
+ import { merge, EMPTY, of, isObservable } from 'rxjs';
7
7
  import { map } from 'rxjs/operators';
8
8
  import { CommonModule } from '@angular/common';
9
9
  import { TuiErrorModule } from '@taiga-ui/core';
@@ -32,15 +32,7 @@ var TuiFieldErrorComponent = /** @class */ (function () {
32
32
  });
33
33
  Object.defineProperty(TuiFieldErrorComponent.prototype, "computedError", {
34
34
  get: function () {
35
- return (this.invalid && this.touched && this.error) || null;
36
- },
37
- enumerable: true,
38
- configurable: true
39
- });
40
- Object.defineProperty(TuiFieldErrorComponent.prototype, "isObservable", {
41
- get: function () {
42
- var errorId = this.errorId;
43
- return isObservable(this.validationErrors[errorId]);
35
+ return (this.invalid && this.touched && this.error) || of(null);
44
36
  },
45
37
  enumerable: true,
46
38
  configurable: true
@@ -53,7 +45,7 @@ var TuiFieldErrorComponent = /** @class */ (function () {
53
45
  get: function () {
54
46
  var errorId = this.errorId;
55
47
  if (!errorId) {
56
- return null;
48
+ return of(null);
57
49
  }
58
50
  var firstError = this.controlErrors[errorId];
59
51
  var errorContent = this.validationErrors[errorId];
@@ -116,15 +108,15 @@ var TuiFieldErrorComponent = /** @class */ (function () {
116
108
  };
117
109
  TuiFieldErrorComponent.prototype.getError = function (firstError, errorContent) {
118
110
  if (firstError instanceof TuiValidationError) {
119
- return firstError;
111
+ return of(firstError);
120
112
  }
121
113
  if (errorContent === undefined && typeof firstError === 'string') {
122
- return new TuiValidationError(firstError);
114
+ return of(new TuiValidationError(firstError));
123
115
  }
124
116
  if (isObservable(errorContent)) {
125
117
  return errorContent.pipe(map(function (error) { return new TuiValidationError(error || '', firstError); }));
126
118
  }
127
- return new TuiValidationError(errorContent || '', firstError);
119
+ return of(new TuiValidationError(errorContent || '', firstError));
128
120
  };
129
121
  TuiFieldErrorComponent.ctorParameters = function () { return [
130
122
  { type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
@@ -152,7 +144,7 @@ var TuiFieldErrorComponent = /** @class */ (function () {
152
144
  // @bad TODO: find a way to get 'touched' state change
153
145
  // https://github.com/angular/angular/issues/10887
154
146
  changeDetection: ChangeDetectionStrategy.Default,
155
- template: "<ng-container *ngIf=\"change$ | async\"></ng-container>\n<tui-error\n *ngIf=\"isObservable; else string\"\n [error]=\"$any(computedError) | async\"\n></tui-error>\n<ng-template #string>\n <tui-error [error]=\"computedError\"></tui-error>\n</ng-template>\n",
147
+ template: "<ng-container *ngIf=\"change$ | async\"></ng-container>\n\n<tui-error [error]=\"computedError | async\"></tui-error>\n",
156
148
  styles: [":host{display:block}"]
157
149
  }),
158
150
  __param(0, Optional()),
@@ -172,12 +164,15 @@ var TuiFieldErrorComponent = /** @class */ (function () {
172
164
  return TuiFieldErrorComponent;
173
165
  }());
174
166
 
167
+ /**
168
+ * @deprecated use {@link TuiFieldErrorPipeModule} (from '@taiga-ui/kit') instead
169
+ */
175
170
  var TuiFieldErrorModule = /** @class */ (function () {
176
171
  function TuiFieldErrorModule() {
177
172
  }
178
173
  TuiFieldErrorModule = __decorate([
179
174
  NgModule({
180
- imports: [CommonModule, TuiErrorModule],
175
+ imports: [CommonModule, TuiErrorModule, ReactiveFormsModule],
181
176
  declarations: [TuiFieldErrorComponent],
182
177
  exports: [TuiFieldErrorComponent],
183
178
  })
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-field-error.js","sources":["ng://@taiga-ui/kit/components/field-error/field-error.component.ts","ng://@taiga-ui/kit/components/field-error/field-error.module.ts","ng://@taiga-ui/kit/components/field-error/taiga-ui-kit-components-field-error.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n AbstractControl,\n FormArrayName,\n FormGroupDirective,\n FormGroupName,\n NgControl,\n} from '@angular/forms';\nimport {tuiDefaultProp, tuiPure, TuiValidationError} from '@taiga-ui/cdk';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, isObservable, merge, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst EMPTY_RECORD = {};\n\n// @dynamic\n@Component({\n selector: 'tui-field-error',\n // @bad TODO: find a way to get 'touched' state change\n // https://github.com/angular/angular/issues/10887\n changeDetection: ChangeDetectionStrategy.Default,\n templateUrl: './field-error.template.html',\n styleUrls: ['./field-error.style.less'],\n})\nexport class TuiFieldErrorComponent {\n @Input()\n @tuiDefaultProp()\n order: readonly string[] = [];\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly ngControl: NgControl | null,\n @Optional()\n @Self()\n @Inject(FormArrayName)\n private readonly formArrayName: FormArrayName | null,\n @Optional()\n @Self()\n @Inject(FormGroupName)\n private readonly formGroupName: FormGroupName | null,\n @Optional()\n @Self()\n @Inject(FormGroupDirective)\n private readonly formGroup: FormGroupDirective | null,\n @Inject(TUI_VALIDATION_ERRORS)\n private readonly validationErrors: Record<\n string,\n PolymorpheusContent | Observable<PolymorpheusContent>\n >,\n ) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n @tuiPure\n get change$(): Observable<unknown> {\n return merge(\n this.control?.valueChanges || EMPTY,\n this.control?.statusChanges || EMPTY,\n );\n }\n\n get computedError(): TuiValidationError | Observable<TuiValidationError> | null {\n return (this.invalid && this.touched && this.error) || null;\n }\n\n get isObservable() {\n const {errorId} = this;\n\n return isObservable(this.validationErrors[errorId]);\n }\n\n registerOnChange() {}\n\n registerOnTouched() {}\n\n setDisabledState() {}\n\n writeValue() {}\n\n private get error(): TuiValidationError | Observable<TuiValidationError> | null {\n const {errorId} = this;\n\n if (!errorId) {\n return null;\n }\n\n const firstError = this.controlErrors[errorId];\n const errorContent = this.validationErrors[errorId];\n\n return this.getError(firstError, errorContent);\n }\n\n private get invalid(): boolean {\n return !!this.control && this.control.invalid;\n }\n\n private get touched(): boolean {\n return !!this.control && this.control.touched;\n }\n\n private get control(): AbstractControl | null {\n if (this.ngControl) {\n return this.ngControl.control;\n }\n\n if (this.formArrayName) {\n return this.formArrayName.control;\n }\n\n if (this.formGroupName) {\n return this.formGroupName.control;\n }\n\n if (this.formGroup) {\n return this.formGroup.control;\n }\n\n return null;\n }\n\n private get errorId(): string {\n return this.getErrorId(this.order, this.controlErrors);\n }\n\n private get controlErrors(): Record<string, any> {\n return (this.control && this.control.errors) || EMPTY_RECORD;\n }\n\n @tuiPure\n private getErrorId(\n order: readonly string[],\n controlErrors: Record<string, any>,\n ): string {\n const id = order && order.find(errorId => controlErrors[errorId]);\n const fallback = Object.keys(controlErrors)[0];\n\n return id || fallback || '';\n }\n\n @tuiPure\n private getError(\n firstError: any,\n errorContent?: PolymorpheusContent | Observable<PolymorpheusContent>,\n ): TuiValidationError | Observable<TuiValidationError> | null {\n if (firstError instanceof TuiValidationError) {\n return firstError;\n }\n\n if (errorContent === undefined && typeof firstError === 'string') {\n return new TuiValidationError(firstError);\n }\n\n if (isObservable(errorContent)) {\n return errorContent.pipe(\n map(error => new TuiValidationError(error || '', firstError)),\n );\n }\n\n return new TuiValidationError(errorContent || '', firstError);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiErrorModule} from '@taiga-ui/core';\n\nimport {TuiFieldErrorComponent} from './field-error.component';\n\n@NgModule({\n imports: [CommonModule, TuiErrorModule],\n declarations: [TuiFieldErrorComponent],\n exports: [TuiFieldErrorComponent],\n})\nexport class TuiFieldErrorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAqBA,IAAM,YAAY,GAAG,EAAE,CAAC;AAExB;;IAcI,gCAIqB,SAA2B,EAI3B,aAAmC,EAInC,aAAmC,EAInC,SAAoC,EAEpC,gBAGhB;QAjBgB,cAAS,GAAT,SAAS,CAAkB;QAI3B,kBAAa,GAAb,aAAa,CAAsB;QAInC,kBAAa,GAAb,aAAa,CAAsB;QAInC,cAAS,GAAT,SAAS,CAA2B;QAEpC,qBAAgB,GAAhB,gBAAgB,CAGhC;QAvBL,UAAK,GAAsB,EAAE,CAAC;QAyB1B,IAAI,IAAI,CAAC,SAAS,EAAE;YAChB,IAAI,CAAC,SAAS,CAAC,aAAa,GAAG,IAAI,CAAC;SACvC;KACJ;IAGD,sBAAI,2CAAO;aAAX;;YACI,OAAO,KAAK,CACR,OAAA,IAAI,CAAC,OAAO,0CAAE,YAAY,KAAI,KAAK,EACnC,OAAA,IAAI,CAAC,OAAO,0CAAE,aAAa,KAAI,KAAK,CACvC,CAAC;SACL;;;OAAA;IAED,sBAAI,iDAAa;aAAjB;YACI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC;SAC/D;;;OAAA;IAED,sBAAI,gDAAY;aAAhB;YACW,IAAA,sBAAO,CAAS;YAEvB,OAAO,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;SACvD;;;OAAA;IAED,iDAAgB,GAAhB,eAAqB;IAErB,kDAAiB,GAAjB,eAAsB;IAEtB,iDAAgB,GAAhB,eAAqB;IAErB,2CAAU,GAAV,eAAe;IAEf,sBAAY,yCAAK;aAAjB;YACW,IAAA,sBAAO,CAAS;YAEvB,IAAI,CAAC,OAAO,EAAE;gBACV,OAAO,IAAI,CAAC;aACf;YAED,IAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAM,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAEpD,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;SAClD;;;OAAA;IAED,sBAAY,2CAAO;aAAnB;YACI,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACjD;;;OAAA;IAED,sBAAY,2CAAO;aAAnB;YACI,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;SACjD;;;OAAA;IAED,sBAAY,2CAAO;aAAnB;YACI,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aACjC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;aACrC;YAED,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;aACrC;YAED,IAAI,IAAI,CAAC,SAAS,EAAE;gBAChB,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aACjC;YAED,OAAO,IAAI,CAAC;SACf;;;OAAA;IAED,sBAAY,2CAAO;aAAnB;YACI,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;SAC1D;;;OAAA;IAED,sBAAY,iDAAa;aAAzB;YACI,OAAO,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,YAAY,CAAC;SAChE;;;OAAA;IAGO,2CAAU,GAAlB,UACI,KAAwB,EACxB,aAAkC;QAElC,IAAM,EAAE,GAAG,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,UAAA,OAAO,IAAI,OAAA,aAAa,CAAC,OAAO,CAAC,GAAA,CAAC,CAAC;QAClE,IAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAE/C,OAAO,EAAE,IAAI,QAAQ,IAAI,EAAE,CAAC;KAC/B;IAGO,yCAAQ,GAAhB,UACI,UAAe,EACf,YAAoE;QAEpE,IAAI,UAAU,YAAY,kBAAkB,EAAE;YAC1C,OAAO,UAAU,CAAC;SACrB;QAED,IAAI,YAAY,KAAK,SAAS,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE;YAC9D,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;SAC7C;QAED,IAAI,YAAY,CAAC,YAAY,CAAC,EAAE;YAC5B,OAAO,YAAY,CAAC,IAAI,CACpB,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,IAAI,kBAAkB,CAAC,KAAK,IAAI,EAAE,EAAE,UAAU,CAAC,GAAA,CAAC,CAChE,CAAC;SACL;QAED,OAAO,IAAI,kBAAkB,CAAC,YAAY,IAAI,EAAE,EAAE,UAAU,CAAC,CAAC;KACjE;;gBAlI+B,SAAS,uBAHpC,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;gBAKe,aAAa,uBAH5C,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,aAAa;gBAKW,aAAa,uBAH5C,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,aAAa;gBAKO,kBAAkB,uBAH7C,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,kBAAkB;gDAEzB,MAAM,SAAC,qBAAqB;;IAnBjC;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;yDACa;IA+B9B;QADC,OAAO;yDAMP;IAsED;QADC,OAAO;4DASP;IAGD;QADC,OAAO;0DAoBP;IA3IQ,sBAAsB;QARlC,SAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;;;YAG3B,eAAe,EAAE,uBAAuB,CAAC,OAAO;YAChD,oRAA0C;;SAE7C,CAAC;QAOO,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;QAEjB,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;QAErB,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;QAErB,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAE1B,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;OAtBzB,sBAAsB,CA4IlC;IAAD,6BAAC;CA5ID;;;ICrBA;KAAmC;IAAtB,mBAAmB;QAL/B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC;YACvC,YAAY,EAAE,CAAC,sBAAsB,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;ACXA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-field-error.js","sources":["ng://@taiga-ui/kit/components/field-error/field-error.component.ts","ng://@taiga-ui/kit/components/field-error/field-error.module.ts","ng://@taiga-ui/kit/components/field-error/taiga-ui-kit-components-field-error.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n Optional,\n Self,\n} from '@angular/core';\nimport {\n AbstractControl,\n FormArrayName,\n FormGroupDirective,\n FormGroupName,\n NgControl,\n} from '@angular/forms';\nimport {tuiDefaultProp, tuiPure, TuiValidationError} from '@taiga-ui/cdk';\nimport {TUI_VALIDATION_ERRORS} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {EMPTY, isObservable, merge, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nconst EMPTY_RECORD = {};\n// @dynamic\n@Component({\n selector: 'tui-field-error',\n // @bad TODO: find a way to get 'touched' state change\n // https://github.com/angular/angular/issues/10887\n changeDetection: ChangeDetectionStrategy.Default,\n templateUrl: './field-error.template.html',\n styleUrls: ['./field-error.style.less'],\n})\nexport class TuiFieldErrorComponent {\n @Input()\n @tuiDefaultProp()\n order: readonly string[] = [];\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n private readonly ngControl: NgControl | null,\n @Optional()\n @Self()\n @Inject(FormArrayName)\n private readonly formArrayName: FormArrayName | null,\n @Optional()\n @Self()\n @Inject(FormGroupName)\n private readonly formGroupName: FormGroupName | null,\n @Optional()\n @Self()\n @Inject(FormGroupDirective)\n private readonly formGroup: FormGroupDirective | null,\n @Inject(TUI_VALIDATION_ERRORS)\n private readonly validationErrors: Record<\n string,\n PolymorpheusContent | Observable<PolymorpheusContent>\n >,\n ) {\n if (this.ngControl) {\n this.ngControl.valueAccessor = this;\n }\n }\n\n @tuiPure\n get change$(): Observable<unknown> {\n return merge(\n this.control?.valueChanges || EMPTY,\n this.control?.statusChanges || EMPTY,\n );\n }\n\n get computedError(): Observable<TuiValidationError | null> {\n return (this.invalid && this.touched && this.error) || of(null);\n }\n\n registerOnChange() {}\n\n registerOnTouched() {}\n\n setDisabledState() {}\n\n writeValue() {}\n\n private get error(): Observable<TuiValidationError | null> {\n const {errorId} = this;\n\n if (!errorId) {\n return of(null);\n }\n\n const firstError = this.controlErrors[errorId];\n const errorContent = this.validationErrors[errorId];\n\n return this.getError(firstError, errorContent);\n }\n\n private get invalid(): boolean {\n return !!this.control && this.control.invalid;\n }\n\n private get touched(): boolean {\n return !!this.control && this.control.touched;\n }\n\n private get control(): AbstractControl | null {\n if (this.ngControl) {\n return this.ngControl.control;\n }\n\n if (this.formArrayName) {\n return this.formArrayName.control;\n }\n\n if (this.formGroupName) {\n return this.formGroupName.control;\n }\n\n if (this.formGroup) {\n return this.formGroup.control;\n }\n\n return null;\n }\n\n private get errorId(): string {\n return this.getErrorId(this.order, this.controlErrors);\n }\n\n private get controlErrors(): Record<string, any> {\n return (this.control && this.control.errors) || EMPTY_RECORD;\n }\n\n @tuiPure\n private getErrorId(\n order: readonly string[],\n controlErrors: Record<string, any>,\n ): string {\n const id = order && order.find(errorId => controlErrors[errorId]);\n const fallback = Object.keys(controlErrors)[0];\n\n return id || fallback || '';\n }\n\n @tuiPure\n private getError(\n firstError: any,\n errorContent?: PolymorpheusContent | Observable<PolymorpheusContent>,\n ): Observable<TuiValidationError> {\n if (firstError instanceof TuiValidationError) {\n return of(firstError);\n }\n\n if (errorContent === undefined && typeof firstError === 'string') {\n return of(new TuiValidationError(firstError));\n }\n\n if (isObservable(errorContent)) {\n return errorContent.pipe(\n map(error => new TuiValidationError(error || '', firstError)),\n );\n }\n\n return of(new TuiValidationError(errorContent || '', firstError));\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {ReactiveFormsModule} from '@angular/forms';\nimport {TuiErrorModule} from '@taiga-ui/core';\n\nimport {TuiFieldErrorComponent} from './field-error.component';\n\n/**\n * @deprecated use {@link TuiFieldErrorPipeModule} (from '@taiga-ui/kit') instead\n */\n@NgModule({\n imports: [CommonModule, TuiErrorModule, ReactiveFormsModule],\n declarations: [TuiFieldErrorComponent],\n exports: [TuiFieldErrorComponent],\n})\nexport class TuiFieldErrorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -63,7 +63,7 @@ var TuiFilterComponent = /** @class */ (function (_super) {
63
63
  ], TuiFilterComponent.prototype, "items", void 0);
64
64
  __decorate([
65
65
  Input(),
66
- HostBinding('attr.data-tui-host-size'),
66
+ HostBinding('attr.data-size'),
67
67
  tuiDefaultProp()
68
68
  ], TuiFilterComponent.prototype, "size", void 0);
69
69
  __decorate([
@@ -89,7 +89,7 @@ var TuiFilterComponent = /** @class */ (function (_super) {
89
89
  selector: 'tui-filter',
90
90
  template: "<ng-container *ngFor=\"let item of items\">\n <tui-checkbox-block\n automation-id=\"tui-filter__checkbox\"\n class=\"item\"\n [disabled]=\"disabledItemHandler(item)\"\n [hideCheckbox]=\"true\"\n [ngModel]=\"isCheckboxEnabled(item)\"\n [size]=\"size\"\n (ngModelChange)=\"onCheckbox($event, item)\"\n >\n <div automation-id=\"tui-filter__content\" class=\"content\">\n <div\n polymorpheus-outlet\n [content]=\"content\"\n [context]=\"getItemContentContext(item)\"\n ></div>\n <tui-badge\n *ngIf=\"badgeHandler(item) as badgeValue\"\n automation-id=\"tui-filter__badge\"\n tuiMode=\"onLight\"\n class=\"badge\"\n [class.badge_disabled]=\"disabledItemHandler(item)\"\n [size]=\"size\"\n [value]=\"badgeValue\"\n ></tui-badge>\n </div>\n </tui-checkbox-block>\n</ng-container>\n",
91
91
  changeDetection: ChangeDetectionStrategy.OnPush,
92
- styles: [":host{display:block;margin-bottom:-.25rem}.content{display:flex;align-items:center}.item{margin-right:.25rem;margin-bottom:.25rem}.item:last-child,:host[data-tui-host-size='l'] .item:last-child{margin-right:0}:host[data-tui-host-size='l'] .item{margin-right:.5rem;margin-bottom:.5rem}.badge{margin-left:.25rem}.badge_disabled{opacity:var(--tui-disabled-opacity)}"]
92
+ styles: [":host{display:block;margin-bottom:-.25rem}.content{display:flex;align-items:center}.item{margin-right:.25rem;margin-bottom:.25rem}.item:last-child,:host[data-size='l'] .item:last-child{margin-right:0}:host[data-size='l'] .item{margin-right:.5rem;margin-bottom:.5rem}.badge{margin-left:.25rem}.badge_disabled{opacity:var(--tui-disabled-opacity)}"]
93
93
  }),
94
94
  __param(0, Optional()),
95
95
  __param(0, Self()),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-filter.js","sources":["ng://@taiga-ui/kit/components/filter/filter.component.ts","ng://@taiga-ui/kit/components/filter/filter.module.ts","ng://@taiga-ui/kit/components/filter/taiga-ui-kit-components-filter.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n ALWAYS_FALSE_HANDLER,\n isNativeFocusedIn,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiHandler,\n TuiIdentityMatcher,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// @bad TODO: Add active zone to track focus\n@Component({\n selector: 'tui-filter',\n templateUrl: './filter.template.html',\n styleUrls: ['./filter.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiFilterComponent<T> extends AbstractTuiMultipleControl<T> {\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n items: ReadonlyArray<T> = [];\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<T> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly toggledItem = new EventEmitter<T>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super(control, changeDetectorRef);\n }\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<any> = ({$implicit}: TuiContextWithImplicit<unknown>) =>\n TUI_DEFAULT_STRINGIFY($implicit);\n\n @Input()\n @tuiDefaultProp()\n badgeHandler: TuiHandler<T, number> = item => Number(item);\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n @tuiPure\n getItemContentContext($implicit: T): TuiContextWithImplicit<T> {\n return {\n $implicit,\n };\n }\n\n onCheckbox(value: boolean, item: T) {\n this.toggledItem.emit(item);\n this.updateValue(\n value\n ? [...this.value, item]\n : this.value.filter(arrItem => !this.identityMatcher(arrItem, item)),\n );\n }\n\n isCheckboxEnabled(item: T): boolean {\n return this.value.some(arrItem => this.identityMatcher(arrItem, item));\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiModeModule} from '@taiga-ui/core';\nimport {TuiBadgeModule} from '@taiga-ui/kit/components/badge';\nimport {TuiCheckboxBlockModule} from '@taiga-ui/kit/components/checkbox-block';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFilterComponent} from './filter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiCheckboxBlockModule,\n TuiBadgeModule,\n TuiModeModule,\n ],\n declarations: [TuiFilterComponent],\n exports: [TuiFilterComponent],\n})\nexport class TuiFilterModule {}\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-filter.js","sources":["ng://@taiga-ui/kit/components/filter/filter.component.ts","ng://@taiga-ui/kit/components/filter/filter.module.ts","ng://@taiga-ui/kit/components/filter/taiga-ui-kit-components-filter.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n ALWAYS_FALSE_HANDLER,\n isNativeFocusedIn,\n TUI_DEFAULT_IDENTITY_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiHandler,\n TuiIdentityMatcher,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiSizeL, TuiSizeS} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\n// @bad TODO: Add active zone to track focus\n@Component({\n selector: 'tui-filter',\n templateUrl: './filter.template.html',\n styleUrls: ['./filter.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiFilterComponent<T> extends AbstractTuiMultipleControl<T> {\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiIdentityMatcher<T> = TUI_DEFAULT_IDENTITY_MATCHER;\n\n @Input()\n @tuiDefaultProp()\n items: ReadonlyArray<T> = [];\n\n @Input()\n @HostBinding('attr.data-size')\n @tuiDefaultProp()\n size: TuiSizeS | TuiSizeL = 'm';\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<T> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly toggledItem = new EventEmitter<T>();\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n super(control, changeDetectorRef);\n }\n\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<any> = ({$implicit}: TuiContextWithImplicit<unknown>) =>\n TUI_DEFAULT_STRINGIFY($implicit);\n\n @Input()\n @tuiDefaultProp()\n badgeHandler: TuiHandler<T, number> = item => Number(item);\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n @tuiPure\n getItemContentContext($implicit: T): TuiContextWithImplicit<T> {\n return {\n $implicit,\n };\n }\n\n onCheckbox(value: boolean, item: T) {\n this.toggledItem.emit(item);\n this.updateValue(\n value\n ? [...this.value, item]\n : this.value.filter(arrItem => !this.identityMatcher(arrItem, item)),\n );\n }\n\n isCheckboxEnabled(item: T): boolean {\n return this.value.some(arrItem => this.identityMatcher(arrItem, item));\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiModeModule} from '@taiga-ui/core';\nimport {TuiBadgeModule} from '@taiga-ui/kit/components/badge';\nimport {TuiCheckboxBlockModule} from '@taiga-ui/kit/components/checkbox-block';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiFilterComponent} from './filter.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiCheckboxBlockModule,\n TuiBadgeModule,\n TuiModeModule,\n ],\n declarations: [TuiFilterComponent],\n exports: [TuiFilterComponent],\n})\nexport class TuiFilterModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { __extends, __decorate, __param } from 'tslib';
1
+ import { __assign, __extends, __decorate, __param } from 'tslib';
2
2
  import { InjectionToken, Optional, Self, Inject, ChangeDetectorRef, ViewChild, Input, HostBinding, Component, ChangeDetectionStrategy, forwardRef, Directive, NgModule } from '@angular/core';
3
3
  import { NgControl } from '@angular/forms';
4
4
  import { isNativeFocused, isPresent, setNativeFocused, clamp, TUI_IS_MOBILE, tuiDefaultProp, tuiPure, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiControl } from '@taiga-ui/cdk';
@@ -29,6 +29,10 @@ var TUI_INPUT_COUNT_DEFAULT_OPTIONS = {
29
29
  var TUI_INPUT_COUNT_OPTIONS = new InjectionToken('Default parameters for input count component', {
30
30
  factory: function () { return TUI_INPUT_COUNT_DEFAULT_OPTIONS; },
31
31
  });
32
+ var tuiInputCountOptionsProvider = function (options) { return ({
33
+ provide: TUI_INPUT_COUNT_OPTIONS,
34
+ useValue: __assign(__assign({}, TUI_INPUT_COUNT_DEFAULT_OPTIONS), options),
35
+ }); };
32
36
 
33
37
  // @dynamic
34
38
  var TuiInputCountComponent = /** @class */ (function (_super) {
@@ -283,7 +287,7 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
283
287
  HostBinding('class._hide-buttons')
284
288
  ], TuiInputCountComponent.prototype, "buttonsHidden", null);
285
289
  __decorate([
286
- HostBinding('attr.data-tui-host-size')
290
+ HostBinding('attr.data-size')
287
291
  ], TuiInputCountComponent.prototype, "size", null);
288
292
  TuiInputCountComponent = TuiInputCountComponent_1 = __decorate([
289
293
  Component({
@@ -300,7 +304,7 @@ var TuiInputCountComponent = /** @class */ (function (_super) {
300
304
  useExisting: forwardRef(function () { return TuiInputCountComponent_1; }),
301
305
  },
302
306
  ],
303
- styles: [":host{display:flex;font:var(--tui-font-text-s);border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01);text-align:left}:host._disabled{pointer-events:none}:host[data-tui-host-size='l']{font:var(--tui-font-text-m);height:var(--tui-height-l)}.textfield{position:relative;border-radius:inherit;text-align:inherit;flex-grow:1;min-width:0}:host:not(._hide-buttons) .textfield{border-top-right-radius:0;border-bottom-right-radius:0}.buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.buttons .button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.buttons .button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.buttons .button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-tui-host-size='l'] .buttons .button{width:calc(var(--tui-height-l) * .75)}"]
307
+ styles: [":host{display:flex;font:var(--tui-font-text-s);border-radius:var(--tui-radius-m);height:var(--tui-height-m);color:var(--tui-text-01);text-align:left}:host._disabled{pointer-events:none}:host[data-size='l']{font:var(--tui-font-text-m);height:var(--tui-height-l)}.textfield{position:relative;border-radius:inherit;text-align:inherit;flex-grow:1;min-width:0}:host:not(._hide-buttons) .textfield{border-top-right-radius:0;border-bottom-right-radius:0}.buttons{display:flex;flex-direction:column;margin-left:.125rem;height:100%}.buttons .button{display:flex;width:calc(var(--tui-height-m) * .75);height:calc(50% - .0625rem)}.buttons .button_plus{margin-bottom:.125rem;border-radius:0 var(--tui-radius-m) 0 0}.buttons .button_minus{border-radius:0 0 var(--tui-radius-m)}:host[data-size='l'] .buttons .button{width:calc(var(--tui-height-l) * .75)}"]
304
308
  }),
305
309
  __param(0, Optional()),
306
310
  __param(0, Self()),
@@ -369,5 +373,5 @@ var TuiInputCountModule = /** @class */ (function () {
369
373
  * Generated bundle index. Do not edit.
370
374
  */
371
375
 
372
- export { PASSWORD_ICON_DOWN, PASSWORD_ICON_UP, TUI_INPUT_COUNT_DEFAULT_OPTIONS, TUI_INPUT_COUNT_OPTIONS, TuiInputCountComponent, TuiInputCountDirective, TuiInputCountModule };
376
+ export { PASSWORD_ICON_DOWN, PASSWORD_ICON_UP, TUI_INPUT_COUNT_DEFAULT_OPTIONS, TUI_INPUT_COUNT_OPTIONS, TuiInputCountComponent, TuiInputCountDirective, TuiInputCountModule, tuiInputCountOptionsProvider };
373
377
  //# sourceMappingURL=taiga-ui-kit-components-input-count.js.map