@taiga-ui/kit 2.20.0 → 2.24.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 (572) hide show
  1. package/README.md +7 -3
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js +5 -6
  3. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  5. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-action.umd.js +2 -2
  7. package/bundles/taiga-ui-kit-components-action.umd.min.js +1 -1
  8. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  9. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  11. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-badge.umd.js +2 -2
  13. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-badge.umd.min.js +1 -1
  15. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
  17. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +1 -1
  18. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +2 -2
  19. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  21. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
  23. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
  25. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +1 -1
  27. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js +1 -1
  29. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-combo-box.umd.js +13 -4
  31. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  33. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +2 -2
  35. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +1 -1
  37. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
  39. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-input-copy.umd.js +2 -2
  41. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  42. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-count.umd.js +7 -2
  44. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +2 -2
  46. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +2 -2
  48. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
  49. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +2 -2
  51. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  52. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-date.umd.js +2 -2
  54. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  56. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-file.umd.js +4 -4
  58. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-inline.umd.js +1 -1
  62. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
  63. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  64. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  65. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  67. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  68. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
  70. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  72. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-password.umd.js +3 -2
  74. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
  78. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  80. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-phone.umd.js +2 -2
  82. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  83. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-range.umd.js +2 -2
  85. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  87. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-slider.umd.js +2 -2
  89. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  91. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
  93. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  95. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -2
  97. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
  101. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  102. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  104. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +16 -12
  106. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +2 -2
  108. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-multi-select.umd.js +18 -45
  110. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  112. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  113. package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
  114. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  115. package/bundles/taiga-ui-kit-components-progress.umd.js +54 -18
  116. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-progress.umd.min.js +2 -2
  118. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
  120. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  121. package/bundles/taiga-ui-kit-components-range.umd.js +2 -2
  122. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  124. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-select-option.umd.js +23 -14
  126. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-select-option.umd.min.js +2 -2
  128. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-select.umd.js +9 -3
  130. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
  132. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-kit-components-slider.umd.js +2 -2
  134. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  136. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  138. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  139. package/bundles/taiga-ui-kit-components-tabs.umd.js +3 -3
  140. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  141. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  142. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  143. package/bundles/taiga-ui-kit-components-tag.umd.js +2 -2
  144. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  145. package/bundles/taiga-ui-kit-components-tag.umd.min.js +2 -2
  146. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  147. package/bundles/taiga-ui-kit-components-text-area.umd.js +19 -2
  148. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +2 -2
  150. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  151. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  152. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  154. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  155. package/bundles/taiga-ui-kit-components-tree.umd.js +653 -0
  156. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -0
  157. package/bundles/taiga-ui-kit-components-tree.umd.min.js +16 -0
  158. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -0
  159. package/bundles/taiga-ui-kit-components.umd.js +12 -4
  160. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  161. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  162. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
  163. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +1 -1
  165. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-utils-format.umd.js +0 -2
  167. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  168. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  169. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  170. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  171. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  172. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  173. package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
  174. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  175. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  176. package/components/calendar-range/taiga-ui-kit-components-calendar-range.metadata.json +1 -1
  177. package/components/combo-box/combo-box.component.d.ts +3 -3
  178. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  179. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  180. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  181. package/components/index.d.ts +1 -0
  182. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  183. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  184. package/components/input-count/input-count.component.d.ts +1 -0
  185. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  186. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  187. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  188. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  189. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  190. package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
  191. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  192. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  193. package/components/input-number/input-number.component.d.ts +1 -0
  194. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  195. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  196. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  197. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  198. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  199. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  200. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  201. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  202. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  203. package/components/multi-select/index.d.ts +0 -1
  204. package/components/multi-select/multi-select.component.d.ts +6 -5
  205. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  206. package/components/multi-select-option/multi-select-option.component.d.ts +1 -1
  207. package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
  208. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  209. package/components/progress/index.d.ts +2 -0
  210. package/components/progress/pipes/abstract-color-segments.d.ts +9 -0
  211. package/components/progress/pipes/progress-color-segments-async.pipe.d.ts +5 -0
  212. package/components/progress/pipes/progress-color-segments.pipe.d.ts +7 -6
  213. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  214. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  215. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  216. package/components/select/select.component.d.ts +1 -1
  217. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  218. package/components/select-option/select-option.component.d.ts +4 -2
  219. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  220. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  221. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  222. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  223. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  224. package/components/taiga-ui-kit-components.metadata.json +1 -1
  225. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  226. package/components/text-area/text-area.component.d.ts +2 -0
  227. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  228. package/components/tree/components/tree/tree.component.d.ts +10 -0
  229. package/components/tree/components/tree-item/tree-item.component.d.ts +17 -0
  230. package/components/tree/components/tree-item/tree-item.providers.d.ts +3 -0
  231. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +9 -0
  232. package/components/tree/directives/tree-children.directive.d.ts +5 -0
  233. package/components/tree/directives/tree-controller.directive.d.ts +13 -0
  234. package/components/tree/directives/tree-item-controller.directive.d.ts +8 -0
  235. package/components/tree/directives/tree-node.directive.d.ts +10 -0
  236. package/components/tree/index.d.ts +13 -0
  237. package/components/tree/misc/tree.constants.d.ts +5 -0
  238. package/components/tree/misc/tree.interfaces.d.ts +22 -0
  239. package/components/tree/misc/tree.service.d.ts +12 -0
  240. package/components/tree/misc/tree.tokens.d.ts +11 -0
  241. package/components/tree/package.json +13 -0
  242. package/components/tree/taiga-ui-kit-components-tree.d.ts +4 -0
  243. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -0
  244. package/components/tree/tree.module.d.ts +2 -0
  245. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +5 -6
  246. package/esm2015/components/accordion/accordion.component.js +1 -1
  247. package/esm2015/components/action/action.component.js +2 -2
  248. package/esm2015/components/avatar/avatar.component.js +2 -2
  249. package/esm2015/components/badge/badge.component.js +3 -3
  250. package/esm2015/components/badged-content/badged-content.component.js +1 -1
  251. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +1 -1
  252. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +2 -2
  253. package/esm2015/components/calendar-month/calendar-month.component.js +2 -2
  254. package/esm2015/components/calendar-range/calendar-range.component.js +2 -2
  255. package/esm2015/components/combo-box/combo-box.component.js +10 -5
  256. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  257. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  258. package/esm2015/components/filter/filter.component.js +1 -1
  259. package/esm2015/components/index.js +2 -1
  260. package/esm2015/components/input/input.component.js +1 -1
  261. package/esm2015/components/input-copy/input-copy.component.js +2 -2
  262. package/esm2015/components/input-count/input-count.component.js +8 -3
  263. package/esm2015/components/input-date/input-date.component.js +3 -3
  264. package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
  265. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  266. package/esm2015/components/input-file/file/file.component.js +3 -3
  267. package/esm2015/components/input-file/input-file.component.js +3 -3
  268. package/esm2015/components/input-inline/input-inline.component.js +1 -1
  269. package/esm2015/components/input-month/input-month.component.js +1 -1
  270. package/esm2015/components/input-month-range/input-month-range.component.js +1 -1
  271. package/esm2015/components/input-number/input-number.component.js +9 -3
  272. package/esm2015/components/input-password/input-password.component.js +3 -3
  273. package/esm2015/components/input-password/input-password.module.js +3 -1
  274. package/esm2015/components/input-phone/input-phone.component.js +2 -2
  275. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  276. package/esm2015/components/input-range/input-range.component.js +3 -3
  277. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  278. package/esm2015/components/input-tag/input-tag.component.js +3 -3
  279. package/esm2015/components/input-time/input-time.component.js +3 -3
  280. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  281. package/esm2015/components/multi-select/index.js +1 -2
  282. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +10 -4
  283. package/esm2015/components/multi-select/multi-select.component.js +12 -20
  284. package/esm2015/components/multi-select/multi-select.module.js +1 -3
  285. package/esm2015/components/multi-select-option/multi-select-option.component.js +8 -10
  286. package/esm2015/components/pagination/pagination.component.js +1 -1
  287. package/esm2015/components/progress/index.js +3 -1
  288. package/esm2015/components/progress/pipes/abstract-color-segments.js +32 -0
  289. package/esm2015/components/progress/pipes/progress-color-segments-async.pipe.js +15 -0
  290. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +12 -28
  291. package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
  292. package/esm2015/components/progress/progress-label/progress-label.component.js +1 -1
  293. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  294. package/esm2015/components/progress/progress.module.js +4 -1
  295. package/esm2015/components/radio-labeled/radio-labeled.component.js +1 -1
  296. package/esm2015/components/range/range.component.js +3 -3
  297. package/esm2015/components/select/select.component.js +6 -4
  298. package/esm2015/components/select-option/select-option.component.js +20 -12
  299. package/esm2015/components/slider/slider.component.js +3 -3
  300. package/esm2015/components/stepper/step/step.component.js +1 -1
  301. package/esm2015/components/tabs/tabs/tabs.component.js +1 -1
  302. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  303. package/esm2015/components/tag/tag.component.js +3 -3
  304. package/esm2015/components/text-area/text-area.component.js +10 -4
  305. package/esm2015/components/text-area/text-area.module.js +5 -2
  306. package/esm2015/components/toggle/toggle.component.js +2 -2
  307. package/esm2015/components/tree/components/tree/tree.component.js +44 -0
  308. package/esm2015/components/tree/components/tree-item/tree-item.component.js +58 -0
  309. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +18 -0
  310. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +41 -0
  311. package/esm2015/components/tree/directives/tree-children.directive.js +23 -0
  312. package/esm2015/components/tree/directives/tree-controller.directive.js +62 -0
  313. package/esm2015/components/tree/directives/tree-item-controller.directive.js +36 -0
  314. package/esm2015/components/tree/directives/tree-node.directive.js +35 -0
  315. package/esm2015/components/tree/index.js +13 -0
  316. package/esm2015/components/tree/misc/tree.constants.js +9 -0
  317. package/esm2015/components/tree/misc/tree.interfaces.js +1 -0
  318. package/esm2015/components/tree/misc/tree.service.js +40 -0
  319. package/esm2015/components/tree/misc/tree.tokens.js +17 -0
  320. package/esm2015/components/tree/taiga-ui-kit-components-tree.js +5 -0
  321. package/esm2015/components/tree/tree.module.js +38 -0
  322. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  323. package/esm2015/types/status.js +1 -1
  324. package/esm2015/utils/format/string-hash-to-hsl.js +1 -3
  325. package/esm5/components/accordion/accordion-item/accordion-item.component.js +5 -6
  326. package/esm5/components/accordion/accordion.component.js +1 -1
  327. package/esm5/components/action/action.component.js +2 -2
  328. package/esm5/components/avatar/avatar.component.js +2 -2
  329. package/esm5/components/badge/badge.component.js +3 -3
  330. package/esm5/components/badged-content/badged-content.component.js +1 -1
  331. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +1 -1
  332. package/esm5/components/breadcrumbs/breadcrumbs.component.js +2 -2
  333. package/esm5/components/calendar-month/calendar-month.component.js +2 -2
  334. package/esm5/components/calendar-range/calendar-range.component.js +2 -2
  335. package/esm5/components/combo-box/combo-box.component.js +14 -5
  336. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  337. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  338. package/esm5/components/filter/filter.component.js +1 -1
  339. package/esm5/components/index.js +2 -1
  340. package/esm5/components/input/input.component.js +1 -1
  341. package/esm5/components/input-copy/input-copy.component.js +2 -2
  342. package/esm5/components/input-count/input-count.component.js +8 -3
  343. package/esm5/components/input-date/input-date.component.js +3 -3
  344. package/esm5/components/input-date-range/input-date-range.component.js +2 -2
  345. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  346. package/esm5/components/input-file/file/file.component.js +3 -3
  347. package/esm5/components/input-file/input-file.component.js +3 -3
  348. package/esm5/components/input-inline/input-inline.component.js +1 -1
  349. package/esm5/components/input-month/input-month.component.js +1 -1
  350. package/esm5/components/input-month-range/input-month-range.component.js +1 -1
  351. package/esm5/components/input-number/input-number.component.js +9 -3
  352. package/esm5/components/input-password/input-password.component.js +3 -3
  353. package/esm5/components/input-password/input-password.module.js +3 -1
  354. package/esm5/components/input-phone/input-phone.component.js +2 -2
  355. package/esm5/components/input-phone-international/input-phone-international.component.js +2 -2
  356. package/esm5/components/input-range/input-range.component.js +3 -3
  357. package/esm5/components/input-slider/input-slider.component.js +3 -3
  358. package/esm5/components/input-tag/input-tag.component.js +3 -3
  359. package/esm5/components/input-time/input-time.component.js +3 -3
  360. package/esm5/components/line-clamp/line-clamp.component.js +1 -1
  361. package/esm5/components/multi-select/index.js +1 -2
  362. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +10 -4
  363. package/esm5/components/multi-select/multi-select.component.js +12 -24
  364. package/esm5/components/multi-select/multi-select.module.js +1 -3
  365. package/esm5/components/multi-select-option/multi-select-option.component.js +14 -11
  366. package/esm5/components/pagination/pagination.component.js +1 -1
  367. package/esm5/components/progress/index.js +3 -1
  368. package/esm5/components/progress/pipes/abstract-color-segments.js +35 -0
  369. package/esm5/components/progress/pipes/progress-color-segments-async.pipe.js +21 -0
  370. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +16 -30
  371. package/esm5/components/progress/progress-circle/progress-circle.component.js +2 -2
  372. package/esm5/components/progress/progress-label/progress-label.component.js +1 -1
  373. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  374. package/esm5/components/progress/progress.module.js +4 -1
  375. package/esm5/components/radio-labeled/radio-labeled.component.js +1 -1
  376. package/esm5/components/range/range.component.js +3 -3
  377. package/esm5/components/select/select.component.js +10 -4
  378. package/esm5/components/select-option/select-option.component.js +24 -14
  379. package/esm5/components/slider/slider.component.js +3 -3
  380. package/esm5/components/stepper/step/step.component.js +1 -1
  381. package/esm5/components/tabs/tabs/tabs.component.js +1 -1
  382. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  383. package/esm5/components/tag/tag.component.js +3 -3
  384. package/esm5/components/text-area/text-area.component.js +18 -4
  385. package/esm5/components/text-area/text-area.module.js +5 -2
  386. package/esm5/components/toggle/toggle.component.js +2 -2
  387. package/esm5/components/tree/components/tree/tree.component.js +53 -0
  388. package/esm5/components/tree/components/tree-item/tree-item.component.js +68 -0
  389. package/esm5/components/tree/components/tree-item/tree-item.providers.js +18 -0
  390. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +50 -0
  391. package/esm5/components/tree/directives/tree-children.directive.js +25 -0
  392. package/esm5/components/tree/directives/tree-controller.directive.js +64 -0
  393. package/esm5/components/tree/directives/tree-item-controller.directive.js +38 -0
  394. package/esm5/components/tree/directives/tree-node.directive.js +40 -0
  395. package/esm5/components/tree/index.js +13 -0
  396. package/esm5/components/tree/misc/tree.constants.js +9 -0
  397. package/esm5/components/tree/misc/tree.interfaces.js +1 -0
  398. package/esm5/components/tree/misc/tree.service.js +44 -0
  399. package/esm5/components/tree/misc/tree.tokens.js +17 -0
  400. package/esm5/components/tree/taiga-ui-kit-components-tree.js +5 -0
  401. package/esm5/components/tree/tree.module.js +41 -0
  402. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  403. package/esm5/types/status.js +1 -1
  404. package/esm5/utils/format/string-hash-to-hsl.js +1 -3
  405. package/fesm2015/taiga-ui-kit-components-accordion.js +5 -6
  406. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  407. package/fesm2015/taiga-ui-kit-components-action.js +2 -2
  408. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  409. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  410. package/fesm2015/taiga-ui-kit-components-badge.js +2 -2
  411. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  412. package/fesm2015/taiga-ui-kit-components-badged-content.js +1 -1
  413. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +2 -2
  414. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  415. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  416. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  417. package/fesm2015/taiga-ui-kit-components-calendar-range.js +1 -1
  418. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  419. package/fesm2015/taiga-ui-kit-components-combo-box.js +9 -4
  420. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  421. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  422. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  423. package/fesm2015/taiga-ui-kit-components-filter.js +1 -1
  424. package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -2
  425. package/fesm2015/taiga-ui-kit-components-input-count.js +7 -2
  426. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  427. package/fesm2015/taiga-ui-kit-components-input-date-range.js +2 -2
  428. package/fesm2015/taiga-ui-kit-components-input-date-time.js +2 -2
  429. package/fesm2015/taiga-ui-kit-components-input-date.js +2 -2
  430. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  431. package/fesm2015/taiga-ui-kit-components-input-file.js +4 -4
  432. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  433. package/fesm2015/taiga-ui-kit-components-input-inline.js +1 -1
  434. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  435. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  436. package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
  437. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  438. package/fesm2015/taiga-ui-kit-components-input-password.js +4 -3
  439. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  440. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  441. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  442. package/fesm2015/taiga-ui-kit-components-input-phone.js +2 -2
  443. package/fesm2015/taiga-ui-kit-components-input-range.js +2 -2
  444. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  445. package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
  446. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  447. package/fesm2015/taiga-ui-kit-components-input-tag.js +2 -2
  448. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  449. package/fesm2015/taiga-ui-kit-components-input-time.js +2 -2
  450. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  451. package/fesm2015/taiga-ui-kit-components-input.js +1 -1
  452. package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
  453. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -9
  454. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  455. package/fesm2015/taiga-ui-kit-components-multi-select.js +21 -40
  456. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  457. package/fesm2015/taiga-ui-kit-components-pagination.js +1 -1
  458. package/fesm2015/taiga-ui-kit-components-progress.js +39 -14
  459. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  460. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +1 -1
  461. package/fesm2015/taiga-ui-kit-components-range.js +2 -2
  462. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  463. package/fesm2015/taiga-ui-kit-components-select-option.js +19 -11
  464. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  465. package/fesm2015/taiga-ui-kit-components-select.js +5 -3
  466. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  467. package/fesm2015/taiga-ui-kit-components-slider.js +2 -2
  468. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  469. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  470. package/fesm2015/taiga-ui-kit-components-tabs.js +3 -3
  471. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  472. package/fesm2015/taiga-ui-kit-components-tag.js +2 -2
  473. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  474. package/fesm2015/taiga-ui-kit-components-text-area.js +12 -3
  475. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  476. package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
  477. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  478. package/fesm2015/taiga-ui-kit-components-tree.js +371 -0
  479. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -0
  480. package/fesm2015/taiga-ui-kit-components.js +1 -0
  481. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  482. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  483. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  484. package/fesm2015/taiga-ui-kit-utils-format.js +0 -2
  485. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  486. package/fesm5/taiga-ui-kit-components-accordion.js +5 -6
  487. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  488. package/fesm5/taiga-ui-kit-components-action.js +2 -2
  489. package/fesm5/taiga-ui-kit-components-avatar.js +1 -1
  490. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  491. package/fesm5/taiga-ui-kit-components-badge.js +2 -2
  492. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  493. package/fesm5/taiga-ui-kit-components-badged-content.js +1 -1
  494. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +2 -2
  495. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  496. package/fesm5/taiga-ui-kit-components-calendar-month.js +1 -1
  497. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  498. package/fesm5/taiga-ui-kit-components-calendar-range.js +1 -1
  499. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  500. package/fesm5/taiga-ui-kit-components-combo-box.js +13 -4
  501. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  502. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  503. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  504. package/fesm5/taiga-ui-kit-components-filter.js +1 -1
  505. package/fesm5/taiga-ui-kit-components-input-copy.js +2 -2
  506. package/fesm5/taiga-ui-kit-components-input-count.js +7 -2
  507. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  508. package/fesm5/taiga-ui-kit-components-input-date-range.js +2 -2
  509. package/fesm5/taiga-ui-kit-components-input-date-time.js +2 -2
  510. package/fesm5/taiga-ui-kit-components-input-date.js +2 -2
  511. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  512. package/fesm5/taiga-ui-kit-components-input-file.js +4 -4
  513. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  514. package/fesm5/taiga-ui-kit-components-input-inline.js +1 -1
  515. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  516. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  517. package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
  518. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  519. package/fesm5/taiga-ui-kit-components-input-password.js +4 -3
  520. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  521. package/fesm5/taiga-ui-kit-components-input-phone-international.js +1 -1
  522. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  523. package/fesm5/taiga-ui-kit-components-input-phone.js +2 -2
  524. package/fesm5/taiga-ui-kit-components-input-range.js +2 -2
  525. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  526. package/fesm5/taiga-ui-kit-components-input-slider.js +2 -2
  527. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  528. package/fesm5/taiga-ui-kit-components-input-tag.js +2 -2
  529. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  530. package/fesm5/taiga-ui-kit-components-input-time.js +2 -2
  531. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  532. package/fesm5/taiga-ui-kit-components-input.js +1 -1
  533. package/fesm5/taiga-ui-kit-components-line-clamp.js +1 -1
  534. package/fesm5/taiga-ui-kit-components-multi-select-option.js +13 -10
  535. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  536. package/fesm5/taiga-ui-kit-components-multi-select.js +21 -47
  537. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  538. package/fesm5/taiga-ui-kit-components-pagination.js +1 -1
  539. package/fesm5/taiga-ui-kit-components-progress.js +53 -17
  540. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  541. package/fesm5/taiga-ui-kit-components-radio-labeled.js +1 -1
  542. package/fesm5/taiga-ui-kit-components-range.js +2 -2
  543. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  544. package/fesm5/taiga-ui-kit-components-select-option.js +23 -13
  545. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  546. package/fesm5/taiga-ui-kit-components-select.js +9 -3
  547. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  548. package/fesm5/taiga-ui-kit-components-slider.js +2 -2
  549. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  550. package/fesm5/taiga-ui-kit-components-stepper.js +1 -1
  551. package/fesm5/taiga-ui-kit-components-tabs.js +3 -3
  552. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  553. package/fesm5/taiga-ui-kit-components-tag.js +2 -2
  554. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  555. package/fesm5/taiga-ui-kit-components-text-area.js +20 -3
  556. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  557. package/fesm5/taiga-ui-kit-components-toggle.js +1 -1
  558. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  559. package/fesm5/taiga-ui-kit-components-tree.js +417 -0
  560. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -0
  561. package/fesm5/taiga-ui-kit-components.js +1 -0
  562. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  563. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  564. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  565. package/fesm5/taiga-ui-kit-utils-format.js +0 -2
  566. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  567. package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
  568. package/package.json +5 -5
  569. package/types/status.d.ts +1 -1
  570. package/components/multi-select/multi-select-group/multi-select-group-reset.directive.d.ts +0 -3
  571. package/esm2015/components/multi-select/multi-select-group/multi-select-group-reset.directive.js +0 -20
  572. package/esm5/components/multi-select/multi-select-group/multi-select-group-reset.directive.js +0 -23
@@ -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';\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 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';\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 @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\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 @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 {TuiScrollbarModule, TuiTooltipModule, TuiWrapperModule} from '@taiga-ui/core';\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 ],\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';\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';\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 @Input()\n @tuiDefaultProp()\n rows = DEFAULT_ROWS;\n\n @Input()\n @HostBinding('class._expandable')\n @tuiDefaultProp()\n expandable = false;\n\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLTextAreaElement>;\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';\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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"}
@@ -118,7 +118,7 @@ __decorate([
118
118
  TuiToggleComponent = TuiToggleComponent_1 = __decorate([
119
119
  Component({
120
120
  selector: 'tui-toggle',
121
- template: "<tui-wrapper\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocusVisible\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n>\n <div class=\"toggle\">\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"checked\"\n ></tui-loader>\n <span\n polymorpheus-outlet\n class=\"icon-wrapper\"\n [content]=\"iconOn\"\n [context]=\"{ $implicit: size }\"\n >\n <ng-template let-icon>\n <tui-svg\n *ngIf=\"showIcons && !showLoader\"\n class=\"icon\"\n automation-id=\"tui-toggle__check-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </span>\n <div class=\"circle\"></div>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"!checked\"\n ></tui-loader>\n <span\n polymorpheus-outlet\n class=\"icon-wrapper\"\n [content]=\"iconOff\"\n [context]=\"{ $implicit: size }\"\n >\n <ng-template let-icon>\n <tui-svg\n *ngIf=\"showIcons && !showLoader\"\n class=\"icon icon_off\"\n automation-id=\"tui-toggle__cancel-icon\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </span>\n </div>\n</tui-wrapper>\n<input\n #focusableElement\n type=\"checkbox\"\n class=\"checkbox\"\n role=\"switch\"\n automation-id=\"tui-toggle__checkbox\"\n [attr.aria-checked]=\"value\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [tuiChecked]=\"checked\"\n [tuiFocusable]=\"focusable\"\n (tuiCheckedChange)=\"onChecked($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiPressedChange)=\"onPressed($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n/>\n",
121
+ template: "<tui-wrapper\n [appearance]=\"appearance\"\n [disabled]=\"disabled\"\n [focused]=\"computedFocusVisible\"\n [hovered]=\"computedHovered\"\n [pressed]=\"computedPressed\"\n [invalid]=\"computedInvalid\"\n>\n <div class=\"toggle\">\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"checked\"\n ></tui-loader>\n <span\n polymorpheus-outlet\n class=\"icon-wrapper\"\n [content]=\"iconOn\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-icon>\n <tui-svg\n *ngIf=\"showIcons && !showLoader\"\n automation-id=\"tui-toggle__check-icon\"\n class=\"icon\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </span>\n <div class=\"circle\"></div>\n <tui-loader\n *ngIf=\"showLoader\"\n class=\"loader\"\n [size]=\"loaderSize\"\n [inheritColor]=\"true\"\n [showLoader]=\"!checked\"\n ></tui-loader>\n <span\n polymorpheus-outlet\n class=\"icon-wrapper\"\n [content]=\"iconOff\"\n [context]=\"{$implicit: size}\"\n >\n <ng-template let-icon>\n <tui-svg\n *ngIf=\"showIcons && !showLoader\"\n automation-id=\"tui-toggle__cancel-icon\"\n class=\"icon icon_off\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </span>\n </div>\n</tui-wrapper>\n<input\n #focusableElement\n type=\"checkbox\"\n role=\"switch\"\n automation-id=\"tui-toggle__checkbox\"\n class=\"checkbox\"\n [attr.aria-checked]=\"value\"\n [id]=\"id\"\n [disabled]=\"disabled\"\n [tuiChecked]=\"checked\"\n [tuiFocusable]=\"focusable\"\n (tuiCheckedChange)=\"onChecked($event)\"\n (tuiFocusedChange)=\"onFocused($event)\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiPressedChange)=\"onPressed($event)\"\n (tuiFocusVisibleChange)=\"onFocusVisible($event)\"\n/>\n",
122
122
  changeDetection: ChangeDetectionStrategy.OnPush,
123
123
  providers: [
124
124
  {
@@ -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';\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 @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 @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\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';\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';\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 @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 @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\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';\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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"}
@@ -0,0 +1,371 @@
1
+ import { ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION, EMPTY_ARRAY, tuiDefaultProp, EMPTY_QUERY, isPresent } from '@taiga-ui/cdk';
2
+ import { POLYMORPHEUS_CONTEXT, PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
3
+ import { __decorate, __param } from 'tslib';
4
+ import { InjectionToken, Inject, HostBinding, Component, ChangeDetectionStrategy, Injectable, Input, Directive, Optional, SkipSelf, forwardRef, ElementRef, ContentChildren, EventEmitter, Output, NgModule } from '@angular/core';
5
+ import { Subject } from 'rxjs';
6
+ import { switchMap, tap, map, startWith, mapTo, distinctUntilChanged } from 'rxjs/operators';
7
+ import { CommonModule } from '@angular/common';
8
+ import { TuiExpandModule, TuiButtonModule } from '@taiga-ui/core';
9
+
10
+ const TUI_TREE_ACCESSOR = new InjectionToken('Controller for tracking value - TuiTreeItemComponent pairs');
11
+ const TUI_TREE_CONTROLLER = new InjectionToken('Controller for expanding the tree', {
12
+ factory: () => TUI_DEFAULT_TREE_CONTROLLER,
13
+ });
14
+ const TUI_TREE_NODE = new InjectionToken('A node of a tree view');
15
+ const TUI_TREE_LOADING = new InjectionToken('A tree node placeholder for loading', { factory: () => ({}) });
16
+ const TUI_TREE_START = new InjectionToken('A tree node starting point');
17
+ const TUI_TREE_LOADER = new InjectionToken('A service to load tree progressively');
18
+ const TUI_TREE_CONTENT = new InjectionToken('Content for a tree item', {
19
+ factory: () => TUI_TREE_ITEM_CONTENT,
20
+ });
21
+ const TUI_TREE_LEVEL = new InjectionToken('Nesting level of current TreeView node', {
22
+ factory: () => -1,
23
+ });
24
+
25
+ let TuiTreeItemContentComponent = class TuiTreeItemContentComponent {
26
+ constructor(context, controller) {
27
+ this.context = context;
28
+ this.controller = controller;
29
+ }
30
+ get isExpanded() {
31
+ return this.context.$implicit.isExpanded;
32
+ }
33
+ get isExpandable() {
34
+ return (this.context.$implicit.isExpandable &&
35
+ this.controller !== TUI_DEFAULT_TREE_CONTROLLER);
36
+ }
37
+ onClick() {
38
+ var _a;
39
+ (_a = this.controller) === null || _a === void 0 ? void 0 : _a.toggle(this.context.$implicit);
40
+ }
41
+ };
42
+ TuiTreeItemContentComponent.ctorParameters = () => [
43
+ { type: undefined, decorators: [{ type: Inject, args: [POLYMORPHEUS_CONTEXT,] }] },
44
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_TREE_CONTROLLER,] }] }
45
+ ];
46
+ __decorate([
47
+ HostBinding('class._expandable')
48
+ ], TuiTreeItemContentComponent.prototype, "isExpandable", null);
49
+ TuiTreeItemContentComponent = __decorate([
50
+ Component({
51
+ selector: 'tui-tree-item-content',
52
+ template: "<button\n *ngIf=\"isExpandable\"\n tuiIconButton\n size=\"xs\"\n appearance=\"flat\"\n icon=\"tuiIconChevronRight\"\n shape=\"rounded\"\n class=\"t-button\"\n [class.t-button_expanded]=\"isExpanded\"\n (click)=\"onClick()\"\n></button>\n<ng-container *ngTemplateOutlet=\"context.template\"></ng-container>\n",
53
+ changeDetection: ChangeDetectionStrategy.OnPush,
54
+ styles: [":host{display:flex;align-items:center}:host :host-context(tui-tree-item._expandable):not(._expandable){padding-left:2rem}.t-button{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;margin-right:.5rem}.t-button_expanded{transform:rotate(90deg)}"]
55
+ }),
56
+ __param(0, Inject(POLYMORPHEUS_CONTEXT)),
57
+ __param(1, Inject(TUI_TREE_CONTROLLER))
58
+ ], TuiTreeItemContentComponent);
59
+
60
+ const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(TuiTreeItemContentComponent);
61
+ const TUI_DEFAULT_TREE_CONTROLLER = {
62
+ isExpanded: ALWAYS_TRUE_HANDLER,
63
+ toggle: EMPTY_FUNCTION,
64
+ };
65
+
66
+ // @dynamic
67
+ let TuiTreeService = class TuiTreeService {
68
+ constructor(loading, start, loader) {
69
+ this.loading = loading;
70
+ this.start = start;
71
+ this.loader = loader;
72
+ this.map = new Map([[this.loading, []]]);
73
+ this.load$ = new Subject();
74
+ this.data$ = this.load$.pipe(switchMap(item => this.loader.loadChildren(item).pipe(tap(children => this.map.set(item, children)), map(children => children.filter(item => !this.loader.hasChildren(item))), tap(children => children.forEach(child => this.map.set(child, []))))), startWith(null), mapTo(this.start));
75
+ }
76
+ getChildren(item) {
77
+ var _a;
78
+ return (_a = this.map.get(item)) !== null && _a !== void 0 ? _a : [this.loading];
79
+ }
80
+ loadChildren(item) {
81
+ if (this.map.get(item)) {
82
+ return;
83
+ }
84
+ this.map.set(item, [this.loading]);
85
+ this.load$.next(item);
86
+ }
87
+ };
88
+ TuiTreeService.ctorParameters = () => [
89
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_TREE_LOADING,] }] },
90
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_TREE_START,] }] },
91
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_TREE_LOADER,] }] }
92
+ ];
93
+ TuiTreeService = __decorate([
94
+ Injectable(),
95
+ __param(0, Inject(TUI_TREE_LOADING)),
96
+ __param(1, Inject(TUI_TREE_START)),
97
+ __param(2, Inject(TUI_TREE_LOADER))
98
+ ], TuiTreeService);
99
+
100
+ var TuiTreeChildrenDirective_1;
101
+ let TuiTreeChildrenDirective = TuiTreeChildrenDirective_1 = class TuiTreeChildrenDirective {
102
+ constructor() {
103
+ this.childrenHandler = TuiTreeChildrenDirective_1.defaultHandler;
104
+ }
105
+ static defaultHandler(item) {
106
+ return Array.isArray(item) ? item : EMPTY_ARRAY;
107
+ }
108
+ };
109
+ __decorate([
110
+ Input(),
111
+ tuiDefaultProp()
112
+ ], TuiTreeChildrenDirective.prototype, "childrenHandler", void 0);
113
+ TuiTreeChildrenDirective = TuiTreeChildrenDirective_1 = __decorate([
114
+ Directive({
115
+ selector: 'tui-tree[childrenHandler]',
116
+ })
117
+ ], TuiTreeChildrenDirective);
118
+
119
+ var TuiTreeComponent_1;
120
+ let TuiTreeComponent = TuiTreeComponent_1 = class TuiTreeComponent {
121
+ constructor(directive) {
122
+ this.directive = directive;
123
+ this.content = ({ $implicit }) => String($implicit);
124
+ }
125
+ get children() {
126
+ var _a, _b;
127
+ return ((_b = (_a = this.directive) === null || _a === void 0 ? void 0 : _a.childrenHandler(this.value)) !== null && _b !== void 0 ? _b : TuiTreeChildrenDirective.defaultHandler(this.value));
128
+ }
129
+ };
130
+ TuiTreeComponent.ctorParameters = () => [
131
+ { type: TuiTreeChildrenDirective, decorators: [{ type: Optional }, { type: Inject, args: [TuiTreeChildrenDirective,] }] }
132
+ ];
133
+ __decorate([
134
+ Input()
135
+ ], TuiTreeComponent.prototype, "value", void 0);
136
+ __decorate([
137
+ Input()
138
+ ], TuiTreeComponent.prototype, "content", void 0);
139
+ TuiTreeComponent = TuiTreeComponent_1 = __decorate([
140
+ Component({
141
+ selector: 'tui-tree[value]',
142
+ 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",
143
+ providers: [
144
+ {
145
+ provide: TUI_TREE_NODE,
146
+ useExisting: TuiTreeComponent_1,
147
+ },
148
+ ],
149
+ host: {
150
+ role: 'tree',
151
+ },
152
+ styles: [":host{position:relative;display:block}"]
153
+ }),
154
+ __param(0, Optional()),
155
+ __param(0, Inject(TuiTreeChildrenDirective))
156
+ ], TuiTreeComponent);
157
+
158
+ const TUI_TREE_ITEM_PROVIDERS = [
159
+ {
160
+ provide: TUI_TREE_LEVEL,
161
+ deps: [[new SkipSelf(), TUI_TREE_LEVEL]],
162
+ useFactory: treeLevelFactory,
163
+ },
164
+ {
165
+ provide: TUI_TREE_NODE,
166
+ useExisting: forwardRef(() => TuiTreeItemComponent),
167
+ },
168
+ ];
169
+ function treeLevelFactory(level) {
170
+ return ++level;
171
+ }
172
+
173
+ let TuiTreeItemComponent = class TuiTreeItemComponent {
174
+ constructor(elementRef, controller, level, content) {
175
+ this.elementRef = elementRef;
176
+ this.controller = controller;
177
+ this.level = level;
178
+ this.content = content;
179
+ this.change$ = new Subject();
180
+ this.nested = EMPTY_QUERY;
181
+ this.expanded$ = this.change$.pipe(startWith(null), map(() => this.isExpanded), distinctUntilChanged());
182
+ this.attached$ = this.change$.pipe(map(() => this.elementRef.nativeElement.isConnected), distinctUntilChanged());
183
+ }
184
+ get isExpandable() {
185
+ return !!this.nested.length;
186
+ }
187
+ get isExpanded() {
188
+ return this.controller.isExpanded(this);
189
+ }
190
+ ngDoCheck() {
191
+ this.change$.next();
192
+ }
193
+ };
194
+ TuiTreeItemComponent.ctorParameters = () => [
195
+ { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
196
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_TREE_CONTROLLER,] }] },
197
+ { type: Number, decorators: [{ type: Inject, args: [TUI_TREE_LEVEL,] }] },
198
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_TREE_CONTENT,] }] }
199
+ ];
200
+ __decorate([
201
+ ContentChildren(TUI_TREE_NODE)
202
+ ], TuiTreeItemComponent.prototype, "nested", void 0);
203
+ __decorate([
204
+ HostBinding('class._expandable')
205
+ ], TuiTreeItemComponent.prototype, "isExpandable", null);
206
+ TuiTreeItemComponent = __decorate([
207
+ Component({
208
+ selector: 'tui-tree-item',
209
+ template: "<ng-template #template><ng-content></ng-content></ng-template>\n<div\n polymorpheus-outlet\n class=\"t-content\"\n [content]=\"content\"\n [context]=\"{$implicit: this, template: template}\"\n></div>\n<tui-expand\n *ngIf=\"isExpandable\"\n role=\"group\"\n class=\"t-children\"\n [expanded]=\"expanded$ | async\"\n>\n <div>\n <ng-content select=\"tui-tree-item\"></ng-content>\n <ng-content select=\"tui-tree\"></ng-content>\n </div>\n</tui-expand>\n<ng-container *ngIf=\"attached$ | async\"></ng-container>\n",
210
+ changeDetection: ChangeDetectionStrategy.OnPush,
211
+ providers: TUI_TREE_ITEM_PROVIDERS,
212
+ host: {
213
+ role: 'treeitem',
214
+ },
215
+ styles: [":host{display:block}.t-children{position:relative;margin-left:var(--tui-tree-item-indent,1.5rem)}"]
216
+ }),
217
+ __param(0, Inject(ElementRef)),
218
+ __param(1, Inject(TUI_TREE_CONTROLLER)),
219
+ __param(2, Inject(TUI_TREE_LEVEL)),
220
+ __param(3, Inject(TUI_TREE_CONTENT))
221
+ ], TuiTreeItemComponent);
222
+
223
+ var TuiTreeControllerDirective_1;
224
+ let TuiTreeControllerDirective = TuiTreeControllerDirective_1 = class TuiTreeControllerDirective {
225
+ constructor() {
226
+ this.fallback = true;
227
+ this.map = new Map();
228
+ this.toggled = new EventEmitter();
229
+ this.items = new Map();
230
+ }
231
+ register(item, value) {
232
+ this.items.set(item, value);
233
+ }
234
+ unregister(item) {
235
+ this.items.delete(item);
236
+ }
237
+ isExpanded(item) {
238
+ var _a;
239
+ const value = this.items.get(item);
240
+ return (_a = (value && this.map.get(value))) !== null && _a !== void 0 ? _a : this.fallback;
241
+ }
242
+ toggle(item) {
243
+ const value = this.items.get(item);
244
+ const expanded = this.isExpanded(item);
245
+ if (!isPresent(value)) {
246
+ return;
247
+ }
248
+ this.toggled.emit(value);
249
+ this.map.set(value, !expanded);
250
+ }
251
+ };
252
+ __decorate([
253
+ Input('tuiTreeController'),
254
+ tuiDefaultProp()
255
+ ], TuiTreeControllerDirective.prototype, "fallback", void 0);
256
+ __decorate([
257
+ Input(),
258
+ tuiDefaultProp()
259
+ ], TuiTreeControllerDirective.prototype, "map", void 0);
260
+ __decorate([
261
+ Output()
262
+ ], TuiTreeControllerDirective.prototype, "toggled", void 0);
263
+ TuiTreeControllerDirective = TuiTreeControllerDirective_1 = __decorate([
264
+ Directive({
265
+ selector: '[tuiTreeController][map]',
266
+ exportAs: 'tuiTreeController',
267
+ providers: [
268
+ {
269
+ provide: TUI_TREE_ACCESSOR,
270
+ useExisting: TuiTreeControllerDirective_1,
271
+ },
272
+ {
273
+ provide: TUI_TREE_CONTROLLER,
274
+ useExisting: TuiTreeControllerDirective_1,
275
+ },
276
+ ],
277
+ })
278
+ ], TuiTreeControllerDirective);
279
+
280
+ var TuiTreeItemControllerDirective_1;
281
+ let TuiTreeItemControllerDirective = TuiTreeItemControllerDirective_1 = class TuiTreeItemControllerDirective {
282
+ constructor() {
283
+ this.fallback = true;
284
+ this.map = new WeakMap();
285
+ }
286
+ isExpanded(item) {
287
+ var _a;
288
+ return (_a = this.map.get(item)) !== null && _a !== void 0 ? _a : this.fallback;
289
+ }
290
+ toggle(item) {
291
+ this.map.set(item, !this.isExpanded(item));
292
+ }
293
+ };
294
+ __decorate([
295
+ Input('tuiTreeController'),
296
+ tuiDefaultProp()
297
+ ], TuiTreeItemControllerDirective.prototype, "fallback", void 0);
298
+ TuiTreeItemControllerDirective = TuiTreeItemControllerDirective_1 = __decorate([
299
+ Directive({
300
+ selector: '[tuiTreeController]:not([map])',
301
+ exportAs: 'tuiTreeController',
302
+ providers: [
303
+ {
304
+ provide: TUI_TREE_CONTROLLER,
305
+ useExisting: TuiTreeItemControllerDirective_1,
306
+ },
307
+ ],
308
+ })
309
+ ], TuiTreeItemControllerDirective);
310
+
311
+ let TuiTreeNodeDirective = class TuiTreeNodeDirective {
312
+ constructor(directive, component) {
313
+ this.directive = directive;
314
+ this.component = component;
315
+ }
316
+ set value(value) {
317
+ var _a;
318
+ (_a = this.directive) === null || _a === void 0 ? void 0 : _a.register(this.component, value);
319
+ }
320
+ ngOnDestroy() {
321
+ var _a;
322
+ (_a = this.directive) === null || _a === void 0 ? void 0 : _a.unregister(this.component);
323
+ }
324
+ };
325
+ TuiTreeNodeDirective.ctorParameters = () => [
326
+ { type: undefined, decorators: [{ type: Optional }, { type: Inject, args: [TUI_TREE_ACCESSOR,] }] },
327
+ { type: TuiTreeItemComponent, decorators: [{ type: Inject, args: [TuiTreeItemComponent,] }] }
328
+ ];
329
+ __decorate([
330
+ Input('tuiTreeNode')
331
+ ], TuiTreeNodeDirective.prototype, "value", null);
332
+ TuiTreeNodeDirective = __decorate([
333
+ Directive({
334
+ selector: 'tui-tree-item[tuiTreeNode]',
335
+ }),
336
+ __param(0, Optional()),
337
+ __param(0, Inject(TUI_TREE_ACCESSOR)),
338
+ __param(1, Inject(TuiTreeItemComponent))
339
+ ], TuiTreeNodeDirective);
340
+
341
+ let TuiTreeModule = class TuiTreeModule {
342
+ };
343
+ TuiTreeModule = __decorate([
344
+ NgModule({
345
+ imports: [CommonModule, PolymorpheusModule, TuiExpandModule, TuiButtonModule],
346
+ entryComponents: [TuiTreeItemContentComponent],
347
+ declarations: [
348
+ TuiTreeComponent,
349
+ TuiTreeItemComponent,
350
+ TuiTreeItemContentComponent,
351
+ TuiTreeChildrenDirective,
352
+ TuiTreeItemControllerDirective,
353
+ TuiTreeControllerDirective,
354
+ TuiTreeNodeDirective,
355
+ ],
356
+ exports: [
357
+ TuiTreeComponent,
358
+ TuiTreeItemComponent,
359
+ TuiTreeChildrenDirective,
360
+ TuiTreeItemControllerDirective,
361
+ TuiTreeControllerDirective,
362
+ ],
363
+ })
364
+ ], TuiTreeModule);
365
+
366
+ /**
367
+ * Generated bundle index. Do not edit.
368
+ */
369
+
370
+ export { TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ACCESSOR, TUI_TREE_CONTENT, TUI_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT, TUI_TREE_ITEM_PROVIDERS, TUI_TREE_LEVEL, TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_NODE, TUI_TREE_START, TuiTreeChildrenDirective, TuiTreeComponent, TuiTreeControllerDirective, TuiTreeItemComponent, TuiTreeItemContentComponent, TuiTreeItemControllerDirective, TuiTreeModule, TuiTreeNodeDirective, TuiTreeService, treeLevelFactory };
371
+ //# sourceMappingURL=taiga-ui-kit-components-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-kit-components-tree.js","sources":["ng://@taiga-ui/kit/components/tree/misc/tree.tokens.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.service.ts","ng://@taiga-ui/kit/components/tree/directives/tree-children.directive.ts","ng://@taiga-ui/kit/components/tree/components/tree/tree.component.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/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/tree.module.ts","ng://@taiga-ui/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\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 {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\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(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';\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 {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, mapTo, startWith, switchMap, tap} from 'rxjs/operators';\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 {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 {Component, Inject, Input, Optional} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: 'tree.template.html',\n styleUrls: ['tree.style.less'],\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> {\n @Input()\n value!: T;\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n get children(): readonly T[] {\n return (\n this.directive?.childrenHandler(this.value) ??\n TuiTreeChildrenDirective.defaultHandler(this.value)\n );\n }\n}\n","import {forwardRef, Provider, SkipSelf} from '@angular/core';\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 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';\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 private readonly change$ = new Subject<void>();\n\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\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(TUI_TREE_CONTROLLER)\n private readonly controller: TuiTreeController,\n @Inject(TUI_TREE_LEVEL)\n readonly level: number,\n @Inject(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 {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {isPresent, tuiDefaultProp} from '@taiga-ui/cdk';\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';\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 @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\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';\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 {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeComponent} from './components/tree/tree.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":"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"}
@@ -51,6 +51,7 @@ export * from '@taiga-ui/kit/components/slider';
51
51
  export * from '@taiga-ui/kit/components/stepper';
52
52
  export * from '@taiga-ui/kit/components/tabs';
53
53
  export * from '@taiga-ui/kit/components/tag';
54
+ export * from '@taiga-ui/kit/components/tree';
54
55
  export * from '@taiga-ui/kit/components/text-area';
55
56
  export * from '@taiga-ui/kit/components/toggle';
56
57
 
@@ -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;;"}
@@ -114,7 +114,7 @@ __decorate([
114
114
  TuiPrimitiveCalendarRangeComponent = __decorate([
115
115
  Component({
116
116
  selector: 'tui-primitive-calendar-range',
117
- template: "<tui-calendar\n [min]=\"min\"\n [max]=\"max\"\n [month]=\"userViewedMonthFirst\"\n [markerHandler]=\"markerHandler\"\n [maxViewedMonth]=\"cappedUserViewedMonthSecond | tuiMapper: monthOffset: -1\"\n [value]=\"value\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [showAdjacent]=\"false\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionFirstViewedMonth($event)\"\n></tui-calendar>\n<tui-calendar\n class=\"border\"\n [min]=\"min\"\n [max]=\"max\"\n [month]=\"userViewedMonthSecond\"\n [markerHandler]=\"markerHandler\"\n [minViewedMonth]=\"cappedUserViewedMonthFirst | tuiMapper: monthOffset: 1\"\n [value]=\"value\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [showAdjacent]=\"false\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionSecondViewedMonth($event)\"\n></tui-calendar>\n",
117
+ template: "<tui-calendar\n [min]=\"min\"\n [max]=\"max\"\n [month]=\"userViewedMonthFirst\"\n [markerHandler]=\"markerHandler\"\n [maxViewedMonth]=\"cappedUserViewedMonthSecond | tuiMapper: monthOffset:-1\"\n [value]=\"value\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [showAdjacent]=\"false\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionFirstViewedMonth($event)\"\n></tui-calendar>\n<tui-calendar\n class=\"border\"\n [min]=\"min\"\n [max]=\"max\"\n [month]=\"userViewedMonthSecond\"\n [markerHandler]=\"markerHandler\"\n [minViewedMonth]=\"cappedUserViewedMonthFirst | tuiMapper: monthOffset:1\"\n [value]=\"value\"\n [disabledItemHandler]=\"disabledItemHandler\"\n [showAdjacent]=\"false\"\n [(hoveredItem)]=\"hoveredItem\"\n (dayClick)=\"onDayClick($event)\"\n (monthChange)=\"onSectionSecondViewedMonth($event)\"\n></tui-calendar>\n",
118
118
  changeDetection: ChangeDetectionStrategy.OnPush,
119
119
  providers: [TuiDestroyService],
120
120
  styles: [":host{display:flex}.border{border-left:1px solid var(--tui-base-03)}"]
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-internal-primitive-calendar-range.js","sources":["ng://@taiga-ui/kit/internal/primitive-calendar-range/primitive-calendar-range.component.ts","ng://@taiga-ui/kit/internal/primitive-calendar-range/primitive-calendar-range.module.ts","ng://@taiga-ui/kit/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiDestroyService,\n TuiMapper,\n TuiMonth,\n watch,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER, TuiMarkerHandler} from '@taiga-ui/core';\nimport {TUI_CALENDAR_DATA_STREAM} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Component({\n selector: 'tui-primitive-calendar-range',\n templateUrl: './primitive-calendar-range.template.html',\n styleUrls: ['./primitive-calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiPrimitiveCalendarRangeComponent implements OnInit {\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultViewedMonthFirst = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n defaultViewedMonthSecond = TuiMonth.currentLocal().append({month: 1});\n\n @Input()\n @tuiDefaultProp()\n min = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n value: TuiDayRange | null = null;\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n hoveredItem: TuiDay | null = null;\n\n monthOffset: TuiMapper<TuiMonth, TuiMonth> = (value, offset: number) =>\n value.append({month: offset});\n\n userViewedMonthFirst: TuiMonth = this.defaultViewedMonthFirst;\n userViewedMonthSecond: TuiMonth = this.defaultViewedMonthSecond;\n\n constructor(\n @Inject(TUI_CALENDAR_DATA_STREAM)\n @Optional()\n valueChanges: Observable<TuiDayRange | null> | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n if (!valueChanges) {\n return;\n }\n\n valueChanges\n .pipe(watch(changeDetectorRef), takeUntil(destroy$))\n .subscribe(value => {\n this.value = value;\n this.updateViewedMonths();\n });\n }\n\n get cappedUserViewedMonthSecond(): TuiMonth {\n return this.userViewedMonthSecond.monthBefore(this.max)\n ? this.userViewedMonthSecond\n : this.max;\n }\n\n get cappedUserViewedMonthFirst(): TuiMonth {\n return this.userViewedMonthFirst.monthSameOrBefore(this.userViewedMonthSecond)\n ? this.userViewedMonthFirst\n : this.userViewedMonthSecond;\n }\n\n ngOnInit() {\n this.updateViewedMonths();\n }\n\n onSectionFirstViewedMonth(month: TuiMonth) {\n this.userViewedMonthFirst = month;\n\n if (this.userViewedMonthSecond.year < this.userViewedMonthFirst.year) {\n this.userViewedMonthSecond = this.userViewedMonthSecond.append({\n year: month.year - this.userViewedMonthSecond.year,\n });\n }\n }\n\n onSectionSecondViewedMonth(month: TuiMonth) {\n this.userViewedMonthSecond = month;\n\n if (this.userViewedMonthFirst.year > this.userViewedMonthSecond.year) {\n this.userViewedMonthFirst = this.userViewedMonthFirst.append({\n year: month.year - this.userViewedMonthFirst.year,\n });\n }\n }\n\n onDayClick(day: TuiDay) {\n this.dayClick.emit(day);\n }\n\n private updateViewedMonths() {\n this.userViewedMonthFirst =\n this.value === null ? this.defaultViewedMonthFirst : this.value.from;\n this.userViewedMonthSecond =\n this.value === null ? this.defaultViewedMonthSecond : this.value.to;\n\n if (this.userViewedMonthFirst.monthSame(this.userViewedMonthSecond)) {\n this.userViewedMonthSecond = this.userViewedMonthSecond.append({month: 1});\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiCalendarModule, TuiScrollbarModule} from '@taiga-ui/core';\nimport {TuiPrimitiveCalendarRangeComponent} from './primitive-calendar-range.component';\n\n/**\n * @internal\n */\n@NgModule({\n imports: [TuiMapperPipeModule, TuiScrollbarModule, TuiCalendarModule],\n declarations: [TuiPrimitiveCalendarRangeComponent],\n exports: [TuiPrimitiveCalendarRangeComponent],\n})\nexport class TuiPrimitiveCalendarRangeModule {}\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-internal-primitive-calendar-range.js","sources":["ng://@taiga-ui/kit/internal/primitive-calendar-range/primitive-calendar-range.component.ts","ng://@taiga-ui/kit/internal/primitive-calendar-range/primitive-calendar-range.module.ts","ng://@taiga-ui/kit/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n Input,\n OnInit,\n Optional,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n TuiDayRange,\n tuiDefaultProp,\n TuiDestroyService,\n TuiMapper,\n TuiMonth,\n watch,\n} from '@taiga-ui/cdk';\nimport {TUI_DEFAULT_MARKER_HANDLER, TuiMarkerHandler} from '@taiga-ui/core';\nimport {TUI_CALENDAR_DATA_STREAM} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {takeUntil} from 'rxjs/operators';\n\n/**\n * @internal\n */\n@Component({\n selector: 'tui-primitive-calendar-range',\n templateUrl: './primitive-calendar-range.template.html',\n styleUrls: ['./primitive-calendar-range.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiPrimitiveCalendarRangeComponent implements OnInit {\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<TuiDay> = ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n markerHandler: TuiMarkerHandler = TUI_DEFAULT_MARKER_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n defaultViewedMonthFirst = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n defaultViewedMonthSecond = TuiMonth.currentLocal().append({month: 1});\n\n @Input()\n @tuiDefaultProp()\n min = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n value: TuiDayRange | null = null;\n\n @Output()\n readonly dayClick = new EventEmitter<TuiDay>();\n\n hoveredItem: TuiDay | null = null;\n\n monthOffset: TuiMapper<TuiMonth, TuiMonth> = (value, offset: number) =>\n value.append({month: offset});\n\n userViewedMonthFirst: TuiMonth = this.defaultViewedMonthFirst;\n userViewedMonthSecond: TuiMonth = this.defaultViewedMonthSecond;\n\n constructor(\n @Inject(TUI_CALENDAR_DATA_STREAM)\n @Optional()\n valueChanges: Observable<TuiDayRange | null> | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: TuiDestroyService,\n ) {\n if (!valueChanges) {\n return;\n }\n\n valueChanges\n .pipe(watch(changeDetectorRef), takeUntil(destroy$))\n .subscribe(value => {\n this.value = value;\n this.updateViewedMonths();\n });\n }\n\n get cappedUserViewedMonthSecond(): TuiMonth {\n return this.userViewedMonthSecond.monthBefore(this.max)\n ? this.userViewedMonthSecond\n : this.max;\n }\n\n get cappedUserViewedMonthFirst(): TuiMonth {\n return this.userViewedMonthFirst.monthSameOrBefore(this.userViewedMonthSecond)\n ? this.userViewedMonthFirst\n : this.userViewedMonthSecond;\n }\n\n ngOnInit() {\n this.updateViewedMonths();\n }\n\n onSectionFirstViewedMonth(month: TuiMonth) {\n this.userViewedMonthFirst = month;\n\n if (this.userViewedMonthSecond.year < this.userViewedMonthFirst.year) {\n this.userViewedMonthSecond = this.userViewedMonthSecond.append({\n year: month.year - this.userViewedMonthSecond.year,\n });\n }\n }\n\n onSectionSecondViewedMonth(month: TuiMonth) {\n this.userViewedMonthSecond = month;\n\n if (this.userViewedMonthFirst.year > this.userViewedMonthSecond.year) {\n this.userViewedMonthFirst = this.userViewedMonthFirst.append({\n year: month.year - this.userViewedMonthFirst.year,\n });\n }\n }\n\n onDayClick(day: TuiDay) {\n this.dayClick.emit(day);\n }\n\n private updateViewedMonths() {\n this.userViewedMonthFirst =\n this.value === null ? this.defaultViewedMonthFirst : this.value.from;\n this.userViewedMonthSecond =\n this.value === null ? this.defaultViewedMonthSecond : this.value.to;\n\n if (this.userViewedMonthFirst.monthSame(this.userViewedMonthSecond)) {\n this.userViewedMonthSecond = this.userViewedMonthSecond.append({month: 1});\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiMapperPipeModule} from '@taiga-ui/cdk';\nimport {TuiCalendarModule, TuiScrollbarModule} from '@taiga-ui/core';\nimport {TuiPrimitiveCalendarRangeComponent} from './primitive-calendar-range.component';\n\n/**\n * @internal\n */\n@NgModule({\n imports: [TuiMapperPipeModule, TuiScrollbarModule, TuiCalendarModule],\n declarations: [TuiPrimitiveCalendarRangeComponent],\n exports: [TuiPrimitiveCalendarRangeComponent],\n})\nexport class TuiPrimitiveCalendarRangeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}