@taiga-ui/kit 2.13.0 → 2.16.0-fixed

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 (434) hide show
  1. package/abstract/input-slider.d.ts +4 -3
  2. package/abstract/slider/slider.d.ts +2 -2
  3. package/abstract/taiga-ui-kit-abstract.metadata.json +1 -1
  4. package/bundles/taiga-ui-kit-abstract.umd.js +28 -12
  5. package/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
  6. package/bundles/taiga-ui-kit-abstract.umd.min.js +2 -2
  7. package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
  8. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js +1 -1
  9. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.js.map +1 -1
  10. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js +1 -1
  11. package/bundles/taiga-ui-kit-components-breadcrumbs.umd.min.js.map +1 -1
  12. package/bundles/taiga-ui-kit-components-checkbox.umd.js +1 -1
  13. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js +1 -1
  14. package/bundles/taiga-ui-kit-components-checkbox.umd.min.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-field-error.umd.js +17 -6
  16. package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-field-error.umd.min.js +2 -2
  18. package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-count.umd.js +86 -30
  20. package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-count.umd.min.js +2 -2
  22. package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +24 -24
  24. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js +2 -2
  26. package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +61 -32
  28. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js +2 -2
  30. package/bundles/taiga-ui-kit-components-input-date-time.umd.min.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-input-date.umd.js +18 -17
  32. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-input-date.umd.min.js +2 -2
  34. package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-input-file.umd.js +1 -0
  36. package/bundles/taiga-ui-kit-components-input-file.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-input-file.umd.min.js.map +1 -1
  38. package/bundles/taiga-ui-kit-components-input-number.umd.js +28 -14
  39. package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
  40. package/bundles/taiga-ui-kit-components-input-number.umd.min.js +2 -2
  41. package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +23 -7
  43. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +2 -2
  45. package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-input-phone.umd.js +15 -4
  47. package/bundles/taiga-ui-kit-components-input-phone.umd.js.map +1 -1
  48. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js +1 -1
  49. package/bundles/taiga-ui-kit-components-input-phone.umd.min.js.map +1 -1
  50. package/bundles/taiga-ui-kit-components-input-range.umd.js +20 -15
  51. package/bundles/taiga-ui-kit-components-input-range.umd.js.map +1 -1
  52. package/bundles/taiga-ui-kit-components-input-range.umd.min.js +2 -2
  53. package/bundles/taiga-ui-kit-components-input-range.umd.min.js.map +1 -1
  54. package/bundles/taiga-ui-kit-components-input-slider.umd.js +15 -10
  55. package/bundles/taiga-ui-kit-components-input-slider.umd.js.map +1 -1
  56. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js +1 -1
  57. package/bundles/taiga-ui-kit-components-input-slider.umd.min.js.map +1 -1
  58. package/bundles/taiga-ui-kit-components-input-tag.umd.js +5 -3
  59. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  60. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +2 -2
  61. package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
  62. package/bundles/taiga-ui-kit-components-input-time.umd.js +1 -0
  63. package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
  64. package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
  65. package/bundles/taiga-ui-kit-components-multi-select.umd.js +20 -6
  66. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  67. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
  68. package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
  69. package/bundles/taiga-ui-kit-components-progress.umd.js +325 -0
  70. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -0
  71. package/bundles/taiga-ui-kit-components-progress.umd.min.js +16 -0
  72. package/bundles/taiga-ui-kit-components-progress.umd.min.js.map +1 -0
  73. package/bundles/taiga-ui-kit-components-radio.umd.js +1 -1
  74. package/bundles/taiga-ui-kit-components-radio.umd.min.js +1 -1
  75. package/bundles/taiga-ui-kit-components-radio.umd.min.js.map +1 -1
  76. package/bundles/taiga-ui-kit-components-range.umd.js +1 -2
  77. package/bundles/taiga-ui-kit-components-range.umd.js.map +1 -1
  78. package/bundles/taiga-ui-kit-components-range.umd.min.js +1 -1
  79. package/bundles/taiga-ui-kit-components-range.umd.min.js.map +1 -1
  80. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -1
  81. package/bundles/taiga-ui-kit-components-select-option.umd.min.js +1 -1
  82. package/bundles/taiga-ui-kit-components-select-option.umd.min.js.map +1 -1
  83. package/bundles/taiga-ui-kit-components-slider.umd.js +1 -2
  84. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  85. package/bundles/taiga-ui-kit-components-slider.umd.min.js +1 -1
  86. package/bundles/taiga-ui-kit-components-slider.umd.min.js.map +1 -1
  87. package/bundles/taiga-ui-kit-components-tabs.umd.js +17 -9
  88. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  89. package/bundles/taiga-ui-kit-components-tabs.umd.min.js +1 -1
  90. package/bundles/taiga-ui-kit-components-tabs.umd.min.js.map +1 -1
  91. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  92. package/bundles/taiga-ui-kit-components-tag.umd.min.js +1 -1
  93. package/bundles/taiga-ui-kit-components-tag.umd.min.js.map +1 -1
  94. package/bundles/taiga-ui-kit-components-text-area.umd.js +16 -2
  95. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  96. package/bundles/taiga-ui-kit-components-text-area.umd.min.js +2 -2
  97. package/bundles/taiga-ui-kit-components-text-area.umd.min.js.map +1 -1
  98. package/bundles/taiga-ui-kit-components-toggle.umd.js +52 -26
  99. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  100. package/bundles/taiga-ui-kit-components-toggle.umd.min.js +2 -2
  101. package/bundles/taiga-ui-kit-components-toggle.umd.min.js.map +1 -1
  102. package/bundles/taiga-ui-kit-components.umd.js +12 -4
  103. package/bundles/taiga-ui-kit-components.umd.js.map +1 -1
  104. package/bundles/taiga-ui-kit-components.umd.min.js +1 -1
  105. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js +390 -0
  106. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.js.map +1 -0
  107. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js +16 -0
  108. package/bundles/taiga-ui-kit-directives-dropdown-context.umd.min.js.map +1 -0
  109. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -0
  110. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
  111. package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
  112. package/bundles/taiga-ui-kit-directives.umd.js +12 -4
  113. package/bundles/taiga-ui-kit-directives.umd.js.map +1 -1
  114. package/bundles/taiga-ui-kit-directives.umd.min.js +1 -1
  115. package/bundles/taiga-ui-kit-tokens.umd.js +4 -0
  116. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  117. package/bundles/taiga-ui-kit-tokens.umd.min.js +1 -1
  118. package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
  119. package/bundles/taiga-ui-kit-utils-mask.umd.js +7 -7
  120. package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
  121. package/bundles/taiga-ui-kit-utils-mask.umd.min.js +2 -2
  122. package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
  123. package/bundles/taiga-ui-kit-validators.umd.js +1 -0
  124. package/bundles/taiga-ui-kit-validators.umd.js.map +1 -1
  125. package/bundles/taiga-ui-kit-validators.umd.min.js.map +1 -1
  126. package/components/breadcrumbs/taiga-ui-kit-components-breadcrumbs.metadata.json +1 -1
  127. package/components/checkbox/taiga-ui-kit-components-checkbox.metadata.json +1 -1
  128. package/components/field-error/field-error.component.d.ts +2 -0
  129. package/components/field-error/taiga-ui-kit-components-field-error.metadata.json +1 -1
  130. package/components/index.d.ts +1 -0
  131. package/components/input-count/index.d.ts +1 -0
  132. package/components/input-count/input-count-options.d.ts +19 -0
  133. package/components/input-count/input-count.component.d.ts +10 -3
  134. package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
  135. package/components/input-date/input-date.component.d.ts +7 -4
  136. package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
  137. package/components/input-date-range/input-date-range.component.d.ts +8 -5
  138. package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
  139. package/components/input-date-time/input-date-time.component.d.ts +10 -5
  140. package/components/input-date-time/taiga-ui-kit-components-input-date-time.metadata.json +1 -1
  141. package/components/input-number/input-number.component.d.ts +4 -2
  142. package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
  143. package/components/input-phone/input-phone.component.d.ts +4 -2
  144. package/components/input-phone/taiga-ui-kit-components-input-phone.metadata.json +1 -1
  145. package/components/input-phone-international/input-phone-international.component.d.ts +5 -1
  146. package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
  147. package/components/input-range/input-range.component.d.ts +4 -2
  148. package/components/input-range/taiga-ui-kit-components-input-range.metadata.json +1 -1
  149. package/components/input-slider/input-slider.component.d.ts +4 -2
  150. package/components/input-slider/taiga-ui-kit-components-input-slider.metadata.json +1 -1
  151. package/components/input-tag/taiga-ui-kit-components-input-tag.metadata.json +1 -1
  152. package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
  153. package/components/multi-select/multi-select.component.d.ts +4 -2
  154. package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
  155. package/components/progress/index.d.ts +4 -0
  156. package/components/progress/package.json +13 -0
  157. package/components/progress/pipes/progress-color-segments.pipe.d.ts +8 -0
  158. package/components/progress/progress-bar/progress-bar.component.d.ts +5 -0
  159. package/components/progress/progress-label/progress-label.component.d.ts +2 -0
  160. package/components/progress/progress.module.d.ts +2 -0
  161. package/components/progress/taiga-ui-kit-components-progress.d.ts +4 -0
  162. package/components/progress/taiga-ui-kit-components-progress.metadata.json +1 -0
  163. package/components/radio/taiga-ui-kit-components-radio.metadata.json +1 -1
  164. package/components/range/taiga-ui-kit-components-range.metadata.json +1 -1
  165. package/components/select-option/taiga-ui-kit-components-select-option.metadata.json +1 -1
  166. package/components/slider/taiga-ui-kit-components-slider.metadata.json +1 -1
  167. package/components/tabs/tab/tab.component.d.ts +5 -2
  168. package/components/tabs/taiga-ui-kit-components-tabs.metadata.json +1 -1
  169. package/components/tag/taiga-ui-kit-components-tag.metadata.json +1 -1
  170. package/components/taiga-ui-kit-components.metadata.json +1 -1
  171. package/components/text-area/taiga-ui-kit-components-text-area.metadata.json +1 -1
  172. package/components/text-area/text-area.component.d.ts +2 -0
  173. package/components/toggle/index.d.ts +1 -0
  174. package/components/toggle/taiga-ui-kit-components-toggle.metadata.json +1 -1
  175. package/components/toggle/toggle-options.d.ts +16 -0
  176. package/components/toggle/toggle.component.d.ts +7 -4
  177. package/directives/dropdown-context/dropdown-context.directive.d.ts +28 -0
  178. package/directives/dropdown-context/dropdown-context.module.d.ts +2 -0
  179. package/directives/dropdown-context/index.d.ts +2 -0
  180. package/directives/dropdown-context/package.json +13 -0
  181. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.d.ts +4 -0
  182. package/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.metadata.json +1 -0
  183. package/directives/index.d.ts +1 -0
  184. package/directives/taiga-ui-kit-directives.metadata.json +1 -1
  185. package/esm2015/abstract/input-slider.js +14 -9
  186. package/esm2015/abstract/slider/slider.js +10 -6
  187. package/esm2015/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  188. package/esm2015/components/checkbox/checkbox.component.js +1 -1
  189. package/esm2015/components/field-error/field-error.component.js +10 -2
  190. package/esm2015/components/field-error/field-error.module.js +2 -3
  191. package/esm2015/components/index.js +2 -1
  192. package/esm2015/components/input-count/index.js +2 -1
  193. package/esm2015/components/input-count/input-count-options.js +21 -0
  194. package/esm2015/components/input-count/input-count.component.js +49 -25
  195. package/esm2015/components/input-count/input-count.module.js +3 -1
  196. package/esm2015/components/input-date/input-date.component.js +18 -13
  197. package/esm2015/components/input-date/input-date.module.js +3 -2
  198. package/esm2015/components/input-date-range/input-date-range.component.js +25 -20
  199. package/esm2015/components/input-date-time/input-date-time.component.js +58 -38
  200. package/esm2015/components/input-file/file/file.component.js +2 -1
  201. package/esm2015/components/input-number/input-number.component.js +26 -16
  202. package/esm2015/components/input-phone/input-phone.component.js +13 -6
  203. package/esm2015/components/input-phone-international/input-phone-international.component.js +23 -8
  204. package/esm2015/components/input-phone-international/input-phone-international.module.js +5 -4
  205. package/esm2015/components/input-range/input-range.component.js +22 -16
  206. package/esm2015/components/input-range/input-range.module.js +2 -3
  207. package/esm2015/components/input-slider/input-slider.component.js +17 -11
  208. package/esm2015/components/input-slider/input-slider.module.js +2 -3
  209. package/esm2015/components/input-tag/input-tag.component.js +6 -4
  210. package/esm2015/components/input-time/input-time.component.js +2 -1
  211. package/esm2015/components/multi-select/multi-select.component.js +18 -8
  212. package/esm2015/components/progress/index.js +5 -0
  213. package/esm2015/components/progress/pipes/progress-color-segments.pipe.js +34 -0
  214. package/esm2015/components/progress/progress-bar/progress-bar.component.js +27 -0
  215. package/esm2015/components/progress/progress-label/progress-label.component.js +14 -0
  216. package/esm2015/components/progress/progress.module.js +25 -0
  217. package/esm2015/components/progress/taiga-ui-kit-components-progress.js +5 -0
  218. package/esm2015/components/radio/radio.component.js +1 -1
  219. package/esm2015/components/range/range.component.js +2 -2
  220. package/esm2015/components/range/range.module.js +2 -3
  221. package/esm2015/components/select-option/select-option.component.js +1 -1
  222. package/esm2015/components/slider/slider.component.js +2 -2
  223. package/esm2015/components/slider/slider.module.js +2 -3
  224. package/esm2015/components/tabs/tab/tab.component.js +19 -11
  225. package/esm2015/components/tabs/underline/underline.component.js +1 -1
  226. package/esm2015/components/tag/tag.component.js +1 -1
  227. package/esm2015/components/text-area/text-area.component.js +9 -3
  228. package/esm2015/components/toggle/index.js +2 -1
  229. package/esm2015/components/toggle/toggle-options.js +19 -0
  230. package/esm2015/components/toggle/toggle.component.js +19 -15
  231. package/esm2015/components/toggle/toggle.module.js +3 -1
  232. package/esm2015/directives/dropdown-context/dropdown-context.directive.js +137 -0
  233. package/esm2015/directives/dropdown-context/dropdown-context.module.js +15 -0
  234. package/esm2015/directives/dropdown-context/index.js +3 -0
  235. package/esm2015/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.js +5 -0
  236. package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +2 -1
  237. package/esm2015/directives/index.js +2 -1
  238. package/esm2015/interfaces/with-date-mask-pipe-config.js +1 -1
  239. package/esm2015/tokens/i18n.js +4 -1
  240. package/esm2015/utils/mask/create-auto-corrected-date-pipe.js +3 -3
  241. package/esm2015/utils/mask/create-auto-corrected-date-range-pipe.js +7 -7
  242. package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +3 -2
  243. package/esm2015/validators/unfinished.validator.js +2 -1
  244. package/esm5/abstract/input-slider.js +18 -9
  245. package/esm5/abstract/slider/slider.js +14 -6
  246. package/esm5/components/breadcrumbs/breadcrumbs-wrapper.component.js +2 -2
  247. package/esm5/components/checkbox/checkbox.component.js +1 -1
  248. package/esm5/components/field-error/field-error.component.js +14 -2
  249. package/esm5/components/field-error/field-error.module.js +2 -3
  250. package/esm5/components/index.js +2 -1
  251. package/esm5/components/input-count/index.js +2 -1
  252. package/esm5/components/input-count/input-count-options.js +21 -0
  253. package/esm5/components/input-count/input-count.component.js +61 -29
  254. package/esm5/components/input-count/input-count.module.js +3 -1
  255. package/esm5/components/input-date/input-date.component.js +18 -17
  256. package/esm5/components/input-date/input-date.module.js +3 -2
  257. package/esm5/components/input-date-range/input-date-range.component.js +25 -24
  258. package/esm5/components/input-date-time/input-date-time.component.js +66 -37
  259. package/esm5/components/input-file/file/file.component.js +2 -1
  260. package/esm5/components/input-number/input-number.component.js +30 -16
  261. package/esm5/components/input-phone/input-phone.component.js +17 -6
  262. package/esm5/components/input-phone-international/input-phone-international.component.js +23 -8
  263. package/esm5/components/input-phone-international/input-phone-international.module.js +5 -4
  264. package/esm5/components/input-range/input-range.component.js +22 -16
  265. package/esm5/components/input-range/input-range.module.js +2 -3
  266. package/esm5/components/input-slider/input-slider.component.js +17 -11
  267. package/esm5/components/input-slider/input-slider.module.js +2 -3
  268. package/esm5/components/input-tag/input-tag.component.js +6 -4
  269. package/esm5/components/input-time/input-time.component.js +2 -1
  270. package/esm5/components/multi-select/multi-select.component.js +22 -8
  271. package/esm5/components/progress/index.js +5 -0
  272. package/esm5/components/progress/pipes/progress-color-segments.pipe.js +37 -0
  273. package/esm5/components/progress/progress-bar/progress-bar.component.js +28 -0
  274. package/esm5/components/progress/progress-label/progress-label.component.js +17 -0
  275. package/esm5/components/progress/progress.module.js +28 -0
  276. package/esm5/components/progress/taiga-ui-kit-components-progress.js +5 -0
  277. package/esm5/components/radio/radio.component.js +1 -1
  278. package/esm5/components/range/range.component.js +2 -2
  279. package/esm5/components/range/range.module.js +2 -3
  280. package/esm5/components/select-option/select-option.component.js +1 -1
  281. package/esm5/components/slider/slider.component.js +2 -2
  282. package/esm5/components/slider/slider.module.js +2 -3
  283. package/esm5/components/tabs/tab/tab.component.js +19 -11
  284. package/esm5/components/tabs/underline/underline.component.js +1 -1
  285. package/esm5/components/tag/tag.component.js +1 -1
  286. package/esm5/components/text-area/text-area.component.js +17 -3
  287. package/esm5/components/toggle/index.js +2 -1
  288. package/esm5/components/toggle/toggle-options.js +21 -0
  289. package/esm5/components/toggle/toggle.component.js +27 -23
  290. package/esm5/components/toggle/toggle.module.js +3 -1
  291. package/esm5/directives/dropdown-context/dropdown-context.directive.js +153 -0
  292. package/esm5/directives/dropdown-context/dropdown-context.module.js +18 -0
  293. package/esm5/directives/dropdown-context/index.js +3 -0
  294. package/esm5/directives/dropdown-context/taiga-ui-kit-directives-dropdown-context.js +5 -0
  295. package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +2 -1
  296. package/esm5/directives/index.js +2 -1
  297. package/esm5/interfaces/with-date-mask-pipe-config.js +1 -1
  298. package/esm5/tokens/i18n.js +4 -1
  299. package/esm5/utils/mask/create-auto-corrected-date-pipe.js +3 -3
  300. package/esm5/utils/mask/create-auto-corrected-date-range-pipe.js +7 -7
  301. package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +3 -2
  302. package/esm5/validators/unfinished.validator.js +2 -1
  303. package/fesm2015/taiga-ui-kit-abstract.js +21 -13
  304. package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
  305. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js +1 -1
  306. package/fesm2015/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  307. package/fesm2015/taiga-ui-kit-components-checkbox.js +1 -1
  308. package/fesm2015/taiga-ui-kit-components-field-error.js +11 -3
  309. package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
  310. package/fesm2015/taiga-ui-kit-components-input-count.js +71 -26
  311. package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
  312. package/fesm2015/taiga-ui-kit-components-input-date-range.js +24 -19
  313. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  314. package/fesm2015/taiga-ui-kit-components-input-date-time.js +56 -36
  315. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  316. package/fesm2015/taiga-ui-kit-components-input-date.js +18 -12
  317. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  318. package/fesm2015/taiga-ui-kit-components-input-file.js +1 -0
  319. package/fesm2015/taiga-ui-kit-components-input-file.js.map +1 -1
  320. package/fesm2015/taiga-ui-kit-components-input-number.js +25 -15
  321. package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
  322. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +26 -10
  323. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  324. package/fesm2015/taiga-ui-kit-components-input-phone.js +12 -5
  325. package/fesm2015/taiga-ui-kit-components-input-phone.js.map +1 -1
  326. package/fesm2015/taiga-ui-kit-components-input-range.js +21 -16
  327. package/fesm2015/taiga-ui-kit-components-input-range.js.map +1 -1
  328. package/fesm2015/taiga-ui-kit-components-input-slider.js +16 -11
  329. package/fesm2015/taiga-ui-kit-components-input-slider.js.map +1 -1
  330. package/fesm2015/taiga-ui-kit-components-input-tag.js +5 -3
  331. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  332. package/fesm2015/taiga-ui-kit-components-input-time.js +1 -0
  333. package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
  334. package/fesm2015/taiga-ui-kit-components-multi-select.js +17 -7
  335. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  336. package/fesm2015/taiga-ui-kit-components-progress.js +93 -0
  337. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -0
  338. package/fesm2015/taiga-ui-kit-components-radio.js +1 -1
  339. package/fesm2015/taiga-ui-kit-components-range.js +2 -3
  340. package/fesm2015/taiga-ui-kit-components-range.js.map +1 -1
  341. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -1
  342. package/fesm2015/taiga-ui-kit-components-slider.js +2 -3
  343. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  344. package/fesm2015/taiga-ui-kit-components-tabs.js +18 -10
  345. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  346. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  347. package/fesm2015/taiga-ui-kit-components-text-area.js +8 -2
  348. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  349. package/fesm2015/taiga-ui-kit-components-toggle.js +39 -16
  350. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  351. package/fesm2015/taiga-ui-kit-components.js +1 -0
  352. package/fesm2015/taiga-ui-kit-components.js.map +1 -1
  353. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js +153 -0
  354. package/fesm2015/taiga-ui-kit-directives-dropdown-context.js.map +1 -0
  355. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +1 -0
  356. package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  357. package/fesm2015/taiga-ui-kit-directives.js +1 -0
  358. package/fesm2015/taiga-ui-kit-directives.js.map +1 -1
  359. package/fesm2015/taiga-ui-kit-tokens.js +4 -1
  360. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  361. package/fesm2015/taiga-ui-kit-utils-mask.js +8 -8
  362. package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
  363. package/fesm2015/taiga-ui-kit-validators.js +1 -0
  364. package/fesm2015/taiga-ui-kit-validators.js.map +1 -1
  365. package/fesm5/taiga-ui-kit-abstract.js +29 -13
  366. package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
  367. package/fesm5/taiga-ui-kit-components-breadcrumbs.js +1 -1
  368. package/fesm5/taiga-ui-kit-components-breadcrumbs.js.map +1 -1
  369. package/fesm5/taiga-ui-kit-components-checkbox.js +1 -1
  370. package/fesm5/taiga-ui-kit-components-field-error.js +15 -3
  371. package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
  372. package/fesm5/taiga-ui-kit-components-input-count.js +83 -30
  373. package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
  374. package/fesm5/taiga-ui-kit-components-input-date-range.js +24 -23
  375. package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
  376. package/fesm5/taiga-ui-kit-components-input-date-time.js +66 -37
  377. package/fesm5/taiga-ui-kit-components-input-date-time.js.map +1 -1
  378. package/fesm5/taiga-ui-kit-components-input-date.js +18 -16
  379. package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
  380. package/fesm5/taiga-ui-kit-components-input-file.js +1 -0
  381. package/fesm5/taiga-ui-kit-components-input-file.js.map +1 -1
  382. package/fesm5/taiga-ui-kit-components-input-number.js +29 -15
  383. package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
  384. package/fesm5/taiga-ui-kit-components-input-phone-international.js +26 -10
  385. package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  386. package/fesm5/taiga-ui-kit-components-input-phone.js +16 -5
  387. package/fesm5/taiga-ui-kit-components-input-phone.js.map +1 -1
  388. package/fesm5/taiga-ui-kit-components-input-range.js +21 -16
  389. package/fesm5/taiga-ui-kit-components-input-range.js.map +1 -1
  390. package/fesm5/taiga-ui-kit-components-input-slider.js +16 -11
  391. package/fesm5/taiga-ui-kit-components-input-slider.js.map +1 -1
  392. package/fesm5/taiga-ui-kit-components-input-tag.js +5 -3
  393. package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
  394. package/fesm5/taiga-ui-kit-components-input-time.js +1 -0
  395. package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
  396. package/fesm5/taiga-ui-kit-components-multi-select.js +21 -7
  397. package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
  398. package/fesm5/taiga-ui-kit-components-progress.js +103 -0
  399. package/fesm5/taiga-ui-kit-components-progress.js.map +1 -0
  400. package/fesm5/taiga-ui-kit-components-radio.js +1 -1
  401. package/fesm5/taiga-ui-kit-components-range.js +2 -3
  402. package/fesm5/taiga-ui-kit-components-range.js.map +1 -1
  403. package/fesm5/taiga-ui-kit-components-select-option.js +1 -1
  404. package/fesm5/taiga-ui-kit-components-slider.js +2 -3
  405. package/fesm5/taiga-ui-kit-components-slider.js.map +1 -1
  406. package/fesm5/taiga-ui-kit-components-tabs.js +18 -10
  407. package/fesm5/taiga-ui-kit-components-tabs.js.map +1 -1
  408. package/fesm5/taiga-ui-kit-components-tag.js +1 -1
  409. package/fesm5/taiga-ui-kit-components-text-area.js +16 -2
  410. package/fesm5/taiga-ui-kit-components-text-area.js.map +1 -1
  411. package/fesm5/taiga-ui-kit-components-toggle.js +49 -24
  412. package/fesm5/taiga-ui-kit-components-toggle.js.map +1 -1
  413. package/fesm5/taiga-ui-kit-components.js +1 -0
  414. package/fesm5/taiga-ui-kit-components.js.map +1 -1
  415. package/fesm5/taiga-ui-kit-directives-dropdown-context.js +172 -0
  416. package/fesm5/taiga-ui-kit-directives-dropdown-context.js.map +1 -0
  417. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +1 -0
  418. package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
  419. package/fesm5/taiga-ui-kit-directives.js +1 -0
  420. package/fesm5/taiga-ui-kit-directives.js.map +1 -1
  421. package/fesm5/taiga-ui-kit-tokens.js +4 -1
  422. package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
  423. package/fesm5/taiga-ui-kit-utils-mask.js +8 -8
  424. package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
  425. package/fesm5/taiga-ui-kit-validators.js +1 -0
  426. package/fesm5/taiga-ui-kit-validators.js.map +1 -1
  427. package/interfaces/with-date-mask-pipe-config.d.ts +4 -1
  428. package/package.json +4 -4
  429. package/tokens/i18n.d.ts +2 -0
  430. package/tokens/taiga-ui-kit-tokens.metadata.json +1 -1
  431. package/utils/mask/create-auto-corrected-date-pipe.d.ts +3 -4
  432. package/utils/mask/create-auto-corrected-date-range-pipe.d.ts +2 -3
  433. package/utils/mask/create-auto-corrected-date-time-pipe.d.ts +2 -3
  434. package/utils/mask/taiga-ui-kit-utils-mask.metadata.json +1 -1
@@ -269,9 +269,10 @@
269
269
  }
270
270
 
271
271
  var TuiTabComponent = /** @class */ (function () {
272
- function TuiTabComponent(routerLinkActive, mode$, event$, mobileAware, isIos, isAndroid, focusVisible$) {
272
+ function TuiTabComponent(routerLinkActive, elementRef, mode$, event$, mobileAware, isIos, isAndroid, focusVisible$) {
273
273
  var _this = this;
274
274
  this.routerLinkActive = routerLinkActive;
275
+ this.elementRef = elementRef;
275
276
  this.mode$ = mode$;
276
277
  this.event$ = event$;
277
278
  this.focusVisible = false;
@@ -288,8 +289,14 @@
288
289
  enumerable: true,
289
290
  configurable: true
290
291
  });
292
+ TuiTabComponent.prototype.ngOnDestroy = function () {
293
+ if (cdk.isNativeFocused(this.elementRef.nativeElement)) {
294
+ cdk.setNativeFocused(this.elementRef.nativeElement, false);
295
+ }
296
+ };
291
297
  TuiTabComponent.ctorParameters = function () { return [
292
298
  { type: router.RouterLinkActive, decorators: [{ type: core.Optional }, { type: core.Inject, args: [router.RouterLinkActive,] }] },
299
+ { type: core.ElementRef, decorators: [{ type: core.Inject, args: [core.ElementRef,] }] },
293
300
  { type: rxjs.Observable, decorators: [{ type: core.Inject, args: [core$1.TUI_MODE,] }] },
294
301
  { type: rxjs.Observable, decorators: [{ type: core.Inject, args: [TUI_TAB_EVENT,] }] },
295
302
  { type: Boolean, decorators: [{ type: core.Inject, args: [tokens.TUI_MOBILE_AWARE,] }] },
@@ -319,16 +326,17 @@
319
326
  '($.data-mode.attr)': 'mode$',
320
327
  type: 'button',
321
328
  },
322
- styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:0;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity}:host:not(:last-child){margin-right:1.5rem}:host:hover{color:var(--tui-text-01)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:hover{color:#fff}:host[data-mode=onDark]._focus-visible .highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:rgba(0,0,0,.56)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .highlight{width:auto}.highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.highlight ::ng-deep>*{flex-shrink:0}"]
329
+ styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:0;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity}:host:not(:last-child){margin-right:1.5rem}:host:hover{color:var(--tui-text-01)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:hover{color:#fff}:host[data-mode=onDark]._focus-visible .highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .highlight{width:auto}.highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.highlight ::ng-deep>*{flex-shrink:0}"]
323
330
  }),
324
331
  __param(0, core.Optional()),
325
332
  __param(0, core.Inject(router.RouterLinkActive)),
326
- __param(1, core.Inject(core$1.TUI_MODE)),
327
- __param(2, core.Inject(TUI_TAB_EVENT)),
328
- __param(3, core.Inject(tokens.TUI_MOBILE_AWARE)),
329
- __param(4, core.Inject(cdk.TUI_IS_IOS)),
330
- __param(5, core.Inject(cdk.TUI_IS_ANDROID)),
331
- __param(6, core.Inject(cdk.TuiFocusVisibleService))
333
+ __param(1, core.Inject(core.ElementRef)),
334
+ __param(2, core.Inject(core$1.TUI_MODE)),
335
+ __param(3, core.Inject(TUI_TAB_EVENT)),
336
+ __param(4, core.Inject(tokens.TUI_MOBILE_AWARE)),
337
+ __param(5, core.Inject(cdk.TUI_IS_IOS)),
338
+ __param(6, core.Inject(cdk.TUI_IS_ANDROID)),
339
+ __param(7, core.Inject(cdk.TuiFocusVisibleService))
332
340
  ], TuiTabComponent);
333
341
  return TuiTabComponent;
334
342
  }());
@@ -783,7 +791,7 @@
783
791
  host: {
784
792
  '($.data-mode.attr)': 'mode$',
785
793
  },
786
- styles: [":host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;left:0;height:100%;color:var(--tui-primary);transform:scale(0);box-shadow:inset 0 -.1875rem 0 -.0625rem;transition-property:none;pointer-events:none}:host._ios{border-radius:.4375rem;background:var(--tui-base-01);box-shadow:0 .1875rem .0625rem rgba(0,0,0,.04),0 .1875rem .5rem rgba(0,0,0,.12)}:host._android{box-shadow:inset 0 -.1875rem var(--tui-link)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-01)}"]
794
+ styles: [":host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;left:0;height:100%;color:var(--tui-primary);transform:scale(0);box-shadow:inset 0 -.1875rem 0 -.0625rem;transition-property:none;pointer-events:none}:host._ios{border-radius:.4375rem;background:var(--tui-base-01);box-shadow:0 .1875rem .0625rem rgba(0,0,0,.04),0 .1875rem .5rem rgba(0,0,0,.12)}:host._android{box-shadow:inset 0 -.1875rem var(--tui-link)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-02)}"]
787
795
  }),
788
796
  __param(0, core.Inject(core.ElementRef)),
789
797
  __param(1, core.Inject(core.NgZone)),
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-kit-components-tabs.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/tabs/tab.directive.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.providers.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.const.ts","ng://@taiga-ui/kit/components/tabs/tabs/tabs.component.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.providers.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.component.ts","ng://@taiga-ui/kit/components/tabs/underline/underline.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Directive, Inject, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiTab]`,\n})\nexport class TuiTabDirective {\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {\n identity,\n tuiCustomEvent,\n TuiDestroyService,\n TuiFocusVisibleService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nexport const TUI_TAB_ACTIVATE = 'tui-tab-activate';\nexport const TUI_TAB_EVENT = new InjectionToken<Observable<Event>>(\n 'Stream of tab activation events',\n);\nexport const TUI_TAB_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiFocusVisibleService,\n TuiRouterLinkActiveService,\n {\n provide: TUI_TAB_EVENT,\n deps: [\n ElementRef,\n DOCUMENT,\n TuiRouterLinkActiveService,\n [new Optional(), MutationObserverService],\n [new Optional(), RouterLinkActive],\n ],\n useFactory: tabActiveFactory,\n },\n MODE_PROVIDER,\n];\n\nexport function tabActiveFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n documentRef: Document,\n routerLinkActiveService: Observable<boolean>,\n mutationObserverService: MutationObserverService | null,\n routerLinkActive: RouterLinkActive | null,\n): Observable<unknown> {\n const mutationObserver =\n routerLinkActive && mutationObserverService\n ? mutationObserverService.pipe(filter(() => routerLinkActive.isActive))\n : EMPTY;\n\n return merge(\n mutationObserver,\n routerLinkActiveService.pipe(filter(identity)),\n nativeElement.matches('button') ? typedFromEvent(nativeElement, 'click') : EMPTY,\n ).pipe(\n map(() =>\n nativeElement.dispatchEvent(\n tuiCustomEvent(TUI_TAB_ACTIVATE, {bubbles: true}, documentRef),\n ),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n HostBinding,\n Inject,\n Optional,\n} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {TUI_IS_ANDROID, TUI_IS_IOS, TuiFocusVisibleService} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {TUI_TAB_EVENT, TUI_TAB_PROVIDERS} from './tab.providers';\n\n@Component({\n selector: `a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]`,\n templateUrl: './tab.template.html',\n styleUrls: ['./tab.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TAB_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n type: 'button',\n },\n})\nexport class TuiTabComponent {\n @HostBinding('class._ios')\n readonly isIos: boolean;\n\n @HostBinding('class._android')\n readonly isAndroid: boolean;\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n private readonly routerLinkActive: RouterLinkActive | null,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TAB_EVENT) readonly event$: Observable<Event>,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return !!this.routerLinkActive && this.routerLinkActive.isActive;\n }\n}\n","export const TAB_ACTIVE_CLASS = '_active';\nexport const TAB_MARGIN = 24;\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {\n EMPTY_QUERY,\n itemsQueryListObservable,\n moveFocus,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo} from 'rxjs/operators';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TUI_TAB_ACTIVATE} from '../tab/tab.providers';\nimport {TAB_ACTIVE_CLASS} from '../tabs.const';\n\n// TODO: remove in ivy compilation\nexport const OBSERVER_INIT = {\n childList: true,\n};\n\n// @dynamic\n@Component({\n selector: 'tui-tabs, nav[tuiTabs]',\n templateUrl: './tabs.template.html',\n styleUrls: ['./tabs.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-zero-scrollbar',\n },\n providers: [\n TuiDestroyService,\n TuiResizeService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: OBSERVER_INIT,\n },\n ],\n})\nexport class TuiTabsComponent implements AfterViewChecked {\n @Input()\n @HostBinding('class._underline')\n @tuiDefaultProp()\n underline = true;\n\n @Input('activeItemIndex')\n set activeItemIndexSetter(index: number) {\n this.activeItemIndex = index;\n this.scrollTo(this.tabs[index]);\n }\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @HostBinding('class._ios')\n readonly isIos: boolean;\n\n @HostBinding('class._android')\n readonly isAndroid: boolean;\n\n @ContentChildren(forwardRef(() => TuiTabComponent))\n private readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiResizeService) resize$: Observable<void>,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n resize$.pipe(filter(() => this.underline)).subscribe(() => {\n changeDetectorRef.detectChanges();\n });\n }\n\n @tuiPure\n get refresh$(): Observable<boolean> {\n return itemsQueryListObservable(this.children).pipe(mapTo(true));\n }\n\n get tabs(): ReadonlyArray<HTMLElement> {\n return Array.from(\n this.elementRef.nativeElement.querySelectorAll<HTMLElement>('[tuiTab]'),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n ngAfterViewChecked() {\n const {tabs, activeElement} = this;\n\n tabs.forEach(nativeElement => {\n this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(nativeElement, 'tabIndex', '-1');\n });\n\n if (activeElement) {\n this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(activeElement, 'tabIndex', '0');\n }\n }\n\n @HostListener(`${TUI_TAB_ACTIVATE}.stop`, ['$event.target'])\n onActivate(element: HTMLElement) {\n const index = this.tabs.findIndex(tab => tab === element);\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexSetter = index;\n this.activeItemIndexChange.emit(index);\n }\n\n @HostListener('keydown.arrowRight.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowLeft.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number) {\n const {tabs} = this;\n\n moveFocus(tabs.indexOf(current), tabs, step);\n }\n\n private scrollTo(element?: HTMLElement) {\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n const {nativeElement} = this.elementRef;\n\n if (offsetLeft < nativeElement.scrollLeft) {\n nativeElement.scrollLeft = offsetLeft;\n }\n\n if (\n offsetLeft + offsetWidth >\n nativeElement.scrollLeft + nativeElement.offsetWidth\n ) {\n nativeElement.scrollLeft =\n offsetLeft + offsetWidth - nativeElement.offsetWidth;\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectorRef, ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {TuiDestroyService, TuiResizeService} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {debounceTime, filter, startWith, takeUntil, tap} from 'rxjs/operators';\n\nexport function tabsRefreshFactory(\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n destroy$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<unknown> {\n return merge(\n resize$,\n mutations$.pipe(tap(() => changeDetectorRef.detectChanges())),\n ).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntil(destroy$),\n );\n}\n\n// TODO: remove in ivy compilation\nexport const MUTATION_CONFIG = {\n childList: true,\n subtree: true,\n};\nexport const TABS_REFRESH = new InjectionToken<Observable<unknown>>('Refresh stream');\nexport const TABS_PROVIDERS: Provider[] = [\n TuiResizeService,\n TuiDestroyService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: MUTATION_CONFIG,\n },\n {\n provide: TABS_REFRESH,\n deps: [\n TuiResizeService,\n MutationObserverService,\n TuiDestroyService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: tabsRefreshFactory,\n },\n];\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestFocusable,\n isNativeFocused,\n setNativeFocused,\n tuiDefaultProp,\n} from '@taiga-ui/cdk';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\nimport {TuiTabDirective} from '../tab.directive';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TAB_MARGIN} from '../tabs.const';\nimport {TABS_PROVIDERS, TABS_REFRESH} from './tabs-with-more.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-tabs-with-more, nav[tuiTabsWithMore]',\n templateUrl: './tabs-with-more.template.html',\n styleUrls: ['./tabs-with-more.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TABS_PROVIDERS,\n})\nexport class TuiTabsWithMoreComponent implements AfterViewInit {\n @Input()\n @tuiDefaultProp()\n moreContent: PolymorpheusContent = '';\n\n @Input()\n @HostBinding('class._underline')\n @tuiDefaultProp()\n underline = true;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Input()\n @tuiDefaultProp()\n itemsLimit = Infinity;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiTabDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<{}>> = EMPTY_QUERY;\n\n open = false;\n\n private maxIndex = Infinity;\n\n @ViewChild(TuiTabComponent, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n constructor(\n @Inject(TABS_REFRESH) private readonly refresh$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n get tabs(): ReadonlyArray<HTMLElement> {\n return Array.from<HTMLElement>(\n this.elementRef.nativeElement.querySelectorAll('[tuiTab]'),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n get isMoreFocusable(): boolean {\n return !!this.moreButton && isNativeFocused(this.moreButton.nativeElement);\n }\n\n get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset = this.itemsLimit - 1 > this.activeItemIndex ? 1 : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n ngAfterViewInit() {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n filter(maxIndex => this.maxIndex !== maxIndex),\n )\n .subscribe(maxIndex => {\n this.maxIndex = maxIndex;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n onActiveItemIndexChange(activeItemIndex: number) {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n onClick(index: number) {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n onArrowRight(element: HTMLElement) {\n if (isNativeFocused(element)) {\n this.focusMore();\n }\n }\n\n onArrowLeft() {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n setNativeFocused(tabs[index]);\n\n if (isNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n onWrapperArrow(button: HTMLButtonElement, wrapper: HTMLElement, prev: boolean) {\n const target = getClosestFocusable(button, prev, wrapper);\n\n if (target) {\n setNativeFocused(target);\n }\n }\n\n private focusMore() {\n if (this.moreButton) {\n setNativeFocused(this.moreButton.nativeElement);\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const activeWidth = tabs[activeItemIndex] ? tabs[activeItemIndex].scrollWidth : 0;\n const moreWidth = tabs[tabs.length - 1].scrollWidth;\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, tab) => acc + tab.scrollWidth, 0) +\n maxIndex * TAB_MARGIN -\n moreWidth;\n\n if (total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= tabs[maxIndex].scrollWidth + TAB_MARGIN;\n maxIndex--;\n\n const activeDisplaced = activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + TAB_MARGIN : 0;\n const currentWidth = total + activeOffset + moreWidth + TAB_MARGIN;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = this.maxIndex === maxIndex - 1 ? 1 : 0;\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return 0;\n }\n\n private updateActiveItemIndex(activeItemIndex: number) {\n if (this.activeItemIndex === activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n this.maxIndex = this.getMaxIndex();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {px, TUI_IS_ANDROID, TUI_IS_IOS, tuiDefaultProp, tuiZonefree} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {asCallable} from '@tinkoff/ng-event-plugins';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {debounceTime, map, mapTo, share, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-underline',\n template: '',\n styleUrls: ['./underline.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiUnderlineComponent {\n @Input()\n @tuiDefaultProp()\n set element(element: HTMLElement | null) {\n this.element$.next(element);\n }\n\n @HostBinding('class._ios')\n readonly isIos = this.mobileAware && this.ios;\n\n @HostBinding('class._android')\n readonly isAndroid = this.mobileAware && this.android;\n\n private readonly element$ = new ReplaySubject<HTMLElement | null>(1);\n\n private readonly refresh$ = this.element$.pipe(\n switchMap(element =>\n element\n ? this.animationFrame$.pipe(mapTo(element), tuiZonefree(this.ngZone))\n : of(null),\n ),\n share(),\n );\n\n @HostListener('$.style.transitionProperty')\n readonly transition$ = asCallable(\n this.element$.pipe(\n map(element => element && 'all'),\n debounceTime(50),\n ),\n );\n\n @HostListener('$.style.transform')\n readonly transform$ = asCallable(\n this.refresh$.pipe(\n map(element =>\n element ? `translate3d(${px(element.offsetLeft)}, 0, 0)` : null,\n ),\n ),\n );\n\n @HostListener('$.style.width.px')\n readonly width$ = asCallable(\n this.refresh$.pipe(map(element => (element ? element.clientWidth : 0))),\n );\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MOBILE_AWARE) private readonly mobileAware: boolean,\n @Inject(TUI_IS_IOS) private readonly ios: boolean,\n @Inject(TUI_IS_ANDROID) private readonly android: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n nativeElement['$.style.transitionProperty'] = this.transition$;\n nativeElement['$.style.transform'] = this.transform$;\n nativeElement['$.style.width.px'] = this.width$;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiHostedDropdownModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiTabDirective} from './tab.directive';\nimport {TuiTabComponent} from './tab/tab.component';\nimport {TuiTabsWithMoreComponent} from './tabs-with-more/tabs-with-more.component';\nimport {TuiTabsComponent} from './tabs/tabs.component';\nimport {TuiUnderlineComponent} from './underline/underline.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiFocusableModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiUnderlineComponent,\n TuiTabDirective,\n ],\n exports: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiTabDirective,\n ],\n})\nexport class TuiTabsModule {}\n"],"names":["TemplateRef","Inject","Directive","InjectionToken","TuiDestroyService","TuiFocusVisibleService","TuiRouterLinkActiveService","ElementRef","DOCUMENT","Optional","MutationObserverService","RouterLinkActive","MODE_PROVIDER","filter","EMPTY","merge","identity","typedFromEvent","map","tuiCustomEvent","Observable","TUI_MODE","TUI_MOBILE_AWARE","TUI_IS_IOS","TUI_IS_ANDROID","HostBinding","Component","ChangeDetectionStrategy","EventEmitter","EMPTY_QUERY","itemsQueryListObservable","mapTo","moveFocus","Renderer2","ChangeDetectorRef","TuiResizeService","Input","tuiDefaultProp","Output","ContentChildren","forwardRef","tuiPure","HostListener","MUTATION_OBSERVER_INIT","tap","debounceTime","startWith","takeUntil","isNativeFocused","setNativeFocused","getClosestFocusable","TUI_MORE_WORD","ViewChild","ReplaySubject","switchMap","tuiZonefree","of","share","asCallable","px","NgZone","ANIMATION_FRAME","NgModule","CommonModule","TuiHostedDropdownModule","TuiSvgModule","TuiFocusableModule","PolymorpheusModule"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-kit-components-tabs.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","ng://@taiga-ui/kit/components/tabs/tab.directive.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.providers.ts","ng://@taiga-ui/kit/components/tabs/tab/tab.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.const.ts","ng://@taiga-ui/kit/components/tabs/tabs/tabs.component.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.providers.ts","ng://@taiga-ui/kit/components/tabs/tabs-with-more/tabs-with-more.component.ts","ng://@taiga-ui/kit/components/tabs/underline/underline.component.ts","ng://@taiga-ui/kit/components/tabs/tabs.module.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {Directive, Inject, TemplateRef} from '@angular/core';\n\n@Directive({\n selector: `ng-template[tuiTab]`,\n})\nexport class TuiTabDirective {\n constructor(@Inject(TemplateRef) readonly template: TemplateRef<{}>) {}\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ElementRef, InjectionToken, Optional, Provider} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {\n identity,\n tuiCustomEvent,\n TuiDestroyService,\n TuiFocusVisibleService,\n typedFromEvent,\n} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {EMPTY, merge, Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\n\nexport const TUI_TAB_ACTIVATE = 'tui-tab-activate';\nexport const TUI_TAB_EVENT = new InjectionToken<Observable<Event>>(\n 'Stream of tab activation events',\n);\nexport const TUI_TAB_PROVIDERS: Provider[] = [\n TuiDestroyService,\n TuiFocusVisibleService,\n TuiRouterLinkActiveService,\n {\n provide: TUI_TAB_EVENT,\n deps: [\n ElementRef,\n DOCUMENT,\n TuiRouterLinkActiveService,\n [new Optional(), MutationObserverService],\n [new Optional(), RouterLinkActive],\n ],\n useFactory: tabActiveFactory,\n },\n MODE_PROVIDER,\n];\n\nexport function tabActiveFactory(\n {nativeElement}: ElementRef<HTMLElement>,\n documentRef: Document,\n routerLinkActiveService: Observable<boolean>,\n mutationObserverService: MutationObserverService | null,\n routerLinkActive: RouterLinkActive | null,\n): Observable<unknown> {\n const mutationObserver =\n routerLinkActive && mutationObserverService\n ? mutationObserverService.pipe(filter(() => routerLinkActive.isActive))\n : EMPTY;\n\n return merge(\n mutationObserver,\n routerLinkActiveService.pipe(filter(identity)),\n nativeElement.matches('button') ? typedFromEvent(nativeElement, 'click') : EMPTY,\n ).pipe(\n map(() =>\n nativeElement.dispatchEvent(\n tuiCustomEvent(TUI_TAB_ACTIVATE, {bubbles: true}, documentRef),\n ),\n ),\n );\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n Inject,\n OnDestroy,\n Optional,\n} from '@angular/core';\nimport {RouterLinkActive} from '@angular/router';\nimport {\n isNativeFocused,\n setNativeFocused,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n TuiFocusVisibleService,\n} from '@taiga-ui/cdk';\nimport {TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {TUI_TAB_EVENT, TUI_TAB_PROVIDERS} from './tab.providers';\n\n@Component({\n selector: `a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]`,\n templateUrl: './tab.template.html',\n styleUrls: ['./tab.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TAB_PROVIDERS,\n host: {\n '($.data-mode.attr)': 'mode$',\n type: 'button',\n },\n})\nexport class TuiTabComponent implements OnDestroy {\n @HostBinding('class._ios')\n readonly isIos: boolean;\n\n @HostBinding('class._android')\n readonly isAndroid: boolean;\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Optional()\n @Inject(RouterLinkActive)\n private readonly routerLinkActive: RouterLinkActive | null,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n @Inject(TUI_TAB_EVENT) readonly event$: Observable<Event>,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return !!this.routerLinkActive && this.routerLinkActive.isActive;\n }\n\n ngOnDestroy() {\n if (isNativeFocused(this.elementRef.nativeElement)) {\n setNativeFocused(this.elementRef.nativeElement, false);\n }\n }\n}\n","export const TAB_ACTIVE_CLASS = '_active';\nexport const TAB_MARGIN = 24;\n","import {\n AfterViewChecked,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n QueryList,\n Renderer2,\n} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {\n EMPTY_QUERY,\n itemsQueryListObservable,\n moveFocus,\n TUI_IS_ANDROID,\n TUI_IS_IOS,\n tuiDefaultProp,\n TuiDestroyService,\n tuiPure,\n TuiResizeService,\n} from '@taiga-ui/cdk';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo} from 'rxjs/operators';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TUI_TAB_ACTIVATE} from '../tab/tab.providers';\nimport {TAB_ACTIVE_CLASS} from '../tabs.const';\n\n// TODO: remove in ivy compilation\nexport const OBSERVER_INIT = {\n childList: true,\n};\n\n// @dynamic\n@Component({\n selector: 'tui-tabs, nav[tuiTabs]',\n templateUrl: './tabs.template.html',\n styleUrls: ['./tabs.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-zero-scrollbar',\n },\n providers: [\n TuiDestroyService,\n TuiResizeService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: OBSERVER_INIT,\n },\n ],\n})\nexport class TuiTabsComponent implements AfterViewChecked {\n @Input()\n @HostBinding('class._underline')\n @tuiDefaultProp()\n underline = true;\n\n @Input('activeItemIndex')\n set activeItemIndexSetter(index: number) {\n this.activeItemIndex = index;\n this.scrollTo(this.tabs[index]);\n }\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @HostBinding('class._ios')\n readonly isIos: boolean;\n\n @HostBinding('class._android')\n readonly isAndroid: boolean;\n\n @ContentChildren(forwardRef(() => TuiTabComponent))\n private readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n activeItemIndex = 0;\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(Renderer2) private readonly renderer: Renderer2,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiResizeService) resize$: Observable<void>,\n @Inject(TUI_IS_IOS) isIos: boolean,\n @Inject(TUI_IS_ANDROID) isAndroid: boolean,\n @Inject(TUI_MOBILE_AWARE) mobileAware: boolean,\n ) {\n this.isIos = mobileAware && isIos;\n this.isAndroid = mobileAware && isAndroid;\n\n resize$.pipe(filter(() => this.underline)).subscribe(() => {\n changeDetectorRef.detectChanges();\n });\n }\n\n @tuiPure\n get refresh$(): Observable<boolean> {\n return itemsQueryListObservable(this.children).pipe(mapTo(true));\n }\n\n get tabs(): ReadonlyArray<HTMLElement> {\n return Array.from(\n this.elementRef.nativeElement.querySelectorAll<HTMLElement>('[tuiTab]'),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n ngAfterViewChecked() {\n const {tabs, activeElement} = this;\n\n tabs.forEach(nativeElement => {\n this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(nativeElement, 'tabIndex', '-1');\n });\n\n if (activeElement) {\n this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);\n this.renderer.setAttribute(activeElement, 'tabIndex', '0');\n }\n }\n\n @HostListener(`${TUI_TAB_ACTIVATE}.stop`, ['$event.target'])\n onActivate(element: HTMLElement) {\n const index = this.tabs.findIndex(tab => tab === element);\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexSetter = index;\n this.activeItemIndexChange.emit(index);\n }\n\n @HostListener('keydown.arrowRight.prevent', ['$event.target', '1'])\n @HostListener('keydown.arrowLeft.prevent', ['$event.target', '-1'])\n onKeyDownArrow(current: HTMLElement, step: number) {\n const {tabs} = this;\n\n moveFocus(tabs.indexOf(current), tabs, step);\n }\n\n private scrollTo(element?: HTMLElement) {\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n const {nativeElement} = this.elementRef;\n\n if (offsetLeft < nativeElement.scrollLeft) {\n nativeElement.scrollLeft = offsetLeft;\n }\n\n if (\n offsetLeft + offsetWidth >\n nativeElement.scrollLeft + nativeElement.offsetWidth\n ) {\n nativeElement.scrollLeft =\n offsetLeft + offsetWidth - nativeElement.offsetWidth;\n }\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {ChangeDetectorRef, ElementRef, InjectionToken, Provider} from '@angular/core';\nimport {\n MUTATION_OBSERVER_INIT,\n MutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {TuiDestroyService, TuiResizeService} from '@taiga-ui/cdk';\nimport {merge, Observable} from 'rxjs';\nimport {debounceTime, filter, startWith, takeUntil, tap} from 'rxjs/operators';\n\nexport function tabsRefreshFactory(\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n destroy$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n changeDetectorRef: ChangeDetectorRef,\n): Observable<unknown> {\n return merge(\n resize$,\n mutations$.pipe(tap(() => changeDetectorRef.detectChanges())),\n ).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntil(destroy$),\n );\n}\n\n// TODO: remove in ivy compilation\nexport const MUTATION_CONFIG = {\n childList: true,\n subtree: true,\n};\nexport const TABS_REFRESH = new InjectionToken<Observable<unknown>>('Refresh stream');\nexport const TABS_PROVIDERS: Provider[] = [\n TuiResizeService,\n TuiDestroyService,\n MutationObserverService,\n {\n provide: MUTATION_OBSERVER_INIT,\n useValue: MUTATION_CONFIG,\n },\n {\n provide: TABS_REFRESH,\n deps: [\n TuiResizeService,\n MutationObserverService,\n TuiDestroyService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: tabsRefreshFactory,\n },\n];\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n HostBinding,\n Inject,\n Input,\n Output,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getClosestFocusable,\n isNativeFocused,\n setNativeFocused,\n tuiDefaultProp,\n} from '@taiga-ui/cdk';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\nimport {filter, map} from 'rxjs/operators';\nimport {TuiTabDirective} from '../tab.directive';\nimport {TuiTabComponent} from '../tab/tab.component';\nimport {TAB_MARGIN} from '../tabs.const';\nimport {TABS_PROVIDERS, TABS_REFRESH} from './tabs-with-more.providers';\n\n// @dynamic\n@Component({\n selector: 'tui-tabs-with-more, nav[tuiTabsWithMore]',\n templateUrl: './tabs-with-more.template.html',\n styleUrls: ['./tabs-with-more.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TABS_PROVIDERS,\n})\nexport class TuiTabsWithMoreComponent implements AfterViewInit {\n @Input()\n @tuiDefaultProp()\n moreContent: PolymorpheusContent = '';\n\n @Input()\n @HostBinding('class._underline')\n @tuiDefaultProp()\n underline = true;\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Input()\n @tuiDefaultProp()\n itemsLimit = Infinity;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @ContentChildren(TuiTabDirective, {read: TemplateRef})\n readonly items: QueryList<TemplateRef<{}>> = EMPTY_QUERY;\n\n open = false;\n\n private maxIndex = Infinity;\n\n @ViewChild(TuiTabComponent, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n constructor(\n @Inject(TABS_REFRESH) private readonly refresh$: Observable<unknown>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ChangeDetectorRef) private readonly changeDetectorRef: ChangeDetectorRef,\n @Inject(TUI_MORE_WORD) readonly moreWord$: Observable<string>,\n ) {}\n\n get tabs(): ReadonlyArray<HTMLElement> {\n return Array.from<HTMLElement>(\n this.elementRef.nativeElement.querySelectorAll('[tuiTab]'),\n );\n }\n\n get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n get isMoreFocusable(): boolean {\n return !!this.moreButton && isNativeFocused(this.moreButton.nativeElement);\n }\n\n get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset = this.itemsLimit - 1 > this.activeItemIndex ? 1 : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n ngAfterViewInit() {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n filter(maxIndex => this.maxIndex !== maxIndex),\n )\n .subscribe(maxIndex => {\n this.maxIndex = maxIndex;\n this.changeDetectorRef.detectChanges();\n });\n }\n\n onActiveItemIndexChange(activeItemIndex: number) {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n onClick(index: number) {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n onArrowRight(element: HTMLElement) {\n if (isNativeFocused(element)) {\n this.focusMore();\n }\n }\n\n onArrowLeft() {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n setNativeFocused(tabs[index]);\n\n if (isNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n onWrapperArrow(button: HTMLButtonElement, wrapper: HTMLElement, prev: boolean) {\n const target = getClosestFocusable(button, prev, wrapper);\n\n if (target) {\n setNativeFocused(target);\n }\n }\n\n private focusMore() {\n if (this.moreButton) {\n setNativeFocused(this.moreButton.nativeElement);\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {clientWidth} = this.elementRef.nativeElement;\n const activeWidth = tabs[activeItemIndex] ? tabs[activeItemIndex].scrollWidth : 0;\n const moreWidth = tabs[tabs.length - 1].scrollWidth;\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, tab) => acc + tab.scrollWidth, 0) +\n maxIndex * TAB_MARGIN -\n moreWidth;\n\n if (total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= tabs[maxIndex].scrollWidth + TAB_MARGIN;\n maxIndex--;\n\n const activeDisplaced = activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + TAB_MARGIN : 0;\n const currentWidth = total + activeOffset + moreWidth + TAB_MARGIN;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = this.maxIndex === maxIndex - 1 ? 1 : 0;\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return 0;\n }\n\n private updateActiveItemIndex(activeItemIndex: number) {\n if (this.activeItemIndex === activeItemIndex) {\n return;\n }\n\n this.activeItemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n this.maxIndex = this.getMaxIndex();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n NgZone,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {px, TUI_IS_ANDROID, TUI_IS_IOS, tuiDefaultProp, tuiZonefree} from '@taiga-ui/cdk';\nimport {MODE_PROVIDER, TUI_MODE, TuiBrightness} from '@taiga-ui/core';\nimport {TUI_MOBILE_AWARE} from '@taiga-ui/kit/tokens';\nimport {asCallable} from '@tinkoff/ng-event-plugins';\nimport {Observable, of, ReplaySubject} from 'rxjs';\nimport {debounceTime, map, mapTo, share, switchMap} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-underline',\n template: '',\n styleUrls: ['./underline.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiUnderlineComponent {\n @Input()\n @tuiDefaultProp()\n set element(element: HTMLElement | null) {\n this.element$.next(element);\n }\n\n @HostBinding('class._ios')\n readonly isIos = this.mobileAware && this.ios;\n\n @HostBinding('class._android')\n readonly isAndroid = this.mobileAware && this.android;\n\n private readonly element$ = new ReplaySubject<HTMLElement | null>(1);\n\n private readonly refresh$ = this.element$.pipe(\n switchMap(element =>\n element\n ? this.animationFrame$.pipe(mapTo(element), tuiZonefree(this.ngZone))\n : of(null),\n ),\n share(),\n );\n\n @HostListener('$.style.transitionProperty')\n readonly transition$ = asCallable(\n this.element$.pipe(\n map(element => element && 'all'),\n debounceTime(50),\n ),\n );\n\n @HostListener('$.style.transform')\n readonly transform$ = asCallable(\n this.refresh$.pipe(\n map(element =>\n element ? `translate3d(${px(element.offsetLeft)}, 0, 0)` : null,\n ),\n ),\n );\n\n @HostListener('$.style.width.px')\n readonly width$ = asCallable(\n this.refresh$.pipe(map(element => (element ? element.clientWidth : 0))),\n );\n\n constructor(\n @Inject(ElementRef) {nativeElement}: ElementRef,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MOBILE_AWARE) private readonly mobileAware: boolean,\n @Inject(TUI_IS_IOS) private readonly ios: boolean,\n @Inject(TUI_IS_ANDROID) private readonly android: boolean,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {\n nativeElement['$.style.transitionProperty'] = this.transition$;\n nativeElement['$.style.transform'] = this.transform$;\n nativeElement['$.style.width.px'] = this.width$;\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiFocusableModule} from '@taiga-ui/cdk';\nimport {TuiHostedDropdownModule, TuiSvgModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\nimport {TuiTabDirective} from './tab.directive';\nimport {TuiTabComponent} from './tab/tab.component';\nimport {TuiTabsWithMoreComponent} from './tabs-with-more/tabs-with-more.component';\nimport {TuiTabsComponent} from './tabs/tabs.component';\nimport {TuiUnderlineComponent} from './underline/underline.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiHostedDropdownModule,\n TuiSvgModule,\n TuiFocusableModule,\n PolymorpheusModule,\n ],\n declarations: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiUnderlineComponent,\n TuiTabDirective,\n ],\n exports: [\n TuiTabsWithMoreComponent,\n TuiTabsComponent,\n TuiTabComponent,\n TuiTabDirective,\n ],\n})\nexport class TuiTabsModule {}\n"],"names":["TemplateRef","Inject","Directive","InjectionToken","TuiDestroyService","TuiFocusVisibleService","TuiRouterLinkActiveService","ElementRef","DOCUMENT","Optional","MutationObserverService","RouterLinkActive","MODE_PROVIDER","filter","EMPTY","merge","identity","typedFromEvent","map","tuiCustomEvent","isNativeFocused","setNativeFocused","Observable","TUI_MODE","TUI_MOBILE_AWARE","TUI_IS_IOS","TUI_IS_ANDROID","HostBinding","Component","ChangeDetectionStrategy","EventEmitter","EMPTY_QUERY","itemsQueryListObservable","mapTo","moveFocus","Renderer2","ChangeDetectorRef","TuiResizeService","Input","tuiDefaultProp","Output","ContentChildren","forwardRef","tuiPure","HostListener","MUTATION_OBSERVER_INIT","tap","debounceTime","startWith","takeUntil","getClosestFocusable","TUI_MORE_WORD","ViewChild","ReplaySubject","switchMap","tuiZonefree","of","share","asCallable","px","NgZone","ANIMATION_FRAME","NgModule","CommonModule","TuiHostedDropdownModule","TuiSvgModule","TuiFocusableModule","PolymorpheusModule"],"mappings":"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"}
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */function h(e,t,n,i){var o,r=arguments.length,a=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(r<3?o(a):r>3?o(t,n,a):o(t,n))||a);return r>3&&a&&Object.defineProperty(t,n,a),a}function m(e,t){return function(n,i){t(n,i,e)}}var f=function(){function e(e){this.template=e}return e.ctorParameters=function(){return[{type:t.TemplateRef,decorators:[{type:t.Inject,args:[t.TemplateRef]}]}]},e=h([t.Directive({selector:"ng-template[tuiTab]"}),m(0,t.Inject(t.TemplateRef))],e)}(),g=new t.InjectionToken("Stream of tab activation events"),v=[i.TuiDestroyService,i.TuiFocusVisibleService,o.TuiRouterLinkActiveService,{provide:g,deps:[t.ElementRef,s.DOCUMENT,o.TuiRouterLinkActiveService,[new t.Optional,c.MutationObserverService],[new t.Optional,n.RouterLinkActive]],useFactory:I},o.MODE_PROVIDER];function I(e,t,n,o,r){var s=e.nativeElement,c=r&&o?o.pipe(u.filter((function(){return r.isActive}))):a.EMPTY;return a.merge(c,n.pipe(u.filter(i.identity)),s.matches("button")?i.typedFromEvent(s,"click"):a.EMPTY).pipe(u.map((function(){return s.dispatchEvent(i.tuiCustomEvent("tui-tab-activate",{bubbles:!0},t))})))}var b=function(){function e(e,t,n,i,o,r,a){var s=this;this.routerLinkActive=e,this.mode$=t,this.event$=n,this.focusVisible=!1,this.isIos=i&&o,this.isAndroid=i&&r,a.subscribe((function(e){s.focusVisible=e}))}return Object.defineProperty(e.prototype,"isActive",{get:function(){return!!this.routerLinkActive&&this.routerLinkActive.isActive},enumerable:!0,configurable:!0}),e.ctorParameters=function(){return[{type:n.RouterLinkActive,decorators:[{type:t.Optional},{type:t.Inject,args:[n.RouterLinkActive]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[o.TUI_MODE]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[g]}]},{type:Boolean,decorators:[{type:t.Inject,args:[r.TUI_MOBILE_AWARE]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_IOS]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_ANDROID]}]},{type:i.TuiFocusVisibleService,decorators:[{type:t.Inject,args:[i.TuiFocusVisibleService]}]}]},h([t.HostBinding("class._ios")],e.prototype,"isIos",void 0),h([t.HostBinding("class._android")],e.prototype,"isAndroid",void 0),h([t.HostBinding("class._focus-visible")],e.prototype,"focusVisible",void 0),h([t.HostBinding("class._active")],e.prototype,"isActive",null),e=h([t.Component({selector:"a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]",template:'<ng-container *ngIf="event$ | async"></ng-container>\n<span class="highlight"><ng-content></ng-content></span>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,providers:v,host:{"($.data-mode.attr)":"mode$",type:"button"},styles:[":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:0;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity}:host:not(:last-child){margin-right:1.5rem}:host:hover{color:var(--tui-text-01)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:hover{color:#fff}:host[data-mode=onDark]._focus-visible .highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:rgba(0,0,0,.56)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .highlight{width:auto}.highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.highlight ::ng-deep>*{flex-shrink:0}"]}),m(0,t.Optional()),m(0,t.Inject(n.RouterLinkActive)),m(1,t.Inject(o.TUI_MODE)),m(2,t.Inject(g)),m(3,t.Inject(r.TUI_MOBILE_AWARE)),m(4,t.Inject(i.TUI_IS_IOS)),m(5,t.Inject(i.TUI_IS_ANDROID)),m(6,t.Inject(i.TuiFocusVisibleService))],e)}(),y={childList:!0},x=function(){function e(e,n,o,r,a,s,c){var l=this;this.elementRef=e,this.renderer=n,this.underline=!0,this.activeItemIndexChange=new t.EventEmitter,this.children=i.EMPTY_QUERY,this.activeItemIndex=0,this.isIos=c&&a,this.isAndroid=c&&s,r.pipe(u.filter((function(){return l.underline}))).subscribe((function(){o.detectChanges()}))}return Object.defineProperty(e.prototype,"activeItemIndexSetter",{set:function(e){this.activeItemIndex=e,this.scrollTo(this.tabs[e])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"refresh$",{get:function(){return i.itemsQueryListObservable(this.children).pipe(u.mapTo(!0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tabs",{get:function(){return Array.from(this.elementRef.nativeElement.querySelectorAll("[tuiTab]"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeElement",{get:function(){return this.tabs[this.activeItemIndex]||null},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewChecked=function(){var e=this,t=this.tabs,n=this.activeElement;t.forEach((function(t){e.renderer.removeClass(t,"_active"),e.renderer.setAttribute(t,"tabIndex","-1")})),n&&(this.renderer.addClass(n,"_active"),this.renderer.setAttribute(n,"tabIndex","0"))},e.prototype.onActivate=function(e){var t=this.tabs.findIndex((function(t){return t===e}));t!==this.activeItemIndex&&(this.activeItemIndexSetter=t,this.activeItemIndexChange.emit(t))},e.prototype.onKeyDownArrow=function(e,t){var n=this.tabs;i.moveFocus(n.indexOf(e),n,t)},e.prototype.scrollTo=function(e){if(e){var t=e.offsetLeft,n=e.offsetWidth,i=this.elementRef.nativeElement;t<i.scrollLeft&&(i.scrollLeft=t),t+n>i.scrollLeft+i.offsetWidth&&(i.scrollLeft=t+n-i.offsetWidth)}},e.ctorParameters=function(){return[{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:t.Renderer2,decorators:[{type:t.Inject,args:[t.Renderer2]}]},{type:t.ChangeDetectorRef,decorators:[{type:t.Inject,args:[t.ChangeDetectorRef]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[i.TuiResizeService]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_IOS]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_ANDROID]}]},{type:Boolean,decorators:[{type:t.Inject,args:[r.TUI_MOBILE_AWARE]}]}]},h([t.Input(),t.HostBinding("class._underline"),i.tuiDefaultProp()],e.prototype,"underline",void 0),h([t.Input("activeItemIndex")],e.prototype,"activeItemIndexSetter",null),h([t.Output()],e.prototype,"activeItemIndexChange",void 0),h([t.HostBinding("class._ios")],e.prototype,"isIos",void 0),h([t.HostBinding("class._android")],e.prototype,"isAndroid",void 0),h([t.ContentChildren(t.forwardRef((function(){return b})))],e.prototype,"children",void 0),h([i.tuiPure],e.prototype,"refresh$",null),h([t.HostListener("tui-tab-activate.stop",["$event.target"])],e.prototype,"onActivate",null),h([t.HostListener("keydown.arrowRight.prevent",["$event.target","1"]),t.HostListener("keydown.arrowLeft.prevent",["$event.target","-1"])],e.prototype,"onKeyDownArrow",null),e=h([t.Component({selector:"tui-tabs, nav[tuiTabs]",template:'<tui-underline\n *ngIf="underline && (refresh$ | async)"\n [element]="activeElement"\n></tui-underline>\n<ng-content></ng-content>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,host:{class:"tui-zero-scrollbar"},providers:[i.TuiDestroyService,i.TuiResizeService,c.MutationObserverService,{provide:c.MUTATION_OBSERVER_INIT,useValue:y}],styles:[":host{font:var(--tui-font-text-m);position:relative;display:flex;height:var(--tui-height-l);color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:auto}:host._android{height:auto}:host._ios{height:auto;border:2px solid transparent;border-radius:.5625rem;background:var(--tui-link);box-shadow:none}"]}),m(0,t.Inject(t.ElementRef)),m(1,t.Inject(t.Renderer2)),m(2,t.Inject(t.ChangeDetectorRef)),m(3,t.Inject(i.TuiResizeService)),m(4,t.Inject(i.TUI_IS_IOS)),m(5,t.Inject(i.TUI_IS_ANDROID)),m(6,t.Inject(r.TUI_MOBILE_AWARE))],e)}();function T(e,t,n,i,o,r){var s=i.body,c=o.nativeElement;return a.merge(e,t.pipe(u.tap((function(){return r.detectChanges()})))).pipe(u.filter((function(){return s.contains(c)})),u.debounceTime(0),u.startWith(null),u.takeUntil(n))}var _={childList:!0,subtree:!0},w=new t.InjectionToken("Refresh stream"),R=[i.TuiResizeService,i.TuiDestroyService,c.MutationObserverService,{provide:c.MUTATION_OBSERVER_INIT,useValue:_},{provide:w,deps:[i.TuiResizeService,c.MutationObserverService,i.TuiDestroyService,s.DOCUMENT,t.ElementRef,t.ChangeDetectorRef],useFactory:T}],A=function(){function e(e,n,o,r){this.refresh$=e,this.elementRef=n,this.changeDetectorRef=o,this.moreWord$=r,this.moreContent="",this.underline=!0,this.activeItemIndex=0,this.itemsLimit=1/0,this.activeItemIndexChange=new t.EventEmitter,this.items=i.EMPTY_QUERY,this.open=!1,this.maxIndex=1/0}return Object.defineProperty(e.prototype,"tabs",{get:function(){return Array.from(this.elementRef.nativeElement.querySelectorAll("[tuiTab]"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeElement",{get:function(){return this.tabs[this.activeItemIndex]||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMoreVisible",{get:function(){return this.lastVisibleIndex<this.items.length-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMoreFocusable",{get:function(){return!!this.moreButton&&i.isNativeFocused(this.moreButton.nativeElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lastVisibleIndex",{get:function(){if(this.itemsLimit+1>=this.items.length)return this.maxIndex;var e=this.itemsLimit-1>this.activeItemIndex?1:2;return Math.min(this.itemsLimit-e,this.maxIndex)},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var e=this;this.refresh$.pipe(u.map((function(){return e.getMaxIndex()})),u.filter((function(t){return e.maxIndex!==t}))).subscribe((function(t){e.maxIndex=t,e.changeDetectorRef.detectChanges()}))},e.prototype.onActiveItemIndexChange=function(e){this.updateActiveItemIndex(e)},e.prototype.onClick=function(e){this.open=!1,this.focusMore(),this.updateActiveItemIndex(e)},e.prototype.onArrowRight=function(e){i.isNativeFocused(e)&&this.focusMore()},e.prototype.onArrowLeft=function(){for(var e=this.tabs,t=e.length-2;t>=0;){if(i.setNativeFocused(e[t]),i.isNativeFocused(e[t]))return;t--}},e.prototype.onWrapperArrow=function(e,t,n){var o=i.getClosestFocusable(e,n,t);o&&i.setNativeFocused(o)},e.prototype.focusMore=function(){this.moreButton&&i.setNativeFocused(this.moreButton.nativeElement)},e.prototype.getMaxIndex=function(){var e=this.tabs,t=this.activeItemIndex;if(e.length<2)return 0;var n=this.elementRef.nativeElement.clientWidth,i=e[t]?e[t].scrollWidth:0,o=e[e.length-1].scrollWidth,r=e.length-2,a=e.reduce((function(e,t){return e+t.scrollWidth}),0)+24*r-o;if(a<=n)return 1/0;for(;r;){if((a-=e[r].scrollWidth+24)+(t>--r?i+24:0)+o+24+(this.maxIndex===r-1?1:0)<n)return r}return 0},e.prototype.updateActiveItemIndex=function(e){this.activeItemIndex!==e&&(this.activeItemIndex=e,this.activeItemIndexChange.emit(e),this.maxIndex=this.getMaxIndex())},e.ctorParameters=function(){return[{type:a.Observable,decorators:[{type:t.Inject,args:[w]}]},{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:t.ChangeDetectorRef,decorators:[{type:t.Inject,args:[t.ChangeDetectorRef]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[r.TUI_MORE_WORD]}]}]},h([t.Input(),i.tuiDefaultProp()],e.prototype,"moreContent",void 0),h([t.Input(),t.HostBinding("class._underline"),i.tuiDefaultProp()],e.prototype,"underline",void 0),h([t.Input(),i.tuiDefaultProp()],e.prototype,"activeItemIndex",void 0),h([t.Input(),i.tuiDefaultProp()],e.prototype,"itemsLimit",void 0),h([t.Output()],e.prototype,"activeItemIndexChange",void 0),h([t.ContentChildren(f,{read:t.TemplateRef})],e.prototype,"items",void 0),h([t.ViewChild(b,{read:t.ElementRef})],e.prototype,"moreButton",void 0),e=h([t.Component({selector:"tui-tabs-with-more, nav[tuiTabsWithMore]",template:'<ng-container *ngIf="items.changes | async"></ng-container>\n<div class="wrapper">\n <tui-tabs\n class="tabs"\n [underline]="false"\n [activeItemIndex]="activeItemIndex"\n (activeItemIndexChange)="onActiveItemIndexChange($event)"\n (keydown.arrowRight)="onArrowRight($event.target)"\n >\n <ng-container *ngFor="let item of items; let index = index">\n <ng-container\n *ngIf="index <= lastVisibleIndex; else hidden"\n [ngTemplateOutlet]="item"\n ></ng-container>\n <ng-template #hidden>\n <div\n class="overflown"\n [class.overflown_hidden]="index !== activeItemIndex"\n >\n <ng-container *ngTemplateOutlet="item"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class="more_wrapper"\n [class.overflown_hidden]="!isMoreVisible"\n [content]="dropdown"\n [(open)]="open"\n >\n <button\n tuiTab\n class="more"\n [class._active]="open"\n [tuiFocusable]="isMoreFocusable"\n (keydown.arrowLeft.prevent)="onArrowLeft()"\n >\n <span polymorpheus-outlet [content]="moreContent || more"></span>\n </button>\n <ng-template #more>\n {{moreWord$ | async}}\n <tui-svg\n src="tuiIconChevronDown"\n class="icon"\n [class.icon_rotated]="open"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class="dropdown"\n (keydown.arrowUp.prevent)="onWrapperArrow($event.target, element, true)"\n (keydown.arrowDown.prevent)="onWrapperArrow($event.target, element, false)"\n >\n <div\n *ngFor="let item of items; let index = index"\n (tui-tab-activate)="onClick(index)"\n >\n <ng-container\n *ngIf="index > lastVisibleIndex && index !== activeItemIndex"\n [ngTemplateOutlet]="item"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline *ngIf="underline" [element]="activeElement"></tui-underline>\n</div>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,providers:R,styles:[":host{font:var(--tui-font-text-m);position:relative;display:flex;height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.wrapper{position:relative;display:flex}.tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.overflown{margin-right:1.5rem}.overflown_hidden{margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.more_wrapper{height:100%}.icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.icon_rotated{transform:rotate(180deg)}.dropdown{padding:.5rem 0}.dropdown ::ng-deep [tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.dropdown ::ng-deep [tuiTab]:before{display:none}.dropdown ::ng-deep [tuiTab]._active,.dropdown ::ng-deep [tuiTab]:focus,.dropdown ::ng-deep [tuiTab]:hover{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}"]}),m(0,t.Inject(w)),m(1,t.Inject(t.ElementRef)),m(2,t.Inject(t.ChangeDetectorRef)),m(3,t.Inject(r.TUI_MORE_WORD))],e)}(),O=function(){function e(e,t,n,o,r,s,c){var l=this,d=e.nativeElement;this.ngZone=t,this.animationFrame$=n,this.mobileAware=o,this.ios=r,this.android=s,this.mode$=c,this.isIos=this.mobileAware&&this.ios,this.isAndroid=this.mobileAware&&this.android,this.element$=new a.ReplaySubject(1),this.refresh$=this.element$.pipe(u.switchMap((function(e){return e?l.animationFrame$.pipe(u.mapTo(e),i.tuiZonefree(l.ngZone)):a.of(null)})),u.share()),this.transition$=p.asCallable(this.element$.pipe(u.map((function(e){return e&&"all"})),u.debounceTime(50))),this.transform$=p.asCallable(this.refresh$.pipe(u.map((function(e){return e?"translate3d("+i.px(e.offsetLeft)+", 0, 0)":null})))),this.width$=p.asCallable(this.refresh$.pipe(u.map((function(e){return e?e.clientWidth:0})))),d["$.style.transitionProperty"]=this.transition$,d["$.style.transform"]=this.transform$,d["$.style.width.px"]=this.width$}return Object.defineProperty(e.prototype,"element",{set:function(e){this.element$.next(e)},enumerable:!0,configurable:!0}),e.ctorParameters=function(){return[{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:t.NgZone,decorators:[{type:t.Inject,args:[t.NgZone]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[d.ANIMATION_FRAME]}]},{type:Boolean,decorators:[{type:t.Inject,args:[r.TUI_MOBILE_AWARE]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_IOS]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_ANDROID]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[o.TUI_MODE]}]}]},h([t.Input(),i.tuiDefaultProp()],e.prototype,"element",null),h([t.HostBinding("class._ios")],e.prototype,"isIos",void 0),h([t.HostBinding("class._android")],e.prototype,"isAndroid",void 0),h([t.HostListener("$.style.transitionProperty")],e.prototype,"transition$",void 0),h([t.HostListener("$.style.transform")],e.prototype,"transform$",void 0),h([t.HostListener("$.style.width.px")],e.prototype,"width$",void 0),e=h([t.Component({selector:"tui-underline",template:"",changeDetection:t.ChangeDetectionStrategy.OnPush,providers:[o.MODE_PROVIDER],host:{"($.data-mode.attr)":"mode$"},styles:[":host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;left:0;height:100%;color:var(--tui-primary);transform:scale(0);box-shadow:inset 0 -.1875rem 0 -.0625rem;transition-property:none;pointer-events:none}:host._ios{border-radius:.4375rem;background:var(--tui-base-01);box-shadow:0 .1875rem .0625rem rgba(0,0,0,.04),0 .1875rem .5rem rgba(0,0,0,.12)}:host._android{box-shadow:inset 0 -.1875rem var(--tui-link)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-01)}"]}),m(0,t.Inject(t.ElementRef)),m(1,t.Inject(t.NgZone)),m(2,t.Inject(d.ANIMATION_FRAME)),m(3,t.Inject(r.TUI_MOBILE_AWARE)),m(4,t.Inject(i.TUI_IS_IOS)),m(5,t.Inject(i.TUI_IS_ANDROID)),m(6,t.Inject(o.TUI_MODE))],e)}(),j=function(){function e(){}return e=h([t.NgModule({imports:[s.CommonModule,o.TuiHostedDropdownModule,o.TuiSvgModule,i.TuiFocusableModule,l.PolymorpheusModule],declarations:[A,x,b,O,f],exports:[A,x,b,f]})],e)}();e.MUTATION_CONFIG=_,e.OBSERVER_INIT=y,e.TABS_PROVIDERS=R,e.TABS_REFRESH=w,e.TAB_ACTIVE_CLASS="_active",e.TAB_MARGIN=24,e.TUI_TAB_ACTIVATE="tui-tab-activate",e.TUI_TAB_EVENT=g,e.TUI_TAB_PROVIDERS=v,e.TuiTabComponent=b,e.TuiTabDirective=f,e.TuiTabsComponent=x,e.TuiTabsModule=j,e.TuiTabsWithMoreComponent=A,e.TuiUnderlineComponent=O,e.tabActiveFactory=I,e.tabsRefreshFactory=T,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */function h(e,t,n,i){var o,r=arguments.length,a=r<3?t:null===i?i=Object.getOwnPropertyDescriptor(t,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,i);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(r<3?o(a):r>3?o(t,n,a):o(t,n))||a);return r>3&&a&&Object.defineProperty(t,n,a),a}function m(e,t){return function(n,i){t(n,i,e)}}var f=function(){function e(e){this.template=e}return e.ctorParameters=function(){return[{type:t.TemplateRef,decorators:[{type:t.Inject,args:[t.TemplateRef]}]}]},e=h([t.Directive({selector:"ng-template[tuiTab]"}),m(0,t.Inject(t.TemplateRef))],e)}(),g=new t.InjectionToken("Stream of tab activation events"),v=[i.TuiDestroyService,i.TuiFocusVisibleService,o.TuiRouterLinkActiveService,{provide:g,deps:[t.ElementRef,s.DOCUMENT,o.TuiRouterLinkActiveService,[new t.Optional,c.MutationObserverService],[new t.Optional,n.RouterLinkActive]],useFactory:I},o.MODE_PROVIDER];function I(e,t,n,o,r){var s=e.nativeElement,c=r&&o?o.pipe(u.filter((function(){return r.isActive}))):a.EMPTY;return a.merge(c,n.pipe(u.filter(i.identity)),s.matches("button")?i.typedFromEvent(s,"click"):a.EMPTY).pipe(u.map((function(){return s.dispatchEvent(i.tuiCustomEvent("tui-tab-activate",{bubbles:!0},t))})))}var b=function(){function e(e,t,n,i,o,r,a,s){var c=this;this.routerLinkActive=e,this.elementRef=t,this.mode$=n,this.event$=i,this.focusVisible=!1,this.isIos=o&&r,this.isAndroid=o&&a,s.subscribe((function(e){c.focusVisible=e}))}return Object.defineProperty(e.prototype,"isActive",{get:function(){return!!this.routerLinkActive&&this.routerLinkActive.isActive},enumerable:!0,configurable:!0}),e.prototype.ngOnDestroy=function(){i.isNativeFocused(this.elementRef.nativeElement)&&i.setNativeFocused(this.elementRef.nativeElement,!1)},e.ctorParameters=function(){return[{type:n.RouterLinkActive,decorators:[{type:t.Optional},{type:t.Inject,args:[n.RouterLinkActive]}]},{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[o.TUI_MODE]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[g]}]},{type:Boolean,decorators:[{type:t.Inject,args:[r.TUI_MOBILE_AWARE]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_IOS]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_ANDROID]}]},{type:i.TuiFocusVisibleService,decorators:[{type:t.Inject,args:[i.TuiFocusVisibleService]}]}]},h([t.HostBinding("class._ios")],e.prototype,"isIos",void 0),h([t.HostBinding("class._android")],e.prototype,"isAndroid",void 0),h([t.HostBinding("class._focus-visible")],e.prototype,"focusVisible",void 0),h([t.HostBinding("class._active")],e.prototype,"isActive",null),e=h([t.Component({selector:"a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]",template:'<ng-container *ngIf="event$ | async"></ng-container>\n<span class="highlight"><ng-content></ng-content></span>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,providers:v,host:{"($.data-mode.attr)":"mode$",type:"button"},styles:[":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:0 0;font-size:inherit;line-height:inherit;position:relative;display:flex;flex-shrink:0;height:100%;box-sizing:border-box;justify-content:space-between;align-items:center;white-space:nowrap;cursor:pointer;outline:0;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity}:host:not(:last-child){margin-right:1.5rem}:host:hover{color:var(--tui-text-01)}:host:disabled{opacity:var(--tui-disabled-opacity);pointer-events:none}:host:not([data-mode])._active{opacity:1;color:var(--tui-text-01);box-shadow:none}:host[data-mode=onDark]{color:rgba(255,255,255,.72)}:host[data-mode=onDark]._active,:host[data-mode=onDark]:hover{color:#fff}:host[data-mode=onDark]._focus-visible .highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]._active,:host[data-mode=onLight]:hover{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;height:3rem;flex:1;flex-shrink:0;justify-content:center;margin:0;text-transform:uppercase;color:var(--tui-base-09);opacity:.5;font-size:.875rem;font-weight:500;letter-spacing:-.008125rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._android:hover{box-shadow:none}:host._android._active{opacity:1;color:var(--tui-base-09)}:host._android .highlight{width:auto}:host._ios{height:1.75rem;flex:1;flex-shrink:0;justify-content:center;margin:0;color:var(--tui-base-01);opacity:1;font-size:.8125rem;font-weight:500;letter-spacing:-.005rem;font-family:-apple-system,BlinkMacSystemFont,Roboto,'Helvetica Neue',sans-serif}:host._ios:hover{box-shadow:none}:host._ios._active{font-size:.875rem;font-weight:600;color:var(--tui-link)}:host._ios .highlight{width:auto}.highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.highlight ::ng-deep>*{flex-shrink:0}"]}),m(0,t.Optional()),m(0,t.Inject(n.RouterLinkActive)),m(1,t.Inject(t.ElementRef)),m(2,t.Inject(o.TUI_MODE)),m(3,t.Inject(g)),m(4,t.Inject(r.TUI_MOBILE_AWARE)),m(5,t.Inject(i.TUI_IS_IOS)),m(6,t.Inject(i.TUI_IS_ANDROID)),m(7,t.Inject(i.TuiFocusVisibleService))],e)}(),y={childList:!0},x=function(){function e(e,n,o,r,a,s,c){var l=this;this.elementRef=e,this.renderer=n,this.underline=!0,this.activeItemIndexChange=new t.EventEmitter,this.children=i.EMPTY_QUERY,this.activeItemIndex=0,this.isIos=c&&a,this.isAndroid=c&&s,r.pipe(u.filter((function(){return l.underline}))).subscribe((function(){o.detectChanges()}))}return Object.defineProperty(e.prototype,"activeItemIndexSetter",{set:function(e){this.activeItemIndex=e,this.scrollTo(this.tabs[e])},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"refresh$",{get:function(){return i.itemsQueryListObservable(this.children).pipe(u.mapTo(!0))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"tabs",{get:function(){return Array.from(this.elementRef.nativeElement.querySelectorAll("[tuiTab]"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeElement",{get:function(){return this.tabs[this.activeItemIndex]||null},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewChecked=function(){var e=this,t=this.tabs,n=this.activeElement;t.forEach((function(t){e.renderer.removeClass(t,"_active"),e.renderer.setAttribute(t,"tabIndex","-1")})),n&&(this.renderer.addClass(n,"_active"),this.renderer.setAttribute(n,"tabIndex","0"))},e.prototype.onActivate=function(e){var t=this.tabs.findIndex((function(t){return t===e}));t!==this.activeItemIndex&&(this.activeItemIndexSetter=t,this.activeItemIndexChange.emit(t))},e.prototype.onKeyDownArrow=function(e,t){var n=this.tabs;i.moveFocus(n.indexOf(e),n,t)},e.prototype.scrollTo=function(e){if(e){var t=e.offsetLeft,n=e.offsetWidth,i=this.elementRef.nativeElement;t<i.scrollLeft&&(i.scrollLeft=t),t+n>i.scrollLeft+i.offsetWidth&&(i.scrollLeft=t+n-i.offsetWidth)}},e.ctorParameters=function(){return[{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:t.Renderer2,decorators:[{type:t.Inject,args:[t.Renderer2]}]},{type:t.ChangeDetectorRef,decorators:[{type:t.Inject,args:[t.ChangeDetectorRef]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[i.TuiResizeService]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_IOS]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_ANDROID]}]},{type:Boolean,decorators:[{type:t.Inject,args:[r.TUI_MOBILE_AWARE]}]}]},h([t.Input(),t.HostBinding("class._underline"),i.tuiDefaultProp()],e.prototype,"underline",void 0),h([t.Input("activeItemIndex")],e.prototype,"activeItemIndexSetter",null),h([t.Output()],e.prototype,"activeItemIndexChange",void 0),h([t.HostBinding("class._ios")],e.prototype,"isIos",void 0),h([t.HostBinding("class._android")],e.prototype,"isAndroid",void 0),h([t.ContentChildren(t.forwardRef((function(){return b})))],e.prototype,"children",void 0),h([i.tuiPure],e.prototype,"refresh$",null),h([t.HostListener("tui-tab-activate.stop",["$event.target"])],e.prototype,"onActivate",null),h([t.HostListener("keydown.arrowRight.prevent",["$event.target","1"]),t.HostListener("keydown.arrowLeft.prevent",["$event.target","-1"])],e.prototype,"onKeyDownArrow",null),e=h([t.Component({selector:"tui-tabs, nav[tuiTabs]",template:'<tui-underline\n *ngIf="underline && (refresh$ | async)"\n [element]="activeElement"\n></tui-underline>\n<ng-content></ng-content>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,host:{class:"tui-zero-scrollbar"},providers:[i.TuiDestroyService,i.TuiResizeService,c.MutationObserverService,{provide:c.MUTATION_OBSERVER_INIT,useValue:y}],styles:[":host{font:var(--tui-font-text-m);position:relative;display:flex;height:var(--tui-height-l);color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:auto}:host._android{height:auto}:host._ios{height:auto;border:2px solid transparent;border-radius:.5625rem;background:var(--tui-link);box-shadow:none}"]}),m(0,t.Inject(t.ElementRef)),m(1,t.Inject(t.Renderer2)),m(2,t.Inject(t.ChangeDetectorRef)),m(3,t.Inject(i.TuiResizeService)),m(4,t.Inject(i.TUI_IS_IOS)),m(5,t.Inject(i.TUI_IS_ANDROID)),m(6,t.Inject(r.TUI_MOBILE_AWARE))],e)}();function T(e,t,n,i,o,r){var s=i.body,c=o.nativeElement;return a.merge(e,t.pipe(u.tap((function(){return r.detectChanges()})))).pipe(u.filter((function(){return s.contains(c)})),u.debounceTime(0),u.startWith(null),u.takeUntil(n))}var _={childList:!0,subtree:!0},w=new t.InjectionToken("Refresh stream"),R=[i.TuiResizeService,i.TuiDestroyService,c.MutationObserverService,{provide:c.MUTATION_OBSERVER_INIT,useValue:_},{provide:w,deps:[i.TuiResizeService,c.MutationObserverService,i.TuiDestroyService,s.DOCUMENT,t.ElementRef,t.ChangeDetectorRef],useFactory:T}],A=function(){function e(e,n,o,r){this.refresh$=e,this.elementRef=n,this.changeDetectorRef=o,this.moreWord$=r,this.moreContent="",this.underline=!0,this.activeItemIndex=0,this.itemsLimit=1/0,this.activeItemIndexChange=new t.EventEmitter,this.items=i.EMPTY_QUERY,this.open=!1,this.maxIndex=1/0}return Object.defineProperty(e.prototype,"tabs",{get:function(){return Array.from(this.elementRef.nativeElement.querySelectorAll("[tuiTab]"))},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"activeElement",{get:function(){return this.tabs[this.activeItemIndex]||null},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMoreVisible",{get:function(){return this.lastVisibleIndex<this.items.length-1},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"isMoreFocusable",{get:function(){return!!this.moreButton&&i.isNativeFocused(this.moreButton.nativeElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"lastVisibleIndex",{get:function(){if(this.itemsLimit+1>=this.items.length)return this.maxIndex;var e=this.itemsLimit-1>this.activeItemIndex?1:2;return Math.min(this.itemsLimit-e,this.maxIndex)},enumerable:!0,configurable:!0}),e.prototype.ngAfterViewInit=function(){var e=this;this.refresh$.pipe(u.map((function(){return e.getMaxIndex()})),u.filter((function(t){return e.maxIndex!==t}))).subscribe((function(t){e.maxIndex=t,e.changeDetectorRef.detectChanges()}))},e.prototype.onActiveItemIndexChange=function(e){this.updateActiveItemIndex(e)},e.prototype.onClick=function(e){this.open=!1,this.focusMore(),this.updateActiveItemIndex(e)},e.prototype.onArrowRight=function(e){i.isNativeFocused(e)&&this.focusMore()},e.prototype.onArrowLeft=function(){for(var e=this.tabs,t=e.length-2;t>=0;){if(i.setNativeFocused(e[t]),i.isNativeFocused(e[t]))return;t--}},e.prototype.onWrapperArrow=function(e,t,n){var o=i.getClosestFocusable(e,n,t);o&&i.setNativeFocused(o)},e.prototype.focusMore=function(){this.moreButton&&i.setNativeFocused(this.moreButton.nativeElement)},e.prototype.getMaxIndex=function(){var e=this.tabs,t=this.activeItemIndex;if(e.length<2)return 0;var n=this.elementRef.nativeElement.clientWidth,i=e[t]?e[t].scrollWidth:0,o=e[e.length-1].scrollWidth,r=e.length-2,a=e.reduce((function(e,t){return e+t.scrollWidth}),0)+24*r-o;if(a<=n)return 1/0;for(;r;){if((a-=e[r].scrollWidth+24)+(t>--r?i+24:0)+o+24+(this.maxIndex===r-1?1:0)<n)return r}return 0},e.prototype.updateActiveItemIndex=function(e){this.activeItemIndex!==e&&(this.activeItemIndex=e,this.activeItemIndexChange.emit(e),this.maxIndex=this.getMaxIndex())},e.ctorParameters=function(){return[{type:a.Observable,decorators:[{type:t.Inject,args:[w]}]},{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:t.ChangeDetectorRef,decorators:[{type:t.Inject,args:[t.ChangeDetectorRef]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[r.TUI_MORE_WORD]}]}]},h([t.Input(),i.tuiDefaultProp()],e.prototype,"moreContent",void 0),h([t.Input(),t.HostBinding("class._underline"),i.tuiDefaultProp()],e.prototype,"underline",void 0),h([t.Input(),i.tuiDefaultProp()],e.prototype,"activeItemIndex",void 0),h([t.Input(),i.tuiDefaultProp()],e.prototype,"itemsLimit",void 0),h([t.Output()],e.prototype,"activeItemIndexChange",void 0),h([t.ContentChildren(f,{read:t.TemplateRef})],e.prototype,"items",void 0),h([t.ViewChild(b,{read:t.ElementRef})],e.prototype,"moreButton",void 0),e=h([t.Component({selector:"tui-tabs-with-more, nav[tuiTabsWithMore]",template:'<ng-container *ngIf="items.changes | async"></ng-container>\n<div class="wrapper">\n <tui-tabs\n class="tabs"\n [underline]="false"\n [activeItemIndex]="activeItemIndex"\n (activeItemIndexChange)="onActiveItemIndexChange($event)"\n (keydown.arrowRight)="onArrowRight($event.target)"\n >\n <ng-container *ngFor="let item of items; let index = index">\n <ng-container\n *ngIf="index <= lastVisibleIndex; else hidden"\n [ngTemplateOutlet]="item"\n ></ng-container>\n <ng-template #hidden>\n <div\n class="overflown"\n [class.overflown_hidden]="index !== activeItemIndex"\n >\n <ng-container *ngTemplateOutlet="item"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class="more_wrapper"\n [class.overflown_hidden]="!isMoreVisible"\n [content]="dropdown"\n [(open)]="open"\n >\n <button\n tuiTab\n class="more"\n [class._active]="open"\n [tuiFocusable]="isMoreFocusable"\n (keydown.arrowLeft.prevent)="onArrowLeft()"\n >\n <span polymorpheus-outlet [content]="moreContent || more"></span>\n </button>\n <ng-template #more>\n {{moreWord$ | async}}\n <tui-svg\n src="tuiIconChevronDown"\n class="icon"\n [class.icon_rotated]="open"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class="dropdown"\n (keydown.arrowUp.prevent)="onWrapperArrow($event.target, element, true)"\n (keydown.arrowDown.prevent)="onWrapperArrow($event.target, element, false)"\n >\n <div\n *ngFor="let item of items; let index = index"\n (tui-tab-activate)="onClick(index)"\n >\n <ng-container\n *ngIf="index > lastVisibleIndex && index !== activeItemIndex"\n [ngTemplateOutlet]="item"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline *ngIf="underline" [element]="activeElement"></tui-underline>\n</div>\n',changeDetection:t.ChangeDetectionStrategy.OnPush,providers:R,styles:[":host{font:var(--tui-font-text-m);position:relative;display:flex;height:var(--tui-height-l);box-sizing:border-box;color:var(--tui-text-02);box-shadow:inset 0 -1px var(--tui-base-03);overflow:hidden}.wrapper{position:relative;display:flex}.tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.overflown{margin-right:1.5rem}.overflown_hidden{margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.more_wrapper{height:100%}.icon{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.icon_rotated{transform:rotate(180deg)}.dropdown{padding:.5rem 0}.dropdown ::ng-deep [tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.dropdown ::ng-deep [tuiTab]:before{display:none}.dropdown ::ng-deep [tuiTab]._active,.dropdown ::ng-deep [tuiTab]:focus,.dropdown ::ng-deep [tuiTab]:hover{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}"]}),m(0,t.Inject(w)),m(1,t.Inject(t.ElementRef)),m(2,t.Inject(t.ChangeDetectorRef)),m(3,t.Inject(r.TUI_MORE_WORD))],e)}(),E=function(){function e(e,t,n,o,r,s,c){var l=this,d=e.nativeElement;this.ngZone=t,this.animationFrame$=n,this.mobileAware=o,this.ios=r,this.android=s,this.mode$=c,this.isIos=this.mobileAware&&this.ios,this.isAndroid=this.mobileAware&&this.android,this.element$=new a.ReplaySubject(1),this.refresh$=this.element$.pipe(u.switchMap((function(e){return e?l.animationFrame$.pipe(u.mapTo(e),i.tuiZonefree(l.ngZone)):a.of(null)})),u.share()),this.transition$=p.asCallable(this.element$.pipe(u.map((function(e){return e&&"all"})),u.debounceTime(50))),this.transform$=p.asCallable(this.refresh$.pipe(u.map((function(e){return e?"translate3d("+i.px(e.offsetLeft)+", 0, 0)":null})))),this.width$=p.asCallable(this.refresh$.pipe(u.map((function(e){return e?e.clientWidth:0})))),d["$.style.transitionProperty"]=this.transition$,d["$.style.transform"]=this.transform$,d["$.style.width.px"]=this.width$}return Object.defineProperty(e.prototype,"element",{set:function(e){this.element$.next(e)},enumerable:!0,configurable:!0}),e.ctorParameters=function(){return[{type:t.ElementRef,decorators:[{type:t.Inject,args:[t.ElementRef]}]},{type:t.NgZone,decorators:[{type:t.Inject,args:[t.NgZone]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[d.ANIMATION_FRAME]}]},{type:Boolean,decorators:[{type:t.Inject,args:[r.TUI_MOBILE_AWARE]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_IOS]}]},{type:Boolean,decorators:[{type:t.Inject,args:[i.TUI_IS_ANDROID]}]},{type:a.Observable,decorators:[{type:t.Inject,args:[o.TUI_MODE]}]}]},h([t.Input(),i.tuiDefaultProp()],e.prototype,"element",null),h([t.HostBinding("class._ios")],e.prototype,"isIos",void 0),h([t.HostBinding("class._android")],e.prototype,"isAndroid",void 0),h([t.HostListener("$.style.transitionProperty")],e.prototype,"transition$",void 0),h([t.HostListener("$.style.transform")],e.prototype,"transform$",void 0),h([t.HostListener("$.style.width.px")],e.prototype,"width$",void 0),e=h([t.Component({selector:"tui-underline",template:"",changeDetection:t.ChangeDetectionStrategy.OnPush,providers:[o.MODE_PROVIDER],host:{"($.data-mode.attr)":"mode$"},styles:[":host{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;left:0;height:100%;color:var(--tui-primary);transform:scale(0);box-shadow:inset 0 -.1875rem 0 -.0625rem;transition-property:none;pointer-events:none}:host._ios{border-radius:.4375rem;background:var(--tui-base-01);box-shadow:0 .1875rem .0625rem rgba(0,0,0,.04),0 .1875rem .5rem rgba(0,0,0,.12)}:host._android{box-shadow:inset 0 -.1875rem var(--tui-link)}:host[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-02)}"]}),m(0,t.Inject(t.ElementRef)),m(1,t.Inject(t.NgZone)),m(2,t.Inject(d.ANIMATION_FRAME)),m(3,t.Inject(r.TUI_MOBILE_AWARE)),m(4,t.Inject(i.TUI_IS_IOS)),m(5,t.Inject(i.TUI_IS_ANDROID)),m(6,t.Inject(o.TUI_MODE))],e)}(),O=function(){function e(){}return e=h([t.NgModule({imports:[s.CommonModule,o.TuiHostedDropdownModule,o.TuiSvgModule,i.TuiFocusableModule,l.PolymorpheusModule],declarations:[A,x,b,E,f],exports:[A,x,b,f]})],e)}();e.MUTATION_CONFIG=_,e.OBSERVER_INIT=y,e.TABS_PROVIDERS=R,e.TABS_REFRESH=w,e.TAB_ACTIVE_CLASS="_active",e.TAB_MARGIN=24,e.TUI_TAB_ACTIVATE="tui-tab-activate",e.TUI_TAB_EVENT=g,e.TUI_TAB_PROVIDERS=v,e.TuiTabComponent=b,e.TuiTabDirective=f,e.TuiTabsComponent=x,e.TuiTabsModule=O,e.TuiTabsWithMoreComponent=A,e.TuiUnderlineComponent=E,e.tabActiveFactory=I,e.tabsRefreshFactory=T,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=taiga-ui-kit-components-tabs.umd.min.js.map