@taiga-ui/kit 2.21.0 → 2.25.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 (918) 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-arrow.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  11. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  13. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-badge.umd.js +2 -2
  15. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  16. package/bundles/taiga-ui-kit-components-badge.umd.min.js +1 -1
  17. package/bundles/taiga-ui-kit-components-badge.umd.min.js.map +1 -1
  18. package/bundles/taiga-ui-kit-components-badged-content.umd.js +1 -1
  19. package/bundles/taiga-ui-kit-components-badged-content.umd.js.map +1 -1
  20. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js +1 -1
  21. package/bundles/taiga-ui-kit-components-badged-content.umd.min.js.map +1 -1
  22. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +6 -6
  23. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  24. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +2 -2
  25. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  26. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +1 -1
  27. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  28. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
  29. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  30. package/bundles/taiga-ui-kit-components-calendar-range.umd.js +1 -1
  31. package/bundles/taiga-ui-kit-components-calendar-range.umd.js.map +1 -1
  32. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js +1 -1
  33. package/bundles/taiga-ui-kit-components-calendar-range.umd.min.js.map +1 -1
  34. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  36. package/bundles/taiga-ui-kit-components-combo-box.umd.js +13 -4
  37. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +1 -1
  39. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js +2 -2
  41. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js +1 -1
  43. package/bundles/taiga-ui-kit-components-data-list-wrapper.umd.min.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-filter.umd.js +1 -1
  47. package/bundles/taiga-ui-kit-components-filter.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-filter.umd.min.js +1 -1
  49. package/bundles/taiga-ui-kit-components-filter.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-copy.umd.js +2 -2
  51. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +1 -1
  53. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-count.umd.js +7 -2
  55. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +2 -2
  57. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +2 -2
  59. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +1 -1
  61. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +2 -2
  63. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +1 -1
  65. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  66. package/bundles/taiga-ui-kit-components-input-date.umd.js +2 -2
  67. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  68. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +1 -1
  69. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  70. package/bundles/taiga-ui-kit-components-input-file.umd.js +191 -191
  71. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  72. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +2 -2
  73. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  74. package/bundles/taiga-ui-kit-components-input-inline.umd.js +1 -1
  75. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
  77. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +1 -1
  79. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  80. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-month.umd.js +1 -1
  82. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  83. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  84. package/bundles/taiga-ui-kit-components-input-number.umd.js +8 -2
  85. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  86. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +1 -1
  87. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  88. package/bundles/taiga-ui-kit-components-input-password.umd.js +3 -2
  89. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  90. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  91. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  92. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
  93. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  95. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-input-phone.umd.js +2 -2
  97. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  99. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-input-range.umd.js +2 -2
  101. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  103. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components-input-slider.umd.js +2 -2
  105. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  106. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  107. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  108. package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
  109. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  110. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  111. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-kit-components-input-time.umd.js +2 -2
  113. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +1 -1
  115. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  116. package/bundles/taiga-ui-kit-components-input.umd.js +1 -1
  117. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  118. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  119. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  120. package/bundles/taiga-ui-kit-components-island.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-island.umd.min.js.map +1 -1
  122. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +5 -5
  123. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  124. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js +2 -2
  125. package/bundles/taiga-ui-kit-components-line-clamp.umd.min.js.map +1 -1
  126. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-marker-icon.umd.min.js.map +1 -1
  128. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +16 -12
  129. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  130. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js +2 -2
  131. package/bundles/taiga-ui-kit-components-multi-select-option.umd.min.js.map +1 -1
  132. package/bundles/taiga-ui-kit-components-multi-select.umd.js +18 -45
  133. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  134. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  135. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  136. package/bundles/taiga-ui-kit-components-pagination.umd.js +1 -1
  137. package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
  138. package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
  139. package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
  140. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +338 -0
  141. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -0
  142. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js +16 -0
  143. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -0
  144. package/bundles/taiga-ui-kit-components-progress.umd.js +61 -25
  145. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-components-progress.umd.min.js +2 -2
  147. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -1
  148. package/bundles/taiga-ui-kit-components-radio-group.umd.js.map +1 -1
  149. package/bundles/taiga-ui-kit-components-radio-group.umd.min.js.map +1 -1
  150. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
  151. package/bundles/taiga-ui-kit-components-radio-labeled.umd.min.js +1 -1
  152. package/bundles/taiga-ui-kit-components-radio.umd.js.map +1 -1
  153. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  154. package/bundles/taiga-ui-kit-components-range.umd.js +2 -2
  155. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  156. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  157. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  158. package/bundles/taiga-ui-kit-components-select-option.umd.js +23 -14
  159. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  160. package/bundles/taiga-ui-kit-components-select-option.umd.min.js +2 -2
  161. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  162. package/bundles/taiga-ui-kit-components-select.umd.js +9 -3
  163. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  164. package/bundles/taiga-ui-kit-components-select.umd.min.js +2 -2
  165. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  166. package/bundles/taiga-ui-kit-components-slider.umd.js +2 -2
  167. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  168. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  169. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  170. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  171. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  172. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  173. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  174. package/bundles/taiga-ui-kit-components-tabs.umd.js +3 -3
  175. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  176. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  177. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  178. package/bundles/taiga-ui-kit-components-tag.umd.js +2 -2
  179. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  180. package/bundles/taiga-ui-kit-components-tag.umd.min.js +2 -2
  181. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  182. package/bundles/taiga-ui-kit-components-text-area.umd.js +19 -2
  183. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  184. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +2 -2
  185. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  186. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  187. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  188. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +1 -1
  189. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  190. package/bundles/taiga-ui-kit-components-tree.umd.js +653 -0
  191. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -0
  192. package/bundles/taiga-ui-kit-components-tree.umd.min.js +16 -0
  193. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -0
  194. package/bundles/taiga-ui-kit-components.umd.js +36 -20
  195. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  196. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  197. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -1
  198. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -1
  199. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.js.map +1 -1
  200. package/bundles/taiga-ui-kit-directives-dropdown-hover.umd.min.js.map +1 -1
  201. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +2 -1
  202. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  203. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  204. package/bundles/taiga-ui-kit-directives-highlight.umd.js.map +1 -1
  205. package/bundles/taiga-ui-kit-directives-highlight.umd.min.js.map +1 -1
  206. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.js.map +1 -1
  207. package/bundles/taiga-ui-kit-directives-lazy-loading.umd.min.js.map +1 -1
  208. package/bundles/taiga-ui-kit-directives-present.umd.js.map +1 -1
  209. package/bundles/taiga-ui-kit-directives-present.umd.min.js.map +1 -1
  210. package/bundles/taiga-ui-kit-directives-project-class.umd.js.map +1 -1
  211. package/bundles/taiga-ui-kit-directives-project-class.umd.min.js.map +1 -1
  212. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.js.map +1 -1
  213. package/bundles/taiga-ui-kit-directives-unfinished-validator.umd.min.js.map +1 -1
  214. package/bundles/taiga-ui-kit-directives-value-accessor.umd.js.map +1 -1
  215. package/bundles/taiga-ui-kit-directives-value-accessor.umd.min.js.map +1 -1
  216. package/bundles/taiga-ui-kit-directives.umd.js +12 -12
  217. package/bundles/taiga-ui-kit-directives.umd.min.js +1 -1
  218. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js +1 -1
  219. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.js.map +1 -1
  220. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js +1 -1
  221. package/bundles/taiga-ui-kit-internal-primitive-calendar-range.umd.min.js.map +1 -1
  222. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +21 -21
  223. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
  224. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js +1 -1
  225. package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
  226. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.js.map +1 -1
  227. package/bundles/taiga-ui-kit-pipes-stringify-content.umd.min.js.map +1 -1
  228. package/bundles/taiga-ui-kit-pipes-stringify.umd.js.map +1 -1
  229. package/bundles/taiga-ui-kit-pipes-stringify.umd.min.js.map +1 -1
  230. package/bundles/taiga-ui-kit-tokens.umd.js +14 -14
  231. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  232. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  233. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  234. package/bundles/taiga-ui-kit-utils-format.umd.js +0 -2
  235. package/bundles/taiga-ui-kit-utils-format.umd.js.map +1 -1
  236. package/bundles/taiga-ui-kit-utils-format.umd.min.js.map +1 -1
  237. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  238. package/components/action/taiga-ui-kit-components-action.metadata.json +1 -1
  239. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  240. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  241. package/components/badge/taiga-ui-kit-components-badge.metadata.json +1 -1
  242. package/components/badged-content/taiga-ui-kit-components-badged-content.metadata.json +1 -1
  243. package/components/breadcrumbs/index.d.ts +1 -1
  244. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  245. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  246. package/components/calendar-range/taiga-ui-kit-components-calendar-range.metadata.json +1 -1
  247. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  248. package/components/combo-box/combo-box.component.d.ts +3 -3
  249. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  250. package/components/data-list-wrapper/taiga-ui-kit-components-data-list-wrapper.metadata.json +1 -1
  251. package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
  252. package/components/filter/taiga-ui-kit-components-filter.metadata.json +1 -1
  253. package/components/index.d.ts +4 -2
  254. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  255. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  256. package/components/input-count/input-count.component.d.ts +1 -0
  257. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  258. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  259. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  260. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  261. package/components/input-file/index.d.ts +1 -1
  262. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  263. package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
  264. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  265. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  266. package/components/input-number/input-number.component.d.ts +1 -0
  267. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  268. package/components/input-password/index.d.ts +1 -1
  269. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  270. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  271. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  272. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  273. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  274. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  275. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  276. package/components/island/taiga-ui-kit-components-island.metadata.json +1 -1
  277. package/components/line-clamp/index.d.ts +1 -1
  278. package/components/line-clamp/taiga-ui-kit-components-line-clamp.metadata.json +1 -1
  279. package/components/marker-icon/taiga-ui-kit-components-marker-icon.metadata.json +1 -1
  280. package/components/multi-select/index.d.ts +0 -1
  281. package/components/multi-select/multi-select.component.d.ts +6 -5
  282. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  283. package/components/multi-select-option/multi-select-option.component.d.ts +1 -1
  284. package/components/multi-select-option/taiga-ui-kit-components-multi-select-option.metadata.json +1 -1
  285. package/components/pagination/taiga-ui-kit-components-pagination.metadata.json +1 -1
  286. package/components/pdf-viewer/index.d.ts +5 -0
  287. package/components/pdf-viewer/package.json +13 -0
  288. package/components/pdf-viewer/pdf-viewer-options.d.ts +6 -0
  289. package/components/pdf-viewer/pdf-viewer.component.d.ts +20 -0
  290. package/components/pdf-viewer/pdf-viewer.directive.d.ts +4 -0
  291. package/components/pdf-viewer/pdf-viewer.module.d.ts +2 -0
  292. package/components/pdf-viewer/pdf-viewer.service.d.ts +8 -0
  293. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.d.ts +4 -0
  294. package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -0
  295. package/components/progress/index.d.ts +4 -2
  296. package/components/progress/pipes/abstract-color-segments.d.ts +9 -0
  297. package/components/progress/pipes/progress-color-segments-async.pipe.d.ts +5 -0
  298. package/components/progress/pipes/progress-color-segments.pipe.d.ts +7 -6
  299. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -1
  300. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  301. package/components/radio-group/taiga-ui-kit-components-radio-group.metadata.json +1 -1
  302. package/components/radio-labeled/taiga-ui-kit-components-radio-labeled.metadata.json +1 -1
  303. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  304. package/components/select/select.component.d.ts +1 -1
  305. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  306. package/components/select-option/select-option.component.d.ts +4 -2
  307. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  308. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  309. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  310. package/components/tabs/index.d.ts +2 -2
  311. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  312. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  313. package/components/taiga-ui-kit-components.metadata.json +1 -1
  314. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  315. package/components/text-area/text-area.component.d.ts +2 -0
  316. package/components/toggle/index.d.ts +1 -1
  317. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  318. package/components/tree/components/tree/tree.component.d.ts +10 -0
  319. package/components/tree/components/tree-item/tree-item.component.d.ts +17 -0
  320. package/components/tree/components/tree-item/tree-item.providers.d.ts +3 -0
  321. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +9 -0
  322. package/components/tree/directives/tree-children.directive.d.ts +5 -0
  323. package/components/tree/directives/tree-controller.directive.d.ts +13 -0
  324. package/components/tree/directives/tree-item-controller.directive.d.ts +8 -0
  325. package/components/tree/directives/tree-node.directive.d.ts +10 -0
  326. package/components/tree/index.d.ts +13 -0
  327. package/components/tree/misc/tree.constants.d.ts +5 -0
  328. package/components/tree/misc/tree.interfaces.d.ts +22 -0
  329. package/components/tree/misc/tree.service.d.ts +12 -0
  330. package/components/tree/misc/tree.tokens.d.ts +11 -0
  331. package/components/tree/package.json +13 -0
  332. package/components/tree/taiga-ui-kit-components-tree.d.ts +4 -0
  333. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -0
  334. package/components/tree/tree.module.d.ts +2 -0
  335. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -1
  336. package/directives/dropdown-hover/taiga-ui-kit-directives-dropdown-hover.metadata.json +1 -1
  337. package/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.metadata.json +1 -1
  338. package/directives/highlight/taiga-ui-kit-directives-highlight.metadata.json +1 -1
  339. package/directives/index.d.ts +1 -1
  340. package/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.metadata.json +1 -1
  341. package/directives/present/taiga-ui-kit-directives-present.metadata.json +1 -1
  342. package/directives/project-class/taiga-ui-kit-directives-project-class.metadata.json +1 -1
  343. package/directives/taiga-ui-kit-directives.metadata.json +1 -1
  344. package/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.metadata.json +1 -1
  345. package/directives/value-accessor/taiga-ui-kit-directives-value-accessor.metadata.json +1 -1
  346. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +5 -6
  347. package/esm2015/components/accordion/accordion.component.js +2 -2
  348. package/esm2015/components/accordion/accordion.module.js +3 -3
  349. package/esm2015/components/action/action.component.js +2 -2
  350. package/esm2015/components/arrow/arrow.module.js +1 -1
  351. package/esm2015/components/avatar/avatar.component.js +2 -2
  352. package/esm2015/components/avatar/avatar.module.js +1 -1
  353. package/esm2015/components/badge/badge.component.js +3 -3
  354. package/esm2015/components/badge/badge.module.js +1 -1
  355. package/esm2015/components/badged-content/badged-content.component.js +1 -1
  356. package/esm2015/components/badged-content/badged-content.module.js +1 -1
  357. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  358. package/esm2015/components/breadcrumbs/breadcrumbs.component.js +2 -2
  359. package/esm2015/components/breadcrumbs/breadcrumbs.module.js +2 -2
  360. package/esm2015/components/breadcrumbs/index.js +2 -2
  361. package/esm2015/components/calendar-month/calendar-month.component.js +2 -2
  362. package/esm2015/components/calendar-month/calendar-month.module.js +1 -1
  363. package/esm2015/components/calendar-range/calendar-range.component.js +2 -2
  364. package/esm2015/components/checkbox/checkbox.module.js +1 -1
  365. package/esm2015/components/combo-box/combo-box.component.js +10 -5
  366. package/esm2015/components/combo-box/combo-box.module.js +1 -1
  367. package/esm2015/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  368. package/esm2015/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  369. package/esm2015/components/data-list-wrapper/data-list-wrapper.module.js +1 -1
  370. package/esm2015/components/field-error/field-error.module.js +1 -1
  371. package/esm2015/components/filter/filter.component.js +1 -1
  372. package/esm2015/components/filter/filter.module.js +1 -1
  373. package/esm2015/components/index.js +5 -3
  374. package/esm2015/components/input/input.component.js +2 -2
  375. package/esm2015/components/input/input.module.js +1 -1
  376. package/esm2015/components/input/input.providers.js +1 -1
  377. package/esm2015/components/input-copy/input-copy.component.js +2 -2
  378. package/esm2015/components/input-copy/input-copy.module.js +1 -1
  379. package/esm2015/components/input-count/input-count.component.js +8 -3
  380. package/esm2015/components/input-count/input-count.module.js +1 -1
  381. package/esm2015/components/input-date/input-date.component.js +3 -3
  382. package/esm2015/components/input-date/input-date.module.js +1 -1
  383. package/esm2015/components/input-date-range/input-date-range.component.js +2 -2
  384. package/esm2015/components/input-date-range/input-date-range.module.js +1 -1
  385. package/esm2015/components/input-date-time/input-date-time.component.js +2 -2
  386. package/esm2015/components/input-date-time/input-date-time.module.js +1 -1
  387. package/esm2015/components/input-file/file/file.component.js +3 -3
  388. package/esm2015/components/input-file/index.js +2 -2
  389. package/esm2015/components/input-file/input-file.component.js +3 -3
  390. package/esm2015/components/input-file/input-file.module.js +1 -1
  391. package/esm2015/components/input-inline/input-inline.component.js +1 -1
  392. package/esm2015/components/input-inline/input-inline.module.js +1 -1
  393. package/esm2015/components/input-month/input-month.component.js +1 -1
  394. package/esm2015/components/input-month-range/input-month-range.component.js +1 -1
  395. package/esm2015/components/input-number/input-number.component.js +9 -3
  396. package/esm2015/components/input-number/input-number.module.js +1 -1
  397. package/esm2015/components/input-password/index.js +2 -2
  398. package/esm2015/components/input-password/input-password.component.js +3 -3
  399. package/esm2015/components/input-password/input-password.module.js +3 -1
  400. package/esm2015/components/input-phone/input-phone.component.js +3 -3
  401. package/esm2015/components/input-phone/input-phone.module.js +1 -1
  402. package/esm2015/components/input-phone-international/const/countries.js +1 -1
  403. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  404. package/esm2015/components/input-phone-international/input-phone-international.module.js +1 -1
  405. package/esm2015/components/input-range/input-range.component.js +3 -3
  406. package/esm2015/components/input-slider/input-slider.component.js +3 -3
  407. package/esm2015/components/input-tag/input-tag.component.js +3 -3
  408. package/esm2015/components/input-tag/input-tag.module.js +1 -1
  409. package/esm2015/components/input-time/input-time.component.js +3 -3
  410. package/esm2015/components/input-time/input-time.module.js +1 -1
  411. package/esm2015/components/island/island.module.js +1 -1
  412. package/esm2015/components/line-clamp/index.js +2 -2
  413. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  414. package/esm2015/components/line-clamp/line-clamp.module.js +1 -1
  415. package/esm2015/components/marker-icon/marker-icon.module.js +1 -1
  416. package/esm2015/components/multi-select/hide-selected.pipe.js +1 -1
  417. package/esm2015/components/multi-select/index.js +1 -2
  418. package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +10 -4
  419. package/esm2015/components/multi-select/multi-select-group/multi-select-group.directive.js +1 -1
  420. package/esm2015/components/multi-select/multi-select.component.js +12 -20
  421. package/esm2015/components/multi-select/multi-select.module.js +2 -4
  422. package/esm2015/components/multi-select-option/multi-select-option.component.js +8 -10
  423. package/esm2015/components/multi-select-option/multi-select-option.module.js +1 -1
  424. package/esm2015/components/pagination/pagination.component.js +1 -1
  425. package/esm2015/components/pagination/pagination.module.js +1 -1
  426. package/esm2015/components/pdf-viewer/index.js +5 -0
  427. package/esm2015/components/pdf-viewer/pdf-viewer-options.js +1 -0
  428. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +50 -0
  429. package/esm2015/components/pdf-viewer/pdf-viewer.directive.js +21 -0
  430. package/esm2015/components/pdf-viewer/pdf-viewer.module.js +28 -0
  431. package/esm2015/components/pdf-viewer/pdf-viewer.service.js +24 -0
  432. package/esm2015/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.js +5 -0
  433. package/esm2015/components/progress/index.js +5 -3
  434. package/esm2015/components/progress/pipes/abstract-color-segments.js +32 -0
  435. package/esm2015/components/progress/pipes/progress-color-segments-async.pipe.js +15 -0
  436. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +12 -28
  437. package/esm2015/components/progress/progress-circle/progress-circle.component.js +2 -2
  438. package/esm2015/components/progress/progress-label/progress-label.component.js +1 -1
  439. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  440. package/esm2015/components/progress/progress.module.js +4 -1
  441. package/esm2015/components/radio/radio.component.js +1 -1
  442. package/esm2015/components/radio/radio.module.js +1 -1
  443. package/esm2015/components/radio-group/radio-group.module.js +1 -1
  444. package/esm2015/components/radio-labeled/radio-labeled.component.js +1 -1
  445. package/esm2015/components/range/range.component.js +3 -3
  446. package/esm2015/components/range/range.module.js +1 -1
  447. package/esm2015/components/select/select.component.js +6 -4
  448. package/esm2015/components/select/select.module.js +1 -1
  449. package/esm2015/components/select-option/select-option.component.js +20 -12
  450. package/esm2015/components/select-option/select-option.module.js +1 -1
  451. package/esm2015/components/slider/slider.component.js +3 -3
  452. package/esm2015/components/slider/slider.module.js +1 -1
  453. package/esm2015/components/stepper/step/step.component.js +2 -2
  454. package/esm2015/components/stepper/stepper.component.js +1 -1
  455. package/esm2015/components/stepper/stepper.module.js +1 -1
  456. package/esm2015/components/tabs/index.js +3 -3
  457. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  458. package/esm2015/components/tabs/tabs/tabs.component.js +2 -2
  459. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  460. package/esm2015/components/tabs/tabs.module.js +2 -2
  461. package/esm2015/components/tag/tag.component.js +3 -3
  462. package/esm2015/components/tag/tag.module.js +1 -1
  463. package/esm2015/components/text-area/text-area.component.js +10 -4
  464. package/esm2015/components/text-area/text-area.module.js +5 -2
  465. package/esm2015/components/text-area/text-area.providers.js +1 -1
  466. package/esm2015/components/toggle/index.js +2 -2
  467. package/esm2015/components/toggle/toggle.component.js +2 -2
  468. package/esm2015/components/toggle/toggle.module.js +1 -1
  469. package/esm2015/components/tree/components/tree/tree.component.js +44 -0
  470. package/esm2015/components/tree/components/tree-item/tree-item.component.js +58 -0
  471. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +18 -0
  472. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +41 -0
  473. package/esm2015/components/tree/directives/tree-children.directive.js +23 -0
  474. package/esm2015/components/tree/directives/tree-controller.directive.js +62 -0
  475. package/esm2015/components/tree/directives/tree-item-controller.directive.js +36 -0
  476. package/esm2015/components/tree/directives/tree-node.directive.js +35 -0
  477. package/esm2015/components/tree/index.js +13 -0
  478. package/esm2015/components/tree/misc/tree.constants.js +9 -0
  479. package/esm2015/components/tree/misc/tree.interfaces.js +1 -0
  480. package/esm2015/components/tree/misc/tree.service.js +40 -0
  481. package/esm2015/components/tree/misc/tree.tokens.js +17 -0
  482. package/esm2015/components/tree/taiga-ui-kit-components-tree.js +5 -0
  483. package/esm2015/components/tree/tree.module.js +38 -0
  484. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +1 -1
  485. package/esm2015/directives/dropdown-context/dropdown-context.module.js +1 -1
  486. package/esm2015/directives/dropdown-hover/dropdown-hover.module.js +1 -1
  487. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +3 -2
  488. package/esm2015/directives/dropdown-selection/dropdown-selection.module.js +1 -1
  489. package/esm2015/directives/highlight/highlight.module.js +1 -1
  490. package/esm2015/directives/index.js +2 -2
  491. package/esm2015/directives/lazy-loading/lazy-loading.directive.js +1 -1
  492. package/esm2015/directives/lazy-loading/lazy-loading.module.js +1 -1
  493. package/esm2015/directives/present/present.module.js +1 -1
  494. package/esm2015/directives/project-class/project-class.module.js +1 -1
  495. package/esm2015/directives/unfinished-validator/unfinished-validator.module.js +1 -1
  496. package/esm2015/directives/value-accessor/value-accessor.module.js +1 -1
  497. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  498. package/esm2015/internal/primitive-calendar-range/primitive-calendar-range.module.js +1 -1
  499. package/esm2015/pipes/filter-by-input/filter-by-input-with.pipe.js +1 -1
  500. package/esm2015/pipes/filter-by-input/filter-by-input.module.js +2 -2
  501. package/esm2015/pipes/filter-by-input/filter-by-input.pipe.js +1 -1
  502. package/esm2015/pipes/stringify/stringify.module.js +1 -1
  503. package/esm2015/pipes/stringify-content/stringify-content.module.js +1 -1
  504. package/esm2015/tokens/index.js +2 -2
  505. package/esm2015/types/status.js +1 -1
  506. package/esm2015/utils/format/string-hash-to-hsl.js +1 -3
  507. package/esm2015/utils/mask/index.js +2 -2
  508. package/esm5/components/accordion/accordion-item/accordion-item.component.js +5 -6
  509. package/esm5/components/accordion/accordion.component.js +2 -2
  510. package/esm5/components/accordion/accordion.module.js +3 -3
  511. package/esm5/components/action/action.component.js +2 -2
  512. package/esm5/components/arrow/arrow.module.js +1 -1
  513. package/esm5/components/avatar/avatar.component.js +2 -2
  514. package/esm5/components/avatar/avatar.module.js +1 -1
  515. package/esm5/components/badge/badge.component.js +3 -3
  516. package/esm5/components/badge/badge.module.js +1 -1
  517. package/esm5/components/badged-content/badged-content.component.js +1 -1
  518. package/esm5/components/badged-content/badged-content.module.js +1 -1
  519. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  520. package/esm5/components/breadcrumbs/breadcrumbs.component.js +2 -2
  521. package/esm5/components/breadcrumbs/breadcrumbs.module.js +2 -2
  522. package/esm5/components/breadcrumbs/index.js +2 -2
  523. package/esm5/components/calendar-month/calendar-month.component.js +2 -2
  524. package/esm5/components/calendar-month/calendar-month.module.js +1 -1
  525. package/esm5/components/calendar-range/calendar-range.component.js +2 -2
  526. package/esm5/components/checkbox/checkbox.module.js +1 -1
  527. package/esm5/components/combo-box/combo-box.component.js +14 -5
  528. package/esm5/components/combo-box/combo-box.module.js +1 -1
  529. package/esm5/components/data-list-wrapper/data-list-group-wrapper.component.js +2 -2
  530. package/esm5/components/data-list-wrapper/data-list-wrapper.component.js +2 -2
  531. package/esm5/components/data-list-wrapper/data-list-wrapper.module.js +1 -1
  532. package/esm5/components/field-error/field-error.module.js +1 -1
  533. package/esm5/components/filter/filter.component.js +1 -1
  534. package/esm5/components/filter/filter.module.js +1 -1
  535. package/esm5/components/index.js +5 -3
  536. package/esm5/components/input/input.component.js +2 -2
  537. package/esm5/components/input/input.module.js +1 -1
  538. package/esm5/components/input/input.providers.js +1 -1
  539. package/esm5/components/input-copy/input-copy.component.js +2 -2
  540. package/esm5/components/input-copy/input-copy.module.js +1 -1
  541. package/esm5/components/input-count/input-count.component.js +8 -3
  542. package/esm5/components/input-count/input-count.module.js +1 -1
  543. package/esm5/components/input-date/input-date.component.js +3 -3
  544. package/esm5/components/input-date/input-date.module.js +1 -1
  545. package/esm5/components/input-date-range/input-date-range.component.js +2 -2
  546. package/esm5/components/input-date-range/input-date-range.module.js +1 -1
  547. package/esm5/components/input-date-time/input-date-time.component.js +2 -2
  548. package/esm5/components/input-date-time/input-date-time.module.js +1 -1
  549. package/esm5/components/input-file/file/file.component.js +3 -3
  550. package/esm5/components/input-file/index.js +2 -2
  551. package/esm5/components/input-file/input-file.component.js +3 -3
  552. package/esm5/components/input-file/input-file.module.js +1 -1
  553. package/esm5/components/input-inline/input-inline.component.js +1 -1
  554. package/esm5/components/input-inline/input-inline.module.js +1 -1
  555. package/esm5/components/input-month/input-month.component.js +1 -1
  556. package/esm5/components/input-month-range/input-month-range.component.js +1 -1
  557. package/esm5/components/input-number/input-number.component.js +9 -3
  558. package/esm5/components/input-number/input-number.module.js +1 -1
  559. package/esm5/components/input-password/index.js +2 -2
  560. package/esm5/components/input-password/input-password.component.js +3 -3
  561. package/esm5/components/input-password/input-password.module.js +3 -1
  562. package/esm5/components/input-phone/input-phone.component.js +3 -3
  563. package/esm5/components/input-phone/input-phone.module.js +1 -1
  564. package/esm5/components/input-phone-international/const/countries.js +1 -1
  565. package/esm5/components/input-phone-international/input-phone-international.component.js +2 -2
  566. package/esm5/components/input-phone-international/input-phone-international.module.js +1 -1
  567. package/esm5/components/input-range/input-range.component.js +3 -3
  568. package/esm5/components/input-slider/input-slider.component.js +3 -3
  569. package/esm5/components/input-tag/input-tag.component.js +3 -3
  570. package/esm5/components/input-tag/input-tag.module.js +1 -1
  571. package/esm5/components/input-time/input-time.component.js +3 -3
  572. package/esm5/components/input-time/input-time.module.js +1 -1
  573. package/esm5/components/island/island.module.js +1 -1
  574. package/esm5/components/line-clamp/index.js +2 -2
  575. package/esm5/components/line-clamp/line-clamp.component.js +1 -1
  576. package/esm5/components/line-clamp/line-clamp.module.js +1 -1
  577. package/esm5/components/marker-icon/marker-icon.module.js +1 -1
  578. package/esm5/components/multi-select/hide-selected.pipe.js +1 -1
  579. package/esm5/components/multi-select/index.js +1 -2
  580. package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +10 -4
  581. package/esm5/components/multi-select/multi-select-group/multi-select-group.directive.js +1 -1
  582. package/esm5/components/multi-select/multi-select.component.js +12 -24
  583. package/esm5/components/multi-select/multi-select.module.js +2 -4
  584. package/esm5/components/multi-select-option/multi-select-option.component.js +14 -11
  585. package/esm5/components/multi-select-option/multi-select-option.module.js +1 -1
  586. package/esm5/components/pagination/pagination.component.js +1 -1
  587. package/esm5/components/pagination/pagination.module.js +1 -1
  588. package/esm5/components/pdf-viewer/index.js +5 -0
  589. package/esm5/components/pdf-viewer/pdf-viewer-options.js +1 -0
  590. package/esm5/components/pdf-viewer/pdf-viewer.component.js +51 -0
  591. package/esm5/components/pdf-viewer/pdf-viewer.directive.js +26 -0
  592. package/esm5/components/pdf-viewer/pdf-viewer.module.js +31 -0
  593. package/esm5/components/pdf-viewer/pdf-viewer.service.js +27 -0
  594. package/esm5/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.js +5 -0
  595. package/esm5/components/progress/index.js +5 -3
  596. package/esm5/components/progress/pipes/abstract-color-segments.js +35 -0
  597. package/esm5/components/progress/pipes/progress-color-segments-async.pipe.js +21 -0
  598. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +16 -30
  599. package/esm5/components/progress/progress-circle/progress-circle.component.js +2 -2
  600. package/esm5/components/progress/progress-label/progress-label.component.js +1 -1
  601. package/esm5/components/progress/progress-segmented/progress-segmented.component.js +2 -2
  602. package/esm5/components/progress/progress.module.js +4 -1
  603. package/esm5/components/radio/radio.component.js +1 -1
  604. package/esm5/components/radio/radio.module.js +1 -1
  605. package/esm5/components/radio-group/radio-group.module.js +1 -1
  606. package/esm5/components/radio-labeled/radio-labeled.component.js +1 -1
  607. package/esm5/components/range/range.component.js +3 -3
  608. package/esm5/components/range/range.module.js +1 -1
  609. package/esm5/components/select/select.component.js +10 -4
  610. package/esm5/components/select/select.module.js +1 -1
  611. package/esm5/components/select-option/select-option.component.js +24 -14
  612. package/esm5/components/select-option/select-option.module.js +1 -1
  613. package/esm5/components/slider/slider.component.js +3 -3
  614. package/esm5/components/slider/slider.module.js +1 -1
  615. package/esm5/components/stepper/step/step.component.js +2 -2
  616. package/esm5/components/stepper/stepper.component.js +1 -1
  617. package/esm5/components/stepper/stepper.module.js +1 -1
  618. package/esm5/components/tabs/index.js +3 -3
  619. package/esm5/components/tabs/tab/tab.component.js +1 -1
  620. package/esm5/components/tabs/tabs/tabs.component.js +2 -2
  621. package/esm5/components/tabs/tabs-with-more/tabs-with-more.component.js +3 -3
  622. package/esm5/components/tabs/tabs.module.js +2 -2
  623. package/esm5/components/tag/tag.component.js +3 -3
  624. package/esm5/components/tag/tag.module.js +1 -1
  625. package/esm5/components/text-area/text-area.component.js +18 -4
  626. package/esm5/components/text-area/text-area.module.js +5 -2
  627. package/esm5/components/text-area/text-area.providers.js +1 -1
  628. package/esm5/components/toggle/index.js +2 -2
  629. package/esm5/components/toggle/toggle.component.js +2 -2
  630. package/esm5/components/toggle/toggle.module.js +1 -1
  631. package/esm5/components/tree/components/tree/tree.component.js +53 -0
  632. package/esm5/components/tree/components/tree-item/tree-item.component.js +68 -0
  633. package/esm5/components/tree/components/tree-item/tree-item.providers.js +18 -0
  634. package/esm5/components/tree/components/tree-item-content/tree-item-content.component.js +50 -0
  635. package/esm5/components/tree/directives/tree-children.directive.js +25 -0
  636. package/esm5/components/tree/directives/tree-controller.directive.js +64 -0
  637. package/esm5/components/tree/directives/tree-item-controller.directive.js +38 -0
  638. package/esm5/components/tree/directives/tree-node.directive.js +40 -0
  639. package/esm5/components/tree/index.js +13 -0
  640. package/esm5/components/tree/misc/tree.constants.js +9 -0
  641. package/esm5/components/tree/misc/tree.interfaces.js +1 -0
  642. package/esm5/components/tree/misc/tree.service.js +44 -0
  643. package/esm5/components/tree/misc/tree.tokens.js +17 -0
  644. package/esm5/components/tree/taiga-ui-kit-components-tree.js +5 -0
  645. package/esm5/components/tree/tree.module.js +41 -0
  646. package/esm5/directives/dropdown-context/dropdown-context.directive.js +1 -1
  647. package/esm5/directives/dropdown-context/dropdown-context.module.js +1 -1
  648. package/esm5/directives/dropdown-hover/dropdown-hover.module.js +1 -1
  649. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +3 -2
  650. package/esm5/directives/dropdown-selection/dropdown-selection.module.js +1 -1
  651. package/esm5/directives/highlight/highlight.module.js +1 -1
  652. package/esm5/directives/index.js +2 -2
  653. package/esm5/directives/lazy-loading/lazy-loading.directive.js +1 -1
  654. package/esm5/directives/lazy-loading/lazy-loading.module.js +1 -1
  655. package/esm5/directives/present/present.module.js +1 -1
  656. package/esm5/directives/project-class/project-class.module.js +1 -1
  657. package/esm5/directives/unfinished-validator/unfinished-validator.module.js +1 -1
  658. package/esm5/directives/value-accessor/value-accessor.module.js +1 -1
  659. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.component.js +2 -2
  660. package/esm5/internal/primitive-calendar-range/primitive-calendar-range.module.js +1 -1
  661. package/esm5/pipes/filter-by-input/filter-by-input-with.pipe.js +1 -1
  662. package/esm5/pipes/filter-by-input/filter-by-input.module.js +2 -2
  663. package/esm5/pipes/filter-by-input/filter-by-input.pipe.js +1 -1
  664. package/esm5/pipes/stringify/stringify.module.js +1 -1
  665. package/esm5/pipes/stringify-content/stringify-content.module.js +1 -1
  666. package/esm5/tokens/index.js +2 -2
  667. package/esm5/types/status.js +1 -1
  668. package/esm5/utils/format/string-hash-to-hsl.js +1 -3
  669. package/esm5/utils/mask/index.js +2 -2
  670. package/fesm2015/taiga-ui-kit-components-accordion.js +5 -6
  671. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  672. package/fesm2015/taiga-ui-kit-components-action.js +2 -2
  673. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  674. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  675. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  676. package/fesm2015/taiga-ui-kit-components-badge.js +2 -2
  677. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  678. package/fesm2015/taiga-ui-kit-components-badged-content.js +1 -1
  679. package/fesm2015/taiga-ui-kit-components-badged-content.js.map +1 -1
  680. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +4 -4
  681. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  682. package/fesm2015/taiga-ui-kit-components-calendar-month.js +1 -1
  683. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  684. package/fesm2015/taiga-ui-kit-components-calendar-range.js +1 -1
  685. package/fesm2015/taiga-ui-kit-components-calendar-range.js.map +1 -1
  686. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  687. package/fesm2015/taiga-ui-kit-components-combo-box.js +9 -4
  688. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  689. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  690. package/fesm2015/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  691. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  692. package/fesm2015/taiga-ui-kit-components-filter.js +1 -1
  693. package/fesm2015/taiga-ui-kit-components-filter.js.map +1 -1
  694. package/fesm2015/taiga-ui-kit-components-input-copy.js +2 -2
  695. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  696. package/fesm2015/taiga-ui-kit-components-input-count.js +7 -2
  697. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  698. package/fesm2015/taiga-ui-kit-components-input-date-range.js +2 -2
  699. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  700. package/fesm2015/taiga-ui-kit-components-input-date-time.js +2 -2
  701. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  702. package/fesm2015/taiga-ui-kit-components-input-date.js +2 -2
  703. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  704. package/fesm2015/taiga-ui-kit-components-input-file.js +148 -148
  705. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  706. package/fesm2015/taiga-ui-kit-components-input-inline.js +1 -1
  707. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  708. package/fesm2015/taiga-ui-kit-components-input-month-range.js +1 -1
  709. package/fesm2015/taiga-ui-kit-components-input-month.js +1 -1
  710. package/fesm2015/taiga-ui-kit-components-input-number.js +8 -2
  711. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  712. package/fesm2015/taiga-ui-kit-components-input-password.js +5 -4
  713. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  714. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  715. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  716. package/fesm2015/taiga-ui-kit-components-input-phone.js +2 -2
  717. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  718. package/fesm2015/taiga-ui-kit-components-input-range.js +2 -2
  719. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  720. package/fesm2015/taiga-ui-kit-components-input-slider.js +2 -2
  721. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  722. package/fesm2015/taiga-ui-kit-components-input-tag.js +2 -2
  723. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  724. package/fesm2015/taiga-ui-kit-components-input-time.js +2 -2
  725. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  726. package/fesm2015/taiga-ui-kit-components-input.js +1 -1
  727. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  728. package/fesm2015/taiga-ui-kit-components-island.js.map +1 -1
  729. package/fesm2015/taiga-ui-kit-components-line-clamp.js +2 -2
  730. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  731. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  732. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +7 -9
  733. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  734. package/fesm2015/taiga-ui-kit-components-multi-select.js +21 -40
  735. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  736. package/fesm2015/taiga-ui-kit-components-pagination.js +1 -1
  737. package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
  738. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +108 -0
  739. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -0
  740. package/fesm2015/taiga-ui-kit-components-progress.js +41 -16
  741. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  742. package/fesm2015/taiga-ui-kit-components-radio-group.js.map +1 -1
  743. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +1 -1
  744. package/fesm2015/taiga-ui-kit-components-radio.js.map +1 -1
  745. package/fesm2015/taiga-ui-kit-components-range.js +2 -2
  746. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  747. package/fesm2015/taiga-ui-kit-components-select-option.js +19 -11
  748. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  749. package/fesm2015/taiga-ui-kit-components-select.js +5 -3
  750. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  751. package/fesm2015/taiga-ui-kit-components-slider.js +2 -2
  752. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  753. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  754. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  755. package/fesm2015/taiga-ui-kit-components-tabs.js +3 -3
  756. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  757. package/fesm2015/taiga-ui-kit-components-tag.js +2 -2
  758. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  759. package/fesm2015/taiga-ui-kit-components-text-area.js +12 -3
  760. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  761. package/fesm2015/taiga-ui-kit-components-toggle.js +2 -2
  762. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  763. package/fesm2015/taiga-ui-kit-components-tree.js +371 -0
  764. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -0
  765. package/fesm2015/taiga-ui-kit-components.js +4 -2
  766. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  767. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  768. package/fesm2015/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  769. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +2 -1
  770. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  771. package/fesm2015/taiga-ui-kit-directives-highlight.js.map +1 -1
  772. package/fesm2015/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  773. package/fesm2015/taiga-ui-kit-directives-present.js.map +1 -1
  774. package/fesm2015/taiga-ui-kit-directives-project-class.js.map +1 -1
  775. package/fesm2015/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  776. package/fesm2015/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  777. package/fesm2015/taiga-ui-kit-directives.js +1 -1
  778. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  779. package/fesm2015/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  780. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +15 -15
  781. package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  782. package/fesm2015/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
  783. package/fesm2015/taiga-ui-kit-pipes-stringify.js.map +1 -1
  784. package/fesm2015/taiga-ui-kit-tokens.js +14 -14
  785. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  786. package/fesm2015/taiga-ui-kit-utils-format.js +0 -2
  787. package/fesm2015/taiga-ui-kit-utils-format.js.map +1 -1
  788. package/fesm5/taiga-ui-kit-components-accordion.js +5 -6
  789. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  790. package/fesm5/taiga-ui-kit-components-action.js +2 -2
  791. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  792. package/fesm5/taiga-ui-kit-components-avatar.js +1 -1
  793. package/fesm5/taiga-ui-kit-components-avatar.js.map +1 -1
  794. package/fesm5/taiga-ui-kit-components-badge.js +2 -2
  795. package/fesm5/taiga-ui-kit-components-badge.js.map +1 -1
  796. package/fesm5/taiga-ui-kit-components-badged-content.js +1 -1
  797. package/fesm5/taiga-ui-kit-components-badged-content.js.map +1 -1
  798. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +4 -4
  799. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  800. package/fesm5/taiga-ui-kit-components-calendar-month.js +1 -1
  801. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  802. package/fesm5/taiga-ui-kit-components-calendar-range.js +1 -1
  803. package/fesm5/taiga-ui-kit-components-calendar-range.js.map +1 -1
  804. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  805. package/fesm5/taiga-ui-kit-components-combo-box.js +13 -4
  806. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  807. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js +2 -2
  808. package/fesm5/taiga-ui-kit-components-data-list-wrapper.js.map +1 -1
  809. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  810. package/fesm5/taiga-ui-kit-components-filter.js +1 -1
  811. package/fesm5/taiga-ui-kit-components-filter.js.map +1 -1
  812. package/fesm5/taiga-ui-kit-components-input-copy.js +2 -2
  813. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  814. package/fesm5/taiga-ui-kit-components-input-count.js +7 -2
  815. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  816. package/fesm5/taiga-ui-kit-components-input-date-range.js +2 -2
  817. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  818. package/fesm5/taiga-ui-kit-components-input-date-time.js +2 -2
  819. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  820. package/fesm5/taiga-ui-kit-components-input-date.js +2 -2
  821. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  822. package/fesm5/taiga-ui-kit-components-input-file.js +194 -194
  823. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  824. package/fesm5/taiga-ui-kit-components-input-inline.js +1 -1
  825. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  826. package/fesm5/taiga-ui-kit-components-input-month-range.js +1 -1
  827. package/fesm5/taiga-ui-kit-components-input-month.js +1 -1
  828. package/fesm5/taiga-ui-kit-components-input-number.js +8 -2
  829. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  830. package/fesm5/taiga-ui-kit-components-input-password.js +5 -4
  831. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  832. package/fesm5/taiga-ui-kit-components-input-phone-international.js +1 -1
  833. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  834. package/fesm5/taiga-ui-kit-components-input-phone.js +2 -2
  835. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  836. package/fesm5/taiga-ui-kit-components-input-range.js +2 -2
  837. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  838. package/fesm5/taiga-ui-kit-components-input-slider.js +2 -2
  839. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  840. package/fesm5/taiga-ui-kit-components-input-tag.js +2 -2
  841. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  842. package/fesm5/taiga-ui-kit-components-input-time.js +2 -2
  843. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  844. package/fesm5/taiga-ui-kit-components-input.js +1 -1
  845. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  846. package/fesm5/taiga-ui-kit-components-island.js.map +1 -1
  847. package/fesm5/taiga-ui-kit-components-line-clamp.js +2 -2
  848. package/fesm5/taiga-ui-kit-components-line-clamp.js.map +1 -1
  849. package/fesm5/taiga-ui-kit-components-marker-icon.js.map +1 -1
  850. package/fesm5/taiga-ui-kit-components-multi-select-option.js +13 -10
  851. package/fesm5/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  852. package/fesm5/taiga-ui-kit-components-multi-select.js +21 -47
  853. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  854. package/fesm5/taiga-ui-kit-components-pagination.js +1 -1
  855. package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
  856. package/fesm5/taiga-ui-kit-components-pdf-viewer.js +120 -0
  857. package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -0
  858. package/fesm5/taiga-ui-kit-components-progress.js +55 -19
  859. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -1
  860. package/fesm5/taiga-ui-kit-components-radio-group.js.map +1 -1
  861. package/fesm5/taiga-ui-kit-components-radio-labeled.js +1 -1
  862. package/fesm5/taiga-ui-kit-components-radio.js.map +1 -1
  863. package/fesm5/taiga-ui-kit-components-range.js +2 -2
  864. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  865. package/fesm5/taiga-ui-kit-components-select-option.js +23 -13
  866. package/fesm5/taiga-ui-kit-components-select-option.js.map +1 -1
  867. package/fesm5/taiga-ui-kit-components-select.js +9 -3
  868. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  869. package/fesm5/taiga-ui-kit-components-slider.js +2 -2
  870. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  871. package/fesm5/taiga-ui-kit-components-stepper.js +1 -1
  872. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  873. package/fesm5/taiga-ui-kit-components-tabs.js +3 -3
  874. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  875. package/fesm5/taiga-ui-kit-components-tag.js +2 -2
  876. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  877. package/fesm5/taiga-ui-kit-components-text-area.js +20 -3
  878. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  879. package/fesm5/taiga-ui-kit-components-toggle.js +2 -2
  880. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  881. package/fesm5/taiga-ui-kit-components-tree.js +417 -0
  882. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -0
  883. package/fesm5/taiga-ui-kit-components.js +4 -2
  884. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  885. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -1
  886. package/fesm5/taiga-ui-kit-directives-dropdown-hover.js.map +1 -1
  887. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +2 -1
  888. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  889. package/fesm5/taiga-ui-kit-directives-highlight.js.map +1 -1
  890. package/fesm5/taiga-ui-kit-directives-lazy-loading.js.map +1 -1
  891. package/fesm5/taiga-ui-kit-directives-present.js.map +1 -1
  892. package/fesm5/taiga-ui-kit-directives-project-class.js.map +1 -1
  893. package/fesm5/taiga-ui-kit-directives-unfinished-validator.js.map +1 -1
  894. package/fesm5/taiga-ui-kit-directives-value-accessor.js.map +1 -1
  895. package/fesm5/taiga-ui-kit-directives.js +1 -1
  896. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js +1 -1
  897. package/fesm5/taiga-ui-kit-internal-primitive-calendar-range.js.map +1 -1
  898. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js +22 -22
  899. package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
  900. package/fesm5/taiga-ui-kit-pipes-stringify-content.js.map +1 -1
  901. package/fesm5/taiga-ui-kit-pipes-stringify.js.map +1 -1
  902. package/fesm5/taiga-ui-kit-tokens.js +14 -14
  903. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  904. package/fesm5/taiga-ui-kit-utils-format.js +0 -2
  905. package/fesm5/taiga-ui-kit-utils-format.js.map +1 -1
  906. package/internal/primitive-calendar-range/taiga-ui-kit-internal-primitive-calendar-range.metadata.json +1 -1
  907. package/package.json +5 -5
  908. package/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.metadata.json +1 -1
  909. package/pipes/stringify/taiga-ui-kit-pipes-stringify.metadata.json +1 -1
  910. package/pipes/stringify-content/taiga-ui-kit-pipes-stringify-content.metadata.json +1 -1
  911. package/tokens/index.d.ts +1 -1
  912. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  913. package/types/status.d.ts +1 -1
  914. package/utils/mask/index.d.ts +1 -1
  915. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  916. package/components/multi-select/multi-select-group/multi-select-group-reset.directive.d.ts +0 -3
  917. package/esm2015/components/multi-select/multi-select-group/multi-select-group-reset.directive.js +0 -20
  918. package/esm5/components/multi-select/multi-select-group/multi-select-group-reset.directive.js +0 -23
@@ -81,12 +81,13 @@ let TuiDropdownSelectionDirective = TuiDropdownSelectionDirective_1 = class TuiD
81
81
  */
82
82
  get rangeRect() {
83
83
  switch (this.position) {
84
- case 'tag':
84
+ case 'tag': {
85
85
  const { commonAncestorContainer } = this.range;
86
86
  const element = commonAncestorContainer.nodeType === Node.ELEMENT_NODE
87
87
  ? commonAncestorContainer
88
88
  : commonAncestorContainer.parentNode;
89
89
  return element.getBoundingClientRect();
90
+ }
90
91
  case 'word':
91
92
  return getWordRange(this.range).getBoundingClientRect();
92
93
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-dropdown-selection.js","sources":["ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.directive.ts","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.module.ts","ng://@taiga-ui/kit/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n getNativeFocused,\n px,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiDestroyService,\n TuiParentsScrollService,\n TuiPortalService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n AbstractTuiDropdown,\n TUI_DOCUMENT_OR_SHADOW_ROOT,\n TUI_DROPDOWN_DIRECTIVE,\n TUI_ELEMENT_REF,\n TuiDropdown,\n} from '@taiga-ui/core';\nimport {getWordRange} from '@taiga-ui/kit/utils/dom';\nimport {merge} from 'rxjs';\nimport {map, switchMapTo, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiDropdownSelection]:not(ng-container)',\n providers: [\n {\n provide: TUI_DROPDOWN_DIRECTIVE,\n useExisting: forwardRef(() => TuiDropdownSelectionDirective),\n },\n TuiParentsScrollService,\n TuiDestroyService,\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends AbstractTuiDropdown\n implements TuiDropdown, OnDestroy\n{\n @Input()\n set tuiDropdownSelection(handler: TuiBooleanHandler<Range> | undefined) {\n if (!handler) {\n return;\n }\n\n const inHostAndValid =\n this.elementRef.nativeElement.contains(this.range.commonAncestorContainer) &&\n handler(this.range);\n\n this.visibilityHandler = handler;\n this.toggleDropdownBox(inHostAndValid);\n }\n\n @Input('tuiDropdownSelectionPosition')\n position: 'selection' | 'word' | 'tag' = 'selection';\n\n private range: Range;\n\n private visibilityHandler: TuiBooleanHandler<Range> = ALWAYS_TRUE_HANDLER;\n\n private readonly documentRef: Document;\n\n private ghost?: HTMLElement;\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(ComponentFactoryResolver)\n componentFactoryResolver: ComponentFactoryResolver,\n @Inject(Injector) injector: Injector,\n @Inject(TuiPortalService) portalService: TuiPortalService,\n @Host() @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiActiveZoneDirective)\n @Optional()\n activeZone: TuiActiveZoneDirective | null,\n @Inject(TUI_DOCUMENT_OR_SHADOW_ROOT)\n @Optional()\n shadowRootRef: Document | null,\n @Inject(TUI_ELEMENT_REF)\n @Optional()\n customElementRef: ElementRef<HTMLElement> | null,\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(TuiParentsScrollService) readonly refresh$: TuiParentsScrollService,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n ) {\n super(\n componentFactoryResolver,\n injector,\n portalService,\n customElementRef || elementRef,\n activeZone,\n );\n this.documentRef = shadowRootRef || documentRef;\n this.range = this.documentRef.createRange();\n\n const {nativeElement} = this.elementRef;\n\n merge(\n typedFromEvent(this.documentRef, 'mouseup'),\n typedFromEvent(nativeElement, 'mousedown').pipe(\n switchMapTo(\n typedFromEvent(nativeElement, 'mousemove').pipe(\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'keyup'),\n )\n .pipe(\n map(() => {\n const active = getNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n // TODO: iframe warning\n if (\n (active instanceof HTMLInputElement ||\n active instanceof HTMLTextAreaElement) &&\n nativeElement.contains(active)\n ) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection && selection.rangeCount\n ? selection.getRangeAt(0)\n : this.range;\n }),\n takeUntil(destroy$),\n )\n .subscribe(range => {\n const contained = nativeElement.contains(range.commonAncestorContainer);\n\n this.range = contained ? range : this.range;\n\n const valid =\n contained &&\n (!this.visibilityHandler || this.visibilityHandler(this.range));\n\n this.toggleDropdownBox(valid || this.inDropdown(range));\n });\n }\n\n get clientRect(): ClientRect {\n const {defaultView} = this.documentRef;\n const {rangeRect} = this;\n const frameElement = defaultView ? defaultView.frameElement : null;\n\n if (!frameElement) {\n return rangeRect;\n }\n\n const documentRect = frameElement.getBoundingClientRect();\n\n return {\n top: rangeRect.top + documentRect.top,\n left: rangeRect.left + documentRect.left,\n right: rangeRect.left + documentRect.left + rangeRect.width,\n bottom: rangeRect.top + documentRect.top + rangeRect.height,\n width: rangeRect.width,\n height: rangeRect.height,\n };\n }\n\n ngOnDestroy() {\n this.closeDropdownBox();\n\n if (this.ghost) {\n this.renderer.removeChild(\n this.viewContainerRef.element.nativeElement,\n this.ghost,\n );\n }\n }\n\n /**\n * get ClientRect of current Range according to provided position\n */\n private get rangeRect(): ClientRect {\n switch (this.position) {\n case 'tag':\n const {commonAncestorContainer} = this.range;\n const element =\n commonAncestorContainer.nodeType === Node.ELEMENT_NODE\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return (element as Element).getBoundingClientRect();\n case 'word':\n return getWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n /**\n * Toggle dropdown visibility (has to be in ngZone.run because it could be initiated inside iframe in Editor)\n */\n private toggleDropdownBox(visible: boolean) {\n this.ngZone.run(() => {\n if (visible) {\n this.openDropdownBox();\n } else {\n this.closeDropdownBox();\n }\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return (\n !!this.dropdownBoxRef &&\n this.dropdownBoxRef.location.nativeElement.contains(node)\n );\n }\n\n /**\n * Check if given range is at leaset partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) &&\n this.elementRef.nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) &&\n this.elementRef.nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n /**\n * Position invisible DIV and create Range similar to selected range inside input/textarea\n */\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = px(top - hostRect.top);\n ghost.style.left = px(left - hostRect.left);\n ghost.style.width = px(width);\n ghost.style.height = px(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + element.value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild!, selectionStart || 0);\n range.setEnd(ghost.firstChild!, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.renderer.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n this.renderer.appendChild(nativeElement, ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDropdownBoxModule} from '@taiga-ui/core';\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [TuiDropdownBoxModule],\n declarations: [TuiDropdownSelectionDirective],\n exports: [TuiDropdownSelectionDirective],\n})\nexport class TuiDropdownSelectionModule {}\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-directives-dropdown-selection.js","sources":["ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.directive.ts","ng://@taiga-ui/kit/directives/dropdown-selection/dropdown-selection.module.ts","ng://@taiga-ui/kit/directives/dropdown-selection/taiga-ui-kit-directives-dropdown-selection.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectorRef,\n ComponentFactoryResolver,\n Directive,\n ElementRef,\n forwardRef,\n Host,\n Inject,\n Injector,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Renderer2,\n ViewContainerRef,\n} from '@angular/core';\nimport {\n ALWAYS_TRUE_HANDLER,\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n getNativeFocused,\n px,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiDestroyService,\n TuiParentsScrollService,\n TuiPortalService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n AbstractTuiDropdown,\n TUI_DOCUMENT_OR_SHADOW_ROOT,\n TUI_DROPDOWN_DIRECTIVE,\n TUI_ELEMENT_REF,\n TuiDropdown,\n} from '@taiga-ui/core';\nimport {getWordRange} from '@taiga-ui/kit/utils/dom';\nimport {merge} from 'rxjs';\nimport {map, switchMapTo, takeUntil} from 'rxjs/operators';\n\n// @dynamic\n@Directive({\n selector: '[tuiDropdownSelection]:not(ng-container)',\n providers: [\n {\n provide: TUI_DROPDOWN_DIRECTIVE,\n useExisting: forwardRef(() => TuiDropdownSelectionDirective),\n },\n TuiParentsScrollService,\n TuiDestroyService,\n ],\n})\nexport class TuiDropdownSelectionDirective\n extends AbstractTuiDropdown\n implements TuiDropdown, OnDestroy\n{\n @Input()\n set tuiDropdownSelection(handler: TuiBooleanHandler<Range> | undefined) {\n if (!handler) {\n return;\n }\n\n const inHostAndValid =\n this.elementRef.nativeElement.contains(this.range.commonAncestorContainer) &&\n handler(this.range);\n\n this.visibilityHandler = handler;\n this.toggleDropdownBox(inHostAndValid);\n }\n\n @Input('tuiDropdownSelectionPosition')\n position: 'selection' | 'word' | 'tag' = 'selection';\n\n private range: Range;\n\n private visibilityHandler: TuiBooleanHandler<Range> = ALWAYS_TRUE_HANDLER;\n\n private readonly documentRef: Document;\n\n private ghost?: HTMLElement;\n\n constructor(\n @Inject(DOCUMENT) documentRef: Document,\n @Inject(ComponentFactoryResolver)\n componentFactoryResolver: ComponentFactoryResolver,\n @Inject(Injector) injector: Injector,\n @Inject(TuiPortalService) portalService: TuiPortalService,\n @Host() @Inject(ElementRef) elementRef: ElementRef<HTMLElement>,\n @Inject(TuiActiveZoneDirective)\n @Optional()\n activeZone: TuiActiveZoneDirective | null,\n @Inject(TUI_DOCUMENT_OR_SHADOW_ROOT)\n @Optional()\n shadowRootRef: Document | null,\n @Inject(TUI_ELEMENT_REF)\n @Optional()\n customElementRef: ElementRef<HTMLElement> | null,\n @Inject(TuiDestroyService)\n destroy$: TuiDestroyService,\n @Inject(TuiParentsScrollService) readonly refresh$: TuiParentsScrollService,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ViewContainerRef) private readonly viewContainerRef: ViewContainerRef,\n ) {\n super(\n componentFactoryResolver,\n injector,\n portalService,\n customElementRef || elementRef,\n activeZone,\n );\n this.documentRef = shadowRootRef || documentRef;\n this.range = this.documentRef.createRange();\n\n const {nativeElement} = this.elementRef;\n\n merge(\n typedFromEvent(this.documentRef, 'mouseup'),\n typedFromEvent(nativeElement, 'mousedown').pipe(\n switchMapTo(\n typedFromEvent(nativeElement, 'mousemove').pipe(\n takeUntil(typedFromEvent(this.documentRef, 'mouseup')),\n ),\n ),\n ),\n typedFromEvent(nativeElement, 'keyup'),\n )\n .pipe(\n map(() => {\n const active = getNativeFocused(this.documentRef);\n const selection = this.documentRef.getSelection();\n\n // TODO: iframe warning\n if (\n (active instanceof HTMLInputElement ||\n active instanceof HTMLTextAreaElement) &&\n nativeElement.contains(active)\n ) {\n return this.veryVerySadInputFix(active);\n }\n\n return selection && selection.rangeCount\n ? selection.getRangeAt(0)\n : this.range;\n }),\n takeUntil(destroy$),\n )\n .subscribe(range => {\n const contained = nativeElement.contains(range.commonAncestorContainer);\n\n this.range = contained ? range : this.range;\n\n const valid =\n contained &&\n (!this.visibilityHandler || this.visibilityHandler(this.range));\n\n this.toggleDropdownBox(valid || this.inDropdown(range));\n });\n }\n\n get clientRect(): ClientRect {\n const {defaultView} = this.documentRef;\n const {rangeRect} = this;\n const frameElement = defaultView ? defaultView.frameElement : null;\n\n if (!frameElement) {\n return rangeRect;\n }\n\n const documentRect = frameElement.getBoundingClientRect();\n\n return {\n top: rangeRect.top + documentRect.top,\n left: rangeRect.left + documentRect.left,\n right: rangeRect.left + documentRect.left + rangeRect.width,\n bottom: rangeRect.top + documentRect.top + rangeRect.height,\n width: rangeRect.width,\n height: rangeRect.height,\n };\n }\n\n ngOnDestroy() {\n this.closeDropdownBox();\n\n if (this.ghost) {\n this.renderer.removeChild(\n this.viewContainerRef.element.nativeElement,\n this.ghost,\n );\n }\n }\n\n /**\n * get ClientRect of current Range according to provided position\n */\n private get rangeRect(): ClientRect {\n switch (this.position) {\n case 'tag': {\n const {commonAncestorContainer} = this.range;\n const element =\n commonAncestorContainer.nodeType === Node.ELEMENT_NODE\n ? commonAncestorContainer\n : commonAncestorContainer.parentNode;\n\n return (element as Element).getBoundingClientRect();\n }\n case 'word':\n return getWordRange(this.range).getBoundingClientRect();\n default:\n return this.range.getBoundingClientRect();\n }\n }\n\n /**\n * Toggle dropdown visibility (has to be in ngZone.run because it could be initiated inside iframe in Editor)\n */\n private toggleDropdownBox(visible: boolean) {\n this.ngZone.run(() => {\n if (visible) {\n this.openDropdownBox();\n } else {\n this.closeDropdownBox();\n }\n\n this.changeDetectorRef.markForCheck();\n });\n }\n\n /**\n * Check if Node is inside dropdown\n */\n private boxContains(node: Node): boolean {\n return (\n !!this.dropdownBoxRef &&\n this.dropdownBoxRef.location.nativeElement.contains(node)\n );\n }\n\n /**\n * Check if given range is at leaset partially inside dropdown\n */\n private inDropdown(range: Range): boolean {\n const {startContainer, endContainer} = range;\n const inDropdown = this.boxContains(range.commonAncestorContainer);\n const hostToDropdown =\n this.boxContains(endContainer) &&\n this.elementRef.nativeElement.contains(startContainer);\n const dropdownToHost =\n this.boxContains(startContainer) &&\n this.elementRef.nativeElement.contains(endContainer);\n\n return inDropdown || hostToDropdown || dropdownToHost;\n }\n\n /**\n * Position invisible DIV and create Range similar to selected range inside input/textarea\n */\n private veryVerySadInputFix(element: HTMLInputElement | HTMLTextAreaElement): Range {\n const {ghost = this.initGhost(element)} = this;\n const {top, left, width, height} = element.getBoundingClientRect();\n const {selectionStart, selectionEnd} = element;\n const range = this.documentRef.createRange();\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n\n ghost.style.top = px(top - hostRect.top);\n ghost.style.left = px(left - hostRect.left);\n ghost.style.width = px(width);\n ghost.style.height = px(height);\n ghost.textContent = CHAR_ZERO_WIDTH_SPACE + element.value + CHAR_NO_BREAK_SPACE;\n\n range.setStart(ghost.firstChild!, selectionStart || 0);\n range.setEnd(ghost.firstChild!, selectionEnd || 0);\n\n return range;\n }\n\n /**\n * Create an invisible DIV styled exactly like input/textarea element inside directive\n */\n private initGhost(element: HTMLInputElement | HTMLTextAreaElement): HTMLElement {\n const ghost = this.renderer.createElement('div');\n const {nativeElement} = this.viewContainerRef.element;\n const {font, letterSpacing, textTransform, padding} = getComputedStyle(element);\n\n ghost.style.position = 'absolute';\n ghost.style.pointerEvents = 'none';\n ghost.style.opacity = '0';\n ghost.style.whiteSpace = 'pre-wrap';\n ghost.style.font = font;\n ghost.style.letterSpacing = letterSpacing;\n ghost.style.textTransform = textTransform;\n ghost.style.padding = padding;\n\n this.renderer.appendChild(nativeElement, ghost);\n this.ghost = ghost;\n\n return ghost;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiDropdownBoxModule} from '@taiga-ui/core';\n\nimport {TuiDropdownSelectionDirective} from './dropdown-selection.directive';\n\n@NgModule({\n imports: [TuiDropdownBoxModule],\n declarations: [TuiDropdownSelectionDirective],\n exports: [TuiDropdownSelectionDirective],\n})\nexport class TuiDropdownSelectionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-highlight.js","sources":["ng://@taiga-ui/kit/directives/highlight/highlight.directive.ts","ng://@taiga-ui/kit/directives/highlight/highlight.module.ts","ng://@taiga-ui/kit/directives/highlight/taiga-ui-kit-directives-highlight.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Input, OnChanges, Renderer2} from '@angular/core';\nimport {\n px,\n svgNodeFilter,\n tuiDefaultProp,\n TuiDestroyService,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Directive({\n selector: '[tuiHighlight]',\n host: {\n '[style.position]': '\"relative\"',\n '[style.zIndex]': '0',\n },\n providers: [TuiDestroyService, TuiResizeService],\n})\nexport class TuiHighlightDirective implements OnChanges {\n @Input()\n @tuiDefaultProp()\n tuiHighlight = '';\n\n private readonly highlight: HTMLElement = this.setUpHighlight();\n\n private readonly treeWalker = this.documentRef.createTreeWalker(\n this.elementRef.nativeElement,\n NodeFilter.SHOW_TEXT,\n svgNodeFilter,\n false,\n );\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TuiResizeService) resize$: Observable<unknown>,\n ) {\n resize$.subscribe(() => {\n this.updateStyles();\n });\n }\n\n get match(): boolean {\n return this.indexOf(this.elementRef.nativeElement.textContent) !== -1;\n }\n\n ngOnChanges() {\n this.updateStyles();\n }\n\n private updateStyles() {\n this.highlight.style.display = 'none';\n\n if (!this.match) {\n return;\n }\n\n this.treeWalker.currentNode = this.elementRef.nativeElement;\n\n do {\n const index = this.indexOf(this.treeWalker.currentNode.nodeValue);\n\n if (index === -1) {\n continue;\n }\n\n const range = this.documentRef.createRange();\n\n range.setStart(this.treeWalker.currentNode, index);\n range.setEnd(this.treeWalker.currentNode, index + this.tuiHighlight.length);\n\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n const {left, top, width, height} = range.getBoundingClientRect();\n const {style} = this.highlight;\n\n style.left = px(left - hostRect.left);\n style.top = px(top - hostRect.top);\n style.width = px(width);\n style.height = px(height);\n style.display = 'block';\n\n return;\n } while (this.treeWalker.nextNode());\n }\n\n private indexOf(source: string | null): number {\n return !source || !this.tuiHighlight\n ? -1\n : source.toLowerCase().indexOf(this.tuiHighlight.toLowerCase());\n }\n\n private setUpHighlight(): HTMLElement {\n const highlight = this.renderer.createElement('div');\n const {style} = highlight;\n\n style.background = 'var(--tui-selection)';\n style.zIndex = '-1';\n style.position = 'absolute';\n this.renderer.appendChild(this.elementRef.nativeElement, highlight);\n\n return highlight;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiHighlightDirective} from './highlight.directive';\n\n@NgModule({\n declarations: [TuiHighlightDirective],\n exports: [TuiHighlightDirective],\n})\nexport class TuiHighlightModule {}\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-directives-highlight.js","sources":["ng://@taiga-ui/kit/directives/highlight/highlight.directive.ts","ng://@taiga-ui/kit/directives/highlight/highlight.module.ts","ng://@taiga-ui/kit/directives/highlight/taiga-ui-kit-directives-highlight.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {Directive, ElementRef, Inject, Input, OnChanges, Renderer2} from '@angular/core';\nimport {\n px,\n svgNodeFilter,\n tuiDefaultProp,\n TuiDestroyService,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\n// @dynamic\n@Directive({\n selector: '[tuiHighlight]',\n host: {\n '[style.position]': '\"relative\"',\n '[style.zIndex]': '0',\n },\n providers: [TuiDestroyService, TuiResizeService],\n})\nexport class TuiHighlightDirective implements OnChanges {\n @Input()\n @tuiDefaultProp()\n tuiHighlight = '';\n\n private readonly highlight: HTMLElement = this.setUpHighlight();\n\n private readonly treeWalker = this.documentRef.createTreeWalker(\n this.elementRef.nativeElement,\n NodeFilter.SHOW_TEXT,\n svgNodeFilter,\n false,\n );\n\n constructor(\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(TuiResizeService) resize$: Observable<unknown>,\n ) {\n resize$.subscribe(() => {\n this.updateStyles();\n });\n }\n\n get match(): boolean {\n return this.indexOf(this.elementRef.nativeElement.textContent) !== -1;\n }\n\n ngOnChanges() {\n this.updateStyles();\n }\n\n private updateStyles() {\n this.highlight.style.display = 'none';\n\n if (!this.match) {\n return;\n }\n\n this.treeWalker.currentNode = this.elementRef.nativeElement;\n\n do {\n const index = this.indexOf(this.treeWalker.currentNode.nodeValue);\n\n if (index === -1) {\n continue;\n }\n\n const range = this.documentRef.createRange();\n\n range.setStart(this.treeWalker.currentNode, index);\n range.setEnd(this.treeWalker.currentNode, index + this.tuiHighlight.length);\n\n const hostRect = this.elementRef.nativeElement.getBoundingClientRect();\n const {left, top, width, height} = range.getBoundingClientRect();\n const {style} = this.highlight;\n\n style.left = px(left - hostRect.left);\n style.top = px(top - hostRect.top);\n style.width = px(width);\n style.height = px(height);\n style.display = 'block';\n\n return;\n } while (this.treeWalker.nextNode());\n }\n\n private indexOf(source: string | null): number {\n return !source || !this.tuiHighlight\n ? -1\n : source.toLowerCase().indexOf(this.tuiHighlight.toLowerCase());\n }\n\n private setUpHighlight(): HTMLElement {\n const highlight = this.renderer.createElement('div');\n const {style} = highlight;\n\n style.background = 'var(--tui-selection)';\n style.zIndex = '-1';\n style.position = 'absolute';\n this.renderer.appendChild(this.elementRef.nativeElement, highlight);\n\n return highlight;\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiHighlightDirective} from './highlight.directive';\n\n@NgModule({\n declarations: [TuiHighlightDirective],\n exports: [TuiHighlightDirective],\n})\nexport class TuiHighlightModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-lazy-loading.js","sources":["ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.service.ts","ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.directive.ts","ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.module.ts","ng://@taiga-ui/kit/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.ts"],"sourcesContent":["import {ChangeDetectorRef, Inject, Injectable} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiDestroyService, watch} from '@taiga-ui/cdk';\nimport {Observable, of, Subject} from 'rxjs';\nimport {catchError, filter, mapTo, switchMap, take, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiLazyLoadingService extends Observable<string> {\n private src$ = new Subject<string>();\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(IntersectionObserverService)\n intersections$: Observable<IntersectionObserverEntry[]>,\n ) {\n super(subscriber =>\n this.src$\n .pipe(\n switchMap(src =>\n intersections$.pipe(\n filter(([{isIntersecting}]) => isIntersecting),\n mapTo(src),\n catchError(() => of(src)),\n watch(changeDetectorRef),\n take(1),\n ),\n ),\n takeUntil(destroy$),\n )\n .subscribe(subscriber),\n );\n }\n\n next(src: string) {\n this.src$.next(src);\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\nimport {TuiLazyLoadingService} from './lazy-loading.service';\n\n@Directive({\n selector: 'img[loading=\"lazy\"]',\n providers: [TuiLazyLoadingService, IntersectionObserverService, TuiDestroyService],\n})\nexport class TuiLazyLoadingDirective {\n @Input('src')\n set srcSetter(src: string) {\n this.src = this.supported ? src : null;\n this.src$.next(src);\n }\n\n @HostBinding('style.animation')\n animation = 'tuiSkeletonVibe ease-in-out 1s infinite alternate';\n\n @HostBinding('style.background')\n background = 'rgba(0, 0, 0, .16)';\n\n @HostBinding('attr.src')\n src: string | null = null;\n\n private readonly supported = 'loading' in this.elementRef.nativeElement;\n\n constructor(\n @Inject(TuiLazyLoadingService)\n private readonly src$: TuiLazyLoadingService,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLImageElement>,\n ) {\n if (!this.supported) {\n this.src$.subscribe(src => {\n this.src = src;\n });\n }\n }\n\n @HostListener('load')\n onLoad() {\n this.background = '';\n this.animation = '';\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiLazyLoadingDirective} from './lazy-loading.directive';\n\n@NgModule({\n declarations: [TuiLazyLoadingDirective],\n exports: [TuiLazyLoadingDirective],\n})\nexport class TuiLazyLoadingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {TuiLazyLoadingService as ɵa} from './lazy-loading.service';"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-lazy-loading.js","sources":["ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.service.ts","ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.directive.ts","ng://@taiga-ui/kit/directives/lazy-loading/lazy-loading.module.ts","ng://@taiga-ui/kit/directives/lazy-loading/taiga-ui-kit-directives-lazy-loading.ts"],"sourcesContent":["import {ChangeDetectorRef, Inject, Injectable} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiDestroyService, watch} from '@taiga-ui/cdk';\nimport {Observable, of, Subject} from 'rxjs';\nimport {catchError, filter, mapTo, switchMap, take, takeUntil} from 'rxjs/operators';\n\n@Injectable()\nexport class TuiLazyLoadingService extends Observable<string> {\n private src$ = new Subject<string>();\n\n constructor(\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(IntersectionObserverService)\n intersections$: Observable<IntersectionObserverEntry[]>,\n ) {\n super(subscriber =>\n this.src$\n .pipe(\n switchMap(src =>\n intersections$.pipe(\n filter(([{isIntersecting}]) => isIntersecting),\n mapTo(src),\n catchError(() => of(src)),\n watch(changeDetectorRef),\n take(1),\n ),\n ),\n takeUntil(destroy$),\n )\n .subscribe(subscriber),\n );\n }\n\n next(src: string) {\n this.src$.next(src);\n }\n}\n","import {\n Directive,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {IntersectionObserverService} from '@ng-web-apis/intersection-observer';\nimport {TuiDestroyService} from '@taiga-ui/cdk';\n\nimport {TuiLazyLoadingService} from './lazy-loading.service';\n\n@Directive({\n selector: 'img[loading=\"lazy\"]',\n providers: [TuiLazyLoadingService, IntersectionObserverService, TuiDestroyService],\n})\nexport class TuiLazyLoadingDirective {\n @Input('src')\n set srcSetter(src: string) {\n this.src = this.supported ? src : null;\n this.src$.next(src);\n }\n\n @HostBinding('style.animation')\n animation = 'tuiSkeletonVibe ease-in-out 1s infinite alternate';\n\n @HostBinding('style.background')\n background = 'rgba(0, 0, 0, .16)';\n\n @HostBinding('attr.src')\n src: string | null = null;\n\n private readonly supported = 'loading' in this.elementRef.nativeElement;\n\n constructor(\n @Inject(TuiLazyLoadingService)\n private readonly src$: TuiLazyLoadingService,\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLImageElement>,\n ) {\n if (!this.supported) {\n this.src$.subscribe(src => {\n this.src = src;\n });\n }\n }\n\n @HostListener('load')\n onLoad() {\n this.background = '';\n this.animation = '';\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiLazyLoadingDirective} from './lazy-loading.directive';\n\n@NgModule({\n declarations: [TuiLazyLoadingDirective],\n exports: [TuiLazyLoadingDirective],\n})\nexport class TuiLazyLoadingModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n\nexport {TuiLazyLoadingService as ɵa} from './lazy-loading.service';"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-present.js","sources":["ng://@taiga-ui/kit/directives/present/present.directive.ts","ng://@taiga-ui/kit/directives/present/present.module.ts","ng://@taiga-ui/kit/directives/present/taiga-ui-kit-directives-present.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {isCurrentTarget, isFirefox, TuiDirectiveStylesService} from '@taiga-ui/cdk';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged, skip, startWith} from 'rxjs/operators';\n\nconst STYLE = `\n@keyframes tuiPresent {\n from {\n content: '1';\n }\n\n to {\n content: '2';\n }\n}\n\n.tui-present {\n animation: tuiPresent 1000s infinite;\n}`;\n\n@Directive({\n selector: '[tuiPresentChange]',\n host: {\n class: 'tui-present',\n },\n})\nexport class TuiPresentDirective implements OnDestroy {\n @Output()\n readonly tuiPresentChange: Observable<boolean>;\n\n private readonly visibility$ = new Subject<boolean>();\n\n private readonly observer?: MutationObserver;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(USER_AGENT) userAgent: string,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiPresentDirective');\n\n this.tuiPresentChange = this.visibility$.pipe(\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n );\n\n if (isFirefox(userAgent)) {\n return;\n }\n\n this.observer = new MutationObserver(() => {\n if (\n !nativeElement.offsetParent &&\n nativeElement.offsetWidth === 0 &&\n nativeElement.offsetHeight === 0\n ) {\n this.visibility$.next(false);\n }\n });\n\n this.observer.observe(nativeElement, {\n attributes: true,\n attributeFilter: ['style', 'class'],\n });\n }\n\n /**\n * Someday animationcancel would work and mutation observer would not be needed:\n * https://drafts.csswg.org/css-animations/#eventdef-animationevent-animationcancel\n * It would also trigger on CSS like display: none on parent nodes which is awesome\n * but currently only works in Firefox\n */\n @HostListener('animationcancel', ['$event', 'false'])\n @HostListener('animationstart', ['$event', 'true'])\n onAnimation(event: Event, visibility: boolean) {\n if (isCurrentTarget(event)) {\n this.visibility$.next(visibility);\n }\n }\n\n ngOnDestroy() {\n this.visibility$.next(false);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiPresentDirective} from './present.directive';\n\n@NgModule({\n declarations: [TuiPresentDirective],\n exports: [TuiPresentDirective],\n})\nexport class TuiPresentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAaA,MAAM,KAAK,GAAG;;;;;;;;;;;;;EAaZ,CAAC;IAQU,mBAAmB,GAAhC,MAAa,mBAAmB;IAQ5B,YACwB,EAAC,aAAa,EAA0B,EACzB,eAA0C,EACzD,SAAiB;QAPxB,gBAAW,GAAG,IAAI,OAAO,EAAW,CAAC;QASlD,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAEvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CACzC,SAAS,CAAC,KAAK,CAAC,EAChB,oBAAoB,EAAE,EACtB,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;QAEF,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;YACtB,OAAO;SACV;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC;YACjC,IACI,CAAC,aAAa,CAAC,YAAY;gBAC3B,aAAa,CAAC,WAAW,KAAK,CAAC;gBAC/B,aAAa,CAAC,YAAY,KAAK,CAAC,EAClC;gBACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE;YACjC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;SACtC,CAAC,CAAC;KACN;;;;;;;IAUD,WAAW,CAAC,KAAY,EAAE,UAAmB;QACzC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACrC;KACJ;IAED,WAAW;QACP,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;EACJ;;YAjD4C,UAAU,uBAA9C,MAAM,SAAC,UAAU;YACkC,yBAAyB,uBAA5E,MAAM,SAAC,yBAAyB;yCAChC,MAAM,SAAC,UAAU;;AATtB;IADC,MAAM,EAAE;6DACsC;AA+C/C;IAFC,YAAY,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,YAAY,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;sDAKlD;AArDQ,mBAAmB;IAN/B,SAAS,CAAC;QACP,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE;YACF,KAAK,EAAE,aAAa;SACvB;KACJ,CAAC;IAUO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACjC,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GAXd,mBAAmB,CA0D/B;;ICrFY,gBAAgB,GAA7B,MAAa,gBAAgB;EAAG;AAAnB,gBAAgB;IAJ5B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;QACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;KACjC,CAAC;GACW,gBAAgB,CAAG;;ACPhC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-present.js","sources":["ng://@taiga-ui/kit/directives/present/present.directive.ts","ng://@taiga-ui/kit/directives/present/present.module.ts","ng://@taiga-ui/kit/directives/present/taiga-ui-kit-directives-present.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n HostListener,\n Inject,\n OnDestroy,\n Output,\n} from '@angular/core';\nimport {USER_AGENT} from '@ng-web-apis/common';\nimport {isCurrentTarget, isFirefox, TuiDirectiveStylesService} from '@taiga-ui/cdk';\nimport {Observable, Subject} from 'rxjs';\nimport {distinctUntilChanged, skip, startWith} from 'rxjs/operators';\n\nconst STYLE = `\n@keyframes tuiPresent {\n from {\n content: '1';\n }\n\n to {\n content: '2';\n }\n}\n\n.tui-present {\n animation: tuiPresent 1000s infinite;\n}`;\n\n@Directive({\n selector: '[tuiPresentChange]',\n host: {\n class: 'tui-present',\n },\n})\nexport class TuiPresentDirective implements OnDestroy {\n @Output()\n readonly tuiPresentChange: Observable<boolean>;\n\n private readonly visibility$ = new Subject<boolean>();\n\n private readonly observer?: MutationObserver;\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef<HTMLElement>,\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n @Inject(USER_AGENT) userAgent: string,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiPresentDirective');\n\n this.tuiPresentChange = this.visibility$.pipe(\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n );\n\n if (isFirefox(userAgent)) {\n return;\n }\n\n this.observer = new MutationObserver(() => {\n if (\n !nativeElement.offsetParent &&\n nativeElement.offsetWidth === 0 &&\n nativeElement.offsetHeight === 0\n ) {\n this.visibility$.next(false);\n }\n });\n\n this.observer.observe(nativeElement, {\n attributes: true,\n attributeFilter: ['style', 'class'],\n });\n }\n\n /**\n * Someday animationcancel would work and mutation observer would not be needed:\n * https://drafts.csswg.org/css-animations/#eventdef-animationevent-animationcancel\n * It would also trigger on CSS like display: none on parent nodes which is awesome\n * but currently only works in Firefox\n */\n @HostListener('animationcancel', ['$event', 'false'])\n @HostListener('animationstart', ['$event', 'true'])\n onAnimation(event: Event, visibility: boolean) {\n if (isCurrentTarget(event)) {\n this.visibility$.next(visibility);\n }\n }\n\n ngOnDestroy() {\n this.visibility$.next(false);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiPresentDirective} from './present.directive';\n\n@NgModule({\n declarations: [TuiPresentDirective],\n exports: [TuiPresentDirective],\n})\nexport class TuiPresentModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAaA,MAAM,KAAK,GAAG;;;;;;;;;;;;;EAaZ,CAAC;IAQU,mBAAmB,GAAhC,MAAa,mBAAmB;IAQ5B,YACwB,EAAC,aAAa,EAA0B,EACzB,eAA0C,EACzD,SAAiB;QAPxB,gBAAW,GAAG,IAAI,OAAO,EAAW,CAAC;QASlD,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAC;QAEvD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CACzC,SAAS,CAAC,KAAK,CAAC,EAChB,oBAAoB,EAAE,EACtB,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;QAEF,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE;YACtB,OAAO;SACV;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC;YACjC,IACI,CAAC,aAAa,CAAC,YAAY;gBAC3B,aAAa,CAAC,WAAW,KAAK,CAAC;gBAC/B,aAAa,CAAC,YAAY,KAAK,CAAC,EAClC;gBACE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aAChC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE;YACjC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;SACtC,CAAC,CAAC;KACN;;;;;;;IAUD,WAAW,CAAC,KAAY,EAAE,UAAmB;QACzC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACrC;KACJ;IAED,WAAW;QACP,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;EACJ;;YAjD4C,UAAU,uBAA9C,MAAM,SAAC,UAAU;YACkC,yBAAyB,uBAA5E,MAAM,SAAC,yBAAyB;yCAChC,MAAM,SAAC,UAAU;;AATtB;IADC,MAAM,EAAE;6DACsC;AA+C/C;IAFC,YAAY,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACpD,YAAY,CAAC,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;sDAKlD;AArDQ,mBAAmB;IAN/B,SAAS,CAAC;QACP,QAAQ,EAAE,oBAAoB;QAC9B,IAAI,EAAE;YACF,KAAK,EAAE,aAAa;SACvB;KACJ,CAAC;IAUO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;IACjC,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GAXd,mBAAmB,CA0D/B;;ICpFY,gBAAgB,GAA7B,MAAa,gBAAgB;EAAG;AAAnB,gBAAgB;IAJ5B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,mBAAmB,CAAC;QACnC,OAAO,EAAE,CAAC,mBAAmB,CAAC;KACjC,CAAC;GACW,gBAAgB,CAAG;;ACRhC;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-project-class.js","sources":["ng://@taiga-ui/kit/directives/project-class/project-class.directive.ts","ng://@taiga-ui/kit/directives/project-class/project-class.module.ts","ng://@taiga-ui/kit/directives/project-class/taiga-ui-kit-directives-project-class.ts"],"sourcesContent":["import {AfterViewChecked, Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n/**\n * A directive for projecting classes from nested children to host\n */\n@Directive({\n selector: '[tuiProjectClass]',\n})\nexport class TuiProjectClassDirective implements AfterViewChecked {\n @Input('tuiProjectClass')\n @tuiDefaultProp()\n classNames: readonly string[] = [];\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngAfterViewChecked() {\n if (!this.classNames.length) {\n return;\n }\n\n this.classNames.forEach(className => {\n const hostElement = this.elementRef.nativeElement;\n\n if (hostElement.querySelector(`.${className}`)) {\n hostElement.classList.add(className);\n } else {\n hostElement.classList.remove(className);\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiProjectClassDirective} from './project-class.directive';\n\n@NgModule({\n declarations: [TuiProjectClassDirective],\n exports: [TuiProjectClassDirective],\n})\nexport class TuiProjectClassModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;;IAMa,wBAAwB,GAArC,MAAa,wBAAwB;IAKjC,YACyC,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;QAH5E,eAAU,GAAsB,EAAE,CAAC;KAI/B;IAEJ,kBAAkB;QACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACzB,OAAO;SACV;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAElD,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE;gBAC5C,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACxC;iBAAM;gBACH,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAC3C;SACJ,CAAC,CAAC;KACN;EACJ;;YAlBwD,UAAU,uBAA1D,MAAM,SAAC,UAAU;;AAHtB;IAFC,KAAK,CAAC,iBAAiB,CAAC;IACxB,cAAc,EAAE;4DACkB;AAH1B,wBAAwB;IAHpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;KAChC,CAAC;IAOO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GANd,wBAAwB,CAwBpC;;IC1BY,qBAAqB,GAAlC,MAAa,qBAAqB;EAAG;AAAxB,qBAAqB;IAJjC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;KACtC,CAAC;GACW,qBAAqB,CAAG;;ACPrC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-project-class.js","sources":["ng://@taiga-ui/kit/directives/project-class/project-class.directive.ts","ng://@taiga-ui/kit/directives/project-class/project-class.module.ts","ng://@taiga-ui/kit/directives/project-class/taiga-ui-kit-directives-project-class.ts"],"sourcesContent":["import {AfterViewChecked, Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\n/**\n * A directive for projecting classes from nested children to host\n */\n@Directive({\n selector: '[tuiProjectClass]',\n})\nexport class TuiProjectClassDirective implements AfterViewChecked {\n @Input('tuiProjectClass')\n @tuiDefaultProp()\n classNames: readonly string[] = [];\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngAfterViewChecked() {\n if (!this.classNames.length) {\n return;\n }\n\n this.classNames.forEach(className => {\n const hostElement = this.elementRef.nativeElement;\n\n if (hostElement.querySelector(`.${className}`)) {\n hostElement.classList.add(className);\n } else {\n hostElement.classList.remove(className);\n }\n });\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiProjectClassDirective} from './project-class.directive';\n\n@NgModule({\n declarations: [TuiProjectClassDirective],\n exports: [TuiProjectClassDirective],\n})\nexport class TuiProjectClassModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAGA;;;IAMa,wBAAwB,GAArC,MAAa,wBAAwB;IAKjC,YACyC,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;QAH5E,eAAU,GAAsB,EAAE,CAAC;KAI/B;IAEJ,kBAAkB;QACd,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YACzB,OAAO;SACV;QAED,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAElD,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,SAAS,EAAE,CAAC,EAAE;gBAC5C,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACxC;iBAAM;gBACH,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;aAC3C;SACJ,CAAC,CAAC;KACN;EACJ;;YAlBwD,UAAU,uBAA1D,MAAM,SAAC,UAAU;;AAHtB;IAFC,KAAK,CAAC,iBAAiB,CAAC;IACxB,cAAc,EAAE;4DACkB;AAH1B,wBAAwB;IAHpC,SAAS,CAAC;QACP,QAAQ,EAAE,mBAAmB;KAChC,CAAC;IAOO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;GANd,wBAAwB,CAwBpC;;ICzBY,qBAAqB,GAAlC,MAAa,qBAAqB;EAAG;AAAxB,qBAAqB;IAJjC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,wBAAwB,CAAC;QACxC,OAAO,EAAE,CAAC,wBAAwB,CAAC;KACtC,CAAC;GACW,qBAAqB,CAAG;;ACRrC;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-unfinished-validator.js","sources":["ng://@taiga-ui/kit/directives/unfinished-validator/unfinished-validator.directive.ts","ng://@taiga-ui/kit/directives/unfinished-validator/unfinished-validator.module.ts","ng://@taiga-ui/kit/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.ts"],"sourcesContent":["import {Attribute, Directive, Inject, Injector} from '@angular/core';\nimport {NG_VALIDATORS, Validator} from '@angular/forms';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {tuiCreateUnfinishedValidator} from '@taiga-ui/kit/validators';\n\n@Directive({\n selector: '[tuiUnfinishedValidator]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: TuiUnfinishedValidatorDirective,\n multi: true,\n },\n ],\n})\nexport class TuiUnfinishedValidatorDirective implements Validator {\n readonly validate = tuiCreateUnfinishedValidator(\n () => this.injector.get(TUI_FOCUSABLE_ITEM_ACCESSOR),\n this.message || '',\n );\n\n constructor(\n @Inject(Injector)\n private readonly injector: Injector,\n @Attribute('tuiUnfinishedValidator')\n private readonly message: string | null,\n ) {}\n}\n","import {NgModule} from '@angular/core';\nimport {TuiUnfinishedValidatorDirective} from './unfinished-validator.directive';\n\n@NgModule({\n declarations: [TuiUnfinishedValidatorDirective],\n exports: [TuiUnfinishedValidatorDirective],\n})\nexport class TuiUnfinishedValidatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;IAea,+BAA+B,uCAA5C,MAAa,+BAA+B;IAMxC,YAEqB,QAAkB,EAElB,OAAsB;QAFtB,aAAQ,GAAR,QAAQ,CAAU;QAElB,YAAO,GAAP,OAAO,CAAe;QATlC,aAAQ,GAAG,4BAA4B,CAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC,EACpD,IAAI,CAAC,OAAO,IAAI,EAAE,CACrB,CAAC;KAOE;EACP;;YAJkC,QAAQ,uBADlC,MAAM,SAAC,QAAQ;yCAEf,SAAS,SAAC,wBAAwB;;AAT9B,+BAA+B;IAV3C,SAAS,CAAC;QACP,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,iCAA+B;gBAC5C,KAAK,EAAE,IAAI;aACd;SACJ;KACJ,CAAC;IAQO,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEhB,WAAA,SAAS,CAAC,wBAAwB,CAAC,CAAA;GAT/B,+BAA+B,CAY3C;;ICpBY,4BAA4B,GAAzC,MAAa,4BAA4B;EAAG;AAA/B,4BAA4B;IAJxC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,+BAA+B,CAAC;QAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;KAC7C,CAAC;GACW,4BAA4B,CAAG;;ACP5C;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-unfinished-validator.js","sources":["ng://@taiga-ui/kit/directives/unfinished-validator/unfinished-validator.directive.ts","ng://@taiga-ui/kit/directives/unfinished-validator/unfinished-validator.module.ts","ng://@taiga-ui/kit/directives/unfinished-validator/taiga-ui-kit-directives-unfinished-validator.ts"],"sourcesContent":["import {Attribute, Directive, Inject, Injector} from '@angular/core';\nimport {NG_VALIDATORS, Validator} from '@angular/forms';\nimport {TUI_FOCUSABLE_ITEM_ACCESSOR} from '@taiga-ui/cdk';\nimport {tuiCreateUnfinishedValidator} from '@taiga-ui/kit/validators';\n\n@Directive({\n selector: '[tuiUnfinishedValidator]',\n providers: [\n {\n provide: NG_VALIDATORS,\n useExisting: TuiUnfinishedValidatorDirective,\n multi: true,\n },\n ],\n})\nexport class TuiUnfinishedValidatorDirective implements Validator {\n readonly validate = tuiCreateUnfinishedValidator(\n () => this.injector.get(TUI_FOCUSABLE_ITEM_ACCESSOR),\n this.message || '',\n );\n\n constructor(\n @Inject(Injector)\n private readonly injector: Injector,\n @Attribute('tuiUnfinishedValidator')\n private readonly message: string | null,\n ) {}\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiUnfinishedValidatorDirective} from './unfinished-validator.directive';\n\n@NgModule({\n declarations: [TuiUnfinishedValidatorDirective],\n exports: [TuiUnfinishedValidatorDirective],\n})\nexport class TuiUnfinishedValidatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;IAea,+BAA+B,uCAA5C,MAAa,+BAA+B;IAMxC,YAEqB,QAAkB,EAElB,OAAsB;QAFtB,aAAQ,GAAR,QAAQ,CAAU;QAElB,YAAO,GAAP,OAAO,CAAe;QATlC,aAAQ,GAAG,4BAA4B,CAC5C,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC,EACpD,IAAI,CAAC,OAAO,IAAI,EAAE,CACrB,CAAC;KAOE;EACP;;YAJkC,QAAQ,uBADlC,MAAM,SAAC,QAAQ;yCAEf,SAAS,SAAC,wBAAwB;;AAT9B,+BAA+B;IAV3C,SAAS,CAAC;QACP,QAAQ,EAAE,0BAA0B;QACpC,SAAS,EAAE;YACP;gBACI,OAAO,EAAE,aAAa;gBACtB,WAAW,EAAE,iCAA+B;gBAC5C,KAAK,EAAE,IAAI;aACd;SACJ;KACJ,CAAC;IAQO,WAAA,MAAM,CAAC,QAAQ,CAAC,CAAA;IAEhB,WAAA,SAAS,CAAC,wBAAwB,CAAC,CAAA;GAT/B,+BAA+B,CAY3C;;ICnBY,4BAA4B,GAAzC,MAAa,4BAA4B;EAAG;AAA/B,4BAA4B;IAJxC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,+BAA+B,CAAC;QAC/C,OAAO,EAAE,CAAC,+BAA+B,CAAC;KAC7C,CAAC;GACW,4BAA4B,CAAG;;ACR5C;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-directives-value-accessor.js","sources":["ng://@taiga-ui/kit/directives/value-accessor/value-accessor.directive.ts","ng://@taiga-ui/kit/directives/value-accessor/value-accessor.module.ts","ng://@taiga-ui/kit/directives/value-accessor/taiga-ui-kit-directives-value-accessor.ts"],"sourcesContent":["import {Directive} from '@angular/core';\nimport {TUI_VALUE_ACCESSOR_PROVIDER} from '@taiga-ui/kit/providers';\n\n@Directive({\n selector: '[tuiValueAccessor]',\n providers: [TUI_VALUE_ACCESSOR_PROVIDER],\n})\nexport class TuiValueAccessorDirective {}\n","import {NgModule} from '@angular/core';\nimport {TuiValueAccessorDirective} from './value-accessor.directive';\n\n@NgModule({\n declarations: [TuiValueAccessorDirective],\n exports: [TuiValueAccessorDirective],\n})\nexport class TuiValueAccessorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAOa,yBAAyB,GAAtC,MAAa,yBAAyB;EAAG;AAA5B,yBAAyB;IAJrC,SAAS,CAAC;QACP,QAAQ,EAAE,oBAAoB;QAC9B,SAAS,EAAE,CAAC,2BAA2B,CAAC;KAC3C,CAAC;GACW,yBAAyB,CAAG;;ICA5B,sBAAsB,GAAnC,MAAa,sBAAsB;EAAG;AAAzB,sBAAsB;IAJlC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,yBAAyB,CAAC;QACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACvC,CAAC;GACW,sBAAsB,CAAG;;ACPtC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-directives-value-accessor.js","sources":["ng://@taiga-ui/kit/directives/value-accessor/value-accessor.directive.ts","ng://@taiga-ui/kit/directives/value-accessor/value-accessor.module.ts","ng://@taiga-ui/kit/directives/value-accessor/taiga-ui-kit-directives-value-accessor.ts"],"sourcesContent":["import {Directive} from '@angular/core';\nimport {TUI_VALUE_ACCESSOR_PROVIDER} from '@taiga-ui/kit/providers';\n\n@Directive({\n selector: '[tuiValueAccessor]',\n providers: [TUI_VALUE_ACCESSOR_PROVIDER],\n})\nexport class TuiValueAccessorDirective {}\n","import {NgModule} from '@angular/core';\n\nimport {TuiValueAccessorDirective} from './value-accessor.directive';\n\n@NgModule({\n declarations: [TuiValueAccessorDirective],\n exports: [TuiValueAccessorDirective],\n})\nexport class TuiValueAccessorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAOa,yBAAyB,GAAtC,MAAa,yBAAyB;EAAG;AAA5B,yBAAyB;IAJrC,SAAS,CAAC;QACP,QAAQ,EAAE,oBAAoB;QAC9B,SAAS,EAAE,CAAC,2BAA2B,CAAC;KAC3C,CAAC;GACW,yBAAyB,CAAG;;ICC5B,sBAAsB,GAAnC,MAAa,sBAAsB;EAAG;AAAzB,sBAAsB;IAJlC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,yBAAyB,CAAC;QACzC,OAAO,EAAE,CAAC,yBAAyB,CAAC;KACvC,CAAC;GACW,sBAAsB,CAAG;;ACRtC;;;;;;"}
@@ -1,3 +1,4 @@
1
+ export * from '@taiga-ui/kit/directives/dropdown-context';
1
2
  export * from '@taiga-ui/kit/directives/dropdown-hover';
2
3
  export * from '@taiga-ui/kit/directives/dropdown-selection';
3
4
  export * from '@taiga-ui/kit/directives/highlight';
@@ -6,7 +7,6 @@ export * from '@taiga-ui/kit/directives/present';
6
7
  export * from '@taiga-ui/kit/directives/project-class';
7
8
  export * from '@taiga-ui/kit/directives/unfinished-validator';
8
9
  export * from '@taiga-ui/kit/directives/value-accessor';
9
- export * from '@taiga-ui/kit/directives/dropdown-context';
10
10
 
11
11
  /**
12
12
  * Generated bundle index. Do not edit.
@@ -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';\n\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,5 +1,5 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { isPresent, tuiPure, TUI_DEFAULT_MATCHER, TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_DEFAULT_STRINGIFY } from '@taiga-ui/cdk';
2
+ import { isPresent, tuiPure, TUI_DEFAULT_MATCHER, TUI_DEFAULT_STRINGIFY, TUI_FOCUSABLE_ITEM_ACCESSOR } from '@taiga-ui/cdk';
3
3
  import { isFlat } from '@taiga-ui/kit/utils';
4
4
  import { Inject, Pipe, NgModule } from '@angular/core';
5
5
 
@@ -37,45 +37,45 @@ __decorate([
37
37
  tuiPure
38
38
  ], TuiFilterByInputBase.prototype, "filter", null);
39
39
 
40
- let TuiFilterByInputWithPipe = class TuiFilterByInputWithPipe extends TuiFilterByInputBase {
40
+ let TuiFilterByInputPipe = class TuiFilterByInputPipe extends TuiFilterByInputBase {
41
41
  constructor(accessor) {
42
42
  super();
43
43
  this.accessor = accessor;
44
44
  }
45
- transform(items, stringify) {
46
- return this.filter(items, TUI_DEFAULT_MATCHER, stringify, this.query);
45
+ transform(items, matcher = TUI_DEFAULT_MATCHER) {
46
+ return this.filter(items, matcher, TUI_DEFAULT_STRINGIFY, this.query);
47
47
  }
48
48
  };
49
- TuiFilterByInputWithPipe.ctorParameters = () => [
49
+ TuiFilterByInputPipe.ctorParameters = () => [
50
50
  { type: undefined, decorators: [{ type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] }
51
51
  ];
52
- TuiFilterByInputWithPipe = __decorate([
52
+ TuiFilterByInputPipe = __decorate([
53
53
  Pipe({
54
- name: 'tuiFilterByInputWith',
54
+ name: 'tuiFilterByInput',
55
55
  pure: false,
56
56
  }),
57
57
  __param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR))
58
- ], TuiFilterByInputWithPipe);
58
+ ], TuiFilterByInputPipe);
59
59
 
60
- let TuiFilterByInputPipe = class TuiFilterByInputPipe extends TuiFilterByInputBase {
60
+ let TuiFilterByInputWithPipe = class TuiFilterByInputWithPipe extends TuiFilterByInputBase {
61
61
  constructor(accessor) {
62
62
  super();
63
63
  this.accessor = accessor;
64
64
  }
65
- transform(items, matcher = TUI_DEFAULT_MATCHER) {
66
- return this.filter(items, matcher, TUI_DEFAULT_STRINGIFY, this.query);
65
+ transform(items, stringify) {
66
+ return this.filter(items, TUI_DEFAULT_MATCHER, stringify, this.query);
67
67
  }
68
68
  };
69
- TuiFilterByInputPipe.ctorParameters = () => [
69
+ TuiFilterByInputWithPipe.ctorParameters = () => [
70
70
  { type: undefined, decorators: [{ type: Inject, args: [TUI_FOCUSABLE_ITEM_ACCESSOR,] }] }
71
71
  ];
72
- TuiFilterByInputPipe = __decorate([
72
+ TuiFilterByInputWithPipe = __decorate([
73
73
  Pipe({
74
- name: 'tuiFilterByInput',
74
+ name: 'tuiFilterByInputWith',
75
75
  pure: false,
76
76
  }),
77
77
  __param(0, Inject(TUI_FOCUSABLE_ITEM_ACCESSOR))
78
- ], TuiFilterByInputPipe);
78
+ ], TuiFilterByInputWithPipe);
79
79
 
80
80
  let TuiFilterByInputPipeModule = class TuiFilterByInputPipeModule {
81
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-pipes-filter-by-input.js","sources":["ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.base.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input-with.pipe.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.pipe.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.module.ts","ng://@taiga-ui/kit/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.ts"],"sourcesContent":["import {\n isPresent,\n TuiFocusableElementAccessor,\n tuiPure,\n TuiStringHandler,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {isFlat} from '@taiga-ui/kit/utils';\n\nexport type ArrayElement<A> = A extends readonly (infer T)[]\n ? A extends readonly (readonly (infer G)[])[]\n ? G\n : T\n : never;\n\nexport abstract class TuiFilterByInputBase {\n protected abstract readonly accessor: TuiFocusableElementAccessor;\n\n protected get query(): string {\n return this.accessor.nativeFocusableElement\n ? (this.accessor.nativeFocusableElement as any).value || ''\n : '';\n }\n\n @tuiPure\n protected filter<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n if (!items) {\n return null;\n }\n\n return isFlat(items)\n ? this.filterFlat(items, matcher, stringify, query)\n : this.filter2d(items, matcher, stringify, query);\n }\n\n private filterFlat<T>(\n items: readonly T[],\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): readonly T[] {\n const match = this.getMatch(items, stringify, query);\n\n return isPresent(match)\n ? items\n : items.filter(item => matcher(item, query, stringify));\n }\n\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): ReadonlyArray<readonly T[]> {\n const match = items.find(item =>\n isPresent(this.getMatch(item, stringify, query)),\n );\n\n return isPresent(match)\n ? items\n : items.map(inner => this.filterFlat(inner, matcher, stringify, query));\n }\n\n private getMatch<T>(\n items: readonly T[],\n stringify: TuiStringHandler<T>,\n query: string,\n ): T | undefined {\n return items.find(\n item => stringify(item).toLocaleLowerCase() === query.toLocaleLowerCase(),\n );\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {\n TUI_DEFAULT_MATCHER,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {ArrayElement, TuiFilterByInputBase} from './filter-by-input.base';\n\n@Pipe({\n name: 'tuiFilterByInputWith',\n pure: false,\n})\nexport class TuiFilterByInputWithPipe\n extends TuiFilterByInputBase\n implements PipeTransform\n{\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n protected readonly accessor: TuiFocusableElementAccessor,\n ) {\n super();\n }\n\n transform<T>(items: T, matcher?: TuiStringHandler<ArrayElement<T>>): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n stringify: TuiStringHandler<T>,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n return this.filter(items, TUI_DEFAULT_MATCHER, stringify, this.query);\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {\n TUI_DEFAULT_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {ArrayElement, TuiFilterByInputBase} from './filter-by-input.base';\n\n@Pipe({\n name: 'tuiFilterByInput',\n pure: false,\n})\nexport class TuiFilterByInputPipe extends TuiFilterByInputBase implements PipeTransform {\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n protected readonly accessor: TuiFocusableElementAccessor,\n ) {\n super();\n }\n\n transform<T>(items: T, matcher?: TuiStringMatcher<ArrayElement<T>>): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n matcher: TuiStringMatcher<T> = TUI_DEFAULT_MATCHER,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n return this.filter(items, matcher, TUI_DEFAULT_STRINGIFY, this.query);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiFilterByInputWithPipe} from './filter-by-input-with.pipe';\nimport {TuiFilterByInputPipe} from './filter-by-input.pipe';\n\n@NgModule({\n declarations: [TuiFilterByInputPipe, TuiFilterByInputWithPipe],\n exports: [TuiFilterByInputPipe, TuiFilterByInputWithPipe],\n})\nexport class TuiFilterByInputPipeModule {}\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-pipes-filter-by-input.js","sources":["ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.base.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.pipe.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input-with.pipe.ts","ng://@taiga-ui/kit/pipes/filter-by-input/filter-by-input.module.ts","ng://@taiga-ui/kit/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.ts"],"sourcesContent":["import {\n isPresent,\n TuiFocusableElementAccessor,\n tuiPure,\n TuiStringHandler,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\nimport {isFlat} from '@taiga-ui/kit/utils';\n\nexport type ArrayElement<A> = A extends readonly (infer T)[]\n ? A extends readonly (readonly (infer G)[])[]\n ? G\n : T\n : never;\n\nexport abstract class TuiFilterByInputBase {\n protected abstract readonly accessor: TuiFocusableElementAccessor;\n\n protected get query(): string {\n return this.accessor.nativeFocusableElement\n ? (this.accessor.nativeFocusableElement as any).value || ''\n : '';\n }\n\n @tuiPure\n protected filter<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n if (!items) {\n return null;\n }\n\n return isFlat(items)\n ? this.filterFlat(items, matcher, stringify, query)\n : this.filter2d(items, matcher, stringify, query);\n }\n\n private filterFlat<T>(\n items: readonly T[],\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): readonly T[] {\n const match = this.getMatch(items, stringify, query);\n\n return isPresent(match)\n ? items\n : items.filter(item => matcher(item, query, stringify));\n }\n\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n matcher: TuiStringMatcher<T>,\n stringify: TuiStringHandler<T>,\n query: string,\n ): ReadonlyArray<readonly T[]> {\n const match = items.find(item =>\n isPresent(this.getMatch(item, stringify, query)),\n );\n\n return isPresent(match)\n ? items\n : items.map(inner => this.filterFlat(inner, matcher, stringify, query));\n }\n\n private getMatch<T>(\n items: readonly T[],\n stringify: TuiStringHandler<T>,\n query: string,\n ): T | undefined {\n return items.find(\n item => stringify(item).toLocaleLowerCase() === query.toLocaleLowerCase(),\n );\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {\n TUI_DEFAULT_MATCHER,\n TUI_DEFAULT_STRINGIFY,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiStringMatcher,\n} from '@taiga-ui/cdk';\n\nimport {ArrayElement, TuiFilterByInputBase} from './filter-by-input.base';\n\n@Pipe({\n name: 'tuiFilterByInput',\n pure: false,\n})\nexport class TuiFilterByInputPipe extends TuiFilterByInputBase implements PipeTransform {\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n protected readonly accessor: TuiFocusableElementAccessor,\n ) {\n super();\n }\n\n transform<T>(items: T, matcher?: TuiStringMatcher<ArrayElement<T>>): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n matcher: TuiStringMatcher<T> = TUI_DEFAULT_MATCHER,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n return this.filter(items, matcher, TUI_DEFAULT_STRINGIFY, this.query);\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {\n TUI_DEFAULT_MATCHER,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiFocusableElementAccessor,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\n\nimport {ArrayElement, TuiFilterByInputBase} from './filter-by-input.base';\n\n@Pipe({\n name: 'tuiFilterByInputWith',\n pure: false,\n})\nexport class TuiFilterByInputWithPipe\n extends TuiFilterByInputBase\n implements PipeTransform\n{\n constructor(\n @Inject(TUI_FOCUSABLE_ITEM_ACCESSOR)\n protected readonly accessor: TuiFocusableElementAccessor,\n ) {\n super();\n }\n\n transform<T>(items: T, matcher?: TuiStringHandler<ArrayElement<T>>): T;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n stringify: TuiStringHandler<T>,\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n return this.filter(items, TUI_DEFAULT_MATCHER, stringify, this.query);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiFilterByInputPipe} from './filter-by-input.pipe';\nimport {TuiFilterByInputWithPipe} from './filter-by-input-with.pipe';\n\n@NgModule({\n declarations: [TuiFilterByInputPipe, TuiFilterByInputWithPipe],\n exports: [TuiFilterByInputPipe, TuiFilterByInputWithPipe],\n})\nexport class TuiFilterByInputPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-pipes-stringify-content.js","sources":["ng://@taiga-ui/kit/pipes/stringify-content/stringify-content.pipe.ts","ng://@taiga-ui/kit/pipes/stringify-content/stringify-content.module.ts","ng://@taiga-ui/kit/pipes/stringify-content/taiga-ui-kit-pipes-stringify-content.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TuiValueContentContext} from '@taiga-ui/core';\n\n@Pipe({\n name: 'tuiStringifyContent',\n})\nexport class TuiStringifyContentPipe implements PipeTransform {\n transform<T>(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiValueContentContext<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiStringifyContentPipe} from './stringify-content.pipe';\n\n@NgModule({\n declarations: [TuiStringifyContentPipe],\n exports: [TuiStringifyContentPipe],\n})\nexport class TuiStringifyContentPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;IAOa,uBAAuB,GAApC,MAAa,uBAAuB;IAChC,SAAS,CACL,SAA8B;QAE9B,OAAO,CAAC,EAAC,SAAS,EAAC,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC;KAChD;EACJ;AANY,uBAAuB;IAHnC,IAAI,CAAC;QACF,IAAI,EAAE,qBAAqB;KAC9B,CAAC;GACW,uBAAuB,CAMnC;;ICNY,6BAA6B,GAA1C,MAAa,6BAA6B;EAAG;AAAhC,6BAA6B;IAJzC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,uBAAuB,CAAC;QACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;KACrC,CAAC;GACW,6BAA6B,CAAG;;ACP7C;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-pipes-stringify-content.js","sources":["ng://@taiga-ui/kit/pipes/stringify-content/stringify-content.pipe.ts","ng://@taiga-ui/kit/pipes/stringify-content/stringify-content.module.ts","ng://@taiga-ui/kit/pipes/stringify-content/taiga-ui-kit-pipes-stringify-content.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\nimport {TuiValueContentContext} from '@taiga-ui/core';\n\n@Pipe({\n name: 'tuiStringifyContent',\n})\nexport class TuiStringifyContentPipe implements PipeTransform {\n transform<T>(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiValueContentContext<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiStringifyContentPipe} from './stringify-content.pipe';\n\n@NgModule({\n declarations: [TuiStringifyContentPipe],\n exports: [TuiStringifyContentPipe],\n})\nexport class TuiStringifyContentPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;IAOa,uBAAuB,GAApC,MAAa,uBAAuB;IAChC,SAAS,CACL,SAA8B;QAE9B,OAAO,CAAC,EAAC,SAAS,EAAC,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC;KAChD;EACJ;AANY,uBAAuB;IAHnC,IAAI,CAAC;QACF,IAAI,EAAE,qBAAqB;KAC9B,CAAC;GACW,uBAAuB,CAMnC;;ICLY,6BAA6B,GAA1C,MAAa,6BAA6B;EAAG;AAAhC,6BAA6B;IAJzC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,uBAAuB,CAAC;QACvC,OAAO,EAAE,CAAC,uBAAuB,CAAC;KACrC,CAAC;GACW,6BAA6B,CAAG;;ACR7C;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-pipes-stringify.js","sources":["ng://@taiga-ui/kit/pipes/stringify/stringify.pipe.ts","ng://@taiga-ui/kit/pipes/stringify/stringify.module.ts","ng://@taiga-ui/kit/pipes/stringify/taiga-ui-kit-pipes-stringify.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\n\n@Pipe({\n name: 'tuiStringify',\n})\nexport class TuiStringifyPipe implements PipeTransform {\n public transform<K extends string>(\n key: K,\n ): TuiStringHandler<Readonly<Record<K, unknown> & Record<any, any>>> {\n return value => String(value[key] ?? '');\n }\n}\n","import {NgModule} from '@angular/core';\nimport {TuiStringifyPipe} from './stringify.pipe';\n\n@NgModule({\n declarations: [TuiStringifyPipe],\n exports: [TuiStringifyPipe],\n})\nexport class TuiStringifyPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;IAMa,gBAAgB,GAA7B,MAAa,gBAAgB;IAClB,SAAS,CACZ,GAAM;QAEN,OAAO,KAAK,cAAI,OAAA,MAAM,OAAC,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;KAC5C;EACJ;AANY,gBAAgB;IAH5B,IAAI,CAAC;QACF,IAAI,EAAE,cAAc;KACvB,CAAC;GACW,gBAAgB,CAM5B;;ICLY,sBAAsB,GAAnC,MAAa,sBAAsB;EAAG;AAAzB,sBAAsB;IAJlC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;KAC9B,CAAC;GACW,sBAAsB,CAAG;;ACPtC;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-pipes-stringify.js","sources":["ng://@taiga-ui/kit/pipes/stringify/stringify.pipe.ts","ng://@taiga-ui/kit/pipes/stringify/stringify.module.ts","ng://@taiga-ui/kit/pipes/stringify/taiga-ui-kit-pipes-stringify.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {TuiStringHandler} from '@taiga-ui/cdk';\n\n@Pipe({\n name: 'tuiStringify',\n})\nexport class TuiStringifyPipe implements PipeTransform {\n public transform<K extends string>(\n key: K,\n ): TuiStringHandler<Readonly<Record<K, unknown> & Record<any, any>>> {\n return value => String(value[key] ?? '');\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiStringifyPipe} from './stringify.pipe';\n\n@NgModule({\n declarations: [TuiStringifyPipe],\n exports: [TuiStringifyPipe],\n})\nexport class TuiStringifyPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;IAMa,gBAAgB,GAA7B,MAAa,gBAAgB;IAClB,SAAS,CACZ,GAAM;QAEN,OAAO,KAAK,cAAI,OAAA,MAAM,OAAC,KAAK,CAAC,GAAG,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAC;KAC5C;EACJ;AANY,gBAAgB;IAH5B,IAAI,CAAC;QACF,IAAI,EAAE,cAAc;KACvB,CAAC;GACW,gBAAgB,CAM5B;;ICJY,sBAAsB,GAAnC,MAAa,sBAAsB;EAAG;AAAzB,sBAAsB;IAJlC,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;QAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;KAC9B,CAAC;GACW,sBAAsB,CAAG;;ACRtC;;;;;;"}
@@ -3,20 +3,6 @@ import { extractI18n } from '@taiga-ui/i18n';
3
3
 
4
4
  const TUI_CALENDAR_DATA_STREAM = new InjectionToken('Stream that emits calendar data change');
5
5
 
6
- const TUI_MOBILE_AWARE = new InjectionToken('A flag enabling mobile-specific behavior for supporting components', {
7
- factory: () => false,
8
- });
9
-
10
- const TUI_MOBILE_CALENDAR = new InjectionToken('A component for mobile data picker');
11
-
12
- const TUI_TAG_STATUS = new InjectionToken('Status for tags inside InputTag component', {
13
- factory: () => "primary" /* Primary */,
14
- });
15
-
16
- const TUI_VALIDATION_ERRORS = new InjectionToken('Validation errors', {
17
- factory: () => ({}),
18
- });
19
-
20
6
  const TUI_CANCEL_WORD = new InjectionToken(`i18n 'cancel' word`, {
21
7
  factory: extractI18n('cancel'),
22
8
  });
@@ -69,6 +55,20 @@ const TUI_COUNTRIES = new InjectionToken('Localized countries names', {
69
55
  factory: extractI18n('countries'),
70
56
  });
71
57
 
58
+ const TUI_MOBILE_AWARE = new InjectionToken('A flag enabling mobile-specific behavior for supporting components', {
59
+ factory: () => false,
60
+ });
61
+
62
+ const TUI_MOBILE_CALENDAR = new InjectionToken('A component for mobile data picker');
63
+
64
+ const TUI_TAG_STATUS = new InjectionToken('Status for tags inside InputTag component', {
65
+ factory: () => "primary" /* Primary */,
66
+ });
67
+
68
+ const TUI_VALIDATION_ERRORS = new InjectionToken('Validation errors', {
69
+ factory: () => ({}),
70
+ });
71
+
72
72
  /**
73
73
  * Generated bundle index. Do not edit.
74
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-tokens.js","sources":["ng://@taiga-ui/kit/tokens/calendar-data-stream.ts","ng://@taiga-ui/kit/tokens/mobile-aware.ts","ng://@taiga-ui/kit/tokens/mobile-calendar.ts","ng://@taiga-ui/kit/tokens/tag-status.ts","ng://@taiga-ui/kit/tokens/validation-errors.ts","ng://@taiga-ui/kit/tokens/i18n.ts","ng://@taiga-ui/kit/tokens/taiga-ui-kit-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CALENDAR_DATA_STREAM = new InjectionToken<\n Observable<TuiDay | TuiDayRange | null>\n>('Stream that emits calendar data change');\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_MOBILE_AWARE = new InjectionToken<boolean>(\n 'A flag enabling mobile-specific behavior for supporting components',\n {\n factory: () => false,\n },\n);\n","import {InjectionToken, Type} from '@angular/core';\n\nexport const TUI_MOBILE_CALENDAR = new InjectionToken<Type<any>>(\n 'A component for mobile data picker',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStatus} from '@taiga-ui/kit/enums';\n\nexport const TUI_TAG_STATUS = new InjectionToken<TuiStatus>(\n 'Status for tags inside InputTag component',\n {\n factory: () => TuiStatus.Primary,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_VALIDATION_ERRORS = new InjectionToken<\n Record<string, PolymorpheusContent>\n>('Validation errors', {\n factory: () => ({}),\n});\n","import {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk';\nimport {extractI18n, TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CANCEL_WORD = new InjectionToken(`i18n 'cancel' word`, {\n factory: extractI18n('cancel'),\n});\n\nexport const TUI_DONE_WORD = new InjectionToken(`i18n 'done' word`, {\n factory: extractI18n('done'),\n});\n\nexport const TUI_MORE_WORD = new InjectionToken(`i18n 'more' word`, {\n factory: extractI18n('more'),\n});\n\nexport const TUI_OTHER_DATE_TEXT = new InjectionToken(`i18n 'Other date' text`, {\n factory: extractI18n('otherDate'),\n});\n\nexport const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = new InjectionToken(\n `choose day or range i18n texts`,\n {\n factory: extractI18n('mobileCalendarTexts'),\n },\n);\n\nexport const TUI_FROM_TO_TEXTS = new InjectionToken(`from and to i18n texts`, {\n factory: extractI18n('range'),\n});\n\nexport const TUI_PLUS_MINUS_TEXTS = new InjectionToken(`plus and minus i18n texts`, {\n factory: extractI18n('countTexts'),\n});\n\nexport const TUI_TIME_TEXTS = new InjectionToken(`time i18n texts`, {\n factory: extractI18n('time'),\n});\n\nexport const TUI_DATE_TEXTS = new InjectionToken<Observable<Record<TuiDateMode, string>>>(\n 'date format i18n texts',\n {\n factory: extractI18n('dateTexts'),\n },\n);\n\nexport const TUI_DIGITAL_INFORMATION_UNITS = new InjectionToken(\n `short bytes, kilobytes and megabytes i18n texts`,\n {\n factory: extractI18n('digitalInformationUnits'),\n },\n);\n\nexport const TUI_COPY_TEXTS = new InjectionToken('copy i18n texts', {\n factory: extractI18n('copyTexts'),\n});\n\nexport const TUI_PASSWORD_TEXTS = new InjectionToken('password i18n texts', {\n factory: extractI18n('passwordTexts'),\n});\n\nexport const TUI_CALENDAR_MONTHS = new InjectionToken('short calendar months i18n', {\n factory: extractI18n('shortCalendarMonths'),\n});\n\nexport const TUI_FILE_TEXTS = new InjectionToken('file i18n texts', {\n factory: extractI18n('fileTexts'),\n});\n\nexport const TUI_PAGINATION_TEXTS = new InjectionToken('pagination i18n texts', {\n factory: extractI18n('paginationTexts'),\n});\n\nexport const TUI_INPUT_FILE_TEXTS = new InjectionToken('tui-input-file i18n texts', {\n factory: extractI18n('inputFileTexts'),\n});\n\nexport const TUI_COUNTRIES: InjectionToken<\n Observable<Record<TuiCountryIsoCode, string>>\n> = new InjectionToken('Localized countries names', {\n factory: extractI18n('countries'),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIa,wBAAwB,GAAG,IAAI,cAAc,CAExD,wCAAwC;;MCJ7B,gBAAgB,GAAG,IAAI,cAAc,CAC9C,oEAAoE,EACpE;IACI,OAAO,EAAE,MAAM,KAAK;CACvB;;MCJQ,mBAAmB,GAAG,IAAI,cAAc,CACjD,oCAAoC;;MCA3B,cAAc,GAAG,IAAI,cAAc,CAC5C,2CAA2C,EAC3C;IACI,OAAO,EAAE;CACZ;;MCJQ,qBAAqB,GAAG,IAAI,cAAc,CAErD,mBAAmB,EAAE;IACnB,OAAO,EAAE,OAAO,EAAE,CAAC;CACtB;;MCFY,eAAe,GAAG,IAAI,cAAc,CAAC,oBAAoB,EAAE;IACpE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;CACjC,EAAE;MAEU,aAAa,GAAG,IAAI,cAAc,CAAC,kBAAkB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;MAEU,aAAa,GAAG,IAAI,cAAc,CAAC,kBAAkB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;MAEU,mBAAmB,GAAG,IAAI,cAAc,CAAC,wBAAwB,EAAE;IAC5E,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;MAEU,6BAA6B,GAAG,IAAI,cAAc,CAC3D,gCAAgC,EAChC;IACI,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC;CAC9C,EACH;MAEW,iBAAiB,GAAG,IAAI,cAAc,CAAC,wBAAwB,EAAE;IAC1E,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAChC,EAAE;MAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;CACrC,EAAE;MAEU,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;MAEU,cAAc,GAAG,IAAI,cAAc,CAC5C,wBAAwB,EACxB;IACI,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EACH;MAEW,6BAA6B,GAAG,IAAI,cAAc,CAC3D,iDAAiD,EACjD;IACI,OAAO,EAAE,WAAW,CAAC,yBAAyB,CAAC;CAClD,EACH;MAEW,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;MAEU,kBAAkB,GAAG,IAAI,cAAc,CAAC,qBAAqB,EAAE;IACxE,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC;CACxC,EAAE;MAEU,mBAAmB,GAAG,IAAI,cAAc,CAAC,4BAA4B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC;CAC9C,EAAE;MAEU,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;MAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,uBAAuB,EAAE;IAC5E,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC;CAC1C,EAAE;MAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;CACzC,EAAE;MAEU,aAAa,GAEtB,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChD,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC;;AClFD;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-tokens.js","sources":["ng://@taiga-ui/kit/tokens/calendar-data-stream.ts","ng://@taiga-ui/kit/tokens/i18n.ts","ng://@taiga-ui/kit/tokens/mobile-aware.ts","ng://@taiga-ui/kit/tokens/mobile-calendar.ts","ng://@taiga-ui/kit/tokens/tag-status.ts","ng://@taiga-ui/kit/tokens/validation-errors.ts","ng://@taiga-ui/kit/tokens/taiga-ui-kit-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {TuiDay, TuiDayRange} from '@taiga-ui/cdk';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CALENDAR_DATA_STREAM = new InjectionToken<\n Observable<TuiDay | TuiDayRange | null>\n>('Stream that emits calendar data change');\n","import {InjectionToken} from '@angular/core';\nimport {TuiDateMode} from '@taiga-ui/cdk';\nimport {extractI18n, TuiCountryIsoCode} from '@taiga-ui/i18n';\nimport {Observable} from 'rxjs';\n\nexport const TUI_CANCEL_WORD = new InjectionToken(`i18n 'cancel' word`, {\n factory: extractI18n('cancel'),\n});\n\nexport const TUI_DONE_WORD = new InjectionToken(`i18n 'done' word`, {\n factory: extractI18n('done'),\n});\n\nexport const TUI_MORE_WORD = new InjectionToken(`i18n 'more' word`, {\n factory: extractI18n('more'),\n});\n\nexport const TUI_OTHER_DATE_TEXT = new InjectionToken(`i18n 'Other date' text`, {\n factory: extractI18n('otherDate'),\n});\n\nexport const TUI_CHOOSE_DAY_OR_RANGE_TEXTS = new InjectionToken(\n `choose day or range i18n texts`,\n {\n factory: extractI18n('mobileCalendarTexts'),\n },\n);\n\nexport const TUI_FROM_TO_TEXTS = new InjectionToken(`from and to i18n texts`, {\n factory: extractI18n('range'),\n});\n\nexport const TUI_PLUS_MINUS_TEXTS = new InjectionToken(`plus and minus i18n texts`, {\n factory: extractI18n('countTexts'),\n});\n\nexport const TUI_TIME_TEXTS = new InjectionToken(`time i18n texts`, {\n factory: extractI18n('time'),\n});\n\nexport const TUI_DATE_TEXTS = new InjectionToken<Observable<Record<TuiDateMode, string>>>(\n 'date format i18n texts',\n {\n factory: extractI18n('dateTexts'),\n },\n);\n\nexport const TUI_DIGITAL_INFORMATION_UNITS = new InjectionToken(\n `short bytes, kilobytes and megabytes i18n texts`,\n {\n factory: extractI18n('digitalInformationUnits'),\n },\n);\n\nexport const TUI_COPY_TEXTS = new InjectionToken('copy i18n texts', {\n factory: extractI18n('copyTexts'),\n});\n\nexport const TUI_PASSWORD_TEXTS = new InjectionToken('password i18n texts', {\n factory: extractI18n('passwordTexts'),\n});\n\nexport const TUI_CALENDAR_MONTHS = new InjectionToken('short calendar months i18n', {\n factory: extractI18n('shortCalendarMonths'),\n});\n\nexport const TUI_FILE_TEXTS = new InjectionToken('file i18n texts', {\n factory: extractI18n('fileTexts'),\n});\n\nexport const TUI_PAGINATION_TEXTS = new InjectionToken('pagination i18n texts', {\n factory: extractI18n('paginationTexts'),\n});\n\nexport const TUI_INPUT_FILE_TEXTS = new InjectionToken('tui-input-file i18n texts', {\n factory: extractI18n('inputFileTexts'),\n});\n\nexport const TUI_COUNTRIES: InjectionToken<\n Observable<Record<TuiCountryIsoCode, string>>\n> = new InjectionToken('Localized countries names', {\n factory: extractI18n('countries'),\n});\n","import {InjectionToken} from '@angular/core';\n\nexport const TUI_MOBILE_AWARE = new InjectionToken<boolean>(\n 'A flag enabling mobile-specific behavior for supporting components',\n {\n factory: () => false,\n },\n);\n","import {InjectionToken, Type} from '@angular/core';\n\nexport const TUI_MOBILE_CALENDAR = new InjectionToken<Type<any>>(\n 'A component for mobile data picker',\n);\n","import {InjectionToken} from '@angular/core';\nimport {TuiStatus} from '@taiga-ui/kit/enums';\n\nexport const TUI_TAG_STATUS = new InjectionToken<TuiStatus>(\n 'Status for tags inside InputTag component',\n {\n factory: () => TuiStatus.Primary,\n },\n);\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport const TUI_VALIDATION_ERRORS = new InjectionToken<\n Record<string, PolymorpheusContent>\n>('Validation errors', {\n factory: () => ({}),\n});\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAIa,wBAAwB,GAAG,IAAI,cAAc,CAExD,wCAAwC;;MCD7B,eAAe,GAAG,IAAI,cAAc,CAAC,oBAAoB,EAAE;IACpE,OAAO,EAAE,WAAW,CAAC,QAAQ,CAAC;CACjC,EAAE;MAEU,aAAa,GAAG,IAAI,cAAc,CAAC,kBAAkB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;MAEU,aAAa,GAAG,IAAI,cAAc,CAAC,kBAAkB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;MAEU,mBAAmB,GAAG,IAAI,cAAc,CAAC,wBAAwB,EAAE;IAC5E,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;MAEU,6BAA6B,GAAG,IAAI,cAAc,CAC3D,gCAAgC,EAChC;IACI,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC;CAC9C,EACH;MAEW,iBAAiB,GAAG,IAAI,cAAc,CAAC,wBAAwB,EAAE;IAC1E,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC;CAChC,EAAE;MAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,YAAY,CAAC;CACrC,EAAE;MAEU,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC;CAC/B,EAAE;MAEU,cAAc,GAAG,IAAI,cAAc,CAC5C,wBAAwB,EACxB;IACI,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EACH;MAEW,6BAA6B,GAAG,IAAI,cAAc,CAC3D,iDAAiD,EACjD;IACI,OAAO,EAAE,WAAW,CAAC,yBAAyB,CAAC;CAClD,EACH;MAEW,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;MAEU,kBAAkB,GAAG,IAAI,cAAc,CAAC,qBAAqB,EAAE;IACxE,OAAO,EAAE,WAAW,CAAC,eAAe,CAAC;CACxC,EAAE;MAEU,mBAAmB,GAAG,IAAI,cAAc,CAAC,4BAA4B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,qBAAqB,CAAC;CAC9C,EAAE;MAEU,cAAc,GAAG,IAAI,cAAc,CAAC,iBAAiB,EAAE;IAChE,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC,EAAE;MAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,uBAAuB,EAAE;IAC5E,OAAO,EAAE,WAAW,CAAC,iBAAiB,CAAC;CAC1C,EAAE;MAEU,oBAAoB,GAAG,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChF,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC;CACzC,EAAE;MAEU,aAAa,GAEtB,IAAI,cAAc,CAAC,2BAA2B,EAAE;IAChD,OAAO,EAAE,WAAW,CAAC,WAAW,CAAC;CACpC;;MChFY,gBAAgB,GAAG,IAAI,cAAc,CAC9C,oEAAoE,EACpE;IACI,OAAO,EAAE,MAAM,KAAK;CACvB;;MCJQ,mBAAmB,GAAG,IAAI,cAAc,CACjD,oCAAoC;;MCA3B,cAAc,GAAG,IAAI,cAAc,CAC5C,2CAA2C,EAC3C;IACI,OAAO,EAAE;CACZ;;MCJQ,qBAAqB,GAAG,IAAI,cAAc,CAErD,mBAAmB,EAAE;IACnB,OAAO,EAAE,OAAO,EAAE,CAAC;CACtB;;ACPD;;;;;;"}
@@ -10,10 +10,8 @@ function stringHashToHsl(value) {
10
10
  }
11
11
  let hash = 0;
12
12
  for (let i = 0; i < value.length; i++) {
13
- /* tslint:disable: no-bitwise */
14
13
  hash = value.charCodeAt(i) + ((hash << 5) - hash);
15
14
  hash = hash & hash;
16
- /* tslint:enable: no-bitwise */
17
15
  }
18
16
  const hue = hash % 360;
19
17
  const saturation = 60 + (hash % 5);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-utils-format.js","sources":["ng://@taiga-ui/kit/utils/format/string-hash-to-hsl.ts","ng://@taiga-ui/kit/utils/format/taiga-ui-kit-utils-format.ts"],"sourcesContent":["/**\n * Converts a string to an HSL color\n * @param value string to convert\n * @return HSL color string\n */\n// @bad TODO: convert stringHashToHsl to stringHashToRgb\nexport function stringHashToHsl(value: string): string {\n if (value === '') {\n return '';\n }\n\n let hash = 0;\n\n for (let i = 0; i < value.length; i++) {\n /* tslint:disable: no-bitwise */\n hash = value.charCodeAt(i) + ((hash << 5) - hash);\n hash = hash & hash;\n /* tslint:enable: no-bitwise */\n }\n\n const hue = hash % 360;\n const saturation = 60 + (hash % 5);\n const lightness = 80 + (hash % 5);\n\n return `hsl(${hue},${saturation}%,${lightness}%)`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;;AAKA;SACgB,eAAe,CAAC,KAAa;IACzC,IAAI,KAAK,KAAK,EAAE,EAAE;QACd,OAAO,EAAE,CAAC;KACb;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;;QAEnC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;;KAEtB;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;IACvB,MAAM,UAAU,GAAG,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IAElC,OAAO,OAAO,GAAG,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC;AACtD;;ACzBA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-utils-format.js","sources":["ng://@taiga-ui/kit/utils/format/string-hash-to-hsl.ts","ng://@taiga-ui/kit/utils/format/taiga-ui-kit-utils-format.ts"],"sourcesContent":["/**\n * Converts a string to an HSL color\n * @param value string to convert\n * @return HSL color string\n */\n// @bad TODO: convert stringHashToHsl to stringHashToRgb\nexport function stringHashToHsl(value: string): string {\n if (value === '') {\n return '';\n }\n\n let hash = 0;\n\n for (let i = 0; i < value.length; i++) {\n hash = value.charCodeAt(i) + ((hash << 5) - hash);\n hash = hash & hash;\n }\n\n const hue = hash % 360;\n const saturation = 60 + (hash % 5);\n const lightness = 80 + (hash % 5);\n\n return `hsl(${hue},${saturation}%,${lightness}%)`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;;AAKA;SACgB,eAAe,CAAC,KAAa;IACzC,IAAI,KAAK,KAAK,EAAE,EAAE;QACd,OAAO,EAAE,CAAC;KACb;IAED,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnC,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;KACtB;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC;IACvB,MAAM,UAAU,GAAG,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,EAAE,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC;IAElC,OAAO,OAAO,GAAG,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC;AACtD;;ACvBA;;;;;;"}