@taiga-ui/kit 2.29.0 → 2.33.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 (656) hide show
  1. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  2. package/bundles/taiga-ui-kit-abstract.umd.js +5 -4
  3. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  5. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  6. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  7. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-accordion.umd.min.js +1 -1
  9. package/bundles/taiga-ui-kit-components-accordion.umd.min.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-arrow.umd.js +31 -8
  11. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-arrow.umd.min.js +2 -2
  13. package/bundles/taiga-ui-kit-components-arrow.umd.min.js.map +1 -1
  14. package/bundles/taiga-ui-kit-components-avatar.umd.js +1 -1
  15. package/bundles/taiga-ui-kit-components-avatar.umd.min.js +1 -1
  16. package/bundles/taiga-ui-kit-components-avatar.umd.min.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-calendar-month.umd.js +4 -1
  18. package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +2 -2
  20. package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-carousel.umd.js +5 -4
  22. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-carousel.umd.min.js +1 -1
  24. package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  26. package/bundles/taiga-ui-kit-components-checkbox.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  28. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-combo-box.umd.js +71 -40
  30. package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js +2 -2
  32. package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-copy.umd.js +47 -17
  34. package/bundles/taiga-ui-kit-components-input-copy.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js +2 -2
  36. package/bundles/taiga-ui-kit-components-input-copy.umd.min.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-count.umd.js +38 -9
  38. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +1 -1
  40. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +83 -29
  42. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  43. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +2 -2
  44. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  45. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +83 -37
  46. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +2 -2
  48. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-input-date.umd.js +79 -29
  50. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
  52. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -8
  54. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-input-file.umd.min.js +1 -1
  56. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-input-inline.umd.js +2 -15
  58. package/bundles/taiga-ui-kit-components-input-inline.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js +1 -1
  60. package/bundles/taiga-ui-kit-components-input-inline.umd.min.js.map +1 -1
  61. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +52 -10
  62. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  63. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
  64. package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-input-month.umd.js +48 -10
  66. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-input-month.umd.min.js +1 -1
  68. package/bundles/taiga-ui-kit-components-input-month.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-input-number.umd.js +53 -13
  70. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  71. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  72. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  73. package/bundles/taiga-ui-kit-components-input-password.umd.js +45 -11
  74. package/bundles/taiga-ui-kit-components-input-password.umd.js.map +1 -1
  75. package/bundles/taiga-ui-kit-components-input-password.umd.min.js +1 -1
  76. package/bundles/taiga-ui-kit-components-input-password.umd.min.js.map +1 -1
  77. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +51 -23
  78. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  79. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
  80. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  81. package/bundles/taiga-ui-kit-components-input-phone.umd.js +61 -25
  82. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  84. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-input-range.umd.js +8 -5
  86. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  88. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-input-slider.umd.js +8 -5
  90. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  92. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  93. package/bundles/taiga-ui-kit-components-input-tag.umd.js +4 -4
  94. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  95. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
  96. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  97. package/bundles/taiga-ui-kit-components-input-time.umd.js +14 -14
  98. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  99. package/bundles/taiga-ui-kit-components-input-time.umd.min.js +2 -2
  100. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  101. package/bundles/taiga-ui-kit-components-input.umd.js +33 -4
  102. package/bundles/taiga-ui-kit-components-input.umd.js.map +1 -1
  103. package/bundles/taiga-ui-kit-components-input.umd.min.js +1 -1
  104. package/bundles/taiga-ui-kit-components-input.umd.min.js.map +1 -1
  105. package/bundles/taiga-ui-kit-components-multi-select.umd.js +24 -18
  106. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  107. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +2 -2
  108. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  109. package/bundles/taiga-ui-kit-components-rating.umd.js +368 -0
  110. package/bundles/taiga-ui-kit-components-rating.umd.js.map +1 -0
  111. package/bundles/taiga-ui-kit-components-rating.umd.min.js +16 -0
  112. package/bundles/taiga-ui-kit-components-rating.umd.min.js.map +1 -0
  113. package/bundles/taiga-ui-kit-components-select.umd.js +75 -36
  114. package/bundles/taiga-ui-kit-components-select.umd.js.map +1 -1
  115. package/bundles/taiga-ui-kit-components-select.umd.min.js +1 -1
  116. package/bundles/taiga-ui-kit-components-select.umd.min.js.map +1 -1
  117. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  118. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  119. package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
  120. package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
  121. package/bundles/taiga-ui-kit-components-tabs.umd.js +1 -1
  122. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  123. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  124. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  125. package/bundles/taiga-ui-kit-components-tag.umd.js +2 -2
  126. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  127. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  128. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  129. package/bundles/taiga-ui-kit-components-text-area.umd.js +8 -6
  130. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  131. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +1 -1
  132. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  133. package/bundles/taiga-ui-kit-components-tree.umd.js +23 -13
  134. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  135. package/bundles/taiga-ui-kit-components-tree.umd.min.js +2 -2
  136. package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
  137. package/bundles/taiga-ui-kit-components.umd.js +12 -4
  138. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  139. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  140. package/bundles/taiga-ui-kit-constants.umd.js +8 -0
  141. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  142. package/bundles/taiga-ui-kit-constants.umd.min.js +1 -1
  143. package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
  144. package/bundles/taiga-ui-kit-providers.umd.js +6 -5
  145. package/bundles/taiga-ui-kit-providers.umd.js.map +1 -1
  146. package/bundles/taiga-ui-kit-providers.umd.min.js +1 -1
  147. package/bundles/taiga-ui-kit-providers.umd.min.js.map +1 -1
  148. package/bundles/taiga-ui-kit-tokens.umd.js +7 -0
  149. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  150. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  151. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  152. package/bundles/taiga-ui-kit-utils-mask.umd.js +19 -10
  153. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  154. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
  155. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  156. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +241 -6
  157. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
  158. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +15 -1
  159. package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
  160. package/components/accordion/taiga-ui-kit-components-accordion.metadata.json +1 -1
  161. package/components/arrow/arrow-options.d.ts +16 -0
  162. package/components/arrow/arrow.component.d.ts +5 -3
  163. package/components/arrow/index.d.ts +1 -0
  164. package/components/arrow/taiga-ui-kit-components-arrow.metadata.json +1 -1
  165. package/components/avatar/taiga-ui-kit-components-avatar.metadata.json +1 -1
  166. package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
  167. package/components/carousel/taiga-ui-kit-components-carousel.metadata.json +1 -1
  168. package/components/combo-box/combo-box.component.d.ts +4 -4
  169. package/components/combo-box/combo-box.directive.d.ts +6 -0
  170. package/components/combo-box/combo-box.providers.d.ts +2 -0
  171. package/components/combo-box/index.d.ts +2 -0
  172. package/components/combo-box/taiga-ui-kit-components-combo-box.metadata.json +1 -1
  173. package/components/index.d.ts +1 -0
  174. package/components/input/index.d.ts +1 -0
  175. package/components/input/input.directive.d.ts +5 -0
  176. package/components/input/taiga-ui-kit-components-input.metadata.json +1 -1
  177. package/components/input-copy/index.d.ts +2 -0
  178. package/components/input-copy/input-copy.directive.d.ts +5 -0
  179. package/components/input-copy/input-copy.providers.d.ts +2 -0
  180. package/components/input-copy/taiga-ui-kit-components-input-copy.metadata.json +1 -1
  181. package/components/input-count/index.d.ts +1 -0
  182. package/components/input-count/input-count.directive.d.ts +6 -0
  183. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  184. package/components/input-date/index.d.ts +2 -0
  185. package/components/input-date/input-date.component.d.ts +3 -4
  186. package/components/input-date/input-date.directive.d.ts +7 -0
  187. package/components/input-date/input-date.providers.d.ts +4 -0
  188. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  189. package/components/input-date-range/index.d.ts +2 -0
  190. package/components/input-date-range/input-date-range.component.d.ts +3 -4
  191. package/components/input-date-range/input-date-range.directive.d.ts +7 -0
  192. package/components/input-date-range/input-date-range.providers.d.ts +4 -0
  193. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  194. package/components/input-date-time/index.d.ts +2 -0
  195. package/components/input-date-time/input-date-time.component.d.ts +3 -5
  196. package/components/input-date-time/input-date-time.directive.d.ts +7 -0
  197. package/components/input-date-time/input-date-time.providers.d.ts +4 -0
  198. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  199. package/components/input-file/input-file.component.d.ts +0 -1
  200. package/components/input-file/taiga-ui-kit-components-input-file.metadata.json +1 -1
  201. package/components/input-inline/input-inline.component.d.ts +0 -1
  202. package/components/input-inline/taiga-ui-kit-components-input-inline.metadata.json +1 -1
  203. package/components/input-month/index.d.ts +1 -0
  204. package/components/input-month/input-month.component.d.ts +2 -3
  205. package/components/input-month/input-month.directive.d.ts +7 -0
  206. package/components/input-month/taiga-ui-kit-components-input-month.metadata.json +1 -1
  207. package/components/input-month-range/index.d.ts +1 -0
  208. package/components/input-month-range/input-month-range.component.d.ts +2 -3
  209. package/components/input-month-range/input-month-range.directive.d.ts +7 -0
  210. package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
  211. package/components/input-number/index.d.ts +1 -0
  212. package/components/input-number/input-number.component.d.ts +1 -1
  213. package/components/input-number/input-number.directive.d.ts +7 -0
  214. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  215. package/components/input-password/index.d.ts +1 -0
  216. package/components/input-password/input-password.component.d.ts +0 -1
  217. package/components/input-password/input-password.directive.d.ts +8 -0
  218. package/components/input-password/taiga-ui-kit-components-input-password.metadata.json +1 -1
  219. package/components/input-phone/index.d.ts +1 -0
  220. package/components/input-phone/input-phone.component.d.ts +1 -1
  221. package/components/input-phone/input-phone.directive.d.ts +7 -0
  222. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  223. package/components/input-phone-international/const/countries.d.ts +15 -7
  224. package/components/input-phone-international/index.d.ts +2 -0
  225. package/components/input-phone-international/input-phone-international.component.d.ts +4 -3
  226. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  227. package/components/input-phone-international/tokens/countries-masks.d.ts +3 -0
  228. package/components/input-phone-international/utils/extract-value-from-event.d.ts +1 -0
  229. package/components/input-range/input-range.component.d.ts +2 -1
  230. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  231. package/components/input-slider/input-slider.component.d.ts +2 -1
  232. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  233. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  234. package/components/input-time/input-time-options.d.ts +3 -0
  235. package/components/input-time/input-time.component.d.ts +7 -8
  236. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  237. package/components/multi-select/multi-select.component.d.ts +4 -2
  238. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  239. package/components/rating/index.d.ts +3 -0
  240. package/components/rating/package.json +13 -0
  241. package/components/rating/rating-options.d.ts +9 -0
  242. package/components/rating/rating.component.d.ts +21 -0
  243. package/components/rating/rating.module.d.ts +2 -0
  244. package/components/rating/taiga-ui-kit-components-rating.d.ts +4 -0
  245. package/components/rating/taiga-ui-kit-components-rating.metadata.json +1 -0
  246. package/components/select/index.d.ts +2 -0
  247. package/components/select/select.component.d.ts +3 -3
  248. package/components/select/select.directive.d.ts +7 -0
  249. package/components/select/select.providers.d.ts +2 -0
  250. package/components/select/taiga-ui-kit-components-select.metadata.json +1 -1
  251. package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
  252. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  253. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  254. package/components/taiga-ui-kit-components.metadata.json +1 -1
  255. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  256. package/components/tree/components/tree/tree.component.d.ts +3 -1
  257. package/components/tree/taiga-ui-kit-components-tree.metadata.json +1 -1
  258. package/constants/index.d.ts +1 -0
  259. package/constants/max-time-values.d.ts +2 -0
  260. package/constants/taiga-ui-kit-constants.metadata.json +1 -1
  261. package/esm2015/abstract/input-slider.js +3 -1
  262. package/esm2015/components/accordion/accordion.component.js +3 -3
  263. package/esm2015/components/arrow/arrow-options.js +17 -0
  264. package/esm2015/components/arrow/arrow.component.js +12 -8
  265. package/esm2015/components/arrow/arrow.module.js +3 -2
  266. package/esm2015/components/arrow/index.js +2 -1
  267. package/esm2015/components/avatar/avatar.component.js +1 -1
  268. package/esm2015/components/calendar-month/calendar-month.component.js +5 -2
  269. package/esm2015/components/carousel/carousel-scroll.directive.js +5 -4
  270. package/esm2015/components/carousel/carousel.component.js +1 -1
  271. package/esm2015/components/checkbox/checkbox.component.js +2 -2
  272. package/esm2015/components/combo-box/combo-box.component.js +23 -43
  273. package/esm2015/components/combo-box/combo-box.directive.js +25 -0
  274. package/esm2015/components/combo-box/combo-box.module.js +5 -4
  275. package/esm2015/components/combo-box/combo-box.providers.js +28 -0
  276. package/esm2015/components/combo-box/index.js +3 -1
  277. package/esm2015/components/index.js +2 -1
  278. package/esm2015/components/input/index.js +2 -1
  279. package/esm2015/components/input/input.component.js +3 -3
  280. package/esm2015/components/input/input.directive.js +22 -0
  281. package/esm2015/components/input/input.module.js +5 -4
  282. package/esm2015/components/input/input.providers.js +6 -2
  283. package/esm2015/components/input-copy/index.js +3 -1
  284. package/esm2015/components/input-copy/input-copy.component.js +8 -15
  285. package/esm2015/components/input-copy/input-copy.directive.js +22 -0
  286. package/esm2015/components/input-copy/input-copy.module.js +5 -4
  287. package/esm2015/components/input-copy/input-copy.providers.js +16 -0
  288. package/esm2015/components/input-count/index.js +2 -1
  289. package/esm2015/components/input-count/input-count.component.js +8 -8
  290. package/esm2015/components/input-count/input-count.directive.js +26 -0
  291. package/esm2015/components/input-count/input-count.module.js +5 -4
  292. package/esm2015/components/input-date/index.js +3 -1
  293. package/esm2015/components/input-date/input-date.component.js +21 -31
  294. package/esm2015/components/input-date/input-date.directive.js +28 -0
  295. package/esm2015/components/input-date/input-date.module.js +5 -4
  296. package/esm2015/components/input-date/input-date.providers.js +29 -0
  297. package/esm2015/components/input-date-range/index.js +3 -1
  298. package/esm2015/components/input-date-range/input-date-range.component.js +21 -31
  299. package/esm2015/components/input-date-range/input-date-range.directive.js +28 -0
  300. package/esm2015/components/input-date-range/input-date-range.module.js +9 -4
  301. package/esm2015/components/input-date-range/input-date-range.providers.js +29 -0
  302. package/esm2015/components/input-date-time/index.js +3 -1
  303. package/esm2015/components/input-date-time/input-date-time.component.js +20 -34
  304. package/esm2015/components/input-date-time/input-date-time.directive.js +28 -0
  305. package/esm2015/components/input-date-time/input-date-time.module.js +9 -4
  306. package/esm2015/components/input-date-time/input-date-time.providers.js +29 -0
  307. package/esm2015/components/input-file/input-file.component.js +2 -5
  308. package/esm2015/components/input-inline/input-inline.component.js +4 -13
  309. package/esm2015/components/input-month/index.js +2 -1
  310. package/esm2015/components/input-month/input-month.component.js +7 -6
  311. package/esm2015/components/input-month/input-month.directive.js +30 -0
  312. package/esm2015/components/input-month/input-month.module.js +5 -4
  313. package/esm2015/components/input-month-range/index.js +2 -1
  314. package/esm2015/components/input-month-range/input-month-range.component.js +7 -6
  315. package/esm2015/components/input-month-range/input-month-range.directive.js +30 -0
  316. package/esm2015/components/input-month-range/input-month-range.module.js +9 -4
  317. package/esm2015/components/input-number/index.js +2 -1
  318. package/esm2015/components/input-number/input-number.component.js +18 -14
  319. package/esm2015/components/input-number/input-number.directive.js +29 -0
  320. package/esm2015/components/input-number/input-number.module.js +5 -4
  321. package/esm2015/components/input-password/index.js +2 -1
  322. package/esm2015/components/input-password/input-password.component.js +7 -6
  323. package/esm2015/components/input-password/input-password.directive.js +30 -0
  324. package/esm2015/components/input-password/input-password.module.js +9 -4
  325. package/esm2015/components/input-phone/index.js +2 -1
  326. package/esm2015/components/input-phone/input-phone.component.js +16 -27
  327. package/esm2015/components/input-phone/input-phone.directive.js +29 -0
  328. package/esm2015/components/input-phone/input-phone.module.js +5 -4
  329. package/esm2015/components/input-phone/input-phone.providers.js +17 -3
  330. package/esm2015/components/input-phone-international/const/countries.js +14 -5
  331. package/esm2015/components/input-phone-international/index.js +3 -1
  332. package/esm2015/components/input-phone-international/input-phone-international.component.js +24 -22
  333. package/esm2015/components/input-phone-international/tokens/countries-masks.js +6 -0
  334. package/esm2015/components/input-phone-international/utils/extract-value-from-event.js +9 -0
  335. package/esm2015/components/input-range/input-range.component.js +10 -7
  336. package/esm2015/components/input-slider/input-slider.component.js +10 -7
  337. package/esm2015/components/input-tag/input-tag.component.js +5 -5
  338. package/esm2015/components/input-time/input-time-options.js +4 -1
  339. package/esm2015/components/input-time/input-time.component.js +10 -8
  340. package/esm2015/components/multi-select/multi-select.component.js +17 -11
  341. package/esm2015/components/multi-select/multi-select.module.js +3 -1
  342. package/esm2015/components/rating/index.js +4 -0
  343. package/esm2015/components/rating/rating-options.js +11 -0
  344. package/esm2015/components/rating/rating.component.js +91 -0
  345. package/esm2015/components/rating/rating.module.js +23 -0
  346. package/esm2015/components/rating/taiga-ui-kit-components-rating.js +5 -0
  347. package/esm2015/components/select/index.js +3 -1
  348. package/esm2015/components/select/select.component.js +20 -39
  349. package/esm2015/components/select/select.directive.js +28 -0
  350. package/esm2015/components/select/select.module.js +5 -4
  351. package/esm2015/components/select/select.providers.js +28 -0
  352. package/esm2015/components/stepper/step/step.component.js +3 -3
  353. package/esm2015/components/tabs/tab/tab.providers.js +3 -3
  354. package/esm2015/components/tag/tag.component.js +4 -4
  355. package/esm2015/components/text-area/text-area.component.js +9 -6
  356. package/esm2015/components/text-area/text-area.module.js +2 -3
  357. package/esm2015/components/tree/components/tree/tree.component.js +11 -6
  358. package/esm2015/components/tree/tree.module.js +9 -2
  359. package/esm2015/constants/index.js +2 -1
  360. package/esm2015/constants/max-time-values.js +7 -0
  361. package/esm2015/providers/value-accessor.provider.js +3 -2
  362. package/esm2015/tokens/date-inputs-value-transformers.js +5 -0
  363. package/esm2015/tokens/index.js +2 -1
  364. package/esm2015/types/index.js +1 -1
  365. package/esm2015/types/time-format-parts.js +1 -0
  366. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  367. package/esm2015/utils/mask/create-auto-corrected-time-pipe.js +8 -7
  368. package/esm2015/utils/mask/create-time-mask.js +16 -8
  369. package/esm2015/utils/miscellaneous/get-precision.js +8 -0
  370. package/esm2015/utils/miscellaneous/index.js +2 -1
  371. package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +10 -4
  372. package/esm5/abstract/input-slider.js +3 -1
  373. package/esm5/components/accordion/accordion.component.js +3 -3
  374. package/esm5/components/arrow/arrow-options.js +17 -0
  375. package/esm5/components/arrow/arrow.component.js +12 -8
  376. package/esm5/components/arrow/arrow.module.js +3 -2
  377. package/esm5/components/arrow/index.js +2 -1
  378. package/esm5/components/avatar/avatar.component.js +1 -1
  379. package/esm5/components/calendar-month/calendar-month.component.js +5 -2
  380. package/esm5/components/carousel/carousel-scroll.directive.js +5 -4
  381. package/esm5/components/carousel/carousel.component.js +1 -1
  382. package/esm5/components/checkbox/checkbox.component.js +2 -2
  383. package/esm5/components/combo-box/combo-box.component.js +22 -47
  384. package/esm5/components/combo-box/combo-box.directive.js +35 -0
  385. package/esm5/components/combo-box/combo-box.module.js +5 -4
  386. package/esm5/components/combo-box/combo-box.providers.js +28 -0
  387. package/esm5/components/combo-box/index.js +3 -1
  388. package/esm5/components/index.js +2 -1
  389. package/esm5/components/input/index.js +2 -1
  390. package/esm5/components/input/input.component.js +3 -3
  391. package/esm5/components/input/input.directive.js +28 -0
  392. package/esm5/components/input/input.module.js +5 -4
  393. package/esm5/components/input/input.providers.js +6 -2
  394. package/esm5/components/input-copy/index.js +3 -1
  395. package/esm5/components/input-copy/input-copy.component.js +7 -15
  396. package/esm5/components/input-copy/input-copy.directive.js +28 -0
  397. package/esm5/components/input-copy/input-copy.module.js +5 -4
  398. package/esm5/components/input-copy/input-copy.providers.js +16 -0
  399. package/esm5/components/input-count/index.js +2 -1
  400. package/esm5/components/input-count/input-count.component.js +8 -8
  401. package/esm5/components/input-count/input-count.directive.js +32 -0
  402. package/esm5/components/input-count/input-count.module.js +5 -4
  403. package/esm5/components/input-date/index.js +3 -1
  404. package/esm5/components/input-date/input-date.component.js +22 -31
  405. package/esm5/components/input-date/input-date.directive.js +38 -0
  406. package/esm5/components/input-date/input-date.module.js +5 -4
  407. package/esm5/components/input-date/input-date.providers.js +29 -0
  408. package/esm5/components/input-date-range/index.js +3 -1
  409. package/esm5/components/input-date-range/input-date-range.component.js +22 -31
  410. package/esm5/components/input-date-range/input-date-range.directive.js +38 -0
  411. package/esm5/components/input-date-range/input-date-range.module.js +9 -4
  412. package/esm5/components/input-date-range/input-date-range.providers.js +29 -0
  413. package/esm5/components/input-date-time/index.js +3 -1
  414. package/esm5/components/input-date-time/input-date-time.component.js +21 -38
  415. package/esm5/components/input-date-time/input-date-time.directive.js +38 -0
  416. package/esm5/components/input-date-time/input-date-time.module.js +9 -4
  417. package/esm5/components/input-date-time/input-date-time.providers.js +29 -0
  418. package/esm5/components/input-file/input-file.component.js +2 -9
  419. package/esm5/components/input-inline/input-inline.component.js +4 -17
  420. package/esm5/components/input-month/index.js +2 -1
  421. package/esm5/components/input-month/input-month.component.js +7 -10
  422. package/esm5/components/input-month/input-month.directive.js +44 -0
  423. package/esm5/components/input-month/input-month.module.js +5 -4
  424. package/esm5/components/input-month-range/index.js +2 -1
  425. package/esm5/components/input-month-range/input-month-range.component.js +7 -10
  426. package/esm5/components/input-month-range/input-month-range.directive.js +44 -0
  427. package/esm5/components/input-month-range/input-month-range.module.js +9 -4
  428. package/esm5/components/input-number/index.js +2 -1
  429. package/esm5/components/input-number/input-number.component.js +18 -14
  430. package/esm5/components/input-number/input-number.directive.js +39 -0
  431. package/esm5/components/input-number/input-number.module.js +5 -4
  432. package/esm5/components/input-password/index.js +2 -1
  433. package/esm5/components/input-password/input-password.component.js +7 -10
  434. package/esm5/components/input-password/input-password.directive.js +36 -0
  435. package/esm5/components/input-password/input-password.module.js +9 -4
  436. package/esm5/components/input-phone/index.js +2 -1
  437. package/esm5/components/input-phone/input-phone.component.js +15 -27
  438. package/esm5/components/input-phone/input-phone.directive.js +39 -0
  439. package/esm5/components/input-phone/input-phone.module.js +5 -4
  440. package/esm5/components/input-phone/input-phone.providers.js +17 -3
  441. package/esm5/components/input-phone-international/const/countries.js +14 -5
  442. package/esm5/components/input-phone-international/index.js +3 -1
  443. package/esm5/components/input-phone-international/input-phone-international.component.js +28 -22
  444. package/esm5/components/input-phone-international/tokens/countries-masks.js +6 -0
  445. package/esm5/components/input-phone-international/utils/extract-value-from-event.js +9 -0
  446. package/esm5/components/input-range/input-range.component.js +10 -7
  447. package/esm5/components/input-slider/input-slider.component.js +10 -7
  448. package/esm5/components/input-tag/input-tag.component.js +5 -5
  449. package/esm5/components/input-time/input-time-options.js +4 -1
  450. package/esm5/components/input-time/input-time.component.js +10 -12
  451. package/esm5/components/multi-select/multi-select.component.js +21 -15
  452. package/esm5/components/multi-select/multi-select.module.js +3 -1
  453. package/esm5/components/rating/index.js +4 -0
  454. package/esm5/components/rating/rating-options.js +11 -0
  455. package/esm5/components/rating/rating.component.js +111 -0
  456. package/esm5/components/rating/rating.module.js +26 -0
  457. package/esm5/components/rating/taiga-ui-kit-components-rating.js +5 -0
  458. package/esm5/components/select/index.js +3 -1
  459. package/esm5/components/select/select.component.js +19 -43
  460. package/esm5/components/select/select.directive.js +42 -0
  461. package/esm5/components/select/select.module.js +5 -4
  462. package/esm5/components/select/select.providers.js +28 -0
  463. package/esm5/components/stepper/step/step.component.js +3 -3
  464. package/esm5/components/tabs/tab/tab.providers.js +3 -3
  465. package/esm5/components/tag/tag.component.js +3 -3
  466. package/esm5/components/text-area/text-area.component.js +9 -6
  467. package/esm5/components/text-area/text-area.module.js +2 -3
  468. package/esm5/components/tree/components/tree/tree.component.js +15 -9
  469. package/esm5/components/tree/tree.module.js +9 -2
  470. package/esm5/constants/index.js +2 -1
  471. package/esm5/constants/max-time-values.js +7 -0
  472. package/esm5/providers/value-accessor.provider.js +3 -2
  473. package/esm5/tokens/date-inputs-value-transformers.js +5 -0
  474. package/esm5/tokens/index.js +2 -1
  475. package/esm5/types/index.js +1 -1
  476. package/esm5/types/time-format-parts.js +1 -0
  477. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +2 -2
  478. package/esm5/utils/mask/create-auto-corrected-time-pipe.js +9 -6
  479. package/esm5/utils/mask/create-time-mask.js +15 -7
  480. package/esm5/utils/miscellaneous/get-precision.js +9 -0
  481. package/esm5/utils/miscellaneous/index.js +2 -1
  482. package/esm5/utils/miscellaneous/replay-control-value-changes-factory.js +12 -4
  483. package/fesm2015/taiga-ui-kit-abstract.js +2 -0
  484. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  485. package/fesm2015/taiga-ui-kit-components-accordion.js +2 -2
  486. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  487. package/fesm2015/taiga-ui-kit-components-arrow.js +29 -11
  488. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  489. package/fesm2015/taiga-ui-kit-components-avatar.js +1 -1
  490. package/fesm2015/taiga-ui-kit-components-calendar-month.js +4 -1
  491. package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
  492. package/fesm2015/taiga-ui-kit-components-carousel.js +5 -4
  493. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  494. package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
  495. package/fesm2015/taiga-ui-kit-components-checkbox.js.map +1 -1
  496. package/fesm2015/taiga-ui-kit-components-combo-box.js +65 -41
  497. package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
  498. package/fesm2015/taiga-ui-kit-components-input-copy.js +41 -18
  499. package/fesm2015/taiga-ui-kit-components-input-copy.js.map +1 -1
  500. package/fesm2015/taiga-ui-kit-components-input-count.js +34 -12
  501. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  502. package/fesm2015/taiga-ui-kit-components-input-date-range.js +74 -33
  503. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  504. package/fesm2015/taiga-ui-kit-components-input-date-time.js +74 -37
  505. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  506. package/fesm2015/taiga-ui-kit-components-input-date.js +70 -33
  507. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  508. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -4
  509. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  510. package/fesm2015/taiga-ui-kit-components-input-inline.js +3 -12
  511. package/fesm2015/taiga-ui-kit-components-input-inline.js.map +1 -1
  512. package/fesm2015/taiga-ui-kit-components-input-month-range.js +41 -10
  513. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  514. package/fesm2015/taiga-ui-kit-components-input-month.js +37 -10
  515. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  516. package/fesm2015/taiga-ui-kit-components-input-number.js +46 -17
  517. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  518. package/fesm2015/taiga-ui-kit-components-input-password.js +41 -10
  519. package/fesm2015/taiga-ui-kit-components-input-password.js.map +1 -1
  520. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +47 -26
  521. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  522. package/fesm2015/taiga-ui-kit-components-input-phone.js +55 -29
  523. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  524. package/fesm2015/taiga-ui-kit-components-input-range.js +9 -6
  525. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  526. package/fesm2015/taiga-ui-kit-components-input-slider.js +9 -6
  527. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  528. package/fesm2015/taiga-ui-kit-components-input-tag.js +4 -4
  529. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  530. package/fesm2015/taiga-ui-kit-components-input-time.js +11 -6
  531. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  532. package/fesm2015/taiga-ui-kit-components-input.js +29 -7
  533. package/fesm2015/taiga-ui-kit-components-input.js.map +1 -1
  534. package/fesm2015/taiga-ui-kit-components-multi-select.js +17 -10
  535. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  536. package/fesm2015/taiga-ui-kit-components-rating.js +123 -0
  537. package/fesm2015/taiga-ui-kit-components-rating.js.map +1 -0
  538. package/fesm2015/taiga-ui-kit-components-select.js +65 -37
  539. package/fesm2015/taiga-ui-kit-components-select.js.map +1 -1
  540. package/fesm2015/taiga-ui-kit-components-stepper.js +2 -2
  541. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  542. package/fesm2015/taiga-ui-kit-components-tabs.js +2 -2
  543. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  544. package/fesm2015/taiga-ui-kit-components-tag.js +3 -3
  545. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  546. package/fesm2015/taiga-ui-kit-components-text-area.js +9 -7
  547. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  548. package/fesm2015/taiga-ui-kit-components-tree.js +17 -8
  549. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  550. package/fesm2015/taiga-ui-kit-components.js +1 -0
  551. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  552. package/fesm2015/taiga-ui-kit-constants.js +8 -1
  553. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  554. package/fesm2015/taiga-ui-kit-providers.js +2 -1
  555. package/fesm2015/taiga-ui-kit-providers.js.map +1 -1
  556. package/fesm2015/taiga-ui-kit-tokens.js +5 -1
  557. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  558. package/fesm2015/taiga-ui-kit-utils-mask.js +22 -14
  559. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  560. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +17 -3
  561. package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  562. package/fesm5/taiga-ui-kit-abstract.js +2 -0
  563. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  564. package/fesm5/taiga-ui-kit-components-accordion.js +2 -2
  565. package/fesm5/taiga-ui-kit-components-accordion.js.map +1 -1
  566. package/fesm5/taiga-ui-kit-components-arrow.js +29 -11
  567. package/fesm5/taiga-ui-kit-components-arrow.js.map +1 -1
  568. package/fesm5/taiga-ui-kit-components-avatar.js +1 -1
  569. package/fesm5/taiga-ui-kit-components-calendar-month.js +4 -1
  570. package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
  571. package/fesm5/taiga-ui-kit-components-carousel.js +5 -4
  572. package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
  573. package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
  574. package/fesm5/taiga-ui-kit-components-checkbox.js.map +1 -1
  575. package/fesm5/taiga-ui-kit-components-combo-box.js +74 -45
  576. package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
  577. package/fesm5/taiga-ui-kit-components-input-copy.js +46 -18
  578. package/fesm5/taiga-ui-kit-components-input-copy.js.map +1 -1
  579. package/fesm5/taiga-ui-kit-components-input-count.js +40 -12
  580. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  581. package/fesm5/taiga-ui-kit-components-input-date-range.js +85 -33
  582. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  583. package/fesm5/taiga-ui-kit-components-input-date-time.js +85 -41
  584. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  585. package/fesm5/taiga-ui-kit-components-input-date.js +81 -33
  586. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  587. package/fesm5/taiga-ui-kit-components-input-file.js +1 -8
  588. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  589. package/fesm5/taiga-ui-kit-components-input-inline.js +3 -16
  590. package/fesm5/taiga-ui-kit-components-input-inline.js.map +1 -1
  591. package/fesm5/taiga-ui-kit-components-input-month-range.js +55 -14
  592. package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
  593. package/fesm5/taiga-ui-kit-components-input-month.js +51 -14
  594. package/fesm5/taiga-ui-kit-components-input-month.js.map +1 -1
  595. package/fesm5/taiga-ui-kit-components-input-number.js +56 -17
  596. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  597. package/fesm5/taiga-ui-kit-components-input-password.js +47 -14
  598. package/fesm5/taiga-ui-kit-components-input-password.js.map +1 -1
  599. package/fesm5/taiga-ui-kit-components-input-phone-international.js +51 -26
  600. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  601. package/fesm5/taiga-ui-kit-components-input-phone.js +64 -29
  602. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  603. package/fesm5/taiga-ui-kit-components-input-range.js +9 -6
  604. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  605. package/fesm5/taiga-ui-kit-components-input-slider.js +9 -6
  606. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  607. package/fesm5/taiga-ui-kit-components-input-tag.js +4 -4
  608. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  609. package/fesm5/taiga-ui-kit-components-input-time.js +11 -10
  610. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  611. package/fesm5/taiga-ui-kit-components-input.js +36 -8
  612. package/fesm5/taiga-ui-kit-components-input.js.map +1 -1
  613. package/fesm5/taiga-ui-kit-components-multi-select.js +21 -14
  614. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  615. package/fesm5/taiga-ui-kit-components-rating.js +146 -0
  616. package/fesm5/taiga-ui-kit-components-rating.js.map +1 -0
  617. package/fesm5/taiga-ui-kit-components-select.js +78 -41
  618. package/fesm5/taiga-ui-kit-components-select.js.map +1 -1
  619. package/fesm5/taiga-ui-kit-components-stepper.js +2 -2
  620. package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
  621. package/fesm5/taiga-ui-kit-components-tabs.js +2 -2
  622. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  623. package/fesm5/taiga-ui-kit-components-tag.js +2 -2
  624. package/fesm5/taiga-ui-kit-components-tag.js.map +1 -1
  625. package/fesm5/taiga-ui-kit-components-text-area.js +9 -7
  626. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  627. package/fesm5/taiga-ui-kit-components-tree.js +21 -11
  628. package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
  629. package/fesm5/taiga-ui-kit-components.js +1 -0
  630. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  631. package/fesm5/taiga-ui-kit-constants.js +8 -1
  632. package/fesm5/taiga-ui-kit-constants.js.map +1 -1
  633. package/fesm5/taiga-ui-kit-providers.js +2 -1
  634. package/fesm5/taiga-ui-kit-providers.js.map +1 -1
  635. package/fesm5/taiga-ui-kit-tokens.js +5 -1
  636. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  637. package/fesm5/taiga-ui-kit-utils-mask.js +21 -12
  638. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  639. package/fesm5/taiga-ui-kit-utils-miscellaneous.js +20 -3
  640. package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
  641. package/package.json +12 -12
  642. package/providers/taiga-ui-kit-providers.metadata.json +1 -1
  643. package/providers/value-accessor.provider.d.ts +1 -1
  644. package/tokens/date-inputs-value-transformers.d.ts +5 -0
  645. package/tokens/index.d.ts +1 -0
  646. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  647. package/types/index.d.ts +1 -0
  648. package/types/taiga-ui-kit-types.metadata.json +1 -1
  649. package/types/time-format-parts.d.ts +1 -0
  650. package/utils/mask/create-auto-corrected-time-pipe.d.ts +3 -2
  651. package/utils/mask/create-time-mask.d.ts +2 -1
  652. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
  653. package/utils/miscellaneous/get-precision.d.ts +4 -0
  654. package/utils/miscellaneous/index.d.ts +1 -0
  655. package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +3 -2
  656. package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-abstract.js","sources":["ng://@taiga-ui/kit/abstract/input-slider.ts","ng://@taiga-ui/kit/abstract/slider/slider.ts","ng://@taiga-ui/kit/abstract/taiga-ui-kit-abstract.ts"],"sourcesContent":["import {Directive, HostBinding, Input} from '@angular/core';\nimport {\n AbstractTuiControl,\n clamp,\n round,\n tuiDefaultProp,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TuiBrightness,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiModeDirective,\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeL,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\n\nexport function quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class AbstractTuiInputSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n protected abstract readonly modeDirective: TuiModeDirective | null;\n protected abstract readonly numberFormat: NumberFormatSettings;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n minLabel = '';\n\n @Input()\n @tuiDefaultProp()\n maxLabel = '';\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @tuiDefaultProp()\n segmentsPluralize: TuiPluralize | null = null;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n size: TuiSizeL = 'l';\n\n pluralizeMap: Record<string, string> | null = null;\n\n abstract get showMinLabel(): boolean;\n abstract get showMaxLabel(): boolean;\n\n mask: TuiMapper<number, TuiTextMaskOptions> = (quantum: number, min: number) => ({\n mask: tuiCreateNumberMask({\n allowNegative: min < 0,\n allowDecimal: !Number.isInteger(quantum),\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n undefined,\n min < 0,\n ),\n guide: false,\n });\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get hasPlaceholder(): boolean {\n return this.size === 'l';\n }\n\n get inputMode(): TuiInputModeT {\n return Number.isInteger(this.quantum) ? 'numeric' : 'decimal';\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedSteps(): number {\n return this.steps || this.length / this.quantum;\n }\n\n get step(): number {\n return this.length / this.computedSteps;\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective && this.modeDirective.mode;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n protected capInputValue(value: string, max: number = this.max): number | null {\n const capped = Math.min(\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n ),\n max,\n );\n\n if (this.min < 0 && capped < this.min) {\n return this.min;\n }\n\n return isNaN(capped) || capped < this.min ? null : capped;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n clamp,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n setNativeFocused,\n tuiDefaultProp,\n TuiEventWith,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeS,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {Observable, race, Subject} from 'rxjs';\nimport {map, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const SLIDER_KEYBOARD_STEP = 0.05;\nexport const DOT_WIDTH: {[key: string]: number} = {\n s: 8,\n m: 16,\n};\n\n/**\n * @awful TODO: refactor\n * @internal\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n // @bad TODO: handle pointer events instead of mouse and touch events\n private readonly pointerDown$ = new Subject<\n TuiEventWith<MouseEvent | TouchEvent, HTMLElement>\n >();\n\n @ViewChild('dotLeft')\n protected dotLeft?: ElementRef<TuiNativeFocusableElement>;\n\n @ViewChild('dotRight')\n protected dotRight?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')\n quantum = 0;\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n focusVisibleLeft = false;\n\n focusVisibleRight = false;\n\n pluralizeMap: Record<string, string> | null = null;\n\n protected constructor(\n ngControl: NgControl | null,\n changeDetectorRef: ChangeDetectorRef,\n private readonly documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS)\n readonly fromToTexts$: Observable<[string, string]>,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get discrete(): boolean {\n return this.steps > 0;\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / this.length : SLIDER_KEYBOARD_STEP;\n }\n\n get isLeftFocusable(): boolean {\n return !this.disabled && this.focusable && this.right !== 100;\n }\n\n get isRightFocusable(): boolean {\n return !this.disabled && this.focusable && this.left !== 100;\n }\n\n abstract get left(): number;\n abstract get right(): number;\n protected abstract processValue(value: number, right?: boolean): void;\n protected abstract processStep(increment: boolean, right?: boolean): void;\n\n ngOnInit() {\n super.ngOnInit();\n\n const mouseMoves$ = typedFromEvent(this.documentRef, 'mousemove');\n const mouseUps$ = typedFromEvent(this.documentRef, 'mouseup');\n const touchMoves$ = typedFromEvent(this.documentRef, 'touchmove');\n const touchEnds$ = typedFromEvent(this.documentRef, 'touchend');\n let isPointerDownRight: boolean;\n\n this.pointerDown$\n .pipe(\n map((event: MouseEvent | TouchEvent) => {\n const rect = (\n event.currentTarget as HTMLElement\n ).getBoundingClientRect();\n const clientX =\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX;\n const fraction = clamp(\n this.getFractionFromEvents(rect, clientX),\n 0,\n 1,\n );\n const deltaLeft = fraction * 100 - this.left;\n const deltaRight = fraction * 100 - 100 + this.right;\n\n isPointerDownRight =\n Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.left === 0 && this.right === 100);\n\n const calibratedFraction = clamp(\n this.getCalibratedFractionFromEvents(\n rect,\n clientX,\n isPointerDownRight,\n ),\n 0,\n 1,\n );\n const value = this.getValueFromFraction(\n this.fractionGuard(calibratedFraction),\n );\n\n this.processValue(value, isPointerDownRight);\n this.processFocus(isPointerDownRight);\n\n return rect;\n }),\n switchMap(rect =>\n race([touchMoves$, mouseMoves$]).pipe(\n map((event: any) =>\n this.getCalibratedFractionFromEvents(\n rect,\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX,\n isPointerDownRight,\n ),\n ),\n takeUntil(race([mouseUps$, touchEnds$])),\n ),\n ),\n map(fraction => this.fractionGuard(fraction)),\n )\n .subscribe(fraction => {\n this.processValue(\n this.getValueFromFraction(fraction),\n isPointerDownRight,\n );\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.pointerDown$.complete();\n }\n\n onMouseDown(event: TuiEventWith<MouseEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n onTouchStart(event: TuiEventWith<TouchEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n decrement(right: boolean) {\n this.processStep(false, right);\n }\n\n increment(right: boolean) {\n this.processStep(true, right);\n }\n\n getSegmentLabel(segment: number): number {\n return round(this.getValueFromFraction(segment / this.segments), 2);\n }\n\n getSegmentPrefix(segment: number, texts: [string, string]): string {\n if (this.segments !== 1) {\n return '';\n }\n\n if (segment === 0) {\n return `${texts[0]} `;\n }\n\n return `${texts[1]} `;\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onLeftFocusVisible(focusVisible: boolean) {\n this.focusVisibleLeft = focusVisible;\n }\n\n onRightFocusVisible(focusVisible: boolean) {\n this.focusVisibleRight = focusVisible;\n }\n\n protected getFractionFromValue(value: number): number {\n const fraction = (value - this.min) / this.length;\n\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(value, false)\n : clamp(Number.isFinite(fraction) ? fraction : 1, 0, 1);\n }\n\n protected getValueFromFraction(fraction: number): number {\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(fraction, true)\n : round(\n this.fractionGuard(fraction) * this.length + this.min,\n TUI_FLOATING_PRECISION,\n );\n }\n\n protected getCalibratedFractionFromEvents(\n rect: ClientRect,\n clientX: number,\n _: boolean,\n ): number {\n return this.getFractionFromEvents(rect, clientX);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n private processFocus(right: boolean) {\n if (!this.focusable || !this.dotRight || !this.dotLeft) {\n return;\n }\n\n if (right) {\n setNativeFocused(this.dotRight.nativeElement);\n } else {\n setNativeFocused(this.dotLeft.nativeElement);\n }\n }\n\n /**\n * Function for converting the fullness of the slider to a value and vice versa\n * taking into account the steps of linear dependence.\n *\n * @param value passed value\n * @param isFraction translation is carried out from fullness to value\n */\n private fractionValueKeyStepConverter(value: number, isFraction: boolean): number {\n const steps = [[0, this.min]].concat(this.keySteps as TuiKeySteps, [\n [100, this.max],\n ]);\n\n let prevFraction = 0;\n let nextFraction = 100;\n let prevValue = this.min;\n let nextValue = this.max;\n\n for (let i = 1; i < steps.length; i++) {\n if (\n (isFraction && steps[i][0] / 100 > value) ||\n (!isFraction && steps[i][1] > value)\n ) {\n prevFraction = steps[i - 1][0] || 0;\n nextFraction = steps[i][0];\n prevValue = steps[i - 1][1];\n nextValue = steps[i][1];\n break;\n }\n }\n\n const deltaFraction = nextFraction - prevFraction;\n const deltaValue = nextValue - prevValue;\n\n return isFraction\n ? round(\n ((value * 100 - prevFraction) / deltaFraction) * deltaValue + prevValue,\n TUI_FLOATING_PRECISION,\n )\n : clamp(\n ((value - prevValue) / deltaValue) * deltaFraction + prevFraction,\n 0,\n 100,\n ) / 100;\n }\n\n private fractionGuard(fraction: number): number {\n return this.discrete\n ? clamp(quantize(fraction, 1 / this.steps), 0, 1)\n : clamp(fraction, 0, 1);\n }\n\n private getFractionFromEvents(rect: ClientRect, clientX: number): number {\n const value = clientX - rect.left - DOT_WIDTH[this.size] / 2;\n const total = rect.width - DOT_WIDTH[this.size];\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n}\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-abstract.js","sources":["ng://@taiga-ui/kit/abstract/input-slider.ts","ng://@taiga-ui/kit/abstract/slider/slider.ts","ng://@taiga-ui/kit/abstract/taiga-ui-kit-abstract.ts"],"sourcesContent":["import {Directive, HostBinding, Input} from '@angular/core';\nimport {\n AbstractTuiControl,\n clamp,\n round,\n tuiDefaultProp,\n TuiInputModeT,\n TuiMapper,\n} from '@taiga-ui/cdk';\nimport {\n maskedNumberStringToNumber,\n NumberFormatSettings,\n TuiBrightness,\n tuiCreateAutoCorrectedNumberPipe,\n tuiCreateNumberMask,\n TuiModeDirective,\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeL,\n TuiTextMaskOptions,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {getPrecision} from '@taiga-ui/kit/utils';\n\nexport function quantumAssertion(quantum: number): boolean {\n return quantum > 0;\n}\n\n/**\n * @internal\n */\n@Directive()\nexport abstract class AbstractTuiInputSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n protected abstract readonly modeDirective: TuiModeDirective | null;\n protected abstract readonly numberFormat: NumberFormatSettings;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n minLabel = '';\n\n @Input()\n @tuiDefaultProp()\n maxLabel = '';\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @tuiDefaultProp()\n segmentsPluralize: TuiPluralize | null = null;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(quantumAssertion, 'Quantum must be positive')\n quantum = 1;\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n size: TuiSizeL = 'l';\n\n pluralizeMap: Record<string, string> | null = null;\n\n abstract get showMinLabel(): boolean;\n abstract get showMaxLabel(): boolean;\n\n mask: TuiMapper<number, TuiTextMaskOptions> = (quantum: number, min: number) => ({\n mask: tuiCreateNumberMask({\n allowNegative: min < 0,\n allowDecimal: !Number.isInteger(quantum),\n decimalSymbol: this.numberFormat.decimalSeparator,\n thousandSymbol: this.numberFormat.thousandSeparator,\n decimalLimit: getPrecision(quantum),\n }),\n pipe: tuiCreateAutoCorrectedNumberPipe(\n 0,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n undefined,\n min < 0,\n ),\n guide: false,\n });\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get hasPlaceholder(): boolean {\n return this.size === 'l';\n }\n\n get inputMode(): TuiInputModeT {\n return Number.isInteger(this.quantum) ? 'numeric' : 'decimal';\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedSteps(): number {\n return this.steps || this.length / this.quantum;\n }\n\n get step(): number {\n return this.length / this.computedSteps;\n }\n\n @HostBinding('attr.data-mode')\n get hostMode(): TuiBrightness | null {\n return this.modeDirective && this.modeDirective.mode;\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n protected capInputValue(value: string, max: number = this.max): number | null {\n const capped = Math.min(\n maskedNumberStringToNumber(\n value,\n this.numberFormat.decimalSeparator,\n this.numberFormat.thousandSeparator,\n ),\n max,\n );\n\n if (this.min < 0 && capped < this.min) {\n return this.min;\n }\n\n return isNaN(capped) || capped < this.min ? null : capped;\n }\n}\n","import {\n ChangeDetectorRef,\n Directive,\n ElementRef,\n HostBinding,\n Inject,\n Input,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiControl,\n clamp,\n nonNegativeFiniteAssertion,\n quantize,\n round,\n setNativeFocused,\n tuiDefaultProp,\n TuiEventWith,\n TuiNativeFocusableElement,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {\n TuiPluralize,\n tuiPluralizeToICU,\n TuiSizeS,\n TuiWithOptionalMinMax,\n} from '@taiga-ui/core';\nimport {TUI_FLOATING_PRECISION} from '@taiga-ui/kit/constants';\nimport {TUI_FROM_TO_TEXTS} from '@taiga-ui/kit/tokens';\nimport {TuiKeySteps} from '@taiga-ui/kit/types';\nimport {Observable, race, Subject} from 'rxjs';\nimport {map, switchMap, takeUntil} from 'rxjs/operators';\n\nexport const SLIDER_KEYBOARD_STEP = 0.05;\nexport const DOT_WIDTH: {[key: string]: number} = {\n s: 8,\n m: 16,\n};\n\n/**\n * @awful TODO: refactor\n * @internal\n * @dynamic\n */\n@Directive()\nexport abstract class AbstractTuiSlider<T>\n extends AbstractTuiControl<T>\n implements TuiWithOptionalMinMax<number>\n{\n // @bad TODO: handle pointer events instead of mouse and touch events\n private readonly pointerDown$ = new Subject<\n TuiEventWith<MouseEvent | TouchEvent, HTMLElement>\n >();\n\n @ViewChild('dotLeft')\n protected dotLeft?: ElementRef<TuiNativeFocusableElement>;\n\n @ViewChild('dotRight')\n protected dotRight?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @tuiDefaultProp()\n min = 0;\n\n @Input()\n @tuiDefaultProp()\n max = Infinity;\n\n @Input()\n @tuiDefaultProp()\n segments = 0;\n\n @Input()\n @tuiDefaultProp()\n steps = 0;\n\n @Input()\n @tuiDefaultProp(nonNegativeFiniteAssertion, 'Quantum must be a non-negative number')\n quantum = 0;\n\n // TODO: remove setter in v3.0:\n @Input()\n @tuiDefaultProp()\n set pluralize(pluralize: TuiPluralize | Record<string, string> | null) {\n this.pluralizeMap = Array.isArray(pluralize)\n ? tuiPluralizeToICU(pluralize)\n : pluralize;\n }\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n keySteps: TuiKeySteps | null = null;\n\n focusVisibleLeft = false;\n\n focusVisibleRight = false;\n\n pluralizeMap: Record<string, string> | null = null;\n\n protected constructor(\n ngControl: NgControl | null,\n changeDetectorRef: ChangeDetectorRef,\n private readonly documentRef: Document,\n @Inject(TUI_FROM_TO_TEXTS)\n readonly fromToTexts$: Observable<[string, string]>,\n ) {\n super(ngControl, changeDetectorRef);\n }\n\n @HostBinding('class._segmented')\n get segmented(): boolean {\n return this.segments > 0;\n }\n\n get discrete(): boolean {\n return this.steps > 0;\n }\n\n get length(): number {\n return this.max - this.min;\n }\n\n get computedStep(): number {\n if (this.steps) {\n return 1 / this.steps;\n }\n\n return this.quantum ? this.quantum / this.length : SLIDER_KEYBOARD_STEP;\n }\n\n get isLeftFocusable(): boolean {\n return !this.disabled && this.focusable && this.right !== 100;\n }\n\n get isRightFocusable(): boolean {\n return !this.disabled && this.focusable && this.left !== 100;\n }\n\n abstract get left(): number;\n abstract get right(): number;\n protected abstract processValue(value: number, right?: boolean): void;\n protected abstract processStep(increment: boolean, right?: boolean): void;\n\n ngOnInit() {\n super.ngOnInit();\n\n const mouseMoves$ = typedFromEvent(this.documentRef, 'mousemove');\n const mouseUps$ = typedFromEvent(this.documentRef, 'mouseup');\n const touchMoves$ = typedFromEvent(this.documentRef, 'touchmove');\n const touchEnds$ = typedFromEvent(this.documentRef, 'touchend');\n let isPointerDownRight: boolean;\n\n this.pointerDown$\n .pipe(\n map((event: MouseEvent | TouchEvent) => {\n const rect = (\n event.currentTarget as HTMLElement\n ).getBoundingClientRect();\n const clientX =\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX;\n const fraction = clamp(\n this.getFractionFromEvents(rect, clientX),\n 0,\n 1,\n );\n const deltaLeft = fraction * 100 - this.left;\n const deltaRight = fraction * 100 - 100 + this.right;\n\n isPointerDownRight =\n Math.abs(deltaLeft) > Math.abs(deltaRight) ||\n deltaRight > 0 ||\n (this.left === 0 && this.right === 100);\n\n const calibratedFraction = clamp(\n this.getCalibratedFractionFromEvents(\n rect,\n clientX,\n isPointerDownRight,\n ),\n 0,\n 1,\n );\n const value = this.getValueFromFraction(\n this.fractionGuard(calibratedFraction),\n );\n\n this.processValue(value, isPointerDownRight);\n this.processFocus(isPointerDownRight);\n\n return rect;\n }),\n switchMap(rect =>\n race([touchMoves$, mouseMoves$]).pipe(\n map((event: any) =>\n this.getCalibratedFractionFromEvents(\n rect,\n event instanceof MouseEvent\n ? event.clientX\n : event.touches[0].clientX,\n isPointerDownRight,\n ),\n ),\n takeUntil(race([mouseUps$, touchEnds$])),\n ),\n ),\n map(fraction => this.fractionGuard(fraction)),\n )\n .subscribe(fraction => {\n this.processValue(\n this.getValueFromFraction(fraction),\n isPointerDownRight,\n );\n });\n }\n\n ngOnDestroy() {\n super.ngOnDestroy();\n this.pointerDown$.complete();\n }\n\n onMouseDown(event: TuiEventWith<MouseEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n onTouchStart(event: TuiEventWith<TouchEvent, HTMLElement>) {\n if (this.disabled) {\n return;\n }\n\n event.preventDefault();\n this.pointerDown$.next(event);\n }\n\n decrement(right: boolean) {\n this.processStep(false, right);\n }\n\n increment(right: boolean) {\n this.processStep(true, right);\n }\n\n getSegmentLabel(segment: number): number {\n return round(this.getValueFromFraction(segment / this.segments), 2);\n }\n\n getSegmentPrefix(segment: number, texts: [string, string]): string {\n if (this.segments !== 1) {\n return '';\n }\n\n if (segment === 0) {\n return `${texts[0]} `;\n }\n\n return `${texts[1]} `;\n }\n\n onActiveZone(active: boolean) {\n this.updateFocused(active);\n }\n\n onLeftFocusVisible(focusVisible: boolean) {\n this.focusVisibleLeft = focusVisible;\n }\n\n onRightFocusVisible(focusVisible: boolean) {\n this.focusVisibleRight = focusVisible;\n }\n\n protected getFractionFromValue(value: number): number {\n const fraction = (value - this.min) / this.length;\n\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(value, false)\n : clamp(Number.isFinite(fraction) ? fraction : 1, 0, 1);\n }\n\n protected getValueFromFraction(fraction: number): number {\n return this.keySteps !== null\n ? this.fractionValueKeyStepConverter(fraction, true)\n : round(\n this.fractionGuard(fraction) * this.length + this.min,\n TUI_FLOATING_PRECISION,\n );\n }\n\n protected getCalibratedFractionFromEvents(\n rect: ClientRect,\n clientX: number,\n _: boolean,\n ): number {\n return this.getFractionFromEvents(rect, clientX);\n }\n\n protected valueGuard(value: number): number {\n return this.quantum\n ? clamp(\n round(\n Math.round(value / this.quantum) * this.quantum,\n TUI_FLOATING_PRECISION,\n ),\n this.min,\n this.max,\n )\n : clamp(value, this.min, this.max);\n }\n\n private processFocus(right: boolean) {\n if (!this.focusable || !this.dotRight || !this.dotLeft) {\n return;\n }\n\n if (right) {\n setNativeFocused(this.dotRight.nativeElement);\n } else {\n setNativeFocused(this.dotLeft.nativeElement);\n }\n }\n\n /**\n * Function for converting the fullness of the slider to a value and vice versa\n * taking into account the steps of linear dependence.\n *\n * @param value passed value\n * @param isFraction translation is carried out from fullness to value\n */\n private fractionValueKeyStepConverter(value: number, isFraction: boolean): number {\n const steps = [[0, this.min]].concat(this.keySteps as TuiKeySteps, [\n [100, this.max],\n ]);\n\n let prevFraction = 0;\n let nextFraction = 100;\n let prevValue = this.min;\n let nextValue = this.max;\n\n for (let i = 1; i < steps.length; i++) {\n if (\n (isFraction && steps[i][0] / 100 > value) ||\n (!isFraction && steps[i][1] > value)\n ) {\n prevFraction = steps[i - 1][0] || 0;\n nextFraction = steps[i][0];\n prevValue = steps[i - 1][1];\n nextValue = steps[i][1];\n break;\n }\n }\n\n const deltaFraction = nextFraction - prevFraction;\n const deltaValue = nextValue - prevValue;\n\n return isFraction\n ? round(\n ((value * 100 - prevFraction) / deltaFraction) * deltaValue + prevValue,\n TUI_FLOATING_PRECISION,\n )\n : clamp(\n ((value - prevValue) / deltaValue) * deltaFraction + prevFraction,\n 0,\n 100,\n ) / 100;\n }\n\n private fractionGuard(fraction: number): number {\n return this.discrete\n ? clamp(quantize(fraction, 1 / this.steps), 0, 1)\n : clamp(fraction, 0, 1);\n }\n\n private getFractionFromEvents(rect: ClientRect, clientX: number): number {\n const value = clientX - rect.left - DOT_WIDTH[this.size] / 2;\n const total = rect.width - DOT_WIDTH[this.size];\n\n return round(value / total, TUI_FLOATING_PRECISION);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { __extends, __decorate, __param, __read, __spread } from 'tslib';
2
2
  import { TemplateRef, Inject, Self, ChangeDetectorRef, Directive, EventEmitter, ViewChild, Input, HostBinding, Output, ContentChild, Component, ChangeDetectionStrategy, forwardRef, ContentChildren, NgModule } from '@angular/core';
3
- import { isNativeFocused, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiInteractive, EMPTY_QUERY, itemsQueryListObservable, isPresent, identity, TuiDestroyService, TuiFocusedModule, TuiFocusVisibleModule, TuiFocusableModule, TuiHoveredModule } from '@taiga-ui/cdk';
4
- import { Observable, merge } from 'rxjs';
3
+ import { isNativeFocused, tuiDefaultProp, TUI_FOCUSABLE_ITEM_ACCESSOR, AbstractTuiInteractive, EMPTY_QUERY, itemsQueryListObservable, isPresent, TuiDestroyService, TuiFocusedModule, TuiFocusVisibleModule, TuiFocusableModule, TuiHoveredModule } from '@taiga-ui/cdk';
4
+ import { Observable, merge, identity } from 'rxjs';
5
5
  import { pairwise, map, filter, switchMap, mapTo, takeUntil } from 'rxjs/operators';
6
6
  import { TUI_MODE, MODE_PROVIDER, TuiSvgModule, TuiGroupModule, TuiExpandModule } from '@taiga-ui/core';
7
7
  import { PolymorpheusTemplate, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-accordion.js","sources":["ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-eager-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.module.ts","ng://@taiga-ui/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, Inject, Self, TemplateRef} from '@angular/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n@Directive({\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContentDirective extends PolymorpheusTemplate<{}> {\n constructor(\n @Inject(TemplateRef)\n @Self()\n templateRef: TemplateRef<{}>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiAccordionItemContentDirective} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiAccordionItemComponent),\n },\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiAccordionItemComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @HostBinding('class._no-padding')\n @tuiDefaultProp()\n noPadding = false;\n\n @Input()\n @HostBinding('class._has-arrow')\n @tuiDefaultProp()\n showArrow = true;\n\n @Input()\n @HostBinding('attr.data-tui-host-borders')\n @tuiDefaultProp()\n borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n disableHover = false;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiAccordionItemEagerContentDirective)\n readonly eagerContent?: TuiAccordionItemEagerContentDirective;\n\n @ContentChild(TuiAccordionItemContentDirective)\n readonly lazyContent?: TuiAccordionItemContentDirective;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n onHovered(hovered: boolean) {\n if (!this.disableHover) {\n this.updateHovered(hovered);\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n onRowToggle() {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n onItemKeyDownEsc(event: KeyboardEvent) {\n if (!this.focused || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n onItemKeyDownSpace(event: KeyboardEvent) {\n if (!this.focused) {\n return;\n }\n\n event.preventDefault();\n this.onRowToggle();\n }\n\n close() {\n this.updateOpen(false);\n this.changeDetectorRef.markForCheck();\n }\n\n private updateOpen(open: boolean) {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n identity,\n isPresent,\n itemsQueryListObservable,\n tuiDefaultProp,\n TuiDestroyService,\n} from '@taiga-ui/cdk';\nimport {merge} from 'rxjs';\nimport {filter, map, mapTo, pairwise, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\n\n@Component({\n selector: 'tui-accordion',\n styleUrls: ['./accordion.style.less'],\n templateUrl: 'accordion.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiAccordionComponent implements AfterContentInit {\n @Input()\n @tuiDefaultProp()\n closeOthers = true;\n\n @Input()\n @tuiDefaultProp()\n rounded = true;\n\n @ContentChildren(TuiAccordionItemComponent)\n readonly accordionItems: QueryList<TuiAccordionItemComponent> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n ) {}\n\n ngAfterContentInit() {\n const {accordionItems} = this;\n const rows$ = itemsQueryListObservable(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find(item => previous.indexOf(item) === -1 && item.open),\n ),\n filter(isPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap(rows =>\n merge(\n ...rows.map(row =>\n row.openChange.pipe(filter(identity), mapTo(row)),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntil(this.destroy$),\n );\n\n rowsOpen$.subscribe(currentRow => {\n accordionItems.forEach(row => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n} from '@taiga-ui/cdk';\nimport {TuiExpandModule, TuiGroupModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\nimport {TuiAccordionItemContentDirective} from './accordion-item/accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item/accordion-item-eager-content.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiFocusableModule,\n TuiHoveredModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiGroupModule,\n TuiExpandModule,\n ],\n declarations: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n exports: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n})\nexport class TuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-accordion.js","sources":["ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item-eager-content.directive.ts","ng://@taiga-ui/kit/components/accordion/accordion-item/accordion-item.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.component.ts","ng://@taiga-ui/kit/components/accordion/accordion.module.ts","ng://@taiga-ui/kit/components/accordion/taiga-ui-kit-components-accordion.ts"],"sourcesContent":["import {ChangeDetectorRef, Directive, Inject, Self, TemplateRef} from '@angular/core';\nimport {PolymorpheusTemplate} from '@tinkoff/ng-polymorpheus';\n\n@Directive({\n selector: 'ng-template[tuiAccordionItemContent]',\n})\nexport class TuiAccordionItemContentDirective extends PolymorpheusTemplate<{}> {\n constructor(\n @Inject(TemplateRef)\n @Self()\n templateRef: TemplateRef<{}>,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(templateRef, changeDetectorRef);\n }\n}\n","import {Directive} from '@angular/core';\n\n@Directive({\n selector: '[tuiAccordionItemContent]:not(ng-template)',\n})\nexport class TuiAccordionItemEagerContentDirective {}\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Output,\n ViewChild,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness, TuiSizeS} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiAccordionItemContentDirective} from './accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item-eager-content.directive';\n\n@Component({\n selector: 'tui-accordion-item',\n templateUrl: './accordion-item.template.html',\n styleUrls: ['./accordion-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiAccordionItemComponent),\n },\n MODE_PROVIDER,\n ],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiAccordionItemComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<TuiNativeFocusableElement>;\n\n @Input()\n @HostBinding('class._no-padding')\n @tuiDefaultProp()\n noPadding = false;\n\n @Input()\n @HostBinding('class._has-arrow')\n @tuiDefaultProp()\n showArrow = true;\n\n @Input()\n @HostBinding('attr.data-tui-host-borders')\n @tuiDefaultProp()\n borders: 'all' | 'top-bottom' | null = 'all';\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @HostBinding('class._disabled')\n @tuiDefaultProp()\n disabled = false;\n\n @Input()\n @tuiDefaultProp()\n disableHover = false;\n\n @Input()\n @tuiDefaultProp()\n open = false;\n\n @Input()\n @tuiDefaultProp()\n async = false;\n\n @Output()\n readonly openChange = new EventEmitter<boolean>();\n\n @ContentChild(TuiAccordionItemEagerContentDirective)\n readonly eagerContent?: TuiAccordionItemEagerContentDirective;\n\n @ContentChild(TuiAccordionItemContentDirective)\n readonly lazyContent?: TuiAccordionItemContentDirective;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n return this.disabled || !this.focusableElement\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n onHovered(hovered: boolean) {\n if (!this.disableHover) {\n this.updateHovered(hovered);\n }\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n\n onRowToggle() {\n if (!this.disabled) {\n this.updateOpen(!this.open);\n }\n }\n\n onItemKeyDownEsc(event: KeyboardEvent) {\n if (!this.focused || !this.open) {\n return;\n }\n\n event.stopPropagation();\n this.updateOpen(false);\n }\n\n onItemKeyDownSpace(event: KeyboardEvent) {\n if (!this.focused) {\n return;\n }\n\n event.preventDefault();\n this.onRowToggle();\n }\n\n close() {\n this.updateOpen(false);\n this.changeDetectorRef.markForCheck();\n }\n\n private updateOpen(open: boolean) {\n if (this.open === open) {\n return;\n }\n\n this.open = open;\n this.openChange.emit(open);\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n isPresent,\n itemsQueryListObservable,\n tuiDefaultProp,\n TuiDestroyService,\n} from '@taiga-ui/cdk';\nimport {identity, merge} from 'rxjs';\nimport {filter, map, mapTo, pairwise, switchMap, takeUntil} from 'rxjs/operators';\n\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\n\n@Component({\n selector: 'tui-accordion',\n styleUrls: ['./accordion.style.less'],\n templateUrl: 'accordion.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService],\n})\nexport class TuiAccordionComponent implements AfterContentInit {\n @Input()\n @tuiDefaultProp()\n closeOthers = true;\n\n @Input()\n @tuiDefaultProp()\n rounded = true;\n\n @ContentChildren(TuiAccordionItemComponent)\n readonly accordionItems: QueryList<TuiAccordionItemComponent> = EMPTY_QUERY;\n\n constructor(\n @Inject(TuiDestroyService)\n private readonly destroy$: TuiDestroyService,\n ) {}\n\n ngAfterContentInit() {\n const {accordionItems} = this;\n const rows$ = itemsQueryListObservable(accordionItems);\n const newOpenRow$ = rows$.pipe(\n pairwise(),\n map(([previous, current]) =>\n current.find(item => previous.indexOf(item) === -1 && item.open),\n ),\n filter(isPresent),\n );\n const rowsOpen$ = merge(\n rows$.pipe(\n switchMap(rows =>\n merge(\n ...rows.map(row =>\n row.openChange.pipe(filter(identity), mapTo(row)),\n ),\n ),\n ),\n ),\n newOpenRow$,\n ).pipe(\n filter(() => this.closeOthers),\n takeUntil(this.destroy$),\n );\n\n rowsOpen$.subscribe(currentRow => {\n accordionItems.forEach(row => {\n if (currentRow !== row) {\n row.close();\n }\n });\n });\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n} from '@taiga-ui/cdk';\nimport {TuiExpandModule, TuiGroupModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiAccordionComponent} from './accordion.component';\nimport {TuiAccordionItemComponent} from './accordion-item/accordion-item.component';\nimport {TuiAccordionItemContentDirective} from './accordion-item/accordion-item-content.directive';\nimport {TuiAccordionItemEagerContentDirective} from './accordion-item/accordion-item-eager-content.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiFocusableModule,\n TuiHoveredModule,\n PolymorpheusModule,\n TuiSvgModule,\n TuiGroupModule,\n TuiExpandModule,\n ],\n declarations: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n exports: [\n TuiAccordionComponent,\n TuiAccordionItemComponent,\n TuiAccordionItemContentDirective,\n TuiAccordionItemEagerContentDirective,\n ],\n})\nexport class TuiAccordionModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,36 +1,54 @@
1
1
  import { __decorate, __param } from 'tslib';
2
- import { Inject, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
2
+ import { InjectionToken, Inject, Component, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { sizeBigger, TuiHostedDropdownComponent, TuiTextfieldSizeDirective, TUI_TEXTFIELD_SIZE, TuiSvgModule } from '@taiga-ui/core';
4
- import { PolymorpheusComponent } from '@tinkoff/ng-polymorpheus';
4
+ import { PolymorpheusComponent, PolymorpheusModule } from '@tinkoff/ng-polymorpheus';
5
5
  import { CommonModule } from '@angular/common';
6
6
 
7
+ // TODO: remove in ivy compilation
8
+ var TUI_ARROW_ICON_SMALL = 'tuiIconChevronDown';
9
+ var TUI_ARROW_ICON_LARGE = 'tuiIconChevronDownLarge';
10
+ /** Default values for arrow options */
11
+ var TUI_ARROW_DEFAULT_OPTIONS = {
12
+ iconSmall: TUI_ARROW_ICON_SMALL,
13
+ iconLarge: TUI_ARROW_ICON_LARGE,
14
+ };
15
+ var TUI_ARROW_OPTIONS = new InjectionToken('Default parameters for arrow component', {
16
+ factory: function () { return TUI_ARROW_DEFAULT_OPTIONS; },
17
+ });
18
+ var TUI_ARROW_MODE = new InjectionToken('Type of icon in dropdowns for interactive or disable mode', {
19
+ factory: function () { return ({ interactive: TUI_ARROW, disabled: TUI_ARROW }); },
20
+ });
21
+
7
22
  var TuiArrowComponent = /** @class */ (function () {
8
- function TuiArrowComponent(dropdown, textfieldSize) {
23
+ function TuiArrowComponent(dropdown, textfieldSize, options) {
9
24
  this.dropdown = dropdown;
10
25
  this.textfieldSize = textfieldSize;
26
+ this.options = options;
11
27
  }
12
28
  Object.defineProperty(TuiArrowComponent.prototype, "arrowIcon", {
13
29
  get: function () {
14
30
  return sizeBigger(this.textfieldSize.size)
15
- ? 'tuiIconChevronDownLarge'
16
- : 'tuiIconChevronDown';
31
+ ? this.options.iconLarge
32
+ : this.options.iconSmall;
17
33
  },
18
34
  enumerable: true,
19
35
  configurable: true
20
36
  });
21
37
  TuiArrowComponent.ctorParameters = function () { return [
22
38
  { type: TuiHostedDropdownComponent, decorators: [{ type: Inject, args: [TuiHostedDropdownComponent,] }] },
23
- { type: TuiTextfieldSizeDirective, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_SIZE,] }] }
39
+ { type: TuiTextfieldSizeDirective, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_SIZE,] }] },
40
+ { type: undefined, decorators: [{ type: Inject, args: [TUI_ARROW_OPTIONS,] }] }
24
41
  ]; };
25
42
  TuiArrowComponent = __decorate([
26
43
  Component({
27
44
  selector: 'tui-arrow',
28
- template: "<tui-svg\n class=\"icon\"\n [class.icon_rotated]=\"dropdown.openChange | async\"\n [src]=\"arrowIcon\"\n></tui-svg>\n",
45
+ template: "<span\n polymorpheus-outlet\n class=\"t-icon\"\n [class.t-icon_rotated]=\"dropdown.openChange | async\"\n [content]=\"arrowIcon\"\n>\n <ng-template let-icon>\n <tui-svg [src]=\"icon\"></tui-svg>\n </ng-template>\n</span>\n",
29
46
  changeDetection: ChangeDetectionStrategy.OnPush,
30
- styles: [".icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;cursor:pointer}.icon_rotated{transform:rotate(180deg)}"]
47
+ styles: [".t-icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:block;cursor:pointer;pointer-events:none}.t-icon_rotated{transform:rotate(180deg)}"]
31
48
  }),
32
49
  __param(0, Inject(TuiHostedDropdownComponent)),
33
- __param(1, Inject(TUI_TEXTFIELD_SIZE))
50
+ __param(1, Inject(TUI_TEXTFIELD_SIZE)),
51
+ __param(2, Inject(TUI_ARROW_OPTIONS))
34
52
  ], TuiArrowComponent);
35
53
  return TuiArrowComponent;
36
54
  }());
@@ -41,7 +59,7 @@ var TuiArrowModule = /** @class */ (function () {
41
59
  }
42
60
  TuiArrowModule = __decorate([
43
61
  NgModule({
44
- imports: [CommonModule, TuiSvgModule],
62
+ imports: [CommonModule, TuiSvgModule, PolymorpheusModule],
45
63
  declarations: [TuiArrowComponent],
46
64
  exports: [TuiArrowComponent],
47
65
  entryComponents: [TuiArrowComponent],
@@ -54,5 +72,5 @@ var TuiArrowModule = /** @class */ (function () {
54
72
  * Generated bundle index. Do not edit.
55
73
  */
56
74
 
57
- export { TUI_ARROW, TuiArrowComponent, TuiArrowModule };
75
+ export { TUI_ARROW, TUI_ARROW_DEFAULT_OPTIONS, TUI_ARROW_ICON_LARGE, TUI_ARROW_ICON_SMALL, TUI_ARROW_MODE, TUI_ARROW_OPTIONS, TuiArrowComponent, TuiArrowModule };
58
76
  //# sourceMappingURL=taiga-ui-kit-components-arrow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-arrow.js","sources":["ng://@taiga-ui/kit/components/arrow/arrow.component.ts","ng://@taiga-ui/kit/components/arrow/arrow.module.ts","ng://@taiga-ui/kit/components/arrow/taiga-ui-kit-components-arrow.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {\n sizeBigger,\n TUI_TEXTFIELD_SIZE,\n TuiHostedDropdownComponent,\n TuiTextfieldSizeDirective,\n} from '@taiga-ui/core';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\n@Component({\n selector: 'tui-arrow',\n templateUrl: './arrow.template.html',\n styleUrls: ['./arrow.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiArrowComponent {\n constructor(\n @Inject(TuiHostedDropdownComponent)\n readonly dropdown: TuiHostedDropdownComponent,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n ) {}\n\n get arrowIcon(): string {\n return sizeBigger(this.textfieldSize.size)\n ? 'tuiIconChevronDownLarge'\n : 'tuiIconChevronDown';\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiArrowComponent} from './arrow.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiArrowComponent],\n exports: [TuiArrowComponent],\n entryComponents: [TuiArrowComponent],\n})\nexport class TuiArrowModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;IAgBI,2BAEa,QAAoC,EAE5B,aAAwC;QAFhD,aAAQ,GAAR,QAAQ,CAA4B;QAE5B,kBAAa,GAAb,aAAa,CAA2B;KACzD;IAEJ,sBAAI,wCAAS;aAAb;YACI,OAAO,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;kBACpC,yBAAyB;kBACzB,oBAAoB,CAAC;SAC9B;;;OAAA;;gBATsB,0BAA0B,uBAD5C,MAAM,SAAC,0BAA0B;gBAGF,yBAAyB,uBADxD,MAAM,SAAC,kBAAkB;;IAJrB,iBAAiB;QAN7B,SAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,0IAAoC;YAEpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAGO,WAAA,MAAM,CAAC,0BAA0B,CAAC,CAAA;QAElC,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;OAJtB,iBAAiB,CAa7B;IAAD,wBAAC;CAbD,IAaC;IAEY,SAAS,GAAG,IAAI,qBAAqB,CAAC,iBAAiB;;;IClBpE;KAA8B;IAAjB,cAAc;QAN1B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;YACrC,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;YAC5B,eAAe,EAAE,CAAC,iBAAiB,CAAC;SACvC,CAAC;OACW,cAAc,CAAG;IAAD,qBAAC;CAA9B;;ACZA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-arrow.js","sources":["ng://@taiga-ui/kit/components/arrow/arrow-options.ts","ng://@taiga-ui/kit/components/arrow/arrow.component.ts","ng://@taiga-ui/kit/components/arrow/arrow.module.ts","ng://@taiga-ui/kit/components/arrow/taiga-ui-kit-components-arrow.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_ARROW} from './arrow.component';\n\nexport interface TuiArrowOptions {\n readonly iconSmall: PolymorpheusContent;\n readonly iconLarge: PolymorpheusContent;\n}\n\nexport interface TuiArrowMode {\n interactive: PolymorpheusContent;\n disabled: PolymorpheusContent;\n}\n\n// TODO: remove in ivy compilation\nexport const TUI_ARROW_ICON_SMALL = 'tuiIconChevronDown';\nexport const TUI_ARROW_ICON_LARGE = 'tuiIconChevronDownLarge';\n\n/** Default values for arrow options */\nexport const TUI_ARROW_DEFAULT_OPTIONS: TuiArrowOptions = {\n iconSmall: TUI_ARROW_ICON_SMALL,\n iconLarge: TUI_ARROW_ICON_LARGE,\n};\n\nexport const TUI_ARROW_OPTIONS = new InjectionToken<TuiArrowOptions>(\n 'Default parameters for arrow component',\n {\n factory: () => TUI_ARROW_DEFAULT_OPTIONS,\n },\n);\n\nexport const TUI_ARROW_MODE: InjectionToken<TuiArrowMode> = new InjectionToken(\n 'Type of icon in dropdowns for interactive or disable mode',\n {\n factory: () => ({interactive: TUI_ARROW, disabled: TUI_ARROW}),\n },\n);\n","import {ChangeDetectionStrategy, Component, Inject} from '@angular/core';\nimport {\n sizeBigger,\n TUI_TEXTFIELD_SIZE,\n TuiHostedDropdownComponent,\n TuiTextfieldSizeDirective,\n} from '@taiga-ui/core';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_ARROW_OPTIONS, TuiArrowOptions} from './arrow-options';\n\n@Component({\n selector: 'tui-arrow',\n templateUrl: './arrow.template.html',\n styleUrls: ['./arrow.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiArrowComponent {\n constructor(\n @Inject(TuiHostedDropdownComponent)\n readonly dropdown: TuiHostedDropdownComponent,\n @Inject(TUI_TEXTFIELD_SIZE)\n private readonly textfieldSize: TuiTextfieldSizeDirective,\n @Inject(TUI_ARROW_OPTIONS) private readonly options: TuiArrowOptions,\n ) {}\n\n get arrowIcon(): PolymorpheusContent {\n return sizeBigger(this.textfieldSize.size)\n ? this.options.iconLarge\n : this.options.iconSmall;\n }\n}\n\nexport const TUI_ARROW = new PolymorpheusComponent(TuiArrowComponent);\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiArrowComponent} from './arrow.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule, PolymorpheusModule],\n declarations: [TuiArrowComponent],\n exports: [TuiArrowComponent],\n entryComponents: [TuiArrowComponent],\n})\nexport class TuiArrowModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAeA;IACa,oBAAoB,GAAG,qBAAqB;IAC5C,oBAAoB,GAAG,0BAA0B;AAE9D;IACa,yBAAyB,GAAoB;IACtD,SAAS,EAAE,oBAAoB;IAC/B,SAAS,EAAE,oBAAoB;EACjC;IAEW,iBAAiB,GAAG,IAAI,cAAc,CAC/C,wCAAwC,EACxC;IACI,OAAO,EAAE,cAAM,OAAA,yBAAyB,GAAA;CAC3C,EACH;IAEW,cAAc,GAAiC,IAAI,cAAc,CAC1E,2DAA2D,EAC3D;IACI,OAAO,EAAE,cAAM,QAAC,EAAC,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAC,IAAC;CACjE;;;IClBD,2BAEa,QAAoC,EAE5B,aAAwC,EACb,OAAwB;QAH3D,aAAQ,GAAR,QAAQ,CAA4B;QAE5B,kBAAa,GAAb,aAAa,CAA2B;QACb,YAAO,GAAP,OAAO,CAAiB;KACpE;IAEJ,sBAAI,wCAAS;aAAb;YACI,OAAO,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;kBACpC,IAAI,CAAC,OAAO,CAAC,SAAS;kBACtB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC;SAChC;;;OAAA;;gBAVsB,0BAA0B,uBAD5C,MAAM,SAAC,0BAA0B;gBAGF,yBAAyB,uBADxD,MAAM,SAAC,kBAAkB;gDAEzB,MAAM,SAAC,iBAAiB;;IANpB,iBAAiB;QAN7B,SAAS,CAAC;YACP,QAAQ,EAAE,WAAW;YACrB,mQAAoC;YAEpC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;QAGO,WAAA,MAAM,CAAC,0BAA0B,CAAC,CAAA;QAElC,WAAA,MAAM,CAAC,kBAAkB,CAAC,CAAA;QAE1B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OANrB,iBAAiB,CAc7B;IAAD,wBAAC;CAdD,IAcC;IAEY,SAAS,GAAG,IAAI,qBAAqB,CAAC,iBAAiB;;;ICpBpE;KAA8B;IAAjB,cAAc;QAN1B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,EAAE,kBAAkB,CAAC;YACzD,YAAY,EAAE,CAAC,iBAAiB,CAAC;YACjC,OAAO,EAAE,CAAC,iBAAiB,CAAC;YAC5B,eAAe,EAAE,CAAC,iBAAiB,CAAC;SACvC,CAAC;OACW,cAAc,CAAG;IAAD,qBAAC;CAA9B;;ACbA;;;;;;"}
@@ -86,7 +86,7 @@ var TuiAvatarComponent = /** @class */ (function () {
86
86
  selector: 'tui-avatar',
87
87
  changeDetection: ChangeDetectionStrategy.OnPush,
88
88
  template: "<img\n *ngIf=\"isUrlValid\"\n loading=\"lazy\"\n class=\"image\"\n [attr.alt]=\"text\"\n [src]=\"avatarUrl\"\n (error)=\"onError()\"\n/>\n<span class=\"text\">{{ computedText }}</span>\n",
89
- styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background-color:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-tui-host-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-tui-host-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-tui-host-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-tui-host-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-tui-host-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-tui-host-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.text{color:var(--tui-text-01)}"]
89
+ styles: [":host{position:relative;display:flex;flex-shrink:0;border-radius:var(--tui-radius-m);color:var(--tui-secondary-active);text-align:center;text-transform:uppercase;justify-content:center;align-items:center;background-color:currentColor;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:hidden}:host[data-tui-host-size=xs]{font:var(--tui-font-text-s);width:1.5rem;height:1.5rem}:host[data-tui-host-size='s']{font:var(--tui-font-text-m);width:2rem;height:2rem}:host[data-tui-host-size='m']{font:var(--tui-font-text-l);width:3rem;height:3rem}:host[data-tui-host-size='l']{font:var(--tui-font-heading-5);width:4rem;height:4rem;border-radius:var(--tui-radius-l)}:host[data-tui-host-size=xl]{font:var(--tui-font-heading-3);width:6rem;height:6rem;border-radius:var(--tui-radius-l)}:host[data-tui-host-size=xxl]{font:var(--tui-font-heading-1);width:9rem;height:9rem;border-radius:var(--tui-radius-l)}:host._has-avatar{background-color:transparent}:host._rounded{border-radius:100%}.image{width:100%;height:100%;object-fit:cover}.text{color:var(--tui-text-01)}"]
90
90
  })
91
91
  ], TuiAvatarComponent);
92
92
  return TuiAvatarComponent;
@@ -79,7 +79,10 @@ var TuiCalendarMonthComponent = /** @class */ (function () {
79
79
  return "start" /* Start */;
80
80
  }
81
81
  var theLastOfRange = value.to.monthSame(item) && !value.isSingleMonth;
82
- var hoveredItemBeforeTo = value.to.monthSame(item) && !value.isSingleMonth;
82
+ var hoveredItemBeforeTo = hoveredItem !== null &&
83
+ value.to.monthSame(item) &&
84
+ hoveredItem.monthBefore(value.to) &&
85
+ value.isSingleMonth;
83
86
  var hoveredItemIsCandidatToBeTo = hoveredItem !== null &&
84
87
  hoveredItem.monthSame(item) &&
85
88
  hoveredItem.monthAfter(value.from) &&
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-calendar-month.js","sources":["ng://@taiga-ui/kit/components/calendar-month/calendar-month.component.ts","ng://@taiga-ui/kit/components/calendar-month/calendar-month.module.ts","ng://@taiga-ui/kit/components/calendar-month/taiga-ui-kit-components-calendar-month.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n nullableSame,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n tuiDefaultProp,\n TuiMonth,\n TuiMonthRange,\n tuiPure,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiInteractiveState, TuiRangeState, TuiWithOptionalMinMax} from '@taiga-ui/core';\nimport {TuiMonthContext} from '@taiga-ui/kit/interfaces';\nimport {TUI_CALENDAR_MONTHS} from '@taiga-ui/kit/tokens';\nimport {TuiBooleanHandlerWithContext} from '@taiga-ui/kit/types';\nimport {Observable} from 'rxjs';\n\nconst TODAY = TuiDay.currentLocal();\n\n// @dynamic\n@Component({\n selector: 'tui-calendar-month',\n templateUrl: './calendar-month.template.html',\n styleUrls: ['./calendar-month.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarMonthComponent implements TuiWithOptionalMinMax<TuiMonth> {\n @Input()\n @tuiDefaultProp()\n value: TuiMonthRange | TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n year: TuiYear = TODAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext> =\n ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n min: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiMonth = TUI_LAST_DAY;\n\n @Output()\n readonly monthClick = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiMonth | null>();\n\n @Output()\n readonly yearChange = new EventEmitter<TuiYear>();\n\n isYearPickerShown = false;\n\n hoveredItem: TuiMonth | null = null;\n pressedItem: TuiMonth | null = null;\n\n constructor(\n @Inject(TUI_CALENDAR_MONTHS) readonly months$: Observable<readonly string[]>,\n ) {}\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n return (\n this.value !== null &&\n (this.value instanceof TuiMonth || this.value.isSingleMonth)\n );\n }\n\n get previousYearDisabled(): boolean {\n return this.year.yearSameOrBefore(this.min);\n }\n\n get nextYearDisabled(): boolean {\n return this.year.yearSameOrAfter(this.max);\n }\n\n getItemState(item: TuiMonth): TuiInteractiveState | null {\n const {disabledItemHandlerWithMinMax, pressedItem, hoveredItem} = this;\n\n if (disabledItemHandlerWithMinMax(item)) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem !== null && pressedItem.monthSame(item)) {\n return TuiInteractiveState.Pressed;\n }\n\n if (hoveredItem !== null && hoveredItem.monthSame(item)) {\n return TuiInteractiveState.Hovered;\n }\n\n return null;\n }\n\n getItemRange(item: TuiMonth): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiMonth) {\n return value.monthSame(item) ? TuiRangeState.Single : null;\n }\n\n const theFirstOfRange = value.from.monthSame(item) && !value.isSingleMonth;\n const hoveredItemAfterFrom =\n hoveredItem !== null &&\n hoveredItem.monthAfter(value.from) &&\n value.from.monthSame(item) &&\n value.isSingleMonth;\n const hoveredItemIsCandidatToBeFrom =\n hoveredItem !== null &&\n hoveredItem.monthSame(item) &&\n hoveredItem.monthBefore(value.from) &&\n value.isSingleMonth;\n\n if (theFirstOfRange || hoveredItemAfterFrom || hoveredItemIsCandidatToBeFrom) {\n return TuiRangeState.Start;\n }\n\n const theLastOfRange = value.to.monthSame(item) && !value.isSingleMonth;\n const hoveredItemBeforeTo = value.to.monthSame(item) && !value.isSingleMonth;\n const hoveredItemIsCandidatToBeTo =\n hoveredItem !== null &&\n hoveredItem.monthSame(item) &&\n hoveredItem.monthAfter(value.from) &&\n value.isSingleMonth;\n\n if (theLastOfRange || hoveredItemBeforeTo || hoveredItemIsCandidatToBeTo) {\n return TuiRangeState.End;\n }\n\n return value.isSingleMonth && value.from.monthSame(item)\n ? TuiRangeState.Single\n : null;\n }\n\n getTuiMonth(monthNumber: number, yearNumber: number): TuiMonth {\n return new TuiMonth(yearNumber, monthNumber);\n }\n\n isItemToday(item: TuiMonth): boolean {\n return TODAY.monthSame(item);\n }\n\n isItemInsideRange(month: TuiMonth): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || value instanceof TuiMonth) {\n return false;\n }\n\n if (!value.isSingleMonth) {\n return value.from.monthSameOrBefore(month) && value.to.monthAfter(month);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiMonthRange.sort(value.from, hoveredItem);\n\n return range.from.monthSameOrBefore(month) && range.to.monthAfter(month);\n }\n\n onPickerYearClick(year: TuiYear) {\n this.isYearPickerShown = false;\n\n if (this.year.yearSame(year)) {\n return;\n }\n\n this.year = year;\n this.yearChange.emit(year);\n }\n\n onItemClick(month: TuiMonth) {\n if (this.disabledItemHandlerWithMinMax(month)) {\n return;\n }\n\n this.monthClick.emit(month);\n }\n\n onYearClick() {\n this.isYearPickerShown = true;\n }\n\n onNextYear() {\n this.year = this.year.append({year: 1});\n }\n\n onPreviousYear() {\n this.year = this.year.append({year: -1});\n }\n\n onItemHovered(hovered: boolean, item: TuiMonth) {\n this.updateHoveredItem(hovered ? item : null);\n }\n\n onItemPressed(pressed: boolean, item: TuiMonth) {\n this.updatePressedItem(pressed ? item : null);\n }\n\n @tuiPure\n private calculateDisabledItemHandlerWithMinMax(\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext>,\n value: TuiMonth | TuiMonthRange | null,\n min: TuiMonth,\n max: TuiMonth,\n ): TuiBooleanHandler<TuiMonth> {\n return item =>\n item.monthBefore(min) ||\n item.monthAfter(max) ||\n disabledItemHandler(item, {value});\n }\n\n private get disabledItemHandlerWithMinMax(): TuiBooleanHandler<TuiMonth> {\n return this.calculateDisabledItemHandlerWithMinMax(\n this.disabledItemHandler,\n this.value,\n this.min,\n this.max,\n );\n }\n\n private updateHoveredItem(month: TuiMonth | null) {\n if (nullableSame(this.hoveredItem, month, (a, b) => a.monthSame(b))) {\n return;\n }\n\n this.hoveredItem = month;\n this.hoveredItemChange.emit(month);\n }\n\n private updatePressedItem(item: TuiMonth | null) {\n this.pressedItem = item;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiLinkModule,\n TuiPrimitiveSpinButtonModule,\n TuiPrimitiveYearPickerModule,\n TuiScrollbarModule,\n} from '@taiga-ui/core';\n\nimport {TuiCalendarMonthComponent} from './calendar-month.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveYearPickerModule,\n TuiPrimitiveSpinButtonModule,\n TuiScrollbarModule,\n TuiLinkModule,\n TuiLetModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusableModule,\n ],\n declarations: [TuiCalendarMonthComponent],\n exports: [TuiCalendarMonthComponent],\n})\nexport class TuiCalendarMonthModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-calendar-month.js","sources":["ng://@taiga-ui/kit/components/calendar-month/calendar-month.component.ts","ng://@taiga-ui/kit/components/calendar-month/calendar-month.module.ts","ng://@taiga-ui/kit/components/calendar-month/taiga-ui-kit-components-calendar-month.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n nullableSame,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDay,\n tuiDefaultProp,\n TuiMonth,\n TuiMonthRange,\n tuiPure,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiInteractiveState, TuiRangeState, TuiWithOptionalMinMax} from '@taiga-ui/core';\nimport {TuiMonthContext} from '@taiga-ui/kit/interfaces';\nimport {TUI_CALENDAR_MONTHS} from '@taiga-ui/kit/tokens';\nimport {TuiBooleanHandlerWithContext} from '@taiga-ui/kit/types';\nimport {Observable} from 'rxjs';\n\nconst TODAY = TuiDay.currentLocal();\n\n// @dynamic\n@Component({\n selector: 'tui-calendar-month',\n templateUrl: './calendar-month.template.html',\n styleUrls: ['./calendar-month.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiCalendarMonthComponent implements TuiWithOptionalMinMax<TuiMonth> {\n @Input()\n @tuiDefaultProp()\n value: TuiMonthRange | TuiMonth | null = null;\n\n @Input()\n @tuiDefaultProp()\n year: TuiYear = TODAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext> =\n ALWAYS_FALSE_HANDLER;\n\n @Input()\n @tuiDefaultProp()\n min: TuiMonth = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiMonth = TUI_LAST_DAY;\n\n @Output()\n readonly monthClick = new EventEmitter<TuiMonth>();\n\n @Output()\n readonly hoveredItemChange = new EventEmitter<TuiMonth | null>();\n\n @Output()\n readonly yearChange = new EventEmitter<TuiYear>();\n\n isYearPickerShown = false;\n\n hoveredItem: TuiMonth | null = null;\n pressedItem: TuiMonth | null = null;\n\n constructor(\n @Inject(TUI_CALENDAR_MONTHS) readonly months$: Observable<readonly string[]>,\n ) {}\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n return (\n this.value !== null &&\n (this.value instanceof TuiMonth || this.value.isSingleMonth)\n );\n }\n\n get previousYearDisabled(): boolean {\n return this.year.yearSameOrBefore(this.min);\n }\n\n get nextYearDisabled(): boolean {\n return this.year.yearSameOrAfter(this.max);\n }\n\n getItemState(item: TuiMonth): TuiInteractiveState | null {\n const {disabledItemHandlerWithMinMax, pressedItem, hoveredItem} = this;\n\n if (disabledItemHandlerWithMinMax(item)) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem !== null && pressedItem.monthSame(item)) {\n return TuiInteractiveState.Pressed;\n }\n\n if (hoveredItem !== null && hoveredItem.monthSame(item)) {\n return TuiInteractiveState.Hovered;\n }\n\n return null;\n }\n\n getItemRange(item: TuiMonth): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiMonth) {\n return value.monthSame(item) ? TuiRangeState.Single : null;\n }\n\n const theFirstOfRange = value.from.monthSame(item) && !value.isSingleMonth;\n const hoveredItemAfterFrom =\n hoveredItem !== null &&\n hoveredItem.monthAfter(value.from) &&\n value.from.monthSame(item) &&\n value.isSingleMonth;\n const hoveredItemIsCandidatToBeFrom =\n hoveredItem !== null &&\n hoveredItem.monthSame(item) &&\n hoveredItem.monthBefore(value.from) &&\n value.isSingleMonth;\n\n if (theFirstOfRange || hoveredItemAfterFrom || hoveredItemIsCandidatToBeFrom) {\n return TuiRangeState.Start;\n }\n\n const theLastOfRange = value.to.monthSame(item) && !value.isSingleMonth;\n const hoveredItemBeforeTo =\n hoveredItem !== null &&\n value.to.monthSame(item) &&\n hoveredItem.monthBefore(value.to) &&\n value.isSingleMonth;\n const hoveredItemIsCandidatToBeTo =\n hoveredItem !== null &&\n hoveredItem.monthSame(item) &&\n hoveredItem.monthAfter(value.from) &&\n value.isSingleMonth;\n\n if (theLastOfRange || hoveredItemBeforeTo || hoveredItemIsCandidatToBeTo) {\n return TuiRangeState.End;\n }\n\n return value.isSingleMonth && value.from.monthSame(item)\n ? TuiRangeState.Single\n : null;\n }\n\n getTuiMonth(monthNumber: number, yearNumber: number): TuiMonth {\n return new TuiMonth(yearNumber, monthNumber);\n }\n\n isItemToday(item: TuiMonth): boolean {\n return TODAY.monthSame(item);\n }\n\n isItemInsideRange(month: TuiMonth): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || value instanceof TuiMonth) {\n return false;\n }\n\n if (!value.isSingleMonth) {\n return value.from.monthSameOrBefore(month) && value.to.monthAfter(month);\n }\n\n if (hoveredItem === null) {\n return false;\n }\n\n const range = TuiMonthRange.sort(value.from, hoveredItem);\n\n return range.from.monthSameOrBefore(month) && range.to.monthAfter(month);\n }\n\n onPickerYearClick(year: TuiYear) {\n this.isYearPickerShown = false;\n\n if (this.year.yearSame(year)) {\n return;\n }\n\n this.year = year;\n this.yearChange.emit(year);\n }\n\n onItemClick(month: TuiMonth) {\n if (this.disabledItemHandlerWithMinMax(month)) {\n return;\n }\n\n this.monthClick.emit(month);\n }\n\n onYearClick() {\n this.isYearPickerShown = true;\n }\n\n onNextYear() {\n this.year = this.year.append({year: 1});\n }\n\n onPreviousYear() {\n this.year = this.year.append({year: -1});\n }\n\n onItemHovered(hovered: boolean, item: TuiMonth) {\n this.updateHoveredItem(hovered ? item : null);\n }\n\n onItemPressed(pressed: boolean, item: TuiMonth) {\n this.updatePressedItem(pressed ? item : null);\n }\n\n @tuiPure\n private calculateDisabledItemHandlerWithMinMax(\n disabledItemHandler: TuiBooleanHandlerWithContext<TuiMonth, TuiMonthContext>,\n value: TuiMonth | TuiMonthRange | null,\n min: TuiMonth,\n max: TuiMonth,\n ): TuiBooleanHandler<TuiMonth> {\n return item =>\n item.monthBefore(min) ||\n item.monthAfter(max) ||\n disabledItemHandler(item, {value});\n }\n\n private get disabledItemHandlerWithMinMax(): TuiBooleanHandler<TuiMonth> {\n return this.calculateDisabledItemHandlerWithMinMax(\n this.disabledItemHandler,\n this.value,\n this.min,\n this.max,\n );\n }\n\n private updateHoveredItem(month: TuiMonth | null) {\n if (nullableSame(this.hoveredItem, month, (a, b) => a.monthSame(b))) {\n return;\n }\n\n this.hoveredItem = month;\n this.hoveredItemChange.emit(month);\n }\n\n private updatePressedItem(item: TuiMonth | null) {\n this.pressedItem = item;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiFocusableModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiLinkModule,\n TuiPrimitiveSpinButtonModule,\n TuiPrimitiveYearPickerModule,\n TuiScrollbarModule,\n} from '@taiga-ui/core';\n\nimport {TuiCalendarMonthComponent} from './calendar-month.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiPrimitiveYearPickerModule,\n TuiPrimitiveSpinButtonModule,\n TuiScrollbarModule,\n TuiLinkModule,\n TuiLetModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusableModule,\n ],\n declarations: [TuiCalendarMonthComponent],\n exports: [TuiCalendarMonthComponent],\n})\nexport class TuiCalendarMonthModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -152,7 +152,7 @@ var TuiCarouselComponent = /** @class */ (function () {
152
152
  useExisting: ElementRef,
153
153
  },
154
154
  ],
155
- styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex;align-items:center}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-item{padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}.t-scroller:after,.t-scroller:before{content:'';display:block;min-width:1rem}"]
155
+ styles: [":host{position:relative;display:block;overflow:hidden}:host._draggable{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host._draggable:hover{cursor:-webkit-grab;cursor:grab}:host._draggable:active{cursor:-webkit-grabbing;cursor:grabbing}.t-items{display:flex;align-items:center}:host._transitioned .t-items{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-item{padding:0 1.25rem;flex:1;min-width:100%;max-width:100%;box-sizing:border-box;border:none;margin:0}.t-wrapper{position:-webkit-sticky;position:sticky;left:0;right:0;min-width:100%;overflow:hidden}.t-scroller{scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow:auto;overscroll-behavior-x:none;padding-bottom:2rem;margin-bottom:-2rem}.t-scroller::-webkit-scrollbar,.t-scroller::-webkit-scrollbar-thumb{background:0 0;width:0;height:0}.t-scroller:after,.t-scroller:before{content:'';display:block;min-width:1rem}"]
156
156
  }),
157
157
  __param(0, Inject(ChangeDetectorRef)),
158
158
  __param(1, Inject(ElementRef)),
@@ -249,9 +249,10 @@ var TuiCarouselScrollDirective = /** @class */ (function () {
249
249
  }), throttleTime(500), map(function (_a) {
250
250
  var deltaX = _a.deltaX;
251
251
  return Math.sign(deltaX);
252
- }),
253
- // So we always have space to scroll and overflow-behavior saves us from back nav
254
- tap(function () { return (_this.elementRef.nativeElement.scrollLeft = 10); }));
252
+ }), tap(function () {
253
+ // So we always have space to scroll and overflow-behavior saves us from back nav
254
+ _this.elementRef.nativeElement.scrollLeft = 10;
255
+ }));
255
256
  }
256
257
  TuiCarouselScrollDirective.ctorParameters = function () { return [
257
258
  { type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-carousel.js","sources":["ng://@taiga-ui/kit/components/carousel/carousel.component.ts","ng://@taiga-ui/kit/components/carousel/carousel.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-autoscroll.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-buttons.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-scroll.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel.module.ts","ng://@taiga-ui/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {INTERSECTION_ROOT} from '@ng-web-apis/intersection-observer';\nimport {\n clamp,\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n tuiDefaultProp,\n TuiItemDirective,\n tuiPure,\n TuiSwipeDirection,\n} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-carousel',\n templateUrl: 'carousel.template.html',\n styleUrls: ['carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: INTERSECTION_ROOT,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiCarouselComponent {\n private translate = 0;\n\n @Input()\n @HostBinding('class._draggable')\n @tuiDefaultProp()\n draggable = false;\n\n @Input()\n @tuiDefaultProp()\n itemsCount = 1;\n\n @Input()\n @tuiDefaultProp()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<any>> = EMPTY_QUERY;\n\n @HostBinding('class._transitioned')\n transitioned = true;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @HostListener('touchstart', ['false'])\n @HostListener('touchend', ['true'])\n @HostListener('mousedown', ['false'])\n @HostListener('document:mouseup.silent', ['true'])\n onTransitioned(transitioned: boolean) {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n @tuiPure\n getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n next() {\n this.updateIndex(this.index + 1);\n }\n\n prev() {\n this.updateIndex(this.index - 1);\n }\n\n isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n onIntersection({intersectionRatio}: IntersectionObserverEntry, index: number) {\n if (intersectionRatio && intersectionRatio !== 1 && !this.transitioned) {\n this.updateIndex(index - Math.floor(this.itemsCount / 2));\n }\n }\n\n onScroll(delta: number) {\n if (!this.isMobile) {\n this.updateIndex(this.index + delta);\n }\n }\n\n onPan(x: number) {\n if (!this.computedDraggable) {\n return;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = clamp(x / clientWidth + this.translate, min, 0);\n }\n\n onSwipe(direction: TuiSwipeDirection) {\n if (Math.round(this.translate) !== -this.index || !this.computedDraggable) {\n return;\n } else if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n onAutoscroll() {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number) {\n this.index = clamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.changeDetectorRef.markForCheck();\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, EMPTY, interval, merge, Observable} from 'rxjs';\nimport {mapTo, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: 'tui-carousel',\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly duration$ = new BehaviorSubject(0);\n\n private readonly running$ = merge(\n typedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(mapTo(false)),\n typedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(mapTo(false)),\n typedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(mapTo(true)),\n typedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(mapTo(true)),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n switchMap(([duration, running]) =>\n duration && running ? interval(duration) : EMPTY,\n ),\n );\n\n @Input()\n set duration(duration: number) {\n this.duration$.next(duration);\n }\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PAGE_VISIBILITY) private readonly visible$: Observable<boolean>,\n ) {\n super(subscriber => this.output$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n selector: '[tuiCarouselAutoscroll]',\n outputs: ['tuiCarouselAutoscroll'],\n})\nexport class TuiCarouselAutoscrollDirective {\n constructor(\n @Inject(TuiCarouselDirective) readonly tuiCarouselAutoscroll: Observable<unknown>,\n ) {}\n}\n","import {Directive} from '@angular/core';\nimport {ButtonOptions, TUI_BUTTON_OPTIONS, TuiAppearance} from '@taiga-ui/core';\n\n// TODO: remove in ivy compilation\nexport const CAROUSEL_BUTTON_OPTIONS: ButtonOptions = {\n appearance: TuiAppearance.Secondary,\n shape: 'rounded',\n size: 'm',\n};\n\n@Directive({\n selector: '[tuiCarouselButtons]',\n providers: [\n {\n provide: TUI_BUTTON_OPTIONS,\n useValue: CAROUSEL_BUTTON_OPTIONS,\n },\n ],\n})\nexport class TuiCarouselButtonsDirective {}\n","import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {filter, map, tap, throttleTime} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScrollDirective {\n @Output()\n readonly tuiCarouselScroll = typedFromEvent(\n this.elementRef.nativeElement,\n 'wheel',\n ).pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500),\n map(({deltaX}) => Math.sign(deltaX)),\n // So we always have space to scroll and overflow-behavior saves us from back nav\n tap(() => (this.elementRef.nativeElement.scrollLeft = 10)),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {\n TuiItemDirective,\n TuiItemModule,\n TuiPanModule,\n TuiSwipeModule,\n} from '@taiga-ui/cdk';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscrollDirective} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtonsDirective} from './carousel-buttons.directive';\nimport {TuiCarouselScrollDirective} from './carousel-scroll.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n IntersectionObserverModule,\n TuiPanModule,\n TuiSwipeModule,\n TuiItemModule,\n ],\n declarations: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiCarouselAutoscrollDirective,\n TuiCarouselScrollDirective,\n ],\n exports: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiItemDirective,\n ],\n})\nexport class TuiCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AA0BA;;IAsCI,8BACgD,iBAAoC,EAC3C,UAAmC,EAChC,QAAiB;QAFb,sBAAiB,GAAjB,iBAAiB,CAAmB;QAC3C,eAAU,GAAV,UAAU,CAAyB;QAChC,aAAQ,GAAR,QAAQ,CAAS;QA3BrD,cAAS,GAAG,CAAC,CAAC;QAKtB,cAAS,GAAG,KAAK,CAAC;QAIlB,eAAU,GAAG,CAAC,CAAC;QAIf,UAAK,GAAG,CAAC,CAAC;QAGD,gBAAW,GAAG,IAAI,YAAY,EAAU,CAAC;QAGzC,UAAK,GAAgC,WAAW,CAAC;QAG1D,iBAAY,GAAG,IAAI,CAAC;KAMhB;IAEJ,sBAAI,2CAAS;aAAb;YACI,IAAM,CAAC,GAAG,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC;YAEtE,OAAO,gBAAc,GAAG,GAAG,CAAC,OAAI,CAAC;SACpC;;;OAAA;IAMD,6CAAc,GAAd,UAAe,YAAqB;QAChC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,IAAI,CAAC,YAAY,EAAE;YACf,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC3C;KACJ;IAGD,uCAAQ,GAAR,UAAS,UAAkB;QACvB,IAAM,OAAO,GAAM,GAAG,GAAG,UAAU,MAAG,CAAC;QAEvC,OAAO;YACH,SAAS,EAAE,OAAO;YAClB,QAAQ,EAAE,OAAO;YACjB,QAAQ,EAAE,OAAO;SACpB,CAAC;KACL;IAED,mCAAI,GAAJ;QACI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KACpC;IAED,mCAAI,GAAJ;QACI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KACpC;IAED,yCAAU,GAAV,UAAW,KAAa;QACpB,OAAO,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;KACrE;IAED,6CAAc,GAAd,UAAe,EAA8C,EAAE,KAAa;YAA5D,wCAAiB;QAC7B,IAAI,iBAAiB,IAAI,iBAAiB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpE,IAAI,CAAC,WAAW,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7D;KACJ;IAED,uCAAQ,GAAR,UAAS,KAAa;QAClB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;SACxC;KACJ;IAED,oCAAK,GAAL,UAAM,CAAS;QACX,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACzB,OAAO;SACV;QAEM,IAAA,uDAAW,CAAkC;QACpD,IAAM,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpD,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,GAAG,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;KACpE;IAED,sCAAO,GAAP,UAAQ,SAA4B;QAChC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YACvE,OAAO;SACV;aAAM,IAAI,SAAS,KAAK,MAAM,EAAE;YAC7B,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;aAAM,IAAI,SAAS,KAAK,OAAO,EAAE;YAC9B,IAAI,CAAC,IAAI,EAAE,CAAC;SACf;KACJ;IAED,2CAAY,GAAZ;QACI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;KAC/E;IAED,sBAAY,mDAAiB;aAA7B;YACI,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;SACxC;;;OAAA;IAED,sBAAY,mDAAiB;aAA7B;YACI,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC;SAC1C;;;OAAA;IAEO,0CAAW,GAAnB,UAAoB,KAAa;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACzC;;gBA/FkE,iBAAiB,uBAA/E,MAAM,SAAC,iBAAiB;gBACwB,UAAU,uBAA1D,MAAM,SAAC,UAAU;8CACjB,MAAM,SAAC,aAAa;;IAtBzB;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,kBAAkB,CAAC;QAC/B,cAAc,EAAE;2DACC;IAIlB;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;4DACF;IAIf;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;uDACP;IAGV;QADC,MAAM,EAAE;6DACyC;IAGlD;QADC,eAAe,CAAC,gBAAgB,EAAE,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC;uDACG;IAG1D;QADC,WAAW,CAAC,qBAAqB,CAAC;8DACf;IAkBpB;QAJC,YAAY,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;QACrC,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;QAClC,YAAY,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC;QACpC,YAAY,CAAC,yBAAyB,EAAE,CAAC,MAAM,CAAC,CAAC;8DAOjD;IAGD;QADC,OAAO;wDASP;IA1DQ,oBAAoB;QAZhC,SAAS,CAAC;YACP,QAAQ,EAAE,cAAc;YACxB,4/BAAqC;YAErC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,iBAAiB;oBAC1B,WAAW,EAAE,UAAU;iBAC1B;aACJ;;SACJ,CAAC;QA2BO,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;QACzB,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,aAAa,CAAC,CAAA;OA5BjB,oBAAoB,CA0HhC;IAAD,2BAAC;CA1HD;;;IC9B0C,wCAAmB;IAsBzD,8BACyC,UAAmC,EAC9B,QAA6B;QAF3E,YAII,kBAAM,UAAA,UAAU,IAAI,OAAA,KAAI,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,CAAC,GAAA,CAAC,SAC1D;QAJwC,gBAAU,GAAV,UAAU,CAAyB;QAC9B,cAAQ,GAAR,QAAQ,CAAqB;QAvB1D,eAAS,GAAG,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;QAEnC,cAAQ,GAAG,KAAK,CAC7B,cAAc,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC9E,cAAc,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAC9E,cAAc,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC3E,cAAc,CAAC,KAAI,CAAC,UAAU,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAC7E,KAAI,CAAC,QAAQ,CAChB,CAAC;QAEe,aAAO,GAAG,aAAa,CAAC,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAC1E,SAAS,CAAC,UAAC,EAAmB;gBAAnB,kBAAmB,EAAlB,gBAAQ,EAAE,eAAO;YACzB,OAAA,QAAQ,IAAI,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,KAAK;SAAA,CACnD,CACJ,CAAC;;KAYD;IATD,sBAAI,0CAAQ;aAAZ,UAAa,QAAgB;YACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;;;OAAA;;gBAGoD,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBACkC,UAAU,uBAA7D,MAAM,SAAC,eAAe;;IAN3B;QADC,KAAK,EAAE;wDAGP;IApBQ,oBAAoB;QAHhC,SAAS,CAAC;YACP,QAAQ,EAAE,cAAc;SAC3B,CAAC;QAwBO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,MAAM,CAAC,eAAe,CAAC,CAAA;OAxBnB,oBAAoB,CA4BhC;IAAD,2BAAC;CAAA,CA5ByC,UAAU;;;ICChD,wCAC2C,qBAA0C;QAA1C,0BAAqB,GAArB,qBAAqB,CAAqB;KACjF;;gBAD8D,UAAU,uBAAvE,MAAM,SAAC,oBAAoB;;IAFvB,8BAA8B;QAJ1C,SAAS,CAAC;YACP,QAAQ,EAAE,yBAAyB;YACnC,OAAO,EAAE,CAAC,uBAAuB,CAAC;SACrC,CAAC;QAGO,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;OAFxB,8BAA8B,CAI1C;IAAD,qCAAC;CAJD;;ACNA;IACa,uBAAuB,GAAkB;IAClD,UAAU;IACV,KAAK,EAAE,SAAS;IAChB,IAAI,EAAE,GAAG;EACX;;IAWF;KAA2C;IAA9B,2BAA2B;QATvC,SAAS,CAAC;YACP,QAAQ,EAAE,sBAAsB;YAChC,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,kBAAkB;oBAC3B,QAAQ,EAAE,uBAAuB;iBACpC;aACJ;SACJ,CAAC;OACW,2BAA2B,CAAG;IAAD,kCAAC;CAA3C;;;ICCI,oCACyC,UAAmC;QAD5E,iBAEI;QADqC,eAAU,GAAV,UAAU,CAAyB;QAZnE,sBAAiB,GAAG,cAAc,CACvC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,OAAO,CACV,CAAC,IAAI,CACF,MAAM,CAAC,UAAC,EAAQ;gBAAP,kBAAM;YAAM,OAAA,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE;SAAA,CAAC,EAC3C,YAAY,CAAC,GAAG,CAAC,EACjB,GAAG,CAAC,UAAC,EAAQ;gBAAP,kBAAM;YAAM,OAAA,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;SAAA,CAAC;;QAEpC,GAAG,CAAC,cAAM,QAAC,KAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,GAAG,EAAE,IAAC,CAAC,CAC7D,CAAC;KAIE;;gBADiD,UAAU,uBAA1D,MAAM,SAAC,UAAU;;IAZtB;QADC,MAAM,EAAE;yEAUP;IAXO,0BAA0B;QAHtC,SAAS,CAAC;YACP,QAAQ,EAAE,qBAAqB;SAClC,CAAC;QAeO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OAdd,0BAA0B,CAgBtC;IAAD,iCAAC;CAhBD;;;IC+BA;KAAiC;IAApB,iBAAiB;QAtB7B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,0BAA0B;gBAC1B,YAAY;gBACZ,cAAc;gBACd,aAAa;aAChB;YACD,YAAY,EAAE;gBACV,oBAAoB;gBACpB,oBAAoB;gBACpB,2BAA2B;gBAC3B,8BAA8B;gBAC9B,0BAA0B;aAC7B;YACD,OAAO,EAAE;gBACL,oBAAoB;gBACpB,oBAAoB;gBACpB,2BAA2B;gBAC3B,gBAAgB;aACnB;SACJ,CAAC;OACW,iBAAiB,CAAG;IAAD,wBAAC;CAAjC;;ACtCA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-carousel.js","sources":["ng://@taiga-ui/kit/components/carousel/carousel.component.ts","ng://@taiga-ui/kit/components/carousel/carousel.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-autoscroll.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-buttons.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel-scroll.directive.ts","ng://@taiga-ui/kit/components/carousel/carousel.module.ts","ng://@taiga-ui/kit/components/carousel/taiga-ui-kit-components-carousel.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport {INTERSECTION_ROOT} from '@ng-web-apis/intersection-observer';\nimport {\n clamp,\n EMPTY_QUERY,\n TUI_IS_MOBILE,\n tuiDefaultProp,\n TuiItemDirective,\n tuiPure,\n TuiSwipeDirection,\n} from '@taiga-ui/cdk';\n\n// @dynamic\n@Component({\n selector: 'tui-carousel',\n templateUrl: 'carousel.template.html',\n styleUrls: ['carousel.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: INTERSECTION_ROOT,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiCarouselComponent {\n private translate = 0;\n\n @Input()\n @HostBinding('class._draggable')\n @tuiDefaultProp()\n draggable = false;\n\n @Input()\n @tuiDefaultProp()\n itemsCount = 1;\n\n @Input()\n @tuiDefaultProp()\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiItemDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<any>> = EMPTY_QUERY;\n\n @HostBinding('class._transitioned')\n transitioned = true;\n\n constructor(\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n ) {}\n\n get transform(): string {\n const x = this.transitioned ? this.computedTranslate : this.translate;\n\n return `translateX(${100 * x}%)`;\n }\n\n @HostListener('touchstart', ['false'])\n @HostListener('touchend', ['true'])\n @HostListener('mousedown', ['false'])\n @HostListener('document:mouseup.silent', ['true'])\n onTransitioned(transitioned: boolean) {\n this.transitioned = transitioned;\n\n if (!transitioned) {\n this.translate = this.computedTranslate;\n }\n }\n\n @tuiPure\n getStyle(itemsCount: number): Partial<CSSStyleDeclaration> {\n const percent = `${100 / itemsCount}%`;\n\n return {\n flexBasis: percent,\n minWidth: percent,\n maxWidth: percent,\n };\n }\n\n next() {\n this.updateIndex(this.index + 1);\n }\n\n prev() {\n this.updateIndex(this.index - 1);\n }\n\n isDisabled(index: number): boolean {\n return index < this.index || index > this.index + this.itemsCount;\n }\n\n onIntersection({intersectionRatio}: IntersectionObserverEntry, index: number) {\n if (intersectionRatio && intersectionRatio !== 1 && !this.transitioned) {\n this.updateIndex(index - Math.floor(this.itemsCount / 2));\n }\n }\n\n onScroll(delta: number) {\n if (!this.isMobile) {\n this.updateIndex(this.index + delta);\n }\n }\n\n onPan(x: number) {\n if (!this.computedDraggable) {\n return;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const min = 1 - this.items.length / this.itemsCount;\n\n this.translate = clamp(x / clientWidth + this.translate, min, 0);\n }\n\n onSwipe(direction: TuiSwipeDirection) {\n if (Math.round(this.translate) !== -this.index || !this.computedDraggable) {\n return;\n } else if (direction === 'left') {\n this.next();\n } else if (direction === 'right') {\n this.prev();\n }\n }\n\n onAutoscroll() {\n this.updateIndex(this.index === this.items.length - 1 ? 0 : this.index + 1);\n }\n\n private get computedTranslate(): number {\n return -this.index / this.itemsCount;\n }\n\n private get computedDraggable(): boolean {\n return this.isMobile || this.draggable;\n }\n\n private updateIndex(index: number) {\n this.index = clamp(index, 0, this.items.length - 1);\n this.indexChange.emit(this.index);\n this.changeDetectorRef.markForCheck();\n }\n}\n","import {Directive, ElementRef, Inject, Input} from '@angular/core';\nimport {PAGE_VISIBILITY} from '@ng-web-apis/common';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {BehaviorSubject, combineLatest, EMPTY, interval, merge, Observable} from 'rxjs';\nimport {mapTo, switchMap} from 'rxjs/operators';\n\n@Directive({\n selector: 'tui-carousel',\n})\nexport class TuiCarouselDirective extends Observable<unknown> {\n private readonly duration$ = new BehaviorSubject(0);\n\n private readonly running$ = merge(\n typedFromEvent(this.elementRef.nativeElement, 'mouseenter').pipe(mapTo(false)),\n typedFromEvent(this.elementRef.nativeElement, 'touchstart').pipe(mapTo(false)),\n typedFromEvent(this.elementRef.nativeElement, 'touchend').pipe(mapTo(true)),\n typedFromEvent(this.elementRef.nativeElement, 'mouseleave').pipe(mapTo(true)),\n this.visible$,\n );\n\n private readonly output$ = combineLatest([this.duration$, this.running$]).pipe(\n switchMap(([duration, running]) =>\n duration && running ? interval(duration) : EMPTY,\n ),\n );\n\n @Input()\n set duration(duration: number) {\n this.duration$.next(duration);\n }\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(PAGE_VISIBILITY) private readonly visible$: Observable<boolean>,\n ) {\n super(subscriber => this.output$.subscribe(subscriber));\n }\n}\n","import {Directive, Inject} from '@angular/core';\nimport {Observable} from 'rxjs';\n\nimport {TuiCarouselDirective} from './carousel.directive';\n\n@Directive({\n selector: '[tuiCarouselAutoscroll]',\n outputs: ['tuiCarouselAutoscroll'],\n})\nexport class TuiCarouselAutoscrollDirective {\n constructor(\n @Inject(TuiCarouselDirective) readonly tuiCarouselAutoscroll: Observable<unknown>,\n ) {}\n}\n","import {Directive} from '@angular/core';\nimport {ButtonOptions, TUI_BUTTON_OPTIONS, TuiAppearance} from '@taiga-ui/core';\n\n// TODO: remove in ivy compilation\nexport const CAROUSEL_BUTTON_OPTIONS: ButtonOptions = {\n appearance: TuiAppearance.Secondary,\n shape: 'rounded',\n size: 'm',\n};\n\n@Directive({\n selector: '[tuiCarouselButtons]',\n providers: [\n {\n provide: TUI_BUTTON_OPTIONS,\n useValue: CAROUSEL_BUTTON_OPTIONS,\n },\n ],\n})\nexport class TuiCarouselButtonsDirective {}\n","import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk';\nimport {filter, map, tap, throttleTime} from 'rxjs/operators';\n\n@Directive({\n selector: '[tuiCarouselScroll]',\n})\nexport class TuiCarouselScrollDirective {\n @Output()\n readonly tuiCarouselScroll = typedFromEvent(\n this.elementRef.nativeElement,\n 'wheel',\n ).pipe(\n filter(({deltaX}) => Math.abs(deltaX) > 20),\n throttleTime(500),\n map(({deltaX}) => Math.sign(deltaX)),\n tap(() => {\n // So we always have space to scroll and overflow-behavior saves us from back nav\n this.elementRef.nativeElement.scrollLeft = 10;\n }),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {IntersectionObserverModule} from '@ng-web-apis/intersection-observer';\nimport {\n TuiItemDirective,\n TuiItemModule,\n TuiPanModule,\n TuiSwipeModule,\n} from '@taiga-ui/cdk';\n\nimport {TuiCarouselComponent} from './carousel.component';\nimport {TuiCarouselDirective} from './carousel.directive';\nimport {TuiCarouselAutoscrollDirective} from './carousel-autoscroll.directive';\nimport {TuiCarouselButtonsDirective} from './carousel-buttons.directive';\nimport {TuiCarouselScrollDirective} from './carousel-scroll.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n IntersectionObserverModule,\n TuiPanModule,\n TuiSwipeModule,\n TuiItemModule,\n ],\n declarations: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiCarouselAutoscrollDirective,\n TuiCarouselScrollDirective,\n ],\n exports: [\n TuiCarouselComponent,\n TuiCarouselDirective,\n TuiCarouselButtonsDirective,\n TuiItemDirective,\n ],\n})\nexport class TuiCarouselModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -32,7 +32,7 @@ var TuiCheckboxComponent = /** @class */ (function (_super) {
32
32
  });
33
33
  Object.defineProperty(TuiCheckboxComponent.prototype, "computedFocusable", {
34
34
  get: function () {
35
- return !this.computedDisabled && !this.readOnly && this.focusable;
35
+ return this.interactive && this.focusable;
36
36
  },
37
37
  enumerable: true,
38
38
  configurable: true
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-checkbox.js","sources":["ng://@taiga-ui/kit/components/checkbox/checkbox.component.ts","ng://@taiga-ui/kit/components/checkbox/checkbox.module.ts","ng://@taiga-ui/kit/components/checkbox/taiga-ui-kit-components-checkbox.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {CheckboxOptions, TUI_CHECKBOX_OPTIONS, TuiSizeL} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-checkbox',\n templateUrl: './checkbox.template.html',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiCheckboxComponent),\n },\n ],\n})\nexport class TuiCheckboxComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(TUI_CHECKBOX_OPTIONS)\n private readonly options: CheckboxOptions,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get computedFocusable(): boolean {\n return !this.computedDisabled && !this.readOnly && this.focusable;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiPrimitiveCheckboxModule} from '@taiga-ui/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiPrimitiveCheckboxModule,\n ],\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;IAoCY,wCAAmC;IAW3C,8BAII,OAAyB,EAER,OAAwB,EACd,iBAAoC;QAPnE,YASI,kBAAM,OAAO,EAAE,iBAAiB,CAAC,SACpC;QAJoB,aAAO,GAAP,OAAO,CAAiB;QAR7C,UAAI,GAAa,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;KAYlC;6BAtBQ,oBAAoB;IAwB7B,sBAAI,wDAAsB;aAA1B;YACI,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB;kBAChD,IAAI;kBACJ,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;SAC7C;;;OAAA;IAED,sBAAI,yCAAO;aAAX;YACI,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACvD;;;OAAA;IAED,sBAAI,mDAAiB;aAArB;YACI,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC;SACrE;;;OAAA;IAED,wCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC7B;IAED,wCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,wCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,wCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,6CAAc,GAAd,UAAe,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;;;gBAxCY,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;gDAEhB,MAAM,SAAC,oBAAoB;gBAEkB,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;;IAd7B;QADC,SAAS,CAAC,kBAAkB,CAAC;kEACmC;IAKjE;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,yBAAyB,CAAC;QACtC,cAAc,EAAE;sDACkB;IAV1B,oBAAoB;QAZhC,SAAS,CAAC;YACP,QAAQ,EAAE,cAAc;YACxB,2vBAAuC;YAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,sBAAoB,GAAA,CAAC;iBACtD;aACJ;;SACJ,CAAC;QAcO,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;QAEjB,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAE5B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OAnBrB,oBAAoB,CAyDhC;IAAD,2BAAC;CAAA,CAxDW,0BAA0B;;;ICRtC;KAAiC;IAApB,iBAAiB;QAd7B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,gBAAgB;gBAChB,kBAAkB;gBAClB,gBAAgB;gBAChB,gBAAgB;gBAChB,gBAAgB;gBAChB,qBAAqB;gBACrB,0BAA0B;aAC7B;YACD,YAAY,EAAE,CAAC,oBAAoB,CAAC;YACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;SAClC,CAAC;OACW,iBAAiB,CAAG;IAAD,wBAAC;CAAjC;;AC5BA;;;;;;"}
1
+ {"version":3,"file":"taiga-ui-kit-components-checkbox.js","sources":["ng://@taiga-ui/kit/components/checkbox/checkbox.component.ts","ng://@taiga-ui/kit/components/checkbox/checkbox.module.ts","ng://@taiga-ui/kit/components/checkbox/taiga-ui-kit-components-checkbox.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Self,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiNullableControl,\n isNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n} from '@taiga-ui/cdk';\nimport {CheckboxOptions, TUI_CHECKBOX_OPTIONS, TuiSizeL} from '@taiga-ui/core';\n\n@Component({\n selector: 'tui-checkbox',\n templateUrl: './checkbox.template.html',\n styleUrls: ['./checkbox.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiCheckboxComponent),\n },\n ],\n})\nexport class TuiCheckboxComponent\n extends AbstractTuiNullableControl<boolean>\n implements TuiFocusableElementAccessor\n{\n @ViewChild('focusableElement')\n private readonly focusableElement?: ElementRef<HTMLInputElement>;\n\n @Input()\n @HostBinding('attr.data-tui-host-size')\n @tuiDefaultProp()\n size: TuiSizeL = this.options.size;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(TUI_CHECKBOX_OPTIONS)\n private readonly options: CheckboxOptions,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n ) {\n super(control, changeDetectorRef);\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return !this.focusableElement || this.computedDisabled\n ? null\n : this.focusableElement.nativeElement;\n }\n\n get focused(): boolean {\n return isNativeFocused(this.nativeFocusableElement);\n }\n\n get computedFocusable(): boolean {\n return this.interactive && this.focusable;\n }\n\n onChecked(checked: boolean) {\n this.updateValue(checked);\n }\n\n onFocused(focused: boolean) {\n this.updateFocused(focused);\n }\n\n onHovered(hovered: boolean) {\n this.updateHovered(hovered);\n }\n\n onPressed(pressed: boolean) {\n this.updatePressed(pressed);\n }\n\n onFocusVisible(focusVisible: boolean) {\n this.updateFocusVisible(focusVisible);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiFocusVisibleModule,\n TuiHoveredModule,\n TuiPressedModule,\n} from '@taiga-ui/cdk';\nimport {TuiPrimitiveCheckboxModule} from '@taiga-ui/core';\n\nimport {TuiCheckboxComponent} from './checkbox.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiCheckedModule,\n TuiFocusableModule,\n TuiFocusedModule,\n TuiHoveredModule,\n TuiPressedModule,\n TuiFocusVisibleModule,\n TuiPrimitiveCheckboxModule,\n ],\n declarations: [TuiCheckboxComponent],\n exports: [TuiCheckboxComponent],\n})\nexport class TuiCheckboxModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;IAoCY,wCAAmC;IAW3C,8BAII,OAAyB,EAER,OAAwB,EACd,iBAAoC;QAPnE,YASI,kBAAM,OAAO,EAAE,iBAAiB,CAAC,SACpC;QAJoB,aAAO,GAAP,OAAO,CAAiB;QAR7C,UAAI,GAAa,KAAI,CAAC,OAAO,CAAC,IAAI,CAAC;;KAYlC;6BAtBQ,oBAAoB;IAwB7B,sBAAI,wDAAsB;aAA1B;YACI,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB;kBAChD,IAAI;kBACJ,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;SAC7C;;;OAAA;IAED,sBAAI,yCAAO;aAAX;YACI,OAAO,eAAe,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACvD;;;OAAA;IAED,sBAAI,mDAAiB;aAArB;YACI,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC;SAC7C;;;OAAA;IAED,wCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC7B;IAED,wCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,wCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,wCAAS,GAAT,UAAU,OAAgB;QACtB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAED,6CAAc,GAAd,UAAe,YAAqB;QAChC,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;KACzC;;;gBAxCY,SAAS,uBAHjB,QAAQ,YACR,IAAI,YACJ,MAAM,SAAC,SAAS;gDAEhB,MAAM,SAAC,oBAAoB;gBAEkB,iBAAiB,uBAA9D,MAAM,SAAC,iBAAiB;;IAd7B;QADC,SAAS,CAAC,kBAAkB,CAAC;kEACmC;IAKjE;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,yBAAyB,CAAC;QACtC,cAAc,EAAE;sDACkB;IAV1B,oBAAoB;QAZhC,SAAS,CAAC;YACP,QAAQ,EAAE,cAAc;YACxB,2vBAAuC;YAEvC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,sBAAoB,GAAA,CAAC;iBACtD;aACJ;;SACJ,CAAC;QAcO,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,IAAI,EAAE,CAAA;QACN,WAAA,MAAM,CAAC,SAAS,CAAC,CAAA;QAEjB,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;QAE5B,WAAA,MAAM,CAAC,iBAAiB,CAAC,CAAA;OAnBrB,oBAAoB,CAyDhC;IAAD,2BAAC;CAAA,CAxDW,0BAA0B;;;ICRtC;KAAiC;IAApB,iBAAiB;QAd7B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,gBAAgB;gBAChB,kBAAkB;gBAClB,gBAAgB;gBAChB,gBAAgB;gBAChB,gBAAgB;gBAChB,qBAAqB;gBACrB,0BAA0B;aAC7B;YACD,YAAY,EAAE,CAAC,oBAAoB,CAAC;YACpC,OAAO,EAAE,CAAC,oBAAoB,CAAC;SAClC,CAAC;OACW,iBAAiB,CAAG;IAAD,wBAAC;CAAjC;;AC5BA;;;;;;"}