@taiga-ui/kit 3.5.0 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (207) hide show
  1. package/bundles/taiga-ui-kit-components-accordion.umd.js +1 -1
  2. package/bundles/taiga-ui-kit-components-accordion.umd.js.map +1 -1
  3. package/bundles/taiga-ui-kit-components-action.umd.js +1 -1
  4. package/bundles/taiga-ui-kit-components-action.umd.js.map +1 -1
  5. package/bundles/taiga-ui-kit-components-arrow.umd.js +1 -2
  6. package/bundles/taiga-ui-kit-components-arrow.umd.js.map +1 -1
  7. package/bundles/taiga-ui-kit-components-avatar.umd.js +19 -10
  8. package/bundles/taiga-ui-kit-components-avatar.umd.js.map +1 -1
  9. package/bundles/taiga-ui-kit-components-badge.umd.js +18 -13
  10. package/bundles/taiga-ui-kit-components-badge.umd.js.map +1 -1
  11. package/bundles/taiga-ui-kit-components-carousel.umd.js +1 -1
  12. package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
  13. package/bundles/taiga-ui-kit-components-files.umd.js +1 -1
  14. package/bundles/taiga-ui-kit-components-files.umd.js.map +1 -1
  15. package/bundles/taiga-ui-kit-components-input-date-range.umd.js +33 -23
  16. package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
  17. package/bundles/taiga-ui-kit-components-input-date-time.umd.js +17 -8
  18. package/bundles/taiga-ui-kit-components-input-date-time.umd.js.map +1 -1
  19. package/bundles/taiga-ui-kit-components-input-date.umd.js +17 -8
  20. package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
  21. package/bundles/taiga-ui-kit-components-input-month-range.umd.js +8 -10
  22. package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
  23. package/bundles/taiga-ui-kit-components-input-month.umd.js +9 -11
  24. package/bundles/taiga-ui-kit-components-input-month.umd.js.map +1 -1
  25. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +1 -1
  26. package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
  27. package/bundles/taiga-ui-kit-components-input-tag.umd.js +1 -1
  28. package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
  29. package/bundles/taiga-ui-kit-components-line-clamp.umd.js +1 -1
  30. package/bundles/taiga-ui-kit-components-line-clamp.umd.js.map +1 -1
  31. package/bundles/taiga-ui-kit-components-marker-icon.umd.js +1 -1
  32. package/bundles/taiga-ui-kit-components-marker-icon.umd.js.map +1 -1
  33. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js +1 -2
  34. package/bundles/taiga-ui-kit-components-multi-select-option.umd.js.map +1 -1
  35. package/bundles/taiga-ui-kit-components-multi-select.umd.js +7 -40
  36. package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
  37. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js +1 -1
  38. package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
  39. package/bundles/taiga-ui-kit-components-progress.umd.js +3 -3
  40. package/bundles/taiga-ui-kit-components-progress.umd.js.map +1 -1
  41. package/bundles/taiga-ui-kit-components-push.umd.js.map +1 -1
  42. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js +1 -1
  43. package/bundles/taiga-ui-kit-components-radio-labeled.umd.js.map +1 -1
  44. package/bundles/taiga-ui-kit-components-select-option.umd.js +1 -2
  45. package/bundles/taiga-ui-kit-components-select-option.umd.js.map +1 -1
  46. package/bundles/taiga-ui-kit-components-slider.umd.js.map +1 -1
  47. package/bundles/taiga-ui-kit-components-stepper.umd.js +1 -1
  48. package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
  49. package/bundles/taiga-ui-kit-components-tabs.umd.js +148 -59
  50. package/bundles/taiga-ui-kit-components-tabs.umd.js.map +1 -1
  51. package/bundles/taiga-ui-kit-components-tag.umd.js +1 -1
  52. package/bundles/taiga-ui-kit-components-tag.umd.js.map +1 -1
  53. package/bundles/taiga-ui-kit-components-text-area.umd.js +1 -1
  54. package/bundles/taiga-ui-kit-components-text-area.umd.js.map +1 -1
  55. package/bundles/taiga-ui-kit-components-toggle.umd.js +1 -1
  56. package/bundles/taiga-ui-kit-components-toggle.umd.js.map +1 -1
  57. package/bundles/taiga-ui-kit-components-tree.umd.js +2 -3
  58. package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
  59. package/bundles/taiga-ui-kit-constants.umd.js +0 -3
  60. package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
  61. package/bundles/taiga-ui-kit-tokens.umd.js +19 -0
  62. package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
  63. package/components/avatar/avatar.component.d.ts +1 -0
  64. package/components/avatar/avatar.module.d.ts +2 -1
  65. package/components/badge/badge.component.d.ts +1 -0
  66. package/components/badge/badge.module.d.ts +2 -1
  67. package/components/input-date/input-date.component.d.ts +7 -4
  68. package/components/input-date-range/input-date-range.component.d.ts +7 -4
  69. package/components/input-date-time/input-date-time.component.d.ts +7 -4
  70. package/components/input-month/input-month.component.d.ts +5 -4
  71. package/components/input-month-range/input-month-range.component.d.ts +5 -4
  72. package/components/multi-select/multi-select.component.d.ts +3 -11
  73. package/components/tabs/index.d.ts +2 -0
  74. package/components/tabs/tabs/tabs.component.d.ts +9 -9
  75. package/components/tabs/tabs-vertical/tabs-vertical.component.d.ts +11 -0
  76. package/components/tabs/tabs.directive.d.ts +15 -0
  77. package/components/tabs/tabs.module.d.ts +8 -6
  78. package/components/tree/components/tree-item/tree-item.component.d.ts +1 -1
  79. package/components/tree/components/tree-item-content/tree-item-content.component.d.ts +1 -1
  80. package/components/tree/misc/tree.constants.d.ts +1 -1
  81. package/components/tree/misc/tree.tokens.d.ts +1 -1
  82. package/constants/index.d.ts +0 -1
  83. package/esm2015/components/accordion/accordion-item/accordion-item.component.js +1 -1
  84. package/esm2015/components/action/action.component.js +1 -1
  85. package/esm2015/components/arrow/arrow-options.js +3 -1
  86. package/esm2015/components/arrow/arrow.component.js +4 -2
  87. package/esm2015/components/arrow/arrow.module.js +1 -2
  88. package/esm2015/components/avatar/avatar.component.js +12 -7
  89. package/esm2015/components/avatar/avatar.module.js +5 -4
  90. package/esm2015/components/badge/badge.component.js +8 -4
  91. package/esm2015/components/badge/badge.module.js +5 -4
  92. package/esm2015/components/carousel/carousel.component.js +1 -1
  93. package/esm2015/components/files/file/file.component.js +1 -1
  94. package/esm2015/components/input-date/input-date.component.js +17 -12
  95. package/esm2015/components/input-date-range/input-date-range.component.js +23 -17
  96. package/esm2015/components/input-date-time/input-date-time.component.js +17 -12
  97. package/esm2015/components/input-month/input-month.component.js +13 -15
  98. package/esm2015/components/input-month-range/input-month-range.component.js +12 -14
  99. package/esm2015/components/input-phone-international/input-phone-international.component.js +2 -2
  100. package/esm2015/components/input-tag/input-tag.component.js +2 -2
  101. package/esm2015/components/line-clamp/line-clamp.component.js +1 -1
  102. package/esm2015/components/marker-icon/marker-icon.component.js +1 -1
  103. package/esm2015/components/multi-select/multi-select.component.js +5 -30
  104. package/esm2015/components/multi-select-option/multi-select-option.component.js +1 -1
  105. package/esm2015/components/multi-select-option/multi-select-option.module.js +1 -2
  106. package/esm2015/components/pdf-viewer/pdf-viewer.component.js +2 -2
  107. package/esm2015/components/progress/progress-bar/progress-bar.component.js +1 -1
  108. package/esm2015/components/progress/progress-circle/progress-circle.component.js +1 -1
  109. package/esm2015/components/progress/progress-segmented/progress-segmented.component.js +1 -1
  110. package/esm2015/components/push/push-alert.component.js +3 -1
  111. package/esm2015/components/push/push-alert.directive.js +3 -1
  112. package/esm2015/components/push/push.service.js +3 -1
  113. package/esm2015/components/radio-labeled/radio-labeled.component.js +2 -2
  114. package/esm2015/components/select-option/select-option.component.js +1 -1
  115. package/esm2015/components/select-option/select-option.module.js +1 -2
  116. package/esm2015/components/slider/helpers/slider-key-steps.directive.js +3 -1
  117. package/esm2015/components/slider/slider.component.js +3 -1
  118. package/esm2015/components/stepper/step/step.component.js +4 -2
  119. package/esm2015/components/stepper/stepper.component.js +3 -1
  120. package/esm2015/components/tabs/index.js +3 -1
  121. package/esm2015/components/tabs/tab/tab.component.js +1 -1
  122. package/esm2015/components/tabs/tabs/tabs.component.js +29 -51
  123. package/esm2015/components/tabs/tabs-vertical/tabs-vertical.component.js +48 -0
  124. package/esm2015/components/tabs/tabs-with-more/tabs-with-more.component.js +8 -7
  125. package/esm2015/components/tabs/tabs.directive.js +60 -0
  126. package/esm2015/components/tabs/tabs.module.js +14 -4
  127. package/esm2015/components/tabs/underline/underline.component.js +1 -1
  128. package/esm2015/components/tag/tag.component.js +1 -1
  129. package/esm2015/components/text-area/text-area.component.js +1 -1
  130. package/esm2015/components/toggle/toggle.component.js +1 -1
  131. package/esm2015/components/tree/components/tree-item/tree-item.component.js +5 -2
  132. package/esm2015/components/tree/components/tree-item/tree-item.providers.js +4 -1
  133. package/esm2015/components/tree/components/tree-item-content/tree-item-content.component.js +5 -2
  134. package/esm2015/components/tree/misc/tree.constants.js +3 -1
  135. package/esm2015/components/tree/misc/tree.interfaces.js +1 -1
  136. package/esm2015/components/tree/misc/tree.tokens.js +3 -1
  137. package/esm2015/components/tree/tree.module.js +1 -2
  138. package/esm2015/constants/index.js +1 -2
  139. package/esm2015/tokens/index.js +2 -1
  140. package/esm2015/tokens/input-date-options.js +15 -0
  141. package/fesm2015/taiga-ui-kit-components-accordion.js +1 -1
  142. package/fesm2015/taiga-ui-kit-components-accordion.js.map +1 -1
  143. package/fesm2015/taiga-ui-kit-components-action.js +1 -1
  144. package/fesm2015/taiga-ui-kit-components-action.js.map +1 -1
  145. package/fesm2015/taiga-ui-kit-components-arrow.js +1 -2
  146. package/fesm2015/taiga-ui-kit-components-arrow.js.map +1 -1
  147. package/fesm2015/taiga-ui-kit-components-avatar.js +15 -10
  148. package/fesm2015/taiga-ui-kit-components-avatar.js.map +1 -1
  149. package/fesm2015/taiga-ui-kit-components-badge.js +11 -7
  150. package/fesm2015/taiga-ui-kit-components-badge.js.map +1 -1
  151. package/fesm2015/taiga-ui-kit-components-carousel.js +1 -1
  152. package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
  153. package/fesm2015/taiga-ui-kit-components-files.js +1 -1
  154. package/fesm2015/taiga-ui-kit-components-files.js.map +1 -1
  155. package/fesm2015/taiga-ui-kit-components-input-date-range.js +22 -16
  156. package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
  157. package/fesm2015/taiga-ui-kit-components-input-date-time.js +16 -11
  158. package/fesm2015/taiga-ui-kit-components-input-date-time.js.map +1 -1
  159. package/fesm2015/taiga-ui-kit-components-input-date.js +16 -11
  160. package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
  161. package/fesm2015/taiga-ui-kit-components-input-month-range.js +11 -13
  162. package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
  163. package/fesm2015/taiga-ui-kit-components-input-month.js +12 -14
  164. package/fesm2015/taiga-ui-kit-components-input-month.js.map +1 -1
  165. package/fesm2015/taiga-ui-kit-components-input-phone-international.js +1 -1
  166. package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
  167. package/fesm2015/taiga-ui-kit-components-input-tag.js +1 -1
  168. package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
  169. package/fesm2015/taiga-ui-kit-components-line-clamp.js +1 -1
  170. package/fesm2015/taiga-ui-kit-components-line-clamp.js.map +1 -1
  171. package/fesm2015/taiga-ui-kit-components-marker-icon.js +1 -1
  172. package/fesm2015/taiga-ui-kit-components-marker-icon.js.map +1 -1
  173. package/fesm2015/taiga-ui-kit-components-multi-select-option.js +1 -2
  174. package/fesm2015/taiga-ui-kit-components-multi-select-option.js.map +1 -1
  175. package/fesm2015/taiga-ui-kit-components-multi-select.js +4 -29
  176. package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
  177. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js +1 -1
  178. package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
  179. package/fesm2015/taiga-ui-kit-components-progress.js +3 -3
  180. package/fesm2015/taiga-ui-kit-components-progress.js.map +1 -1
  181. package/fesm2015/taiga-ui-kit-components-push.js.map +1 -1
  182. package/fesm2015/taiga-ui-kit-components-radio-labeled.js +1 -1
  183. package/fesm2015/taiga-ui-kit-components-radio-labeled.js.map +1 -1
  184. package/fesm2015/taiga-ui-kit-components-select-option.js +1 -2
  185. package/fesm2015/taiga-ui-kit-components-select-option.js.map +1 -1
  186. package/fesm2015/taiga-ui-kit-components-slider.js.map +1 -1
  187. package/fesm2015/taiga-ui-kit-components-stepper.js +1 -1
  188. package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
  189. package/fesm2015/taiga-ui-kit-components-tabs.js +137 -55
  190. package/fesm2015/taiga-ui-kit-components-tabs.js.map +1 -1
  191. package/fesm2015/taiga-ui-kit-components-tag.js +1 -1
  192. package/fesm2015/taiga-ui-kit-components-tag.js.map +1 -1
  193. package/fesm2015/taiga-ui-kit-components-text-area.js +1 -1
  194. package/fesm2015/taiga-ui-kit-components-text-area.js.map +1 -1
  195. package/fesm2015/taiga-ui-kit-components-toggle.js +1 -1
  196. package/fesm2015/taiga-ui-kit-components-toggle.js.map +1 -1
  197. package/fesm2015/taiga-ui-kit-components-tree.js +2 -3
  198. package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
  199. package/fesm2015/taiga-ui-kit-constants.js +1 -3
  200. package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
  201. package/fesm2015/taiga-ui-kit-tokens.js +15 -2
  202. package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
  203. package/package.json +4 -4
  204. package/tokens/index.d.ts +1 -0
  205. package/tokens/input-date-options.d.ts +12 -0
  206. package/constants/icon-blank.d.ts +0 -1
  207. package/esm2015/constants/icon-blank.js +0 -2
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
2
  typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@angular/router'), require('@taiga-ui/cdk'), require('@taiga-ui/core'), require('@taiga-ui/kit/tokens'), require('@ng-web-apis/mutation-observer'), require('rxjs'), require('rxjs/operators'), require('@angular/common'), require('@tinkoff/ng-polymorpheus'), require('@ng-web-apis/common'), require('@tinkoff/ng-event-plugins')) :
3
3
  typeof define === 'function' && define.amd ? define('@taiga-ui/kit/components/tabs', ['exports', '@angular/core', '@angular/router', '@taiga-ui/cdk', '@taiga-ui/core', '@taiga-ui/kit/tokens', '@ng-web-apis/mutation-observer', 'rxjs', 'rxjs/operators', '@angular/common', '@tinkoff/ng-polymorpheus', '@ng-web-apis/common', '@tinkoff/ng-event-plugins'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].kit = global["taiga-ui"].kit || {}, global["taiga-ui"].kit.components = global["taiga-ui"].kit.components || {}, global["taiga-ui"].kit.components.tabs = {}), global.ng.core, global.ng.router, global.i4, global.i2, global["taiga-ui"].kit.tokens, global.mutationObserver, global.rxjs, global.rxjs.operators, global.ng.common, global.i7, global.common, global.ngEventPlugins));
5
- })(this, (function (exports, i0, i2$1, i4, i2, tokens, mutationObserver, i3, operators, i5, i7, common, ngEventPlugins) { 'use strict';
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global["taiga-ui"] = global["taiga-ui"] || {}, global["taiga-ui"].kit = global["taiga-ui"].kit || {}, global["taiga-ui"].kit.components = global["taiga-ui"].kit.components || {}, global["taiga-ui"].kit.components.tabs = {}), global.ng.core, global.ng.router, global.i4, global.i2, global["taiga-ui"].kit.tokens, global.mutationObserver, global.rxjs, global.rxjs.operators, global.ng.common, global.i8, global.common, global.ngEventPlugins));
5
+ })(this, (function (exports, i0, i2$1, i4, i2, tokens, mutationObserver, i3, operators, i5, i8, common, ngEventPlugins) { 'use strict';
6
6
 
7
7
  function _interopNamespace(e) {
8
8
  if (e && e.__esModule) return e;
@@ -28,7 +28,7 @@
28
28
  var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2);
29
29
  var i3__namespace = /*#__PURE__*/_interopNamespace(i3);
30
30
  var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
31
- var i7__namespace = /*#__PURE__*/_interopNamespace(i7);
31
+ var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
32
32
 
33
33
  var TUI_TAB_ACTIVATE = "tui-tab-activate";
34
34
  var TUI_TAB_EVENT = new i0.InjectionToken("[TUI_TAB_EVENT]: Stream of tab activation events");
@@ -85,7 +85,7 @@
85
85
  return TuiTabComponent;
86
86
  }());
87
87
  TuiTabComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabComponent, deps: [{ token: i2$1.RouterLinkActive, optional: true }, { token: i0.ElementRef }, { token: i2.TUI_MODE }, { token: TUI_TAB_EVENT }, { token: tokens.TUI_TAB_MARGIN }, { token: i4.TuiFocusVisibleService }], target: i0__namespace.ɵɵFactoryTarget.Component });
88
- TuiTabComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]", host: { attributes: { "type": "button" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.--tui-tab-margin.px": "margin", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive" } }, providers: TUI_TAB_PROVIDERS, ngImport: i0__namespace, template: "<ng-container *ngIf=\"event$ | async\"></ng-container>\n<span class=\"t-highlight\"><ng-content></ng-content></span>\n", styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context(tui-tabs >):first-child,:host-context([tuiTabs] >):first-child,:host-context(tui-tabs > :first-child),:host-context([tuiTabs] > :first-child){margin-left:0}:host{transition-property:all;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;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:none;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity;margin-left:1.5rem;margin-left:var(--tui-tab-margin, 1.5rem)}: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]:hover,:host[data-mode=onDark]._active{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]:hover,:host[data-mode=onLight]._active{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);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 .t-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 .t-highlight{width:auto}@media (hover: hover){:host:hover{color:var(--tui-text-01)}}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}\n"], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
88
+ TuiTabComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]", host: { attributes: { "type": "button" }, listeners: { "$.data-mode.attr": "mode$" }, properties: { "style.--tui-tab-margin.px": "margin", "class._focus-visible": "this.focusVisible", "class._active": "this.isActive" } }, providers: TUI_TAB_PROVIDERS, ngImport: i0__namespace, template: "<ng-container *ngIf=\"event$ | async\"></ng-container>\n<span class=\"t-highlight\"><ng-content></ng-content></span>\n", styles: [":host-context(._underline):hover{box-shadow:inset 0 -2px var(--tui-base-03)}:host-context(tui-tabs >):first-child,:host-context([tuiTabs] >):first-child,:host-context(tui-tabs > :first-child),:host-context([tuiTabs] > :first-child){margin-left:0}:host{transition-property:all;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;border:0;background:none;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:none;text-decoration:none;color:inherit;transition-property:color,box-shadow,opacity;margin-left:var(--tui-tab-margin, 1.5rem)}: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]:hover,:host[data-mode=onDark]._active{color:#fff}:host[data-mode=onDark]._focus-visible .t-highlight{background:var(--tui-clear-inverse);color:var(--tui-text-01)}:host[data-mode=onLight]{color:var(--tui-text-02)}:host[data-mode=onLight]:hover,:host[data-mode=onLight]._active{color:var(--tui-text-01)}:host[data-mode=onLight]._focus-visible .t-highlight{background:var(--tui-text-01);color:#fff}:host._focus-visible .t-highlight{background:var(--tui-selection)}:host._android{transition-property:opacity;transition-duration:var(--tui-duration, .3s);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 .t-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 .t-highlight{width:auto}@media (hover: hover){:host:hover{color:var(--tui-text-01)}}.t-highlight{display:inline-flex;width:100%;align-items:center;justify-content:inherit}.t-highlight ::ng-deep>*{flex-shrink:0}:host-context(tui-tabs[data-vertical]),:host-context([tuiTabs][data-vertical]){min-height:2.75rem;height:auto;white-space:normal;margin:0;text-align:left;padding:.25rem 1.25rem .25rem 0}:host-context(tui-tabs[data-vertical]):after,:host-context([tuiTabs][data-vertical]):after{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;content:\"\";position:absolute;top:0;bottom:0;right:0;width:2px;background:var(--tui-primary);transform:scaleX(0);transform-origin:right}:host-context(tui-tabs[data-vertical]):hover,:host-context([tuiTabs][data-vertical]):hover{box-shadow:inset -2px 0 var(--tui-base-03)}:host-context(tui-tabs[data-vertical])._active:after,:host-context([tuiTabs][data-vertical])._active:after{transform:none}:host-context(tui-tabs[data-vertical=\"right\"]),:host-context([tuiTabs][data-vertical=\"right\"]){text-align:right;padding:.25rem 0 .25rem 1.25rem}:host-context(tui-tabs[data-vertical=\"right\"]):after,:host-context([tuiTabs][data-vertical=\"right\"]):after{right:auto;left:0;transform-origin:left}:host-context(tui-tabs[data-vertical=\"right\"]):hover,:host-context([tuiTabs][data-vertical=\"right\"]):hover{box-shadow:inset 2px 0 var(--tui-base-03)}\n"], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
89
89
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabComponent, decorators: [{
90
90
  type: i0.Component,
91
91
  args: [{
@@ -457,6 +457,72 @@
457
457
  return typeof state === "function" ? receiver === state : state.has(receiver);
458
458
  }
459
459
 
460
+ var TuiTabsDirective = /** @class */ (function () {
461
+ function TuiTabsDirective(elementRef) {
462
+ this.elementRef = elementRef;
463
+ this.activeItemIndex = 0;
464
+ this.activeItemIndexChange = new i0.EventEmitter();
465
+ }
466
+ Object.defineProperty(TuiTabsDirective.prototype, "tabs", {
467
+ get: function () {
468
+ return Array.from(this.elementRef.nativeElement.querySelectorAll("[tuiTab]"));
469
+ },
470
+ enumerable: false,
471
+ configurable: true
472
+ });
473
+ Object.defineProperty(TuiTabsDirective.prototype, "activeElement", {
474
+ get: function () {
475
+ return this.tabs[this.activeItemIndex] || null;
476
+ },
477
+ enumerable: false,
478
+ configurable: true
479
+ });
480
+ TuiTabsDirective.prototype.onActivate = function (element) {
481
+ var index = this.tabs.findIndex(function (tab) { return tab === element; });
482
+ if (index === this.activeItemIndex) {
483
+ return;
484
+ }
485
+ this.activeItemIndexChange.emit(index);
486
+ this.activeItemIndex = index;
487
+ };
488
+ TuiTabsDirective.prototype.moveFocus = function (current, step) {
489
+ var tabs = this.tabs;
490
+ i4.tuiMoveFocus(tabs.indexOf(current), tabs, step);
491
+ };
492
+ TuiTabsDirective.prototype.ngAfterViewChecked = function () {
493
+ var _a = this, tabs = _a.tabs, activeElement = _a.activeElement;
494
+ tabs.forEach(function (nativeElement) {
495
+ var active = nativeElement === activeElement;
496
+ nativeElement.classList.toggle("_active", active);
497
+ nativeElement.setAttribute("tabIndex", active ? "0" : "-1");
498
+ });
499
+ };
500
+ return TuiTabsDirective;
501
+ }());
502
+ TuiTabsDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsDirective, deps: [{ token: i0.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
503
+ TuiTabsDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsDirective, selector: "tui-tabs, nav[tuiTabs]", inputs: { activeItemIndex: "activeItemIndex" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "tui-tab-activate.stop": "onActivate($event.target)" } }, ngImport: i0__namespace });
504
+ __decorate([
505
+ i4.tuiDefaultProp()
506
+ ], TuiTabsDirective.prototype, "activeItemIndex", void 0);
507
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsDirective, decorators: [{
508
+ type: i0.Directive,
509
+ args: [{
510
+ selector: "tui-tabs, nav[tuiTabs]",
511
+ }]
512
+ }], ctorParameters: function () {
513
+ return [{ type: i0__namespace.ElementRef, decorators: [{
514
+ type: i0.Inject,
515
+ args: [i0.ElementRef]
516
+ }] }];
517
+ }, propDecorators: { activeItemIndex: [{
518
+ type: i0.Input
519
+ }], activeItemIndexChange: [{
520
+ type: i0.Output
521
+ }], onActivate: [{
522
+ type: i0.HostListener,
523
+ args: [TUI_TAB_ACTIVATE + ".stop", ["$event.target"]]
524
+ }] } });
525
+
460
526
  var TUI_TABS_DEFAULT_OPTIONS = {
461
527
  underline: true,
462
528
  exposeActive: true,
@@ -498,7 +564,7 @@
498
564
  return TuiUnderlineComponent;
499
565
  }());
500
566
  TuiUnderlineComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiUnderlineComponent, deps: [{ token: i0.ElementRef }, { token: i0.NgZone }, { token: common.ANIMATION_FRAME }, { token: i2.TUI_MODE }], target: i0__namespace.ɵɵFactoryTarget.Component });
501
- TuiUnderlineComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiUnderlineComponent, selector: "tui-underline", inputs: { element: "element" }, host: { listeners: { "$.data-mode.attr": "mode$", "$.style.transitionProperty": "transition$()", "$.style.transform": "transform$()", "$.style.width.px": "width$()" } }, providers: [i2.MODE_PROVIDER], ngImport: i0__namespace, template: "", isInline: true, styles: [":host{transition-property:all;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);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[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-02)}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
567
+ TuiUnderlineComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiUnderlineComponent, selector: "tui-underline", inputs: { element: "element" }, host: { listeners: { "$.data-mode.attr": "mode$", "$.style.transitionProperty": "transition$()", "$.style.transform": "transform$()", "$.style.width.px": "width$()" } }, providers: [i2.MODE_PROVIDER], ngImport: i0__namespace, template: "", isInline: true, styles: [":host{transition-property:all;transition-duration:var(--tui-duration, .3s);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[data-mode=onDark]{color:var(--tui-text-01-night)}:host[data-mode=onLight]{color:var(--tui-text-02)}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
502
568
  __decorate([
503
569
  i4.tuiDefaultProp()
504
570
  ], TuiUnderlineComponent.prototype, "element", null);
@@ -541,68 +607,45 @@
541
607
  args: ["$.style.width.px"]
542
608
  }] } });
543
609
 
544
- var TAB_ACTIVE_CLASS = "_active";
545
610
  var TuiTabsComponent = /** @class */ (function () {
546
- function TuiTabsComponent(options, elementRef, renderer, changeDetectorRef, resize$) {
611
+ function TuiTabsComponent(options, elementRef, tabs, changeDetectorRef, resize$) {
547
612
  var _this = this;
548
613
  this.options = options;
549
614
  this.elementRef = elementRef;
550
- this.renderer = renderer;
615
+ this.tabs = tabs;
551
616
  this.children = i4.EMPTY_QUERY;
552
617
  this.underline = this.options.underline;
553
- this.activeItemIndexChange = new i0.EventEmitter();
554
- this.activeItemIndex = 0;
555
618
  resize$.pipe(operators.filter(function () { return _this.underline; })).subscribe(function () {
556
619
  changeDetectorRef.detectChanges();
557
620
  });
558
621
  }
559
- Object.defineProperty(TuiTabsComponent.prototype, "activeItemIndexSetter", {
560
- set: function (index) {
561
- this.activeItemIndex = index;
562
- this.scrollTo(this.tabs[index]);
563
- },
564
- enumerable: false,
565
- configurable: true
566
- });
567
- Object.defineProperty(TuiTabsComponent.prototype, "tabs", {
622
+ Object.defineProperty(TuiTabsComponent.prototype, "activeItemIndex", {
623
+ /** @deprecated use `activeItemIndex` from {@link TuiTabsDirective} instead */
568
624
  get: function () {
569
- return Array.from(this.elementRef.nativeElement.querySelectorAll("[tuiTab]"));
625
+ return this.tabs.activeItemIndex;
626
+ },
627
+ /** @deprecated use `activeItemIndex` from {@link TuiTabsDirective} instead */
628
+ set: function (index) {
629
+ this.tabs.activeItemIndex = index;
570
630
  },
571
631
  enumerable: false,
572
632
  configurable: true
573
633
  });
574
634
  Object.defineProperty(TuiTabsComponent.prototype, "activeElement", {
575
635
  get: function () {
576
- return this.tabs[this.activeItemIndex] || null;
636
+ return this.tabs.activeElement;
577
637
  },
578
638
  enumerable: false,
579
639
  configurable: true
580
640
  });
581
- TuiTabsComponent.prototype.onActivate = function (element) {
582
- var index = this.tabs.findIndex(function (tab) { return tab === element; });
583
- if (index === this.activeItemIndex) {
584
- return;
585
- }
586
- this.activeItemIndexSetter = index;
587
- this.activeItemIndexChange.emit(index);
588
- };
589
641
  TuiTabsComponent.prototype.onKeyDownArrow = function (current, step) {
590
- var tabs = this.tabs;
591
- i4.tuiMoveFocus(tabs.indexOf(current), tabs, step);
642
+ this.tabs.moveFocus(current, step);
592
643
  };
593
644
  TuiTabsComponent.prototype.ngAfterViewChecked = function () {
594
- var _this = this;
595
- var _a = this, tabs = _a.tabs, activeElement = _a.activeElement;
596
- tabs.forEach(function (nativeElement) {
597
- _this.renderer.removeClass(nativeElement, TAB_ACTIVE_CLASS);
598
- _this.renderer.setAttribute(nativeElement, "tabIndex", "-1");
599
- });
600
- if (activeElement) {
601
- this.renderer.addClass(activeElement, TAB_ACTIVE_CLASS);
602
- this.renderer.setAttribute(activeElement, "tabIndex", "0");
603
- }
645
+ this.scrollTo(this.tabs.activeItemIndex);
604
646
  };
605
- TuiTabsComponent.prototype.scrollTo = function (element) {
647
+ TuiTabsComponent.prototype.scrollTo = function (index) {
648
+ var element = this.tabs.tabs[index];
606
649
  if (!element) {
607
650
  return;
608
651
  }
@@ -619,8 +662,8 @@
619
662
  };
620
663
  return TuiTabsComponent;
621
664
  }());
622
- TuiTabsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i4.TuiResizeService }], target: i0__namespace.ɵɵFactoryTarget.Component });
623
- TuiTabsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsComponent, selector: "tui-tabs, nav[tuiTabs]", inputs: { underline: "underline", activeItemIndexSetter: ["activeItemIndex", "activeItemIndexSetter"] }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { listeners: { "tui-tab-activate.stop": "onActivate($event.target)", "keydown.arrowRight.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowLeft.prevent": "onKeyDownArrow($event.target,-1)" }, properties: { "class._underline": "this.underline" } }, providers: [
665
+ TuiTabsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: i0.ElementRef }, { token: TuiTabsDirective }, { token: i0.ChangeDetectorRef }, { token: i4.TuiResizeService }], target: i0__namespace.ɵɵFactoryTarget.Component });
666
+ TuiTabsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsComponent, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: { underline: "underline" }, host: { listeners: { "keydown.arrowRight.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowLeft.prevent": "onKeyDownArrow($event.target,-1)" }, properties: { "class._underline": "this.underline" } }, providers: [
624
667
  i4.TuiDestroyService,
625
668
  i4.TuiResizeService,
626
669
  mutationObserver.MutationObserverService,
@@ -634,10 +677,13 @@
634
677
  __decorate([
635
678
  i4.tuiDefaultProp()
636
679
  ], TuiTabsComponent.prototype, "underline", void 0);
680
+ __decorate([
681
+ i4.tuiPure
682
+ ], TuiTabsComponent.prototype, "scrollTo", null);
637
683
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsComponent, decorators: [{
638
684
  type: i0.Component,
639
685
  args: [{
640
- selector: "tui-tabs, nav[tuiTabs]",
686
+ selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])",
641
687
  templateUrl: "./tabs.template.html",
642
688
  styleUrls: ["./tabs.style.less"],
643
689
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
@@ -660,9 +706,9 @@
660
706
  }] }, { type: i0__namespace.ElementRef, decorators: [{
661
707
  type: i0.Inject,
662
708
  args: [i0.ElementRef]
663
- }] }, { type: i0__namespace.Renderer2, decorators: [{
709
+ }] }, { type: TuiTabsDirective, decorators: [{
664
710
  type: i0.Inject,
665
- args: [i0.Renderer2]
711
+ args: [TuiTabsDirective]
666
712
  }] }, { type: i0__namespace.ChangeDetectorRef, decorators: [{
667
713
  type: i0.Inject,
668
714
  args: [i0.ChangeDetectorRef]
@@ -678,20 +724,53 @@
678
724
  }, {
679
725
  type: i0.HostBinding,
680
726
  args: ["class._underline"]
681
- }], activeItemIndexSetter: [{
682
- type: i0.Input,
683
- args: ["activeItemIndex"]
684
- }], activeItemIndexChange: [{
685
- type: i0.Output
686
- }], onActivate: [{
687
- type: i0.HostListener,
688
- args: [TUI_TAB_ACTIVATE + ".stop", ["$event.target"]]
689
727
  }], onKeyDownArrow: [{
690
728
  type: i0.HostListener,
691
729
  args: ["keydown.arrowRight.prevent", ["$event.target", "1"]]
692
730
  }, {
693
731
  type: i0.HostListener,
694
732
  args: ["keydown.arrowLeft.prevent", ["$event.target", "-1"]]
733
+ }], scrollTo: [] } });
734
+
735
+ var TuiTabsVerticalComponent = /** @class */ (function () {
736
+ function TuiTabsVerticalComponent(tabs) {
737
+ this.tabs = tabs;
738
+ this.vertical = "left";
739
+ }
740
+ TuiTabsVerticalComponent.prototype.onKeyDownArrow = function (current, step) {
741
+ this.tabs.moveFocus(current, step);
742
+ };
743
+ return TuiTabsVerticalComponent;
744
+ }());
745
+ TuiTabsVerticalComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsVerticalComponent, deps: [{ token: TuiTabsDirective }], target: i0__namespace.ɵɵFactoryTarget.Component });
746
+ TuiTabsVerticalComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsVerticalComponent, selector: "tui-tabs[vertical], nav[tuiTabs][vertical]", inputs: { vertical: "vertical" }, host: { listeners: { "keydown.arrowDown.prevent": "onKeyDownArrow($event.target,1)", "keydown.arrowUp.prevent": "onKeyDownArrow($event.target,-1)" }, properties: { "attr.data-vertical": "this.vertical" } }, ngImport: i0__namespace, template: "\n <ng-content></ng-content>\n ", isInline: true, styles: [":host{display:flex;flex-direction:column;font:var(--tui-font-text-m);color:var(--tui-text-02);box-shadow:inset -1px 0 var(--tui-base-03)}:host[data-vertical=right]{box-shadow:inset 1px 0 var(--tui-base-03)}\n"], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
747
+ __decorate([
748
+ i4.tuiDefaultProp()
749
+ ], TuiTabsVerticalComponent.prototype, "vertical", void 0);
750
+ i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsVerticalComponent, decorators: [{
751
+ type: i0.Component,
752
+ args: [{
753
+ selector: "tui-tabs[vertical], nav[tuiTabs][vertical]",
754
+ template: "\n <ng-content></ng-content>\n ",
755
+ styleUrls: ["./tabs-vertical.style.less"],
756
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
757
+ }]
758
+ }], ctorParameters: function () {
759
+ return [{ type: TuiTabsDirective, decorators: [{
760
+ type: i0.Inject,
761
+ args: [TuiTabsDirective]
762
+ }] }];
763
+ }, propDecorators: { vertical: [{
764
+ type: i0.Input
765
+ }, {
766
+ type: i0.HostBinding,
767
+ args: ["attr.data-vertical"]
768
+ }], onKeyDownArrow: [{
769
+ type: i0.HostListener,
770
+ args: ["keydown.arrowDown.prevent", ["$event.target", "1"]]
771
+ }, {
772
+ type: i0.HostListener,
773
+ args: ["keydown.arrowUp.prevent", ["$event.target", "-1"]]
695
774
  }] } });
696
775
 
697
776
  var TUI_TABS_REFRESH = new i0.InjectionToken("[TUI_TABS_REFRESH]: Refresh stream");
@@ -901,7 +980,7 @@
901
980
  return TuiTabsWithMoreComponent;
902
981
  }());
903
982
  TuiTabsWithMoreComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsWithMoreComponent, deps: [{ token: TUI_TABS_OPTIONS }, { token: tokens.TUI_TAB_MARGIN }, { token: TUI_TABS_REFRESH }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: tokens.TUI_MORE_WORD }], target: i0__namespace.ɵɵFactoryTarget.Component });
904
- TuiTabsWithMoreComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: i4.TuiItemDirective, read: i0.TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\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 [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, 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=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);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}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration:.3s;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.5rem 0}.t-dropdown ::ng-deep *[tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.t-dropdown ::ng-deep *[tuiTab]:before{display:none}.t-dropdown ::ng-deep *[tuiTab]:hover,.t-dropdown ::ng-deep *[tuiTab]:focus,.t-dropdown ::ng-deep *[tuiTab]._active{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}.t-no-margin{margin-left:0}\n"], components: [{ type: TuiTabsComponent, selector: "tui-tabs, nav[tuiTabs]", inputs: ["underline", "activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i2__namespace$1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: TuiUnderlineComponent, selector: "tui-underline", inputs: ["element"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i7__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
983
+ TuiTabsWithMoreComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiTabsWithMoreComponent, selector: "tui-tabs-with-more, nav[tuiTabsWithMore]", inputs: { moreContent: "moreContent", dropdownContent: "dropdownContent", underline: "underline", activeItemIndex: "activeItemIndex", itemsLimit: "itemsLimit" }, outputs: { activeItemIndexChange: "activeItemIndexChange" }, host: { properties: { "class._underline": "this.underline" } }, providers: TUI_TABS_PROVIDERS, queries: [{ propertyName: "items", predicate: i4.TuiItemDirective, read: i0.TemplateRef }], viewQueries: [{ propertyName: "moreButton", first: true, predicate: TuiTabComponent, descendants: true, read: i0.ElementRef }], ngImport: i0__namespace, template: "<ng-container *ngIf=\"items.changes | async\"></ng-container>\n<div class=\"t-wrapper\">\n <tui-tabs\n class=\"t-tabs\"\n [underline]=\"false\"\n [activeItemIndex]=\"activeItemIndex\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\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 [class.t-overflown]=\"isOverflown(index)\">\n <ng-container [ngTemplateOutlet]=\"item\"></ng-container>\n </div>\n </ng-template>\n </ng-container>\n </tui-tabs>\n <tui-hosted-dropdown\n class=\"t-more_wrapper\"\n [class.t-overflown]=\"!isMoreVisible\"\n [content]=\"dropdownContent || dropdown\"\n [(open)]=\"open\"\n >\n <button\n tuiTab\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [tuiFocusable]=\"isMoreFocusable\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n <ng-container *polymorpheusOutlet=\"moreContent || more as text\">\n {{ text }}\n </ng-container>\n </button>\n <ng-template #more>\n {{ moreWord$ | async }}\n <tui-svg\n src=\"tuiIconChevronDown\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n ></tui-svg>\n </ng-template>\n </tui-hosted-dropdown>\n <ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, 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=\"shouldShow(index)\"\n [ngTemplateOutlet]=\"item\"\n ></ng-container>\n </div>\n </div>\n </ng-template>\n <tui-underline\n *ngIf=\"underline\"\n [element]=\"activeElement\"\n ></tui-underline>\n</div>\n", styles: [":host{position:relative;display:flex;font:var(--tui-font-text-m);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}.t-wrapper{position:relative;display:flex}.t-tabs{height:inherit;font-size:inherit;font-weight:inherit;overflow:visible;box-shadow:none;color:inherit}.t-overflown{display:flex;margin:0;width:0;max-width:0;overflow:hidden;visibility:hidden}.t-more_wrapper{height:100%;pointer-events:none}.t-more_wrapper button{pointer-events:auto}.t-icon{transition-property:transform;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;margin-right:-.25rem;vertical-align:bottom}.t-icon_rotated{transform:rotate(180deg)}.t-dropdown{padding:.5rem 0}.t-dropdown ::ng-deep *[tuiTab]{width:100%;height:2.75rem;justify-content:flex-start;margin:0;padding:0 1rem;color:var(--tui-text-02)}.t-dropdown ::ng-deep *[tuiTab]:before{display:none}.t-dropdown ::ng-deep *[tuiTab]:hover,.t-dropdown ::ng-deep *[tuiTab]:focus,.t-dropdown ::ng-deep *[tuiTab]._active{box-shadow:none;color:var(--tui-base-08);background:var(--tui-base-02)}.t-no-margin{margin-left:0}\n"], components: [{ type: TuiTabsComponent, selector: "tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])", inputs: ["underline"] }, { type: i2__namespace$1.TuiHostedDropdownComponent, selector: "tui-hosted-dropdown", inputs: ["content", "canOpen", "open"], outputs: ["openChange", "focusedChange"] }, { type: TuiTabComponent, selector: "a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]" }, { type: i2__namespace$1.TuiSvgComponent, selector: "tui-svg", inputs: ["src"] }, { type: TuiUnderlineComponent, selector: "tui-underline", inputs: ["element"] }], directives: [{ type: i5__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: TuiTabsDirective, selector: "tui-tabs, nav[tuiTabs]", inputs: ["activeItemIndex"], outputs: ["activeItemIndexChange"] }, { type: i5__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace.TuiFocusableDirective, selector: "[tuiFocusable]", inputs: ["tuiFocusable"] }, { type: i8__namespace.PolymorpheusOutletDirective, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], pipes: { "async": i5__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
905
984
  __decorate([
906
985
  i4.tuiDefaultProp()
907
986
  ], TuiTabsWithMoreComponent.prototype, "moreContent", void 0);
@@ -977,22 +1056,26 @@
977
1056
  TuiTabsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
978
1057
  TuiTabsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsModule, declarations: [TuiTabsWithMoreComponent,
979
1058
  TuiTabsComponent,
1059
+ TuiTabsDirective,
1060
+ TuiTabsVerticalComponent,
980
1061
  TuiTabComponent,
981
1062
  TuiUnderlineComponent], imports: [i5.CommonModule,
1063
+ i8.PolymorpheusModule,
982
1064
  i2.TuiHostedDropdownModule,
983
1065
  i2.TuiSvgModule,
984
1066
  i4.TuiFocusableModule,
985
- i7.PolymorpheusModule,
986
1067
  i4.TuiItemModule], exports: [TuiTabsWithMoreComponent,
987
1068
  TuiTabsComponent,
1069
+ TuiTabsDirective,
1070
+ TuiTabsVerticalComponent,
988
1071
  TuiTabComponent,
989
1072
  i4.TuiItemDirective] });
990
1073
  TuiTabsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsModule, imports: [[
991
1074
  i5.CommonModule,
1075
+ i8.PolymorpheusModule,
992
1076
  i2.TuiHostedDropdownModule,
993
1077
  i2.TuiSvgModule,
994
1078
  i4.TuiFocusableModule,
995
- i7.PolymorpheusModule,
996
1079
  i4.TuiItemModule,
997
1080
  ]] });
998
1081
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: TuiTabsModule, decorators: [{
@@ -1000,21 +1083,25 @@
1000
1083
  args: [{
1001
1084
  imports: [
1002
1085
  i5.CommonModule,
1086
+ i8.PolymorpheusModule,
1003
1087
  i2.TuiHostedDropdownModule,
1004
1088
  i2.TuiSvgModule,
1005
1089
  i4.TuiFocusableModule,
1006
- i7.PolymorpheusModule,
1007
1090
  i4.TuiItemModule,
1008
1091
  ],
1009
1092
  declarations: [
1010
1093
  TuiTabsWithMoreComponent,
1011
1094
  TuiTabsComponent,
1095
+ TuiTabsDirective,
1096
+ TuiTabsVerticalComponent,
1012
1097
  TuiTabComponent,
1013
1098
  TuiUnderlineComponent,
1014
1099
  ],
1015
1100
  exports: [
1016
1101
  TuiTabsWithMoreComponent,
1017
1102
  TuiTabsComponent,
1103
+ TuiTabsDirective,
1104
+ TuiTabsVerticalComponent,
1018
1105
  TuiTabComponent,
1019
1106
  i4.TuiItemDirective,
1020
1107
  ],
@@ -1034,7 +1121,9 @@
1034
1121
  exports.TUI_TAB_PROVIDERS = TUI_TAB_PROVIDERS;
1035
1122
  exports.TuiTabComponent = TuiTabComponent;
1036
1123
  exports.TuiTabsComponent = TuiTabsComponent;
1124
+ exports.TuiTabsDirective = TuiTabsDirective;
1037
1125
  exports.TuiTabsModule = TuiTabsModule;
1126
+ exports.TuiTabsVerticalComponent = TuiTabsVerticalComponent;
1038
1127
  exports.TuiTabsWithMoreComponent = TuiTabsWithMoreComponent;
1039
1128
  exports.TuiUnderlineComponent = TuiUnderlineComponent;
1040
1129
  exports.tuiTabsOptionsProvider = tuiTabsOptionsProvider;