@taiga-ui/kit 2.27.1 → 2.31.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 (475) hide show
  1. package/README.md +4 -5
  2. package/abstract/slider/slider.d.ts +1 -1
  3. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.js +6 -5
  5. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  7. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-arrow.umd.js +1 -1
  9. package/bundles/taiga-ui-kit-components-arrow.umd.min.js +1 -1
  10. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +4 -1
  12. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
  14. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-carousel.umd.js +4 -3
  16. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  18. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-checkbox-block.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-checkbox-block.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-checkbox-labeled.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  24. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  26. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-combo-box.umd.js +3 -10
  28. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  30. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-field-error.umd.js +20 -8
  32. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-field-error.umd.min.js +2 -2
  34. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-count.umd.js +2 -6
  36. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  38. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +28 -13
  40. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
  42. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +40 -23
  44. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +2 -2
  46. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-date.umd.js +27 -12
  48. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
  50. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -8
  52. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  54. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-inline.umd.js +2 -2
  56. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
  58. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -8
  60. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  62. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -8
  64. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  66. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-number.umd.js +12 -12
  68. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  70. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-password.umd.js +2 -9
  72. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  74. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +46 -25
  76. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  78. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-phone.umd.js +3 -3
  80. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  82. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-tag.umd.js +3 -3
  84. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  86. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-time.umd.js +0 -7
  88. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  90. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
  92. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  94. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-multi-select.umd.js +1 -8
  96. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  98. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-rating.umd.js +368 -0
  102. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -0
  103. package/bundles/taiga-ui-kit-components-rating.umd.min.js +16 -0
  104. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -0
  105. package/bundles/taiga-ui-kit-components-select.umd.js +3 -10
  106. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  108. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-text-area.umd.js +2 -2
  112. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  114. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-tree.umd.js +23 -13
  118. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-tree.umd.min.js +2 -2
  120. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components.umd.js +12 -4
  122. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  124. package/bundles/taiga-ui-kit-constants.umd.js +8 -0
  125. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  126. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  127. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  128. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -1
  131. package/bundles/taiga-ui-kit-tokens.umd.js +7 -0
  132. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  133. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  134. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  135. package/bundles/taiga-ui-kit-utils-mask.umd.js +44 -13
  136. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  137. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +2 -2
  138. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  139. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +241 -6
  140. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +15 -1
  142. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  143. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  144. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  145. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  146. package/components/checkbox-block/checkbox-block.component.d.ts +1 -1
  147. package/components/checkbox-labeled/checkbox-labeled.component.d.ts +1 -1
  148. package/components/combo-box/combo-box.component.d.ts +0 -1
  149. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  150. package/components/field-error/field-error.component.d.ts +3 -2
  151. package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
  152. package/components/index.d.ts +1 -0
  153. package/components/input-date/input-date.component.d.ts +5 -4
  154. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  155. package/components/input-date-range/input-date-range.component.d.ts +5 -4
  156. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  157. package/components/input-date-time/input-date-time.component.d.ts +5 -5
  158. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  159. package/components/input-file/input-file.component.d.ts +0 -1
  160. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  161. package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
  162. package/components/input-month/input-month.component.d.ts +0 -1
  163. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  164. package/components/input-month-range/input-month-range.component.d.ts +0 -1
  165. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  166. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  167. package/components/input-password/input-password.component.d.ts +0 -1
  168. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  169. package/components/input-phone-international/const/countries.d.ts +15 -7
  170. package/components/input-phone-international/country-iso-code.d.ts +1 -1
  171. package/components/input-phone-international/index.d.ts +2 -0
  172. package/components/input-phone-international/input-phone-international.component.d.ts +2 -2
  173. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  174. package/components/input-phone-international/tokens/countries-masks.d.ts +3 -0
  175. package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -0
  176. package/components/input-tag/input-tag.component.d.ts +1 -1
  177. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  178. package/components/input-time/input-time.component.d.ts +0 -1
  179. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  180. package/components/multi-select/multi-select.component.d.ts +0 -1
  181. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  182. package/components/rating/index.d.ts +3 -0
  183. package/components/rating/package.json +13 -0
  184. package/components/rating/rating-options.d.ts +9 -0
  185. package/components/rating/rating.component.d.ts +21 -0
  186. package/components/rating/rating.module.d.ts +2 -0
  187. package/components/rating/taiga-ui-kit-components-rating.d.ts +4 -0
  188. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -0
  189. package/components/select/select.component.d.ts +0 -1
  190. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  191. package/components/taiga-ui-kit-components.metadata.json +1 -1
  192. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  193. package/components/tree/components/tree/tree.component.d.ts +3 -1
  194. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  195. package/constants/masks.d.ts +8 -0
  196. package/constants/taiga-ui-kit-constants.metadata.json +1 -1
  197. package/directives/lazy-loading/lazy-loading.service.d.ts +1 -1
  198. package/esm2015/abstract/input-slider.js +4 -2
  199. package/esm2015/abstract/slider/slider.js +1 -1
  200. package/esm2015/components/arrow/arrow.component.js +1 -1
  201. package/esm2015/components/calendar-month/calendar-month.component.js +5 -2
  202. package/esm2015/components/carousel/carousel-scroll.directive.js +5 -4
  203. package/esm2015/components/checkbox/checkbox.component.js +2 -2
  204. package/esm2015/components/checkbox-block/checkbox-block.component.js +1 -1
  205. package/esm2015/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
  206. package/esm2015/components/combo-box/combo-box.component.js +4 -7
  207. package/esm2015/components/field-error/field-error.component.js +15 -6
  208. package/esm2015/components/index.js +2 -1
  209. package/esm2015/components/input/input.component.js +2 -2
  210. package/esm2015/components/input-count/input-count.component.js +3 -7
  211. package/esm2015/components/input-date/input-date.component.js +31 -18
  212. package/esm2015/components/input-date-range/input-date-range.component.js +32 -19
  213. package/esm2015/components/input-date-time/input-date-time.component.js +45 -24
  214. package/esm2015/components/input-file/input-file.component.js +2 -5
  215. package/esm2015/components/input-inline/input-inline.component.js +3 -3
  216. package/esm2015/components/input-month/input-month.component.js +2 -5
  217. package/esm2015/components/input-month-range/input-month-range.component.js +2 -5
  218. package/esm2015/components/input-number/input-number.component.js +15 -15
  219. package/esm2015/components/input-password/input-password.component.js +3 -6
  220. package/esm2015/components/input-phone/input-phone.component.js +4 -4
  221. package/esm2015/components/input-phone-international/const/countries.js +21 -10
  222. package/esm2015/components/input-phone-international/country-iso-code.js +2 -2
  223. package/esm2015/components/input-phone-international/index.js +3 -1
  224. package/esm2015/components/input-phone-international/input-phone-international.component.js +15 -18
  225. package/esm2015/components/input-phone-international/tokens/countries-masks.js +6 -0
  226. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +9 -0
  227. package/esm2015/components/input-tag/input-tag.component.js +4 -4
  228. package/esm2015/components/input-time/input-time.component.js +1 -4
  229. package/esm2015/components/multi-select/multi-select.component.js +2 -5
  230. package/esm2015/components/progress/pipes/abstract-color-segments.js +1 -1
  231. package/esm2015/components/rating/index.js +4 -0
  232. package/esm2015/components/rating/rating-options.js +11 -0
  233. package/esm2015/components/rating/rating.component.js +91 -0
  234. package/esm2015/components/rating/rating.module.js +23 -0
  235. package/esm2015/components/rating/taiga-ui-kit-components-rating.js +5 -0
  236. package/esm2015/components/select/select.component.js +4 -7
  237. package/esm2015/components/tag/tag.component.js +2 -2
  238. package/esm2015/components/text-area/text-area.component.js +3 -3
  239. package/esm2015/components/toggle/toggle.component.js +1 -1
  240. package/esm2015/components/tree/components/tree/tree.component.js +11 -6
  241. package/esm2015/components/tree/tree.module.js +9 -2
  242. package/esm2015/constants/masks.js +9 -1
  243. package/esm2015/directives/lazy-loading/lazy-loading.service.js +1 -1
  244. package/esm2015/pipes/stringify/stringify.pipe.js +1 -1
  245. package/esm2015/tokens/date-inputs-value-transformers.js +5 -0
  246. package/esm2015/tokens/index.js +2 -1
  247. package/esm2015/tokens/validation-errors.js +1 -1
  248. package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +6 -4
  249. package/esm2015/utils/mask/create-auto-corrected-date-range-pipe.js +9 -6
  250. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +6 -6
  251. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +2 -2
  252. package/esm2015/utils/mask/create-date-mask.js +16 -0
  253. package/esm2015/utils/mask/create-date-range-mask.js +14 -0
  254. package/esm2015/utils/mask/index.js +3 -1
  255. package/esm2015/utils/miscellaneous/get-precision.js +8 -0
  256. package/esm2015/utils/miscellaneous/index.js +2 -1
  257. package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +10 -4
  258. package/esm5/abstract/input-slider.js +4 -2
  259. package/esm5/abstract/slider/slider.js +1 -1
  260. package/esm5/components/arrow/arrow.component.js +1 -1
  261. package/esm5/components/calendar-month/calendar-month.component.js +5 -2
  262. package/esm5/components/carousel/carousel-scroll.directive.js +5 -4
  263. package/esm5/components/checkbox/checkbox.component.js +2 -2
  264. package/esm5/components/checkbox-block/checkbox-block.component.js +1 -1
  265. package/esm5/components/checkbox-labeled/checkbox-labeled.component.js +1 -1
  266. package/esm5/components/combo-box/combo-box.component.js +4 -11
  267. package/esm5/components/field-error/field-error.component.js +19 -6
  268. package/esm5/components/index.js +2 -1
  269. package/esm5/components/input/input.component.js +2 -2
  270. package/esm5/components/input-count/input-count.component.js +3 -7
  271. package/esm5/components/input-date/input-date.component.js +33 -18
  272. package/esm5/components/input-date-range/input-date-range.component.js +34 -19
  273. package/esm5/components/input-date-time/input-date-time.component.js +45 -28
  274. package/esm5/components/input-file/input-file.component.js +2 -9
  275. package/esm5/components/input-inline/input-inline.component.js +3 -3
  276. package/esm5/components/input-month/input-month.component.js +2 -9
  277. package/esm5/components/input-month-range/input-month-range.component.js +2 -9
  278. package/esm5/components/input-number/input-number.component.js +14 -14
  279. package/esm5/components/input-password/input-password.component.js +3 -10
  280. package/esm5/components/input-phone/input-phone.component.js +4 -4
  281. package/esm5/components/input-phone-international/const/countries.js +21 -10
  282. package/esm5/components/input-phone-international/country-iso-code.js +2 -2
  283. package/esm5/components/input-phone-international/index.js +3 -1
  284. package/esm5/components/input-phone-international/input-phone-international.component.js +15 -18
  285. package/esm5/components/input-phone-international/tokens/countries-masks.js +6 -0
  286. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +9 -0
  287. package/esm5/components/input-tag/input-tag.component.js +4 -4
  288. package/esm5/components/input-time/input-time.component.js +1 -8
  289. package/esm5/components/multi-select/multi-select.component.js +2 -9
  290. package/esm5/components/progress/pipes/abstract-color-segments.js +1 -1
  291. package/esm5/components/rating/index.js +4 -0
  292. package/esm5/components/rating/rating-options.js +11 -0
  293. package/esm5/components/rating/rating.component.js +111 -0
  294. package/esm5/components/rating/rating.module.js +26 -0
  295. package/esm5/components/rating/taiga-ui-kit-components-rating.js +5 -0
  296. package/esm5/components/select/select.component.js +4 -11
  297. package/esm5/components/tag/tag.component.js +1 -1
  298. package/esm5/components/text-area/text-area.component.js +3 -3
  299. package/esm5/components/toggle/toggle.component.js +1 -1
  300. package/esm5/components/tree/components/tree/tree.component.js +15 -9
  301. package/esm5/components/tree/tree.module.js +9 -2
  302. package/esm5/constants/masks.js +9 -1
  303. package/esm5/directives/lazy-loading/lazy-loading.service.js +1 -1
  304. package/esm5/pipes/stringify/stringify.pipe.js +1 -1
  305. package/esm5/tokens/date-inputs-value-transformers.js +5 -0
  306. package/esm5/tokens/index.js +2 -1
  307. package/esm5/tokens/validation-errors.js +1 -1
  308. package/esm5/utils/mask/create-auto-corrected-date-pipe.js +6 -4
  309. package/esm5/utils/mask/create-auto-corrected-date-range-pipe.js +9 -6
  310. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +6 -6
  311. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +2 -2
  312. package/esm5/utils/mask/create-date-mask.js +17 -0
  313. package/esm5/utils/mask/create-date-range-mask.js +13 -0
  314. package/esm5/utils/mask/index.js +3 -1
  315. package/esm5/utils/miscellaneous/get-precision.js +9 -0
  316. package/esm5/utils/miscellaneous/index.js +2 -1
  317. package/esm5/utils/miscellaneous/replay-control-value-changes-factory.js +12 -4
  318. package/fesm2015/taiga-ui-kit-abstract.js +3 -1
  319. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  320. package/fesm2015/taiga-ui-kit-components-arrow.js +1 -1
  321. package/fesm2015/taiga-ui-kit-components-calendar-month.js +4 -1
  322. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  323. package/fesm2015/taiga-ui-kit-components-carousel.js +4 -3
  324. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  325. package/fesm2015/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  326. package/fesm2015/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  327. package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
  328. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  329. package/fesm2015/taiga-ui-kit-components-combo-box.js +3 -6
  330. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  331. package/fesm2015/taiga-ui-kit-components-field-error.js +14 -5
  332. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  333. package/fesm2015/taiga-ui-kit-components-input-count.js +2 -6
  334. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  335. package/fesm2015/taiga-ui-kit-components-input-date-range.js +31 -18
  336. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  337. package/fesm2015/taiga-ui-kit-components-input-date-time.js +45 -24
  338. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  339. package/fesm2015/taiga-ui-kit-components-input-date.js +30 -17
  340. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  341. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -4
  342. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  343. package/fesm2015/taiga-ui-kit-components-input-inline.js +2 -2
  344. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  345. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -4
  346. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  347. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -4
  348. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  349. package/fesm2015/taiga-ui-kit-components-input-number.js +14 -14
  350. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  351. package/fesm2015/taiga-ui-kit-components-input-password.js +2 -5
  352. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  353. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +46 -28
  354. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  355. package/fesm2015/taiga-ui-kit-components-input-phone.js +3 -3
  356. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  357. package/fesm2015/taiga-ui-kit-components-input-tag.js +3 -3
  358. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  359. package/fesm2015/taiga-ui-kit-components-input-time.js +0 -3
  360. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  361. package/fesm2015/taiga-ui-kit-components-input.js +1 -1
  362. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  363. package/fesm2015/taiga-ui-kit-components-multi-select.js +1 -4
  364. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  365. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  366. package/fesm2015/taiga-ui-kit-components-rating.js +123 -0
  367. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -0
  368. package/fesm2015/taiga-ui-kit-components-select.js +3 -6
  369. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  370. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  371. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  372. package/fesm2015/taiga-ui-kit-components-text-area.js +2 -2
  373. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  374. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  375. package/fesm2015/taiga-ui-kit-components-tree.js +17 -8
  376. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  377. package/fesm2015/taiga-ui-kit-components.js +1 -0
  378. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  379. package/fesm2015/taiga-ui-kit-constants.js +8 -0
  380. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  381. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  382. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  383. package/fesm2015/taiga-ui-kit-tokens.js +5 -1
  384. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  385. package/fesm2015/taiga-ui-kit-utils-mask.js +46 -15
  386. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  387. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +17 -3
  388. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  389. package/fesm5/taiga-ui-kit-abstract.js +3 -1
  390. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  391. package/fesm5/taiga-ui-kit-components-arrow.js +1 -1
  392. package/fesm5/taiga-ui-kit-components-calendar-month.js +4 -1
  393. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  394. package/fesm5/taiga-ui-kit-components-carousel.js +4 -3
  395. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  396. package/fesm5/taiga-ui-kit-components-checkbox-block.js.map +1 -1
  397. package/fesm5/taiga-ui-kit-components-checkbox-labeled.js.map +1 -1
  398. package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
  399. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  400. package/fesm5/taiga-ui-kit-components-combo-box.js +3 -10
  401. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  402. package/fesm5/taiga-ui-kit-components-field-error.js +18 -5
  403. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  404. package/fesm5/taiga-ui-kit-components-input-count.js +2 -6
  405. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  406. package/fesm5/taiga-ui-kit-components-input-date-range.js +33 -18
  407. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  408. package/fesm5/taiga-ui-kit-components-input-date-time.js +45 -28
  409. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  410. package/fesm5/taiga-ui-kit-components-input-date.js +32 -17
  411. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  412. package/fesm5/taiga-ui-kit-components-input-file.js +1 -8
  413. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  414. package/fesm5/taiga-ui-kit-components-input-inline.js +2 -2
  415. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  416. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -8
  417. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  418. package/fesm5/taiga-ui-kit-components-input-month.js +1 -8
  419. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  420. package/fesm5/taiga-ui-kit-components-input-number.js +13 -13
  421. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  422. package/fesm5/taiga-ui-kit-components-input-password.js +2 -9
  423. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  424. package/fesm5/taiga-ui-kit-components-input-phone-international.js +46 -28
  425. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  426. package/fesm5/taiga-ui-kit-components-input-phone.js +3 -3
  427. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  428. package/fesm5/taiga-ui-kit-components-input-tag.js +3 -3
  429. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  430. package/fesm5/taiga-ui-kit-components-input-time.js +0 -7
  431. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  432. package/fesm5/taiga-ui-kit-components-input.js +1 -1
  433. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  434. package/fesm5/taiga-ui-kit-components-multi-select.js +1 -8
  435. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  436. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  437. package/fesm5/taiga-ui-kit-components-rating.js +146 -0
  438. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -0
  439. package/fesm5/taiga-ui-kit-components-select.js +3 -10
  440. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  441. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  442. package/fesm5/taiga-ui-kit-components-text-area.js +2 -2
  443. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  444. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  445. package/fesm5/taiga-ui-kit-components-tree.js +21 -11
  446. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  447. package/fesm5/taiga-ui-kit-components.js +1 -0
  448. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  449. package/fesm5/taiga-ui-kit-constants.js +8 -0
  450. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  451. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  452. package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -1
  453. package/fesm5/taiga-ui-kit-tokens.js +5 -1
  454. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  455. package/fesm5/taiga-ui-kit-utils-mask.js +44 -15
  456. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  457. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +20 -3
  458. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  459. package/package.json +6 -6
  460. package/tokens/date-inputs-value-transformers.d.ts +5 -0
  461. package/tokens/index.d.ts +1 -0
  462. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  463. package/tokens/validation-errors.d.ts +2 -1
  464. package/utils/mask/create-auto-corrected-date-pipe.d.ts +7 -3
  465. package/utils/mask/create-auto-corrected-date-range-pipe.d.ts +7 -2
  466. package/utils/mask/create-auto-corrected-date-time-pipe.d.ts +8 -3
  467. package/utils/mask/create-auto-corrected-time-pipe.d.ts +1 -1
  468. package/utils/mask/create-date-mask.d.ts +3 -0
  469. package/utils/mask/create-date-range-mask.d.ts +3 -0
  470. package/utils/mask/index.d.ts +2 -0
  471. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  472. package/utils/miscellaneous/get-precision.d.ts +4 -0
  473. package/utils/miscellaneous/index.d.ts +1 -0
  474. package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +3 -2
  475. package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-text-area.js","sources":["ng://@taiga-ui/kit/components/text-area/text-area.providers.ts","ng://@taiga-ui/kit/components/text-area/text-area.component.ts","ng://@taiga-ui/kit/components/text-area/text-area.module.ts","ng://@taiga-ui/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {forwardRef, Provider} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\n\nexport const TUI_TEXT_AREA_PROVIDERS: Provider[] = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiTextAreaComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n setNativeFocused,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n getBorder,\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_MODE,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n TuiHintControllerDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TUI_TEXT_AREA_PROVIDERS} from './text-area.providers';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-text-area',\n templateUrl: './text-area.template.html',\n styleUrls: ['./text-area.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TEXT_AREA_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiTextAreaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n get nativeFocusableElement(): HTMLTextAreaElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('attr.data-tui-host-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n get border(): number {\n return getBorder(false, this.hasCleaner, this.hasTooltip);\n }\n\n get hasCleaner(): boolean {\n return (\n this.controller.cleaner && this.hasValue && !this.disabled && !this.readOnly\n );\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._has-value')\n get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n get hasCounter(): boolean {\n return !!this.controller.maxLength && !this.disabled && !this.readOnly;\n }\n\n get hasPlaceholder(): boolean {\n return !this.controller.labelOutside || (!this.hasValue && !this.hasExampleText);\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.controller.exampleText &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n !this.controller.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.controller.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.controller.maxLength || Infinity);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onValue(value: string) {\n this.updateValue(value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule, TuiHoveredModule} from '@taiga-ui/cdk';\nimport {\n TuiBorderModule,\n TuiDescribedByModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiDescribedByModule,\n TuiBorderModule,\n TuiSvgModule,\n ],\n declarations: [TuiTextAreaComponent],\n exports: [TuiTextAreaComponent],\n})\nexport class TuiTextAreaModule {}\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-text-area.js","sources":["ng://@taiga-ui/kit/components/text-area/text-area.providers.ts","ng://@taiga-ui/kit/components/text-area/text-area.component.ts","ng://@taiga-ui/kit/components/text-area/text-area.module.ts","ng://@taiga-ui/kit/components/text-area/taiga-ui-kit-components-text-area.ts"],"sourcesContent":["import {forwardRef, Provider} from '@angular/core';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\n\nexport const TUI_TEXT_AREA_PROVIDERS: Provider[] = [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiTextAreaComponent),\n },\n TEXTFIELD_CONTROLLER_PROVIDER,\n HINT_CONTROLLER_PROVIDER,\n MODE_PROVIDER,\n];\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n setNativeFocused,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {\n getBorder,\n TUI_HINT_WATCHED_CONTROLLER,\n TUI_MODE,\n TUI_TEXTFIELD_APPEARANCE,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiBrightness,\n TuiHintControllerDirective,\n TuiSizeL,\n TuiSizeS,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TUI_TEXT_AREA_PROVIDERS} from './text-area.providers';\n\nexport const DEFAULT_ROWS = 20;\nexport const LINE_HEIGHT_M = 20;\nexport const LINE_HEIGHT_L = 24;\n\n@Component({\n selector: 'tui-text-area',\n templateUrl: './text-area.template.html',\n styleUrls: ['./text-area.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TEXT_AREA_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n '[class._ios]': 'isIOS',\n },\n})\nexport class TuiTextAreaComponent\n extends AbstractTuiControl<string>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\n\n @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_TEXTFIELD_APPEARANCE) readonly appearance: string,\n @Inject(TUI_IS_IOS) readonly isIOS: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n @Inject(TUI_HINT_WATCHED_CONTROLLER)\n readonly hintController: TuiHintControllerDirective,\n ) {\n super(control, changeDetectorRef);\n }\n\n @HostBinding('class._label-outside')\n get labelOutside(): boolean {\n return this.controller.labelOutside;\n }\n\n get nativeFocusableElement(): HTMLTextAreaElement | null {\n return this.computedDisabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n @HostBinding('attr.data-tui-host-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n get border(): number {\n return getBorder(false, this.hasCleaner, this.hasTooltip);\n }\n\n get hasCleaner(): boolean {\n return this.controller.cleaner && this.hasValue && this.interactive;\n }\n\n @HostBinding('class._has-tooltip')\n get hasTooltip(): boolean {\n return !!this.hintController.content && !this.disabled;\n }\n\n @HostBinding('class._has-value')\n get hasValue(): boolean {\n return this.value !== '';\n }\n\n @HostBinding('class._has-counter')\n get hasCounter(): boolean {\n return !!this.controller.maxLength && this.interactive;\n }\n\n get hasPlaceholder(): boolean {\n return !this.controller.labelOutside || (!this.hasValue && !this.hasExampleText);\n }\n\n get hasExampleText(): boolean {\n return (\n !!this.controller.exampleText &&\n this.focused &&\n !this.hasValue &&\n !this.readOnly\n );\n }\n\n get computeMaxHeight(): number | null {\n return this.expandable ? this.rows * this.lineHeight : null;\n }\n\n get placeholderRaised(): boolean {\n return (\n !this.controller.labelOutside &&\n ((this.computedFocused && !this.readOnly) || this.hasValue)\n );\n }\n\n get fittedContent(): string {\n return this.value.slice(0, this.controller.maxLength || Infinity);\n }\n\n get extraContent(): string {\n return this.value.slice(this.controller.maxLength || Infinity);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onValue(value: string) {\n this.updateValue(value);\n }\n\n onMouseDown(event: MouseEvent) {\n if (event.target === this.nativeFocusableElement) {\n return;\n }\n\n event.preventDefault();\n\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement);\n }\n }\n\n protected getFallbackValue(): string {\n return '';\n }\n\n private get lineHeight(): number {\n return this.controller.size === 'm' ? LINE_HEIGHT_M : LINE_HEIGHT_L;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {TuiFocusableModule, TuiFocusedModule, TuiHoveredModule} from '@taiga-ui/cdk';\nimport {\n TuiBorderModule,\n TuiDescribedByModule,\n TuiScrollbarModule,\n TuiSvgModule,\n TuiTooltipModule,\n TuiWrapperModule,\n} from '@taiga-ui/core';\n\nimport {TuiTextAreaComponent} from './text-area.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiScrollbarModule,\n TuiTooltipModule,\n TuiWrapperModule,\n TuiDescribedByModule,\n TuiBorderModule,\n TuiSvgModule,\n ],\n declarations: [TuiTextAreaComponent],\n exports: [TuiTextAreaComponent],\n})\nexport class TuiTextAreaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-toggle.js","sources":["ng://@taiga-ui/kit/components/toggle/toggle-options.ts","ng://@taiga-ui/kit/components/toggle/toggle.component.ts","ng://@taiga-ui/kit/components/toggle/toggle.module.ts","ng://@taiga-ui/kit/components/toggle/taiga-ui-kit-components-toggle.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface ToggleOptions {\n readonly icons: Readonly<{\n toggleOff: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n toggleOn: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n readonly singleColor: boolean;\n readonly showIcons: boolean;\n readonly size: TuiSizeL;\n}\n\n/** Default values for the toggle options. */\nexport const TUI_TOGGLE_DEFAULT_OPTIONS: ToggleOptions = {\n icons: {\n toggleOff({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOff' : 'tuiIconToggleOffLarge';\n },\n toggleOn({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOn' : 'tuiIconToggleOnLarge';\n },\n },\n singleColor: false,\n showIcons: false,\n size: 'm',\n};\n\nexport const TUI_TOGGLE_OPTIONS = new InjectionToken<ToggleOptions>(\n 'Default parameters for toggle component',\n {\n factory: () => TUI_TOGGLE_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {ToggleOptions, TUI_TOGGLE_OPTIONS} from './toggle-options';\n\n@Component({\n selector: 'tui-toggle',\n templateUrl: './toggle.template.html',\n styleUrls: ['./toggle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiToggleComponent),\n },\n ],\n})\nexport class TuiToggleComponent\n extends AbstractTuiControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n singleColor = this.options.singleColor;\n\n @Input()\n @tuiDefaultProp()\n showIcons = this.options.showIcons;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_TOGGLE_OPTIONS)\n public readonly options: ToggleOptions,\n ) {\n super(control, changeDetectorRef);\n }\n\n get iconOn(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOn;\n }\n\n get iconOff(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOff;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n return this.singleColor || this.checked\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n @HostBinding('class._checked')\n get checked(): boolean {\n return this.value;\n }\n\n get loaderSize(): TuiSizeXS {\n return this.sizeM ? 'xs' : 's';\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n protected getFallbackValue(): boolean {\n return false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiToggleComponent} from './toggle.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiCheckedModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiToggleComponent],\n exports: [TuiToggleComponent],\n})\nexport class TuiToggleModule {}\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-toggle.js","sources":["ng://@taiga-ui/kit/components/toggle/toggle-options.ts","ng://@taiga-ui/kit/components/toggle/toggle.component.ts","ng://@taiga-ui/kit/components/toggle/toggle.module.ts","ng://@taiga-ui/kit/components/toggle/taiga-ui-kit-components-toggle.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {TuiSizeL} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface ToggleOptions {\n readonly icons: Readonly<{\n toggleOff: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n toggleOn: PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>>;\n }>;\n readonly singleColor: boolean;\n readonly showIcons: boolean;\n readonly size: TuiSizeL;\n}\n\n/** Default values for the toggle options. */\nexport const TUI_TOGGLE_DEFAULT_OPTIONS: ToggleOptions = {\n icons: {\n toggleOff({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOff' : 'tuiIconToggleOffLarge';\n },\n toggleOn({$implicit}: TuiContextWithImplicit<TuiSizeL>): string {\n return $implicit === 'm' ? 'tuiIconToggleOn' : 'tuiIconToggleOnLarge';\n },\n },\n singleColor: false,\n showIcons: false,\n size: 'm',\n};\n\nexport const TUI_TOGGLE_OPTIONS = new InjectionToken<ToggleOptions>(\n 'Default parameters for toggle component',\n {\n factory: () => TUI_TOGGLE_DEFAULT_OPTIONS,\n },\n);\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiModeDirective,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {ToggleOptions, TUI_TOGGLE_OPTIONS} from './toggle-options';\n\n@Component({\n selector: 'tui-toggle',\n templateUrl: './toggle.template.html',\n styleUrls: ['./toggle.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiToggleComponent),\n },\n ],\n})\nexport class TuiToggleComponent\n extends AbstractTuiControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n singleColor = this.options.singleColor;\n\n @Input()\n @tuiDefaultProp()\n showIcons = this.options.showIcons;\n\n @Input()\n @tuiDefaultProp()\n showLoader = false;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_TOGGLE_OPTIONS)\n readonly options: ToggleOptions,\n ) {\n super(control, changeDetectorRef);\n }\n\n get iconOn(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOn;\n }\n\n get iconOff(): PolymorpheusContent<TuiContextWithImplicit<TuiSizeL>> {\n return this.options.icons.toggleOff;\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.focusableElement ? this.focusableElement.nativeElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get appearance(): TuiAppearance {\n return this.singleColor || this.checked\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n @HostBinding('class._checked')\n get checked(): boolean {\n return this.value;\n }\n\n get loaderSize(): TuiSizeXS {\n return this.sizeM ? 'xs' : 's';\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n protected getFallbackValue(): boolean {\n return false;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiLoaderModule, TuiSvgModule, TuiWrapperModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiToggleComponent} from './toggle.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusableModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiCheckedModule,\n TuiWrapperModule,\n TuiSvgModule,\n TuiLoaderModule,\n PolymorpheusModule,\n ],\n declarations: [TuiToggleComponent],\n exports: [TuiToggleComponent],\n})\nexport class TuiToggleModule {}\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 { Input, Directive, Inject, forwardRef, HostBinding, Component, ChangeDetectionStrategy, InjectionToken, SkipSelf, ElementRef, ContentChildren, Optional, ViewChild, EventEmitter, Output, Injectable, NgModule } from '@angular/core';
3
- import { EMPTY_ARRAY, tuiDefaultProp, ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION, EMPTY_QUERY, isPresent } from '@taiga-ui/cdk';
4
- import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
5
3
  import { Subject } from 'rxjs';
6
4
  import { startWith, map, distinctUntilChanged, switchMap, tap, mapTo } from 'rxjs/operators';
5
+ import { EMPTY_ARRAY, tuiDefaultProp, ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION, EMPTY_QUERY, isPresent, TuiLetModule } from '@taiga-ui/cdk';
6
+ import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
7
7
  import { CommonModule } from '@angular/common';
8
8
  import { TuiExpandModule, TuiButtonModule } from '@taiga-ui/core';
9
9
 
@@ -169,26 +169,30 @@ var TuiTreeItemComponent = /** @class */ (function () {
169
169
 
170
170
  var TuiTreeComponent = /** @class */ (function () {
171
171
  function TuiTreeComponent(directive) {
172
+ var _this = this;
172
173
  this.directive = directive;
174
+ this.check$ = new Subject();
175
+ this.children$ = this.check$.pipe(startWith(null), map(function () { return _this.handler(_this.value); }), distinctUntilChanged());
173
176
  this.content = function (_a) {
174
177
  var $implicit = _a.$implicit;
175
178
  return String($implicit);
176
179
  };
177
180
  }
178
181
  TuiTreeComponent_1 = TuiTreeComponent;
179
- Object.defineProperty(TuiTreeComponent.prototype, "children", {
182
+ TuiTreeComponent.prototype.ngDoCheck = function () {
183
+ var _a, _b;
184
+ this.check$.next();
185
+ (_a = this.item) === null || _a === void 0 ? void 0 : _a.ngDoCheck();
186
+ (_b = this.child) === null || _b === void 0 ? void 0 : _b.ngDoCheck();
187
+ };
188
+ Object.defineProperty(TuiTreeComponent.prototype, "handler", {
180
189
  get: function () {
181
190
  var _a, _b;
182
- return ((_b = (_a = this.directive) === null || _a === void 0 ? void 0 : _a.childrenHandler(this.value)) !== null && _b !== void 0 ? _b : TuiTreeChildrenDirective.defaultHandler(this.value));
191
+ return (_b = (_a = this.directive) === null || _a === void 0 ? void 0 : _a.childrenHandler) !== null && _b !== void 0 ? _b : TuiTreeChildrenDirective.defaultHandler;
183
192
  },
184
193
  enumerable: true,
185
194
  configurable: true
186
195
  });
187
- TuiTreeComponent.prototype.ngDoCheck = function () {
188
- var _a, _b;
189
- (_a = this.item) === null || _a === void 0 ? void 0 : _a.ngDoCheck();
190
- (_b = this.child) === null || _b === void 0 ? void 0 : _b.ngDoCheck();
191
- };
192
196
  var TuiTreeComponent_1;
193
197
  TuiTreeComponent.ctorParameters = function () { return [
194
198
  { type: TuiTreeChildrenDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiTreeChildrenDirective,] }] }
@@ -208,7 +212,7 @@ var TuiTreeComponent = /** @class */ (function () {
208
212
  TuiTreeComponent = TuiTreeComponent_1 = __decorate([
209
213
  Component({
210
214
  selector: 'tui-tree[value]',
211
- template: "<tui-tree-item #view [tuiTreeNode]=\"value\">\n <div\n *ngIf=\"value !== children\"\n polymorpheus-outlet\n [content]=\"content\"\n [context]=\"{$implicit: value, node: view}\"\n ></div>\n <tui-tree\n *ngFor=\"let child of children\"\n [value]=\"child\"\n [content]=\"content\"\n ></tui-tree>\n</tui-tree-item>\n",
215
+ template: "<tui-tree-item\n *tuiLet=\"children$ | async as children\"\n #view\n [tuiTreeNode]=\"value\"\n>\n <div\n *ngIf=\"value !== children\"\n polymorpheus-outlet\n [content]=\"content\"\n [context]=\"{$implicit: value, node: view}\"\n ></div>\n <tui-tree\n *ngFor=\"let child of children\"\n [value]=\"child\"\n [content]=\"content\"\n ></tui-tree>\n</tui-tree-item>\n",
212
216
  changeDetection: ChangeDetectionStrategy.OnPush,
213
217
  providers: [
214
218
  {
@@ -397,7 +401,13 @@ var TuiTreeModule = /** @class */ (function () {
397
401
  }
398
402
  TuiTreeModule = __decorate([
399
403
  NgModule({
400
- imports: [CommonModule, PolymorpheusModule, TuiExpandModule, TuiButtonModule],
404
+ imports: [
405
+ CommonModule,
406
+ PolymorpheusModule,
407
+ TuiExpandModule,
408
+ TuiLetModule,
409
+ TuiButtonModule,
410
+ ],
401
411
  entryComponents: [TuiTreeItemContentComponent],
402
412
  declarations: [
403
413
  TuiTreeComponent,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-tree.js","sources":["ng://@taiga-ui/kit/components/tree/directives/tree-children.directive.ts","ng://@taiga-ui/kit/components/tree/components/tree-item-content/tree-item-content.component.ts","ng://@taiga-ui/kit/components/tree/misc/tree.constants.ts","ng://@taiga-ui/kit/components/tree/misc/tree.tokens.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.providers.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.component.ts","ng://@taiga-ui/kit/components/tree/components/tree/tree.component.ts","ng://@taiga-ui/kit/components/tree/directives/tree-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-item-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-node.directive.ts","ng://@taiga-ui/kit/components/tree/misc/tree.service.ts","ng://@taiga-ui/kit/components/tree/tree.module.ts","ng://@taiga-ui/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY, tuiDefaultProp, TuiHandler} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildrenDirective<T> {\n @Input()\n @tuiDefaultProp()\n childrenHandler: TuiHandler<T, readonly T[]> =\n TuiTreeChildrenDirective.defaultHandler;\n\n static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n selector: 'tui-tree-item-content',\n templateUrl: 'tree-item-content.template.html',\n styleUrls: ['tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTreeItemContentComponent {\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiTreeItemContext,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n ) {}\n\n get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n onClick() {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","import {ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeItemContentComponent} from '../components/tree-item-content/tree-item-content.component';\nimport {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(\n TuiTreeItemContentComponent,\n);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: ALWAYS_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT} from './tree.constants';\nimport {\n TuiTreeAccessor,\n TuiTreeController,\n TuiTreeItemContext,\n TuiTreeLoader,\n} from './tree.interfaces';\n\nexport const TUI_TREE_ACCESSOR = new InjectionToken<TuiTreeAccessor<any>>(\n 'Controller for tracking value - TuiTreeItemComponent pairs',\n);\n\nexport const TUI_TREE_CONTROLLER = new InjectionToken<TuiTreeController>(\n 'Controller for expanding the tree',\n {\n factory: () => TUI_DEFAULT_TREE_CONTROLLER,\n },\n);\n\nexport const TUI_TREE_NODE = new InjectionToken('A node of a tree view');\n\nexport const TUI_TREE_LOADING = new InjectionToken(\n 'A tree node placeholder for loading',\n {factory: () => ({})},\n);\n\nexport const TUI_TREE_START = new InjectionToken('A tree node starting point');\n\nexport const TUI_TREE_LOADER = new InjectionToken<TuiTreeLoader<any>>(\n 'A service to load tree progressively',\n);\n\nexport const TUI_TREE_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiTreeItemContext>\n>('Content for a tree item', {\n factory: () => TUI_TREE_ITEM_CONTENT,\n});\n\nexport const TUI_TREE_LEVEL = new InjectionToken<number>(\n 'Nesting level of current TreeView node',\n {\n factory: () => -1,\n },\n);\n","import {forwardRef, Provider, SkipSelf} from '@angular/core';\n\nimport {TUI_TREE_LEVEL, TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from './tree-item.component';\n\nexport const TUI_TREE_ITEM_PROVIDERS: Provider[] = [\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: treeLevelFactory,\n },\n {\n provide: TUI_TREE_NODE,\n useExisting: forwardRef(() => TuiTreeItemComponent),\n },\n];\n\nexport function treeLevelFactory(level: number): number {\n return ++level;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {\n TUI_TREE_CONTENT,\n TUI_TREE_CONTROLLER,\n TUI_TREE_LEVEL,\n TUI_TREE_NODE,\n} from '../../misc/tree.tokens';\nimport {TUI_TREE_ITEM_PROVIDERS} from './tree-item.providers';\n\n@Component({\n selector: 'tui-tree-item',\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TREE_ITEM_PROVIDERS,\n host: {\n role: 'treeitem',\n },\n})\nexport class TuiTreeItemComponent implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly change$ = new Subject<void>();\n\n readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n distinctUntilChanged(),\n );\n\n readonly attached$ = this.change$.pipe(\n map(() => this.elementRef.nativeElement.isConnected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n @Inject(forwardRef(() => TUI_TREE_LEVEL))\n readonly level: number,\n @Inject(forwardRef(() => TUI_TREE_CONTENT))\n readonly content: PolymorpheusContent<TuiTreeItemContext>,\n ) {}\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n ngDoCheck() {\n this.change$.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Input,\n Optional,\n ViewChild,\n} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from '../tree-item/tree-item.component';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: 'tree.template.html',\n styleUrls: ['tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n @Input()\n value!: T;\n\n @ViewChild(TuiTreeItemComponent)\n readonly item?: TuiTreeItemComponent;\n\n @ViewChild(TuiTreeComponent)\n readonly child?: TuiTreeComponent<T>;\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n get children(): readonly T[] {\n return (\n this.directive?.childrenHandler(this.value) ??\n TuiTreeChildrenDirective.defaultHandler(this.value)\n );\n }\n\n ngDoCheck() {\n this.item?.ngDoCheck();\n this.child?.ngDoCheck();\n }\n}\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {isPresent, tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController][map]',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_ACCESSOR,\n useExisting: TuiTreeControllerDirective,\n },\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeControllerDirective,\n },\n ],\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n @Input()\n @tuiDefaultProp()\n map: Map<T, boolean> = new Map();\n\n @Output()\n readonly toggled = new EventEmitter<T>();\n\n readonly items = new Map<TuiTreeItemComponent, T>();\n\n register(item: TuiTreeItemComponent, value: T) {\n this.items.set(item, value);\n }\n\n unregister(item: TuiTreeItemComponent) {\n this.items.delete(item);\n }\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent) {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!isPresent(value)) {\n return;\n }\n\n this.toggled.emit(value);\n this.map.set(value, !expanded);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController]:not([map])',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeItemControllerDirective,\n },\n ],\n})\nexport class TuiTreeItemControllerDirective implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\n\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent) {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNodeDirective<T> implements OnDestroy {\n @Input('tuiTreeNode')\n set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n constructor(\n @Optional()\n @Inject(TUI_TREE_ACCESSOR)\n private readonly directive: TuiTreeAccessor<T>,\n @Inject(TuiTreeItemComponent)\n private readonly component: TuiTreeItemComponent,\n ) {}\n\n ngOnDestroy() {\n this.directive?.unregister(this.component);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, mapTo, startWith, switchMap, tap} from 'rxjs/operators';\n\nimport {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n// @dynamic\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n\n private readonly load$ = new Subject<T>();\n\n readonly data$ = this.load$.pipe(\n switchMap(item =>\n this.loader.loadChildren(item).pipe(\n tap(children => this.map.set(item, children)),\n map(children => children.filter(item => !this.loader.hasChildren(item))),\n tap(children => children.forEach(child => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n mapTo(this.start),\n );\n\n constructor(\n @Inject(TUI_TREE_LOADING) private readonly loading: T,\n @Inject(TUI_TREE_START) private readonly start: T,\n @Inject(TUI_TREE_LOADER) private readonly loader: TuiTreeLoader<T>,\n ) {}\n\n getChildren(item: T): readonly T[] {\n return this.map.get(item) ?? [this.loading];\n }\n\n loadChildren(item: T) {\n if (this.map.get(item)) {\n return;\n }\n\n this.map.set(item, [this.loading]);\n this.load$.next(item);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildrenDirective} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemControllerDirective} from './directives/tree-item-controller.directive';\nimport {TuiTreeNodeDirective} from './directives/tree-node.directive';\n\n@NgModule({\n imports: [CommonModule, PolymorpheusModule, TuiExpandModule, TuiButtonModule],\n entryComponents: [TuiTreeItemContentComponent],\n declarations: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeItemContentComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n TuiTreeNodeDirective,\n ],\n exports: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n ],\n})\nexport class TuiTreeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;IAMA;QAGI,oBAAe,GACX,0BAAwB,CAAC,cAAc,CAAC;KAK/C;iCATY,wBAAwB;IAM1B,uCAAc,GAArB,UAAyB,IAAO;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,WAAW,CAAC;KACnD;;IALD;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;qEAE2B;IAJnC,wBAAwB;QAHpC,SAAS,CAAC;YACP,QAAQ,EAAE,2BAA2B;SACxC,CAAC;OACW,wBAAwB,CASpC;IAAD,+BAAC;CATD;;;ICcI,qCAC2C,OAA2B,EAEjD,UAA6B;QAFP,YAAO,GAAP,OAAO,CAAoB;QAEjD,eAAU,GAAV,UAAU,CAAmB;KAC9C;IAEJ,sBAAI,mDAAU;aAAd;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC;SAC5C;;;OAAA;IAGD,sBAAI,qDAAY;aAAhB;YACI,QACI,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,YAAY;gBACnC,IAAI,CAAC,UAAU,KAAK,2BAA2B,EACjD;SACL;;;OAAA;IAED,6CAAO,GAAP;QACI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAClD;;gDAnBI,MAAM,SAAC,oBAAoB;gDAC3B,MAAM,SAAC,UAAU,CAAC,cAAM,OAAA,mBAAmB,GAAA,CAAC;;IASjD;QADC,WAAW,CAAC,mBAAmB,CAAC;mEAMhC;IAjBQ,2BAA2B;QANvC,SAAS,CAAC;YACP,QAAQ,EAAE,uBAAuB;YACjC,0VAA8C;YAE9C,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAGO,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAC5B,WAAA,MAAM,CAAC,UAAU,CAAC,cAAM,OAAA,mBAAmB,GAAA,CAAC,CAAC,CAAA;OAHzC,2BAA2B,CAsBvC;IAAD,kCAAC;CAtBD;;ICba,qBAAqB,GAAG,IAAI,qBAAqB,CAC1D,2BAA2B,EAC7B;IAEW,2BAA2B,GAAsB;IAC1D,UAAU,EAAE,mBAAmB;IAC/B,MAAM,EAAE,cAA4B;;;ICD3B,iBAAiB,GAAG,IAAI,cAAc,CAC/C,4DAA4D,EAC9D;IAEW,mBAAmB,GAAG,IAAI,cAAc,CACjD,mCAAmC,EACnC;IACI,OAAO,EAAE,cAAM,OAAA,2BAA2B,GAAA;CAC7C,EACH;IAEW,aAAa,GAAG,IAAI,cAAc,CAAC,uBAAuB,EAAE;IAE5D,gBAAgB,GAAG,IAAI,cAAc,CAC9C,qCAAqC,EACrC,EAAC,OAAO,EAAE,cAAM,QAAC,EAAE,IAAC,EAAC,EACvB;IAEW,cAAc,GAAG,IAAI,cAAc,CAAC,4BAA4B,EAAE;IAElE,eAAe,GAAG,IAAI,cAAc,CAC7C,sCAAsC,EACxC;IAEW,gBAAgB,GAAG,IAAI,cAAc,CAEhD,yBAAyB,EAAE;IACzB,OAAO,EAAE,cAAM,OAAA,qBAAqB,GAAA;CACvC,EAAE;IAEU,cAAc,GAAG,IAAI,cAAc,CAC5C,wCAAwC,EACxC;IACI,OAAO,EAAE,cAAM,OAAA,CAAC,CAAC,GAAA;CACpB;;ICxCQ,uBAAuB,GAAe;IAC/C;QACI,OAAO,EAAE,cAAc;QACvB,IAAI,EAAE,CAAC,CAAC,IAAI,QAAQ,EAAE,EAAE,cAAc,CAAC,CAAC;QACxC,UAAU,EAAE,gBAAgB;KAC/B;IACD;QACI,OAAO,EAAE,aAAa;QACtB,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,oBAAoB,GAAA,CAAC;KACtD;EACH;SAEc,gBAAgB,CAAC,KAAa;IAC1C,OAAO,EAAE,KAAK,CAAC;AACnB;;;ICiCI,8BAEqB,UAAmC,EAEnC,UAA6B,EAErC,KAAa,EAEb,OAAgD;QAR7D,iBASI;QAPiB,eAAU,GAAV,UAAU,CAAyB;QAEnC,eAAU,GAAV,UAAU,CAAmB;QAErC,UAAK,GAAL,KAAK,CAAQ;QAEb,YAAO,GAAP,OAAO,CAAyC;QAvB5C,WAAM,GAAuB,WAAW,CAAC;QAEzC,YAAO,GAAG,IAAI,OAAO,EAAQ,CAAC;QAEtC,cAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,GAAA,CAAC,EAC1B,oBAAoB,EAAE,CACzB,CAAC;QAEO,cAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAClC,GAAG,CAAC,cAAM,OAAA,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,GAAA,CAAC,EACpD,oBAAoB,EAAE,CACzB,CAAC;KAWE;IAGJ,sBAAI,8CAAY;aAAhB;YACI,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;SAC/B;;;OAAA;IAED,sBAAI,4CAAU;aAAd;YACI,OAAO,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;SAC3C;;;OAAA;IAED,wCAAS,GAAT;QACI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;KACvB;;gBApBgC,UAAU,uBADtC,MAAM,SAAC,UAAU;gDAEjB,MAAM,SAAC,UAAU,CAAC,cAAM,OAAA,mBAAmB,GAAA,CAAC;6CAE5C,MAAM,SAAC,UAAU,CAAC,cAAM,OAAA,cAAc,GAAA,CAAC;gDAEvC,MAAM,SAAC,UAAU,CAAC,cAAM,OAAA,gBAAgB,GAAA,CAAC;;IAtB9C;QADC,eAAe,CAAC,aAAoB,CAAC;wDACoB;IA2B1D;QADC,WAAW,CAAC,mBAAmB,CAAC;4DAGhC;IA/BQ,oBAAoB;QAVhC,SAAS,CAAC;YACP,QAAQ,EAAE,eAAe;YACzB,4hBAAwC;YAExC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE,uBAAuB;YAClC,IAAI,EAAE;gBACF,IAAI,EAAE,UAAU;aACnB;;SACJ,CAAC;QAmBO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAElB,WAAA,MAAM,CAAC,UAAU,CAAC,cAAM,OAAA,mBAAmB,GAAA,CAAC,CAAC,CAAA;QAE7C,WAAA,MAAM,CAAC,UAAU,CAAC,cAAM,OAAA,cAAc,GAAA,CAAC,CAAC,CAAA;QAExC,WAAA,MAAM,CAAC,UAAU,CAAC,cAAM,OAAA,gBAAgB,GAAA,CAAC,CAAC,CAAA;OAxBtC,oBAAoB,CAwChC;IAAD,2BAAC;CAxCD;;;ICMI,0BAGa,SAA6C;QAA7C,cAAS,GAAT,SAAS,CAAoC;QAI1D,YAAO,GAA2C,UAAC,EAAW;gBAAV,wBAAS;YAAM,OAAA,MAAM,CAAC,SAAS,CAAC;SAAA,CAAC;KAHjF;yBAdK,gBAAgB;IAmBzB,sBAAI,sCAAQ;aAAZ;;YACI,oBACI,IAAI,CAAC,SAAS,0CAAE,eAAe,CAAC,IAAI,CAAC,KAAK,oCAC1C,wBAAwB,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EACrD;SACL;;;OAAA;IAED,oCAAS,GAAT;;QACI,MAAA,IAAI,CAAC,IAAI,0CAAE,SAAS,GAAG;QACvB,MAAA,IAAI,CAAC,KAAK,0CAAE,SAAS,GAAG;KAC3B;;;gBAhBuB,wBAAwB,uBAF3C,QAAQ,YACR,MAAM,SAAC,wBAAwB;;IAVpC;QADC,KAAK,EAAE;mDACE;IAGV;QADC,SAAS,CAAC,oBAAoB,CAAC;kDACK;IAGrC;QADC,SAAS,CAAC,kBAAgB,CAAC;mDACS;IASrC;QADC,KAAK,EAAE;qDAC6E;IAjB5E,gBAAgB;QAf5B,SAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;YAC3B,iYAAiC;YAEjC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,aAAa;oBACtB,WAAW,EAAE,kBAAgB;iBAChC;aACJ;YACD,IAAI,EAAE;gBACF,IAAI,EAAE,MAAM;aACf;;SACJ,CAAC;QAYO,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,MAAM,CAAC,wBAAwB,CAAC,CAAA;OAZ5B,gBAAgB,CA8B5B;IAAD,uBAAC;CA9BD;;;ICVA;QAKI,aAAQ,GAAG,IAAI,CAAC;QAIhB,QAAG,GAAoB,IAAI,GAAG,EAAE,CAAC;QAGxB,YAAO,GAAG,IAAI,YAAY,EAAK,CAAC;QAEhC,UAAK,GAAG,IAAI,GAAG,EAA2B,CAAC;KA2BvD;mCAzCY,0BAA0B;IAgBnC,6CAAQ,GAAR,UAAS,IAA0B,EAAE,KAAQ;QACzC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;KAC/B;IAED,+CAAU,GAAV,UAAW,IAA0B;QACjC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;KAC3B;IAED,+CAAU,GAAV,UAAW,IAA0B;;QACjC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEnC,cAAQ,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,mCAAI,IAAI,CAAC,QAAQ,CAAC;KAC1D;IAED,2CAAM,GAAN,UAAO,IAA0B;QAC7B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEvC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,OAAO;SACV;QAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;KAClC;;IAnCD;QAFC,KAAK,CAAC,mBAAmB,CAAC;QAC1B,cAAc,EAAE;gEACD;IAIhB;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;2DACgB;IAGjC;QADC,MAAM,EAAE;+DACgC;IAZhC,0BAA0B;QAdtC,SAAS,CAAC;YACP,QAAQ,EAAE,0BAA0B;YACpC,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,iBAAiB;oBAC1B,WAAW,EAAE,4BAA0B;iBAC1C;gBACD;oBACI,OAAO,EAAE,mBAAmB;oBAC5B,WAAW,EAAE,4BAA0B;iBAC1C;aACJ;SACJ,CAAC;OACW,0BAA0B,CAyCtC;IAAD,iCAAC;CAzCD;;;ICJA;QACqB,QAAG,GAAG,IAAI,OAAO,EAAiC,CAAC;QAIpE,aAAQ,GAAG,IAAI,CAAC;KASnB;uCAdY,8BAA8B;IAOvC,mDAAU,GAAV,UAAW,IAA0B;;QACjC,aAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,IAAI,CAAC,QAAQ,CAAC;KAC9C;IAED,+CAAM,GAAN,UAAO,IAA0B;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;KAC9C;;IARD;QAFC,KAAK,CAAC,mBAAmB,CAAC;QAC1B,cAAc,EAAE;oEACD;IALP,8BAA8B;QAV1C,SAAS,CAAC;YACP,QAAQ,EAAE,gCAAgC;YAC1C,QAAQ,EAAE,mBAAmB;YAC7B,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,mBAAmB;oBAC5B,WAAW,EAAE,gCAA8B;iBAC9C;aACJ;SACJ,CAAC;OACW,8BAA8B,CAc1C;IAAD,qCAAC;CAdD;;;ICFI,8BAGqB,SAA6B,EAE7B,SAA+B;QAF/B,cAAS,GAAT,SAAS,CAAoB;QAE7B,cAAS,GAAT,SAAS,CAAsB;KAChD;IAVJ,sBAAI,uCAAK;aAAT,UAAU,KAAQ;;YACd,MAAA,IAAI,CAAC,SAAS,0CAAE,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE;SACnD;;;OAAA;IAUD,0CAAW,GAAX;;QACI,MAAA,IAAI,CAAC,SAAS,0CAAE,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE;KAC9C;;gDATI,QAAQ,YACR,MAAM,SAAC,iBAAiB;gBAGG,oBAAoB,uBAD/C,MAAM,SAAC,oBAAoB;;IARhC;QADC,KAAK,CAAC,aAAa,CAAC;qDAGpB;IAJQ,oBAAoB;QAHhC,SAAS,CAAC;YACP,QAAQ,EAAE,4BAA4B;SACzC,CAAC;QAQO,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QAEzB,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;OAVxB,oBAAoB,CAiBhC;IAAD,2BAAC;CAjBD;;ACFA;;IAmBI,wBAC+C,OAAU,EACZ,KAAQ,EACP,MAAwB;QAHtE,iBAII;QAH2C,YAAO,GAAP,OAAO,CAAG;QACZ,UAAK,GAAL,KAAK,CAAG;QACP,WAAM,GAAN,MAAM,CAAkB;QAnBrD,QAAG,GAAG,IAAI,GAAG,CAAkB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAErD,UAAK,GAAG,IAAI,OAAO,EAAK,CAAC;QAEjC,UAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC5B,SAAS,CAAC,UAAA,IAAI;YACV,OAAA,KAAI,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,CAC/B,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,KAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAA,CAAC,EAC7C,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,CAAC,KAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAA,CAAC,GAAA,CAAC,EACxE,GAAG,CAAC,UAAA,QAAQ,IAAI,OAAA,QAAQ,CAAC,OAAO,CAAC,UAAA,KAAK,IAAI,OAAA,KAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,GAAA,CAAC,GAAA,CAAC,CACtE;SAAA,CACJ,EACD,SAAS,CAAC,IAAI,CAAC,EACf,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CACpB,CAAC;KAME;IAEJ,oCAAW,GAAX,UAAY,IAAO;;QACf,aAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC/C;IAED,qCAAY,GAAZ,UAAa,IAAO;QAChB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpB,OAAO;SACV;QAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACzB;;gDAhBI,MAAM,SAAC,gBAAgB;gDACvB,MAAM,SAAC,cAAc;gDACrB,MAAM,SAAC,eAAe;;IApBlB,cAAc;QAD1B,UAAU,EAAE;QAmBJ,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QACxB,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;QACtB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;OApBnB,cAAc,CAmC1B;IAAD,qBAAC;CAnCD;;;ICwBA;KAA6B;IAAhB,aAAa;QApBzB,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,CAAC;YAC7E,eAAe,EAAE,CAAC,2BAA2B,CAAC;YAC9C,YAAY,EAAE;gBACV,gBAAgB;gBAChB,oBAAoB;gBACpB,2BAA2B;gBAC3B,wBAAwB;gBACxB,8BAA8B;gBAC9B,0BAA0B;gBAC1B,oBAAoB;aACvB;YACD,OAAO,EAAE;gBACL,gBAAgB;gBAChB,oBAAoB;gBACpB,wBAAwB;gBACxB,8BAA8B;gBAC9B,0BAA0B;aAC7B;SACJ,CAAC;OACW,aAAa,CAAG;IAAD,oBAAC;CAA7B;;ACjCA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-tree.js","sources":["ng://@taiga-ui/kit/components/tree/directives/tree-children.directive.ts","ng://@taiga-ui/kit/components/tree/components/tree-item-content/tree-item-content.component.ts","ng://@taiga-ui/kit/components/tree/misc/tree.constants.ts","ng://@taiga-ui/kit/components/tree/misc/tree.tokens.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.providers.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.component.ts","ng://@taiga-ui/kit/components/tree/components/tree/tree.component.ts","ng://@taiga-ui/kit/components/tree/directives/tree-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-item-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-node.directive.ts","ng://@taiga-ui/kit/components/tree/misc/tree.service.ts","ng://@taiga-ui/kit/components/tree/tree.module.ts","ng://@taiga-ui/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY, tuiDefaultProp, TuiHandler} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildrenDirective<T> {\n @Input()\n @tuiDefaultProp()\n childrenHandler: TuiHandler<T, readonly T[]> =\n TuiTreeChildrenDirective.defaultHandler;\n\n static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n selector: 'tui-tree-item-content',\n templateUrl: 'tree-item-content.template.html',\n styleUrls: ['tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTreeItemContentComponent {\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiTreeItemContext,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n ) {}\n\n get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n onClick() {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","import {ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeItemContentComponent} from '../components/tree-item-content/tree-item-content.component';\nimport {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(\n TuiTreeItemContentComponent,\n);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: ALWAYS_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT} from './tree.constants';\nimport {\n TuiTreeAccessor,\n TuiTreeController,\n TuiTreeItemContext,\n TuiTreeLoader,\n} from './tree.interfaces';\n\nexport const TUI_TREE_ACCESSOR = new InjectionToken<TuiTreeAccessor<any>>(\n 'Controller for tracking value - TuiTreeItemComponent pairs',\n);\n\nexport const TUI_TREE_CONTROLLER = new InjectionToken<TuiTreeController>(\n 'Controller for expanding the tree',\n {\n factory: () => TUI_DEFAULT_TREE_CONTROLLER,\n },\n);\n\nexport const TUI_TREE_NODE = new InjectionToken('A node of a tree view');\n\nexport const TUI_TREE_LOADING = new InjectionToken(\n 'A tree node placeholder for loading',\n {factory: () => ({})},\n);\n\nexport const TUI_TREE_START = new InjectionToken('A tree node starting point');\n\nexport const TUI_TREE_LOADER = new InjectionToken<TuiTreeLoader<any>>(\n 'A service to load tree progressively',\n);\n\nexport const TUI_TREE_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiTreeItemContext>\n>('Content for a tree item', {\n factory: () => TUI_TREE_ITEM_CONTENT,\n});\n\nexport const TUI_TREE_LEVEL = new InjectionToken<number>(\n 'Nesting level of current TreeView node',\n {\n factory: () => -1,\n },\n);\n","import {forwardRef, Provider, SkipSelf} from '@angular/core';\n\nimport {TUI_TREE_LEVEL, TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from './tree-item.component';\n\nexport const TUI_TREE_ITEM_PROVIDERS: Provider[] = [\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: treeLevelFactory,\n },\n {\n provide: TUI_TREE_NODE,\n useExisting: forwardRef(() => TuiTreeItemComponent),\n },\n];\n\nexport function treeLevelFactory(level: number): number {\n return ++level;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {\n TUI_TREE_CONTENT,\n TUI_TREE_CONTROLLER,\n TUI_TREE_LEVEL,\n TUI_TREE_NODE,\n} from '../../misc/tree.tokens';\nimport {TUI_TREE_ITEM_PROVIDERS} from './tree-item.providers';\n\n@Component({\n selector: 'tui-tree-item',\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TREE_ITEM_PROVIDERS,\n host: {\n role: 'treeitem',\n },\n})\nexport class TuiTreeItemComponent implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly change$ = new Subject<void>();\n\n readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n distinctUntilChanged(),\n );\n\n readonly attached$ = this.change$.pipe(\n map(() => this.elementRef.nativeElement.isConnected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n @Inject(forwardRef(() => TUI_TREE_LEVEL))\n readonly level: number,\n @Inject(forwardRef(() => TUI_TREE_CONTENT))\n readonly content: PolymorpheusContent<TuiTreeItemContext>,\n ) {}\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n ngDoCheck() {\n this.change$.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Input,\n Optional,\n ViewChild,\n} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from '../tree-item/tree-item.component';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: 'tree.template.html',\n styleUrls: ['tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @Input()\n value!: T;\n\n @ViewChild(TuiTreeItemComponent)\n readonly item?: TuiTreeItemComponent;\n\n @ViewChild(TuiTreeComponent)\n readonly child?: TuiTreeComponent<T>;\n\n readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n ngDoCheck() {\n this.check$.next();\n this.item?.ngDoCheck();\n this.child?.ngDoCheck();\n }\n\n private get handler(): TuiHandler<T, readonly T[]> {\n return this.directive?.childrenHandler ?? TuiTreeChildrenDirective.defaultHandler;\n }\n}\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {isPresent, tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController][map]',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_ACCESSOR,\n useExisting: TuiTreeControllerDirective,\n },\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeControllerDirective,\n },\n ],\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n @Input()\n @tuiDefaultProp()\n map: Map<T, boolean> = new Map();\n\n @Output()\n readonly toggled = new EventEmitter<T>();\n\n readonly items = new Map<TuiTreeItemComponent, T>();\n\n register(item: TuiTreeItemComponent, value: T) {\n this.items.set(item, value);\n }\n\n unregister(item: TuiTreeItemComponent) {\n this.items.delete(item);\n }\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent) {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!isPresent(value)) {\n return;\n }\n\n this.toggled.emit(value);\n this.map.set(value, !expanded);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController]:not([map])',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeItemControllerDirective,\n },\n ],\n})\nexport class TuiTreeItemControllerDirective implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\n\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent) {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNodeDirective<T> implements OnDestroy {\n @Input('tuiTreeNode')\n set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n constructor(\n @Optional()\n @Inject(TUI_TREE_ACCESSOR)\n private readonly directive: TuiTreeAccessor<T>,\n @Inject(TuiTreeItemComponent)\n private readonly component: TuiTreeItemComponent,\n ) {}\n\n ngOnDestroy() {\n this.directive?.unregister(this.component);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, mapTo, startWith, switchMap, tap} from 'rxjs/operators';\n\nimport {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n// @dynamic\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n\n private readonly load$ = new Subject<T>();\n\n readonly data$ = this.load$.pipe(\n switchMap(item =>\n this.loader.loadChildren(item).pipe(\n tap(children => this.map.set(item, children)),\n map(children => children.filter(item => !this.loader.hasChildren(item))),\n tap(children => children.forEach(child => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n mapTo(this.start),\n );\n\n constructor(\n @Inject(TUI_TREE_LOADING) private readonly loading: T,\n @Inject(TUI_TREE_START) private readonly start: T,\n @Inject(TUI_TREE_LOADER) private readonly loader: TuiTreeLoader<T>,\n ) {}\n\n getChildren(item: T): readonly T[] {\n return this.map.get(item) ?? [this.loading];\n }\n\n loadChildren(item: T) {\n if (this.map.get(item)) {\n return;\n }\n\n this.map.set(item, [this.loading]);\n this.load$.next(item);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildrenDirective} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemControllerDirective} from './directives/tree-item-controller.directive';\nimport {TuiTreeNodeDirective} from './directives/tree-node.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiExpandModule,\n TuiLetModule,\n TuiButtonModule,\n ],\n entryComponents: [TuiTreeItemContentComponent],\n declarations: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeItemContentComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n TuiTreeNodeDirective,\n ],\n exports: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n ],\n})\nexport class TuiTreeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ export * from '@taiga-ui/kit/components/radio-group';
47
47
  export * from '@taiga-ui/kit/components/radio-labeled';
48
48
  export * from '@taiga-ui/kit/components/radio-list';
49
49
  export * from '@taiga-ui/kit/components/range';
50
+ export * from '@taiga-ui/kit/components/rating';
50
51
  export * from '@taiga-ui/kit/components/select';
51
52
  export * from '@taiga-ui/kit/components/select-option';
52
53
  export * from '@taiga-ui/kit/components/slider';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components.js","sources":["ng://@taiga-ui/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components.js","sources":["ng://@taiga-ui/kit/components/taiga-ui-kit-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;"}
@@ -49,6 +49,10 @@ var TUI_TIME_MASK = [
49
49
  TUI_DIGIT_REGEXP,
50
50
  TUI_DIGIT_REGEXP,
51
51
  ];
52
+ /**
53
+ * @deprecated use {@link tuiCreateDateMask} (from '@taiga-ui/kit') instead
54
+ * TODO remove in 3.0
55
+ */
52
56
  var TUI_DATE_MASK = [
53
57
  TUI_DIGIT_REGEXP,
54
58
  TUI_DIGIT_REGEXP,
@@ -61,6 +65,10 @@ var TUI_DATE_MASK = [
61
65
  TUI_DIGIT_REGEXP,
62
66
  TUI_DIGIT_REGEXP,
63
67
  ];
68
+ /**
69
+ * @deprecated use {@link tuiCreateDateRangeMask} (from '@taiga-ui/kit') instead
70
+ * TODO remove in 3.0
71
+ */
64
72
  var TUI_DATE_RANGE_MASK = __spread(TUI_DATE_MASK, [
65
73
  CHAR_NO_BREAK_SPACE,
66
74
  CHAR_EN_DASH,
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-constants.js","sources":["ng://@taiga-ui/kit/constants/date-time-separator.ts","ng://@taiga-ui/kit/constants/empty-mask.ts","ng://@taiga-ui/kit/constants/group-class-names.ts","ng://@taiga-ui/kit/constants/icon-blank.ts","ng://@taiga-ui/kit/constants/masks.ts","ng://@taiga-ui/kit/constants/math.ts","ng://@taiga-ui/kit/constants/max-day-range-length-mapper.ts","ng://@taiga-ui/kit/constants/router-link-options.ts","ng://@taiga-ui/kit/constants/taiga-ui-kit-constants.ts"],"sourcesContent":["export const DATE_TIME_SEPARATOR = ', ';\n","import {TuiTextMaskOptions} from '@taiga-ui/core';\n\nexport const EMPTY_MASK: TuiTextMaskOptions = {\n mask(): false {\n return false;\n },\n};\n","export const GROUP_CLASS_NAMES = [\n '_active',\n '_disabled',\n '_focused',\n '_focus-visible',\n '_hosted_dropdown_focused',\n 'ng-invalid',\n 'ng-touched',\n '_pressed',\n '_readonly',\n];\n","export const iconBlank = '<svg></svg>';\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nexport const TUI_PHONE_MASK: TuiTextMaskList = [\n '+',\n '7',\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '-',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '-',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\nexport const TUI_TIME_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ':',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\nexport const TUI_DATE_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '.',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '.',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\nexport const TUI_DATE_RANGE_MASK: TuiTextMaskList = [\n ...TUI_DATE_MASK,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...TUI_DATE_MASK,\n];\n","/**\n * Used as a limit for eliminating JS issues with floating point math\n */\nexport const TUI_FLOATING_PRECISION = 7;\n","import {TuiDay, TuiDayLike, TuiDayRange, TuiMapper} from '@taiga-ui/cdk';\n\nexport const MAX_DAY_RANGE_LENGTH_MAPPER: TuiMapper<TuiDay, TuiDay> = (\n min,\n value: TuiDayRange,\n maxLength: TuiDayLike | null,\n backwards: boolean,\n) => {\n if (!value || !value.isSingleDay || !maxLength) {\n return min;\n }\n\n const dateShift = value.from\n .append(maxLength, backwards)\n .append({day: 1}, !backwards);\n\n if (backwards) {\n return dateShift.dayBefore(min) ? min : dateShift;\n }\n\n if (!min) {\n return dateShift;\n }\n\n return dateShift.dayAfter(min) ? min : dateShift;\n};\n","export const DEFAULT_ROUTER_LINK_OPTIONS = {\n fragment: '',\n preserveFragment: true,\n replaceUrl: false,\n skipLocationChange: false,\n queryParams: null,\n useHref: false,\n target: null,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAAa,mBAAmB,GAAG;;ICEtB,UAAU,GAAuB;IAC1C,IAAI,EAAJ;QACI,OAAO,KAAK,CAAC;KAChB;;;ICLQ,iBAAiB,GAAG;IAC7B,SAAS;IACT,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,0BAA0B;IAC1B,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;;;ICTF,SAAS,GAAG;;ICGZ,cAAc,GAAoB;IAC3C,GAAG;IACH,GAAG;IACH,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;EAClB;IACW,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;EAClB;IACW,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;EAClB;IACW,mBAAmB,YACzB,aAAa;IAChB,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;GAChB,aAAa;;AC7CpB;;;IAGa,sBAAsB,GAAG;;ICDzB,2BAA2B,GAA8B,UAClE,GAAG,EACH,KAAkB,EAClB,SAA4B,EAC5B,SAAkB;IAElB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;QAC5C,OAAO,GAAG,CAAC;KACd;IAED,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI;SACvB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;SAC5B,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAElC,IAAI,SAAS,EAAE;QACX,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;KACrD;IAED,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;AACrD;;ICzBa,2BAA2B,GAAG;IACvC,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,KAAK;IACjB,kBAAkB,EAAE,KAAK;IACzB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;;;ACPhB;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-constants.js","sources":["ng://@taiga-ui/kit/constants/date-time-separator.ts","ng://@taiga-ui/kit/constants/empty-mask.ts","ng://@taiga-ui/kit/constants/group-class-names.ts","ng://@taiga-ui/kit/constants/icon-blank.ts","ng://@taiga-ui/kit/constants/masks.ts","ng://@taiga-ui/kit/constants/math.ts","ng://@taiga-ui/kit/constants/max-day-range-length-mapper.ts","ng://@taiga-ui/kit/constants/router-link-options.ts","ng://@taiga-ui/kit/constants/taiga-ui-kit-constants.ts"],"sourcesContent":["export const DATE_TIME_SEPARATOR = ', ';\n","import {TuiTextMaskOptions} from '@taiga-ui/core';\n\nexport const EMPTY_MASK: TuiTextMaskOptions = {\n mask(): false {\n return false;\n },\n};\n","export const GROUP_CLASS_NAMES = [\n '_active',\n '_disabled',\n '_focused',\n '_focus-visible',\n '_hosted_dropdown_focused',\n 'ng-invalid',\n 'ng-touched',\n '_pressed',\n '_readonly',\n];\n","export const iconBlank = '<svg></svg>';\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nexport const TUI_PHONE_MASK: TuiTextMaskList = [\n '+',\n '7',\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '-',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '-',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\nexport const TUI_TIME_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ':',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\n\n/**\n * @deprecated use {@link tuiCreateDateMask} (from '@taiga-ui/kit') instead\n * TODO remove in 3.0\n */\nexport const TUI_DATE_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '.',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '.',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\n/**\n * @deprecated use {@link tuiCreateDateRangeMask} (from '@taiga-ui/kit') instead\n * TODO remove in 3.0\n */\nexport const TUI_DATE_RANGE_MASK: TuiTextMaskList = [\n ...TUI_DATE_MASK,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...TUI_DATE_MASK,\n];\n","/**\n * Used as a limit for eliminating JS issues with floating point math\n */\nexport const TUI_FLOATING_PRECISION = 7;\n","import {TuiDay, TuiDayLike, TuiDayRange, TuiMapper} from '@taiga-ui/cdk';\n\nexport const MAX_DAY_RANGE_LENGTH_MAPPER: TuiMapper<TuiDay, TuiDay> = (\n min,\n value: TuiDayRange,\n maxLength: TuiDayLike | null,\n backwards: boolean,\n) => {\n if (!value || !value.isSingleDay || !maxLength) {\n return min;\n }\n\n const dateShift = value.from\n .append(maxLength, backwards)\n .append({day: 1}, !backwards);\n\n if (backwards) {\n return dateShift.dayBefore(min) ? min : dateShift;\n }\n\n if (!min) {\n return dateShift;\n }\n\n return dateShift.dayAfter(min) ? min : dateShift;\n};\n","export const DEFAULT_ROUTER_LINK_OPTIONS = {\n fragment: '',\n preserveFragment: true,\n replaceUrl: false,\n skipLocationChange: false,\n queryParams: null,\n useHref: false,\n target: null,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAAa,mBAAmB,GAAG;;ICEtB,UAAU,GAAuB;IAC1C,IAAI,EAAJ;QACI,OAAO,KAAK,CAAC;KAChB;;;ICLQ,iBAAiB,GAAG;IAC7B,SAAS;IACT,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,0BAA0B;IAC1B,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;;;ICTF,SAAS,GAAG;;ICGZ,cAAc,GAAoB;IAC3C,GAAG;IACH,GAAG;IACH,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;EAClB;IACW,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;EAClB;AAEF;;;;IAIa,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;EAClB;AACF;;;;IAIa,mBAAmB,YACzB,aAAa;IAChB,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;GAChB,aAAa;;ACtDpB;;;IAGa,sBAAsB,GAAG;;ICDzB,2BAA2B,GAA8B,UAClE,GAAG,EACH,KAAkB,EAClB,SAA4B,EAC5B,SAAkB;IAElB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;QAC5C,OAAO,GAAG,CAAC;KACd;IAED,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI;SACvB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;SAC5B,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAElC,IAAI,SAAS,EAAE;QACX,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;KACrD;IAED,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;AACrD;;ICzBa,2BAA2B,GAAG;IACvC,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,KAAK;IACjB,kBAAkB,EAAE,KAAK;IACzB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;;;ACPhB;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-lazy-loading.js","sources":["ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.service.ts","ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.directive.ts","ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.module.ts","ng://@taiga-ui/kit/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.ts"],"sourcesContent":["import {ChangeDetectorRef, Inject, Injectable} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiDestroyService, watch} from '@taiga-ui/cdk';\nimport {Observable, of, Subject} from 'rxjs';\nimport {catchError, filter, mapTo, switchMap, take, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiLazyLoadingService extends Observable<string> {\n private src$ = new Subject<string>();\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(IntersectionObserverService)\n intersections$: Observable<IntersectionObserverEntry[]>,\n ) {\n super(subscriber =>\n this.src$\n .pipe(\n switchMap(src =>\n intersections$.pipe(\n filter(([{isIntersecting}]) => isIntersecting),\n mapTo(src),\n catchError(() => of(src)),\n watch(changeDetectorRef),\n take(1),\n ),\n ),\n takeUntil(destroy$),\n )\n .subscribe(subscriber),\n );\n }\n\n next(src: string) {\n this.src$.next(src);\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\n\nimport {TuiLazyLoadingService} from './lazy-loading.service';\n\n@Directive({\n selector: 'img[loading=\"lazy\"]',\n providers: [TuiLazyLoadingService, IntersectionObserverService, TuiDestroyService],\n})\nexport class TuiLazyLoadingDirective {\n @Input('src')\n set srcSetter(src: string) {\n this.src = this.supported ? src : null;\n this.src$.next(src);\n }\n\n @HostBinding('style.animation')\n animation = 'tuiSkeletonVibe ease-in-out 1s infinite alternate';\n\n @HostBinding('style.background')\n background = 'rgba(0, 0, 0, .16)';\n\n @HostBinding('attr.src')\n src: string | null = null;\n\n constructor(\n @Inject(TuiLazyLoadingService)\n private readonly src$: TuiLazyLoadingService,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLImageElement>,\n ) {\n if (!this.supported) {\n this.src$.subscribe(src => {\n this.src = src;\n });\n }\n }\n\n private get supported() {\n return 'loading' in this.elementRef.nativeElement;\n }\n\n @HostListener('load')\n onLoad() {\n this.background = '';\n this.animation = '';\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiLazyLoadingDirective} from './lazy-loading.directive';\n\n@NgModule({\n declarations: [TuiLazyLoadingDirective],\n exports: [TuiLazyLoadingDirective],\n})\nexport class TuiLazyLoadingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {TuiLazyLoadingService as ɵa} from './lazy-loading.service';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-lazy-loading.js","sources":["ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.service.ts","ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.directive.ts","ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.module.ts","ng://@taiga-ui/kit/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.ts"],"sourcesContent":["import {ChangeDetectorRef, Inject, Injectable} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiDestroyService, watch} from '@taiga-ui/cdk';\nimport {Observable, of, Subject} from 'rxjs';\nimport {catchError, filter, mapTo, switchMap, take, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiLazyLoadingService extends Observable<string> {\n private readonly src$ = new Subject<string>();\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(IntersectionObserverService)\n intersections$: Observable<IntersectionObserverEntry[]>,\n ) {\n super(subscriber =>\n this.src$\n .pipe(\n switchMap(src =>\n intersections$.pipe(\n filter(([{isIntersecting}]) => isIntersecting),\n mapTo(src),\n catchError(() => of(src)),\n watch(changeDetectorRef),\n take(1),\n ),\n ),\n takeUntil(destroy$),\n )\n .subscribe(subscriber),\n );\n }\n\n next(src: string) {\n this.src$.next(src);\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\n\nimport {TuiLazyLoadingService} from './lazy-loading.service';\n\n@Directive({\n selector: 'img[loading=\"lazy\"]',\n providers: [TuiLazyLoadingService, IntersectionObserverService, TuiDestroyService],\n})\nexport class TuiLazyLoadingDirective {\n @Input('src')\n set srcSetter(src: string) {\n this.src = this.supported ? src : null;\n this.src$.next(src);\n }\n\n @HostBinding('style.animation')\n animation = 'tuiSkeletonVibe ease-in-out 1s infinite alternate';\n\n @HostBinding('style.background')\n background = 'rgba(0, 0, 0, .16)';\n\n @HostBinding('attr.src')\n src: string | null = null;\n\n constructor(\n @Inject(TuiLazyLoadingService)\n private readonly src$: TuiLazyLoadingService,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLImageElement>,\n ) {\n if (!this.supported) {\n this.src$.subscribe(src => {\n this.src = src;\n });\n }\n }\n\n private get supported() {\n return 'loading' in this.elementRef.nativeElement;\n }\n\n @HostListener('load')\n onLoad() {\n this.background = '';\n this.animation = '';\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiLazyLoadingDirective} from './lazy-loading.directive';\n\n@NgModule({\n declarations: [TuiLazyLoadingDirective],\n exports: [TuiLazyLoadingDirective],\n})\nexport class TuiLazyLoadingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {TuiLazyLoadingService as ɵa} from './lazy-loading.service';"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-pipes-stringify.js","sources":["ng://@taiga-ui/kit/pipes/stringify/stringify.pipe.ts","ng://@taiga-ui/kit/pipes/stringify/stringify.module.ts","ng://@taiga-ui/kit/pipes/stringify/taiga-ui-kit-pipes-stringify.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\n\n@Pipe({\n name: 'tuiStringify',\n})\nexport class TuiStringifyPipe implements PipeTransform {\n public transform<K extends string>(\n key: K,\n ): TuiStringHandler<Readonly<Record<K, unknown> & Record<any, any>>> {\n return value => String(value[key] ?? '');\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiStringifyPipe} from './stringify.pipe';\n\n@NgModule({\n declarations: [TuiStringifyPipe],\n exports: [TuiStringifyPipe],\n})\nexport class TuiStringifyPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAMA;KAMC;IALU,oCAAS,GAAhB,UACI,GAAM;QAEN,OAAO,UAAA,KAAK,YAAI,OAAA,MAAM,OAAC,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;KAC5C;IALQ,gBAAgB;QAH5B,IAAI,CAAC;YACF,IAAI,EAAE,cAAc;SACvB,CAAC;OACW,gBAAgB,CAM5B;IAAD,uBAAC;CAND;;;ICEA;KAAsC;IAAzB,sBAAsB;QAJlC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;YAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;OACW,sBAAsB,CAAG;IAAD,6BAAC;CAAtC;;ACRA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-pipes-stringify.js","sources":["ng://@taiga-ui/kit/pipes/stringify/stringify.pipe.ts","ng://@taiga-ui/kit/pipes/stringify/stringify.module.ts","ng://@taiga-ui/kit/pipes/stringify/taiga-ui-kit-pipes-stringify.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\n\n@Pipe({\n name: 'tuiStringify',\n})\nexport class TuiStringifyPipe implements PipeTransform {\n transform<K extends string>(\n key: K,\n ): TuiStringHandler<Readonly<Record<K, unknown> & Record<any, any>>> {\n return value => String(value[key] ?? '');\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiStringifyPipe} from './stringify.pipe';\n\n@NgModule({\n declarations: [TuiStringifyPipe],\n exports: [TuiStringifyPipe],\n})\nexport class TuiStringifyPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAMA;KAMC;IALG,oCAAS,GAAT,UACI,GAAM;QAEN,OAAO,UAAA,KAAK,YAAI,OAAA,MAAM,OAAC,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;KAC5C;IALQ,gBAAgB;QAH5B,IAAI,CAAC;YACF,IAAI,EAAE,cAAc;SACvB,CAAC;OACW,gBAAgB,CAM5B;IAAD,uBAAC;CAND;;;ICEA;KAAsC;IAAzB,sBAAsB;QAJlC,QAAQ,CAAC;YACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;YAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;SAC9B,CAAC;OACW,sBAAsB,CAAG;IAAD,6BAAC;CAAtC;;ACRA;;;;;;"}
@@ -3,6 +3,10 @@ import { extractI18n } from '@taiga-ui/i18n';
3
3
 
4
4
  var TUI_CALENDAR_DATA_STREAM = new InjectionToken('Stream that emits calendar data change');
5
5
 
6
+ var TUI_DATE_VALUE_TRANSFORMER = new InjectionToken('Control value transformer of TuiDay to custom value format for InputDate* components');
7
+ var TUI_DATE_RANGE_VALUE_TRANSFORMER = new InjectionToken('Control value transformer for InputDateRange component');
8
+ var TUI_DATE_TIME_VALUE_TRANSFORMER = new InjectionToken('Control value transformer for InputDateTime component');
9
+
6
10
  var TUI_CANCEL_WORD = new InjectionToken("i18n 'cancel' word", {
7
11
  factory: extractI18n('cancel'),
8
12
  });
@@ -73,5 +77,5 @@ var TUI_VALIDATION_ERRORS = new InjectionToken('Validation errors', {
73
77
  * Generated bundle index. Do not edit.
74
78
  */
75
79
 
76
- export { TUI_CALENDAR_DATA_STREAM, TUI_CALENDAR_MONTHS, TUI_CANCEL_WORD, TUI_CHOOSE_DAY_OR_RANGE_TEXTS, TUI_COPY_TEXTS, TUI_COUNTRIES, TUI_DATE_TEXTS, TUI_DIGITAL_INFORMATION_UNITS, TUI_DONE_WORD, TUI_FILE_TEXTS, TUI_FROM_TO_TEXTS, TUI_INPUT_FILE_TEXTS, TUI_MOBILE_AWARE, TUI_MOBILE_CALENDAR, TUI_MORE_WORD, TUI_OTHER_DATE_TEXT, TUI_PAGINATION_TEXTS, TUI_PASSWORD_TEXTS, TUI_PLUS_MINUS_TEXTS, TUI_TAG_STATUS, TUI_TIME_TEXTS, TUI_VALIDATION_ERRORS };
80
+ export { TUI_CALENDAR_DATA_STREAM, TUI_CALENDAR_MONTHS, TUI_CANCEL_WORD, TUI_CHOOSE_DAY_OR_RANGE_TEXTS, TUI_COPY_TEXTS, TUI_COUNTRIES, TUI_DATE_RANGE_VALUE_TRANSFORMER, TUI_DATE_TEXTS, TUI_DATE_TIME_VALUE_TRANSFORMER, TUI_DATE_VALUE_TRANSFORMER, TUI_DIGITAL_INFORMATION_UNITS, TUI_DONE_WORD, TUI_FILE_TEXTS, TUI_FROM_TO_TEXTS, TUI_INPUT_FILE_TEXTS, TUI_MOBILE_AWARE, TUI_MOBILE_CALENDAR, TUI_MORE_WORD, TUI_OTHER_DATE_TEXT, TUI_PAGINATION_TEXTS, TUI_PASSWORD_TEXTS, TUI_PLUS_MINUS_TEXTS, TUI_TAG_STATUS, TUI_TIME_TEXTS, TUI_VALIDATION_ERRORS };
77
81
  //# sourceMappingURL=taiga-ui-kit-tokens.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-tokens.js","sources":["ng://@taiga-ui/kit/tokens/calendar-data-stream.ts","ng://@taiga-ui/kit/tokens/i18n.ts","ng://@taiga-ui/kit/tokens/mobile-aware.ts","ng://@taiga-ui/kit/tokens/mobile-calendar.ts","ng://@taiga-ui/kit/tokens/tag-status.ts","ng://@taiga-ui/kit/tokens/validation-errors.ts","ng://@taiga-ui/kit/tokens/taiga-ui-kit-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CALENDAR_DATA_STREAM = new InjectionToken<\n Observable<TuiDay | TuiDayRange | null>\n>('Stream that emits calendar data change');\n","import {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk';\nimport {extractI18n, TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CANCEL_WORD = new InjectionToken(`i18n 'cancel' word`, {\n factory: extractI18n('cancel'),\n});\n\nexport const TUI_DONE_WORD = new InjectionToken(`i18n 'done' word`, {\n factory: extractI18n('done'),\n});\n\nexport const TUI_MORE_WORD = new InjectionToken(`i18n 'more' word`, {\n factory: extractI18n('more'),\n});\n\nexport const TUI_OTHER_DATE_TEXT = new InjectionToken(`i18n 'Other date' text`, {\n factory: extractI18n('otherDate'),\n});\n\nexport const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = new InjectionToken(\n `choose day or range i18n texts`,\n {\n factory: extractI18n('mobileCalendarTexts'),\n },\n);\n\nexport const TUI_FROM_TO_TEXTS = new InjectionToken(`from and to i18n texts`, {\n factory: extractI18n('range'),\n});\n\nexport const TUI_PLUS_MINUS_TEXTS = new InjectionToken(`plus and minus i18n texts`, {\n factory: extractI18n('countTexts'),\n});\n\nexport const TUI_TIME_TEXTS = new InjectionToken(`time i18n texts`, {\n factory: extractI18n('time'),\n});\n\nexport const TUI_DATE_TEXTS = new InjectionToken<Observable<Record<TuiDateMode, string>>>(\n 'date format i18n texts',\n {\n factory: extractI18n('dateTexts'),\n },\n);\n\nexport const TUI_DIGITAL_INFORMATION_UNITS = new InjectionToken(\n `short bytes, kilobytes and megabytes i18n texts`,\n {\n factory: extractI18n('digitalInformationUnits'),\n },\n);\n\nexport const TUI_COPY_TEXTS = new InjectionToken('copy i18n texts', {\n factory: extractI18n('copyTexts'),\n});\n\nexport const TUI_PASSWORD_TEXTS = new InjectionToken('password i18n texts', {\n factory: extractI18n('passwordTexts'),\n});\n\nexport const TUI_CALENDAR_MONTHS = new InjectionToken('short calendar months i18n', {\n factory: extractI18n('shortCalendarMonths'),\n});\n\nexport const TUI_FILE_TEXTS = new InjectionToken('file i18n texts', {\n factory: extractI18n('fileTexts'),\n});\n\nexport const TUI_PAGINATION_TEXTS = new InjectionToken('pagination i18n texts', {\n factory: extractI18n('paginationTexts'),\n});\n\nexport const TUI_INPUT_FILE_TEXTS = new InjectionToken('tui-input-file i18n texts', {\n factory: extractI18n('inputFileTexts'),\n});\n\nexport const TUI_COUNTRIES: InjectionToken<\n Observable<Record<TuiCountryIsoCode, string>>\n> = new InjectionToken('Localized countries names', {\n factory: extractI18n('countries'),\n});\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_MOBILE_AWARE = new InjectionToken<boolean>(\n 'A flag enabling mobile-specific behavior for supporting components',\n {\n factory: () => false,\n },\n);\n","import {InjectionToken, Type} from '@angular/core';\n\nexport const TUI_MOBILE_CALENDAR = new InjectionToken<Type<any>>(\n 'A component for mobile data picker',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStatus} from '@taiga-ui/kit/enums';\n\nexport const TUI_TAG_STATUS = new InjectionToken<TuiStatus>(\n 'Status for tags inside InputTag component',\n {\n factory: () => TuiStatus.Primary,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_VALIDATION_ERRORS = new InjectionToken<\n Record<string, PolymorpheusContent>\n>('Validation errors', {\n factory: () => ({}),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;IAIa,wBAAwB,GAAG,IAAI,cAAc,CAExD,wCAAwC;;ICD7B,eAAe,GAAG,IAAI,cAAc,CAAC,oBAAoB,EAAE;IACpE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;CACjC,EAAE;IAEU,aAAa,GAAG,IAAI,cAAc,CAAC,kBAAkB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;IAEU,aAAa,GAAG,IAAI,cAAc,CAAC,kBAAkB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;IAEU,mBAAmB,GAAG,IAAI,cAAc,CAAC,wBAAwB,EAAE;IAC5E,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;IAEU,6BAA6B,GAAG,IAAI,cAAc,CAC3D,gCAAgC,EAChC;IACI,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC;CAC9C,EACH;IAEW,iBAAiB,GAAG,IAAI,cAAc,CAAC,wBAAwB,EAAE;IAC1E,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAChC,EAAE;IAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;CACrC,EAAE;IAEU,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;IAEU,cAAc,GAAG,IAAI,cAAc,CAC5C,wBAAwB,EACxB;IACI,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EACH;IAEW,6BAA6B,GAAG,IAAI,cAAc,CAC3D,iDAAiD,EACjD;IACI,OAAO,EAAE,WAAW,CAAC,yBAAyB,CAAC;CAClD,EACH;IAEW,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;IAEU,kBAAkB,GAAG,IAAI,cAAc,CAAC,qBAAqB,EAAE;IACxE,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC;CACxC,EAAE;IAEU,mBAAmB,GAAG,IAAI,cAAc,CAAC,4BAA4B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC;CAC9C,EAAE;IAEU,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;IAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,uBAAuB,EAAE;IAC5E,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC;CAC1C,EAAE;IAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;CACzC,EAAE;IAEU,aAAa,GAEtB,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChD,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC;;IChFY,gBAAgB,GAAG,IAAI,cAAc,CAC9C,oEAAoE,EACpE;IACI,OAAO,EAAE,cAAM,OAAA,KAAK,GAAA;CACvB;;ICJQ,mBAAmB,GAAG,IAAI,cAAc,CACjD,oCAAoC;;ICA3B,cAAc,GAAG,IAAI,cAAc,CAC5C,2CAA2C,EAC3C;IACI,OAAO,EAAE,cAAM,iCAAiB;CACnC;;ICJQ,qBAAqB,GAAG,IAAI,cAAc,CAErD,mBAAmB,EAAE;IACnB,OAAO,EAAE,cAAM,QAAC,EAAE,IAAC;CACtB;;ACPD;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-tokens.js","sources":["ng://@taiga-ui/kit/tokens/calendar-data-stream.ts","ng://@taiga-ui/kit/tokens/date-inputs-value-transformers.ts","ng://@taiga-ui/kit/tokens/i18n.ts","ng://@taiga-ui/kit/tokens/mobile-aware.ts","ng://@taiga-ui/kit/tokens/mobile-calendar.ts","ng://@taiga-ui/kit/tokens/tag-status.ts","ng://@taiga-ui/kit/tokens/validation-errors.ts","ng://@taiga-ui/kit/tokens/taiga-ui-kit-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CALENDAR_DATA_STREAM = new InjectionToken<\n Observable<TuiDay | TuiDayRange | null>\n>('Stream that emits calendar data change');\n","import {InjectionToken} from '@angular/core';\nimport {TuiControlValueTransformer, TuiDay, TuiDayRange, TuiTime} from '@taiga-ui/cdk';\n\nexport const TUI_DATE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDay | null>\n>('Control value transformer of TuiDay to custom value format for InputDate* components');\n\nexport const TUI_DATE_RANGE_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<TuiDayRange | null>\n>('Control value transformer for InputDateRange component');\n\nexport const TUI_DATE_TIME_VALUE_TRANSFORMER = new InjectionToken<\n TuiControlValueTransformer<[TuiDay | null, TuiTime | null]>\n>('Control value transformer for InputDateTime component');\n","import {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk';\nimport {extractI18n, TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CANCEL_WORD = new InjectionToken(`i18n 'cancel' word`, {\n factory: extractI18n('cancel'),\n});\n\nexport const TUI_DONE_WORD = new InjectionToken(`i18n 'done' word`, {\n factory: extractI18n('done'),\n});\n\nexport const TUI_MORE_WORD = new InjectionToken(`i18n 'more' word`, {\n factory: extractI18n('more'),\n});\n\nexport const TUI_OTHER_DATE_TEXT = new InjectionToken(`i18n 'Other date' text`, {\n factory: extractI18n('otherDate'),\n});\n\nexport const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = new InjectionToken(\n `choose day or range i18n texts`,\n {\n factory: extractI18n('mobileCalendarTexts'),\n },\n);\n\nexport const TUI_FROM_TO_TEXTS = new InjectionToken(`from and to i18n texts`, {\n factory: extractI18n('range'),\n});\n\nexport const TUI_PLUS_MINUS_TEXTS = new InjectionToken(`plus and minus i18n texts`, {\n factory: extractI18n('countTexts'),\n});\n\nexport const TUI_TIME_TEXTS = new InjectionToken(`time i18n texts`, {\n factory: extractI18n('time'),\n});\n\nexport const TUI_DATE_TEXTS = new InjectionToken<Observable<Record<TuiDateMode, string>>>(\n 'date format i18n texts',\n {\n factory: extractI18n('dateTexts'),\n },\n);\n\nexport const TUI_DIGITAL_INFORMATION_UNITS = new InjectionToken(\n `short bytes, kilobytes and megabytes i18n texts`,\n {\n factory: extractI18n('digitalInformationUnits'),\n },\n);\n\nexport const TUI_COPY_TEXTS = new InjectionToken('copy i18n texts', {\n factory: extractI18n('copyTexts'),\n});\n\nexport const TUI_PASSWORD_TEXTS = new InjectionToken('password i18n texts', {\n factory: extractI18n('passwordTexts'),\n});\n\nexport const TUI_CALENDAR_MONTHS = new InjectionToken('short calendar months i18n', {\n factory: extractI18n('shortCalendarMonths'),\n});\n\nexport const TUI_FILE_TEXTS = new InjectionToken('file i18n texts', {\n factory: extractI18n('fileTexts'),\n});\n\nexport const TUI_PAGINATION_TEXTS = new InjectionToken('pagination i18n texts', {\n factory: extractI18n('paginationTexts'),\n});\n\nexport const TUI_INPUT_FILE_TEXTS = new InjectionToken('tui-input-file i18n texts', {\n factory: extractI18n('inputFileTexts'),\n});\n\nexport const TUI_COUNTRIES: InjectionToken<\n Observable<Record<TuiCountryIsoCode, string>>\n> = new InjectionToken('Localized countries names', {\n factory: extractI18n('countries'),\n});\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_MOBILE_AWARE = new InjectionToken<boolean>(\n 'A flag enabling mobile-specific behavior for supporting components',\n {\n factory: () => false,\n },\n);\n","import {InjectionToken, Type} from '@angular/core';\n\nexport const TUI_MOBILE_CALENDAR = new InjectionToken<Type<any>>(\n 'A component for mobile data picker',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStatus} from '@taiga-ui/kit/enums';\n\nexport const TUI_TAG_STATUS = new InjectionToken<TuiStatus>(\n 'Status for tags inside InputTag component',\n {\n factory: () => TuiStatus.Primary,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nexport const TUI_VALIDATION_ERRORS = new InjectionToken<\n Record<string, PolymorpheusContent | Observable<PolymorpheusContent>>\n>('Validation errors', {\n factory: () => ({}),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,15 @@
1
- import { TuiDay, DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH, TuiDayRange, RANGE_SEPARATOR_CHAR } from '@taiga-ui/cdk';
1
+ import { TuiDay, DATE_FILLER_LENGTH, DATE_RANGE_FILLER_LENGTH, TuiDayRange, RANGE_SEPARATOR_CHAR, tuiAssert, CHAR_NO_BREAK_SPACE, CHAR_EN_DASH } from '@taiga-ui/cdk';
2
2
  import { __read, __spread } from 'tslib';
3
3
  import { DATE_TIME_SEPARATOR, TUI_TIME_MASK } from '@taiga-ui/kit/constants';
4
4
  import { TUI_DIGIT_REGEXP } from '@taiga-ui/core';
5
5
 
6
6
  function normalizeDateValue(dateValue, _a) {
7
- var value = _a.value, min = _a.min, max = _a.max;
8
- return value && value.toString() === dateValue
7
+ var value = _a.value, min = _a.min, max = _a.max, dateFormat = _a.dateFormat, dateSeparator = _a.dateSeparator;
8
+ return value && value.toString(dateFormat, dateSeparator) === dateValue
9
9
  ? dateValue
10
- : TuiDay.normalizeParse(dateValue).dayLimit(min, max).toString();
10
+ : TuiDay.normalizeParse(dateValue, dateFormat)
11
+ .dayLimit(min, max)
12
+ .toString(dateFormat, dateSeparator);
11
13
  }
12
14
  function tuiCreateAutoCorrectedDatePipe(config) {
13
15
  return function (value) {
@@ -21,18 +23,21 @@ function tuiCreateAutoCorrectedDatePipe(config) {
21
23
  }
22
24
 
23
25
  function parseWithLimit(value, config) {
24
- return TuiDay.normalizeParse(value.slice(0, DATE_FILLER_LENGTH)).dayLimit(config.min, config.max);
26
+ return TuiDay.normalizeParse(value.slice(0, DATE_FILLER_LENGTH), config.dateFormat).dayLimit(config.min, config.max);
25
27
  }
26
28
  function processRawValue(value, config) {
29
+ var dateFormat = config.dateFormat, dateSeparator = config.dateSeparator;
27
30
  switch (value.length) {
28
31
  case DATE_FILLER_LENGTH:
29
- return parseWithLimit(value, config).toString();
32
+ return parseWithLimit(value, config).toString(dateFormat, dateSeparator);
30
33
  case DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length:
31
- return parseWithLimit(value, config).toString() + RANGE_SEPARATOR_CHAR;
34
+ return (parseWithLimit(value, config).toString(dateFormat, dateSeparator) +
35
+ RANGE_SEPARATOR_CHAR);
32
36
  case DATE_RANGE_FILLER_LENGTH:
33
- return config.value && config.value.toString() === value
37
+ return config.value &&
38
+ config.value.toString(dateFormat, dateSeparator) === value
34
39
  ? value
35
- : TuiDayRange.sort(parseWithLimit(value.slice(0, DATE_FILLER_LENGTH), config), parseWithLimit(value.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length), config)).toString();
40
+ : TuiDayRange.sort(parseWithLimit(value.slice(0, DATE_FILLER_LENGTH), config), parseWithLimit(value.slice(DATE_FILLER_LENGTH + RANGE_SEPARATOR_CHAR.length), config)).toString(dateFormat, dateSeparator);
36
41
  default:
37
42
  return value;
38
43
  }
@@ -56,7 +61,7 @@ function tuiCreateAutoCorrectedDateRangePipe(config) {
56
61
  }
57
62
 
58
63
  /**
59
- * Adjusts the entered time by omitting only suitable values ​​for hours and minutes
64
+ * Adjusts the entered time by omitting only suitable values for hours and minutes
60
65
  * @returns time as a string
61
66
  */
62
67
  function tuiCreateAutoCorrectedTimePipe(timeMode) {
@@ -88,14 +93,14 @@ function tuiCreateAutoCorrectedTimePipe(timeMode) {
88
93
  };
89
94
  }
90
95
 
91
- function tuiCreateAutoCorrectedDateTimePipe(config, timeMode) {
92
- var timePipe = tuiCreateAutoCorrectedTimePipe(timeMode);
96
+ function tuiCreateAutoCorrectedDateTimePipe(configs) {
97
+ var timePipe = tuiCreateAutoCorrectedTimePipe(configs.timeMode);
93
98
  return function (value) {
94
99
  if (value.length < DATE_FILLER_LENGTH) {
95
100
  return { value: value };
96
101
  }
97
102
  var _a = __read(value.split(DATE_TIME_SEPARATOR), 2), date = _a[0], time = _a[1];
98
- var formattedDate = normalizeDateValue(date, config);
103
+ var formattedDate = normalizeDateValue(date, configs);
99
104
  if (!time) {
100
105
  return { value: formattedDate };
101
106
  }
@@ -105,13 +110,37 @@ function tuiCreateAutoCorrectedDateTimePipe(config, timeMode) {
105
110
  }
106
111
  return {
107
112
  value: "" + formattedDate + DATE_TIME_SEPARATOR + pipedTime.value,
108
- indexesOfPipedChars: !!pipedTime.indexesOfPipedChars
113
+ indexesOfPipedChars: pipedTime.indexesOfPipedChars
109
114
  ? pipedTime.indexesOfPipedChars.map(function (i) { return i + date.length + 2; })
110
115
  : undefined,
111
116
  };
112
117
  };
113
118
  }
114
119
 
120
+ var TWO_DIGITS = Array(2).fill(TUI_DIGIT_REGEXP);
121
+ var FOUR_DIGITS = Array(4).fill(TUI_DIGIT_REGEXP);
122
+ function tuiCreateDateMask(mode, separator) {
123
+ tuiAssert.assert(separator.length === 1, 'Separator should consist of only 1 symbol');
124
+ switch (mode) {
125
+ case 'YMD':
126
+ return __spread(FOUR_DIGITS, [separator], TWO_DIGITS, [separator], TWO_DIGITS);
127
+ case 'MDY':
128
+ case 'DMY':
129
+ default:
130
+ return __spread(TWO_DIGITS, [separator], TWO_DIGITS, [separator], FOUR_DIGITS);
131
+ }
132
+ }
133
+
134
+ function tuiCreateDateRangeMask(dateMode, dateSeparator) {
135
+ tuiAssert.assert(dateSeparator.length === 1, 'Separator should consist of only 1 symbol');
136
+ var dateMask = tuiCreateDateMask(dateMode, dateSeparator);
137
+ return __spread(dateMask, [
138
+ CHAR_NO_BREAK_SPACE,
139
+ CHAR_EN_DASH,
140
+ CHAR_NO_BREAK_SPACE
141
+ ], dateMask);
142
+ }
143
+
115
144
  function tuiCreateTimeMask(mode) {
116
145
  return __spread(TUI_TIME_MASK, (mode.includes('HH:MM:SS') ? [':', TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP] : []), (mode === 'HH:MM:SS.MSS'
117
146
  ? ['.', TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP, TUI_DIGIT_REGEXP]
@@ -122,5 +151,5 @@ function tuiCreateTimeMask(mode) {
122
151
  * Generated bundle index. Do not edit.
123
152
  */
124
153
 
125
- export { normalizeDateValue, tuiCreateAutoCorrectedDatePipe, tuiCreateAutoCorrectedDateRangePipe, tuiCreateAutoCorrectedDateTimePipe, tuiCreateAutoCorrectedTimePipe, tuiCreateTimeMask };
154
+ export { normalizeDateValue, tuiCreateAutoCorrectedDatePipe, tuiCreateAutoCorrectedDateRangePipe, tuiCreateAutoCorrectedDateTimePipe, tuiCreateAutoCorrectedTimePipe, tuiCreateDateMask, tuiCreateDateRangeMask, tuiCreateTimeMask };
126
155
  //# sourceMappingURL=taiga-ui-kit-utils-mask.js.map