@taiga-ui/layout 4.52.0-canary.e444d19 → 4.52.0-canary.e53e79e

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 (66) hide show
  1. package/README.md +2 -2
  2. package/components/app-bar/app-bar-back.component.d.ts +1 -1
  3. package/components/app-bar/app-bar.component.d.ts +2 -2
  4. package/components/app-bar/app-bar.directive.d.ts +2 -2
  5. package/components/block-status/block-status.component.d.ts +3 -3
  6. package/components/block-status/block-status.directive.d.ts +2 -2
  7. package/components/card/collapsed.directive.d.ts +2 -2
  8. package/components/card/large.directive.d.ts +3 -2
  9. package/components/card/medium.directive.d.ts +2 -1
  10. package/components/dynamic-header/dynamic-header-anchor.directive.d.ts +1 -1
  11. package/components/dynamic-header/dynamic-header-container.directive.d.ts +2 -2
  12. package/components/form/form.directive.d.ts +3 -4
  13. package/components/form/form.options.d.ts +2 -2
  14. package/components/header/header.directive.d.ts +8 -11
  15. package/components/index.d.ts +2 -1
  16. package/components/input-search/input-search.component.d.ts +5 -6
  17. package/components/item-group/item-group.directive.d.ts +3 -3
  18. package/components/navigation/aside-group.component.d.ts +7 -8
  19. package/components/navigation/aside-item.directive.d.ts +2 -2
  20. package/components/navigation/aside.component.d.ts +2 -3
  21. package/components/navigation/drawer.component.d.ts +6 -7
  22. package/components/navigation/hint-aside.directive.d.ts +5 -3
  23. package/components/pdf-viewer/index.d.ts +1 -0
  24. package/components/pdf-viewer/pdf-viewer.component.d.ts +13 -0
  25. package/components/search/search-filter.component.d.ts +4 -3
  26. package/components/search/search-filters.component.d.ts +6 -8
  27. package/components/surface/index.d.ts +1 -0
  28. package/components/surface/surface.directive.d.ts +6 -0
  29. package/fesm2022/taiga-ui-layout-components-app-bar.mjs +25 -35
  30. package/fesm2022/taiga-ui-layout-components-app-bar.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-layout-components-block-details.mjs +9 -12
  32. package/fesm2022/taiga-ui-layout-components-block-details.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-layout-components-block-status.mjs +15 -22
  34. package/fesm2022/taiga-ui-layout-components-block-status.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-layout-components-card.mjs +55 -65
  36. package/fesm2022/taiga-ui-layout-components-card.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs +23 -27
  38. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-layout-components-form.mjs +33 -46
  40. package/fesm2022/taiga-ui-layout-components-form.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-layout-components-header.mjs +15 -33
  42. package/fesm2022/taiga-ui-layout-components-header.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-layout-components-input-search.mjs +20 -29
  44. package/fesm2022/taiga-ui-layout-components-input-search.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-layout-components-item-group.mjs +18 -32
  46. package/fesm2022/taiga-ui-layout-components-item-group.mjs.map +1 -1
  47. package/fesm2022/taiga-ui-layout-components-navigation.mjs +103 -117
  48. package/fesm2022/taiga-ui-layout-components-navigation.mjs.map +1 -1
  49. package/fesm2022/taiga-ui-layout-components-pdf-viewer.mjs +48 -0
  50. package/fesm2022/taiga-ui-layout-components-pdf-viewer.mjs.map +1 -0
  51. package/fesm2022/taiga-ui-layout-components-search.mjs +32 -52
  52. package/fesm2022/taiga-ui-layout-components-search.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-layout-components-surface.mjs +33 -0
  54. package/fesm2022/taiga-ui-layout-components-surface.mjs.map +1 -0
  55. package/fesm2022/taiga-ui-layout-components.mjs +2 -1
  56. package/fesm2022/taiga-ui-layout-components.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-layout-tokens.mjs +2 -7
  58. package/fesm2022/taiga-ui-layout-tokens.mjs.map +1 -1
  59. package/package.json +13 -6
  60. package/tokens/common-icons.d.ts +3 -5
  61. package/tokens/i18n.d.ts +1 -1
  62. package/components/cell/cell.directive.d.ts +0 -10
  63. package/components/cell/cell.options.d.ts +0 -6
  64. package/components/cell/index.d.ts +0 -2
  65. package/fesm2022/taiga-ui-layout-components-cell.mjs +0 -61
  66. package/fesm2022/taiga-ui-layout-components-cell.mjs.map +0 -1
@@ -1,32 +1,30 @@
1
1
  import * as i0 from '@angular/core';
2
- import { signal, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, inject, computed, TemplateRef, Output, ContentChild, ViewChild, Directive } from '@angular/core';
3
- import * as i3$1 from '@taiga-ui/core/components/button';
2
+ import { input, ChangeDetectionStrategy, ViewEncapsulation, Component, viewChild, contentChild, inject, TemplateRef, computed, effect, model, Directive, signal } from '@angular/core';
3
+ import * as i3 from '@taiga-ui/core/components/button';
4
4
  import { tuiButtonOptionsProvider, TuiButton } from '@taiga-ui/core/components/button';
5
5
  import { TuiScrollable, TuiScrollbar } from '@taiga-ui/core/components/scrollbar';
6
- import * as i1 from '@taiga-ui/core/directives/dropdown';
7
- import { tuiDropdownOptionsProvider, TuiDropdownDirective, TuiDropdownHover, TuiDropdownPositionSided, TuiDropdownOpen, TuiDropdownManual, TUI_DROPDOWN_OPTIONS, tuiDropdown, TUI_DROPDOWN_COMPONENT, TuiWithDropdownOpen } from '@taiga-ui/core/directives/dropdown';
6
+ import * as i1 from '@taiga-ui/core/portals/dropdown';
7
+ import { tuiDropdownOptionsProvider, TuiDropdownDirective, TuiDropdownHover, TuiDropdownPositionSided, TuiDropdownOpen, TuiDropdownManual, TUI_DROPDOWN_OPTIONS, tuiDropdown, TUI_DROPDOWN_COMPONENT, TuiWithDropdownOpen } from '@taiga-ui/core/portals/dropdown';
8
+ import * as i1$1 from '@taiga-ui/core/portals/hint';
9
+ import { tuiHintOptionsProvider, TuiHintDirective } from '@taiga-ui/core/portals/hint';
8
10
  import { TuiFade } from '@taiga-ui/kit/directives/fade';
9
- import { toObservable, toSignal } from '@angular/core/rxjs-interop';
10
- import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
11
+ import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/di';
12
+ import { tuiSetSignal } from '@taiga-ui/cdk/utils/miscellaneous';
11
13
  import * as i2 from '@taiga-ui/core/components/data-list';
12
14
  import { tuiAsDataListHost, TuiDataList, TuiDataListComponent } from '@taiga-ui/core/components/data-list';
13
- import * as i3 from '@taiga-ui/core/components/expand';
14
15
  import { TuiExpand } from '@taiga-ui/core/components/expand';
15
16
  import { TuiChevron, TUI_CHEVRON } from '@taiga-ui/kit/directives/chevron';
16
17
  import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
17
- import { skip } from 'rxjs';
18
+ import { toSignal } from '@angular/core/rxjs-interop';
18
19
  import * as i4 from '@angular/router';
19
20
  import { RouterLink, RouterLinkActive } from '@angular/router';
20
- import { TuiIcons } from '@taiga-ui/core/directives/icons';
21
- import { TUI_COMMON_ICONS, TUI_ICON_END, TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
21
+ import { TuiIcons, tuiIconStart } from '@taiga-ui/core/directives/icons';
22
+ import { TUI_COMMON_ICONS, TUI_ICON_END } from '@taiga-ui/core/tokens';
22
23
  import { tuiInjectElement, tuiIsHTMLElement } from '@taiga-ui/cdk/utils/dom';
23
- import * as i1$1 from '@taiga-ui/core/directives/hint';
24
- import { TuiHintDirective, tuiHintOptionsProvider } from '@taiga-ui/core/directives/hint';
25
24
  import * as i1$2 from '@taiga-ui/cdk/directives/active-zone';
26
25
  import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone';
27
26
  import * as i2$1 from '@taiga-ui/cdk/directives/animated';
28
27
  import { TuiAnimated } from '@taiga-ui/cdk/directives/animated';
29
- import { tuiToAnimationOptions } from '@taiga-ui/core/utils/miscellaneous';
30
28
  import { TUI_LAYOUT_ICONS } from '@taiga-ui/layout/tokens';
31
29
  import { tuiTextfieldOptionsProvider } from '@taiga-ui/core/components/textfield';
32
30
  import { tuiAvatarOptionsProvider } from '@taiga-ui/kit/components/avatar';
@@ -38,14 +36,11 @@ import { tuiBreadcrumbsOptionsProvider } from '@taiga-ui/kit/components/breadcru
38
36
 
39
37
  class TuiAsideComponent {
40
38
  constructor() {
41
- // TODO: refactor to signal inputs after Angular update
42
- this.expanded = signal(false);
39
+ this.expanded = input(false, { alias: 'tuiNavigationAside' });
43
40
  }
44
- set tuiNavigationAside(expanded) {
45
- this.expanded.set(expanded);
46
- }
47
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAsideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiAsideComponent, isStandalone: true, selector: "aside[tuiNavigationAside]", inputs: { tuiNavigationAside: "tuiNavigationAside" }, host: { attributes: { "tuiNavigationAside": "", "tuiTheme": "dark" }, properties: { "class._expanded": "expanded()" } }, providers: [
41
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAsideComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
42
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.16", type: TuiAsideComponent, isStandalone: true, selector: "aside[tuiNavigationAside]", inputs: { expanded: { classPropertyName: "expanded", publicName: "tuiNavigationAside", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "tuiNavigationAside": "", "tuiTheme": "dark" }, properties: { "class._expanded": "expanded()" } }, providers: [
43
+ tuiHintOptionsProvider({ appearance: 'floating' }),
49
44
  tuiButtonOptionsProvider({ size: 's', appearance: 'flat-grayscale' }),
50
45
  tuiDropdownOptionsProvider({
51
46
  appearance: 'dropdown-navigation',
@@ -64,9 +59,9 @@ class TuiAsideComponent {
64
59
  </div>
65
60
  </tui-scrollbar>
66
61
  <ng-content select="footer" />
67
- `, isInline: true, styles: ["aside[tuiNavigationAside]{transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:3rem;left:0;z-index:1;display:flex;inset-inline-start:0;inline-size:3rem;flex-direction:column;padding:.5rem .5rem .25rem;box-sizing:border-box;background:var(--tui-theme-color, #000);color:var(--tui-text-primary)}aside[tuiNavigationAside]:before{content:\"\";position:absolute;top:0;left:100%;z-index:-1;inset-inline-start:100%;block-size:3rem;inline-size:3rem;pointer-events:none;border-top-left-radius:1.25rem;box-shadow:-1.5rem 0 var(--tui-theme-color, #000);transform:scaleX(var(--tui-inline))}aside[tuiNavigationAside]:after{content:\"\";position:fixed;top:inherit;left:0;bottom:-3rem;z-index:-1;inset-inline-start:0;inline-size:3rem;background:inherit}aside[tuiNavigationAside]._expanded{inline-size:14.375rem}aside[tuiNavigationAside]._expanded+main[tuiNavigationMain]{max-inline-size:calc(100% - 14.375rem)}aside[tuiNavigationAside] .t-nav-scrollbar{margin:0 -.25rem}aside[tuiNavigationAside] .t-nav-content{scrollbar-width:none;-ms-overflow-style:none;block-size:100%;padding:0 .25rem;overflow:auto}aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar,aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar-thumb{display:none}aside[tuiNavigationAside] tui-expand [tuiAsideItem]{padding-inline-start:2rem}aside[tuiNavigationAside] hr{background:var(--tui-border-normal);block-size:1px;margin:0 0 .25rem;border:none}aside[tuiNavigationAside] header{padding-block-end:.25rem;box-shadow:inset 0 -1px var(--tui-border-normal);margin-block-end:1rem}aside[tuiNavigationAside] footer{display:flex;flex-direction:column;flex:1}aside[tuiNavigationAside] footer:before{content:\"\";min-block-size:1.75rem;margin:0 -.5rem;flex:1;mask:linear-gradient(transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}aside[tuiNavigationAside]+main[tuiNavigationMain]{max-inline-size:calc(100% - 3rem)}[tuiAsideItem][tuiAsideItem]{inline-size:100%;justify-content:flex-start;gap:.625rem;margin-block-end:.25rem}[tuiAsideItem][tuiAsideItem]:after{border:none!important;margin-inline-start:auto!important;color:var(--tui-text-tertiary)}[tuiAsideItem][tuiAsideItem].tui-dropdown-open,[tuiAsideItem][tuiAsideItem]._active:not(._chevron-rotated),aside[tuiNavigationAside]:not(._expanded) [tuiAsideItem][tuiAsideItem]._active{background:var(--tui-background-neutral-1-hover)}tui-dropdown[data-appearance=dropdown-navigation]{border:none;background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]{justify-content:flex-start;margin:0;padding:0 .5rem}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._active{background:transparent}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link:not(._custom):after{opacity:0}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link._active:after{opacity:1}\n"], dependencies: [{ kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiScrollable, selector: "[tuiScrollable]" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
62
+ `, isInline: true, styles: ["aside[tuiNavigationAside]{transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:3rem;left:0;z-index:1;display:flex;inset-inline-start:0;inline-size:3rem;flex-direction:column;padding:.5rem .5rem .25rem;box-sizing:border-box;background:var(--tui-theme-color, #000);color:var(--tui-text-primary)}aside[tuiNavigationAside]:before{content:\"\";position:absolute;top:0;left:100%;z-index:-1;inset-inline-start:100%;block-size:3rem;inline-size:3rem;pointer-events:none;border-top-left-radius:1.25rem;box-shadow:-1.5rem 0 var(--tui-theme-color, #000);transform:scaleX(var(--tui-inline))}aside[tuiNavigationAside]:after{content:\"\";position:fixed;top:inherit;left:0;bottom:-3rem;z-index:-1;inset-inline-start:0;inline-size:3rem;background:inherit}aside[tuiNavigationAside]._expanded{inline-size:14.375rem}aside[tuiNavigationAside]._expanded+main[tuiNavigationMain]{max-inline-size:calc(100% - 14.375rem)}aside[tuiNavigationAside] .t-nav-scrollbar{margin:0 -.25rem}aside[tuiNavigationAside] .t-nav-content{scrollbar-width:none;-ms-overflow-style:none;block-size:100%;padding:0 .25rem;overflow:auto}aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar,aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar-thumb{display:none}aside[tuiNavigationAside] tui-expand [tuiAsideItem]{padding-inline-start:2rem}aside[tuiNavigationAside] hr{background:var(--tui-border-normal);block-size:1px;margin:0 0 .25rem;border:none}aside[tuiNavigationAside] header{padding-block-end:.25rem;box-shadow:inset 0 -1px var(--tui-border-normal);margin-block-end:1rem}aside[tuiNavigationAside] footer{display:flex;flex-direction:column;flex:1}aside[tuiNavigationAside] footer:before{content:\"\";min-block-size:1.75rem;margin:0 -.5rem;flex:1;mask:linear-gradient(transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}aside[tuiNavigationAside]+main[tuiNavigationMain]{max-inline-size:calc(100% - 3rem)}[tuiAsideItem][tuiAsideItem]{inline-size:100%;justify-content:flex-start;gap:.625rem;margin-block-end:.25rem}[tuiAsideItem][tuiAsideItem]:after{border:none!important;margin-inline-start:auto!important;color:var(--tui-text-tertiary)}[tuiAsideItem][tuiAsideItem].tui-dropdown-open,[tuiAsideItem][tuiAsideItem]._active:not(._chevron-rotated),aside[tuiNavigationAside]:not(._expanded) [tuiAsideItem][tuiAsideItem]._active{background:var(--tui-background-neutral-1-hover)}tui-dropdown[data-appearance=dropdown-navigation]{border:none;background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]{margin:0}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._active{background:transparent}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link:not(._custom):after{opacity:0}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link._active:after{opacity:1}\n"], dependencies: [{ kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }, { kind: "directive", type: TuiScrollable, selector: "[tuiScrollable]" }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
68
63
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAsideComponent, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAsideComponent, decorators: [{
70
65
  type: Component,
71
66
  args: [{ selector: 'aside[tuiNavigationAside]', imports: [TuiFade, TuiScrollable, TuiScrollbar], template: `
72
67
  <ng-content select="header" />
@@ -81,6 +76,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
81
76
  </tui-scrollbar>
82
77
  <ng-content select="footer" />
83
78
  `, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
79
+ tuiHintOptionsProvider({ appearance: 'floating' }),
84
80
  tuiButtonOptionsProvider({ size: 's', appearance: 'flat-grayscale' }),
85
81
  tuiDropdownOptionsProvider({
86
82
  appearance: 'dropdown-navigation',
@@ -91,71 +87,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
91
87
  tuiNavigationAside: '',
92
88
  tuiTheme: 'dark',
93
89
  '[class._expanded]': 'expanded()',
94
- }, styles: ["aside[tuiNavigationAside]{transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:3rem;left:0;z-index:1;display:flex;inset-inline-start:0;inline-size:3rem;flex-direction:column;padding:.5rem .5rem .25rem;box-sizing:border-box;background:var(--tui-theme-color, #000);color:var(--tui-text-primary)}aside[tuiNavigationAside]:before{content:\"\";position:absolute;top:0;left:100%;z-index:-1;inset-inline-start:100%;block-size:3rem;inline-size:3rem;pointer-events:none;border-top-left-radius:1.25rem;box-shadow:-1.5rem 0 var(--tui-theme-color, #000);transform:scaleX(var(--tui-inline))}aside[tuiNavigationAside]:after{content:\"\";position:fixed;top:inherit;left:0;bottom:-3rem;z-index:-1;inset-inline-start:0;inline-size:3rem;background:inherit}aside[tuiNavigationAside]._expanded{inline-size:14.375rem}aside[tuiNavigationAside]._expanded+main[tuiNavigationMain]{max-inline-size:calc(100% - 14.375rem)}aside[tuiNavigationAside] .t-nav-scrollbar{margin:0 -.25rem}aside[tuiNavigationAside] .t-nav-content{scrollbar-width:none;-ms-overflow-style:none;block-size:100%;padding:0 .25rem;overflow:auto}aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar,aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar-thumb{display:none}aside[tuiNavigationAside] tui-expand [tuiAsideItem]{padding-inline-start:2rem}aside[tuiNavigationAside] hr{background:var(--tui-border-normal);block-size:1px;margin:0 0 .25rem;border:none}aside[tuiNavigationAside] header{padding-block-end:.25rem;box-shadow:inset 0 -1px var(--tui-border-normal);margin-block-end:1rem}aside[tuiNavigationAside] footer{display:flex;flex-direction:column;flex:1}aside[tuiNavigationAside] footer:before{content:\"\";min-block-size:1.75rem;margin:0 -.5rem;flex:1;mask:linear-gradient(transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}aside[tuiNavigationAside]+main[tuiNavigationMain]{max-inline-size:calc(100% - 3rem)}[tuiAsideItem][tuiAsideItem]{inline-size:100%;justify-content:flex-start;gap:.625rem;margin-block-end:.25rem}[tuiAsideItem][tuiAsideItem]:after{border:none!important;margin-inline-start:auto!important;color:var(--tui-text-tertiary)}[tuiAsideItem][tuiAsideItem].tui-dropdown-open,[tuiAsideItem][tuiAsideItem]._active:not(._chevron-rotated),aside[tuiNavigationAside]:not(._expanded) [tuiAsideItem][tuiAsideItem]._active{background:var(--tui-background-neutral-1-hover)}tui-dropdown[data-appearance=dropdown-navigation]{border:none;background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]{justify-content:flex-start;margin:0;padding:0 .5rem}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._active{background:transparent}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link:not(._custom):after{opacity:0}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link._active:after{opacity:1}\n"] }]
95
- }], propDecorators: { tuiNavigationAside: [{
96
- type: Input
97
- }] } });
90
+ }, styles: ["aside[tuiNavigationAside]{transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:sticky;top:3rem;left:0;z-index:1;display:flex;inset-inline-start:0;inline-size:3rem;flex-direction:column;padding:.5rem .5rem .25rem;box-sizing:border-box;background:var(--tui-theme-color, #000);color:var(--tui-text-primary)}aside[tuiNavigationAside]:before{content:\"\";position:absolute;top:0;left:100%;z-index:-1;inset-inline-start:100%;block-size:3rem;inline-size:3rem;pointer-events:none;border-top-left-radius:1.25rem;box-shadow:-1.5rem 0 var(--tui-theme-color, #000);transform:scaleX(var(--tui-inline))}aside[tuiNavigationAside]:after{content:\"\";position:fixed;top:inherit;left:0;bottom:-3rem;z-index:-1;inset-inline-start:0;inline-size:3rem;background:inherit}aside[tuiNavigationAside]._expanded{inline-size:14.375rem}aside[tuiNavigationAside]._expanded+main[tuiNavigationMain]{max-inline-size:calc(100% - 14.375rem)}aside[tuiNavigationAside] .t-nav-scrollbar{margin:0 -.25rem}aside[tuiNavigationAside] .t-nav-content{scrollbar-width:none;-ms-overflow-style:none;block-size:100%;padding:0 .25rem;overflow:auto}aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar,aside[tuiNavigationAside] .t-nav-content::-webkit-scrollbar-thumb{display:none}aside[tuiNavigationAside] tui-expand [tuiAsideItem]{padding-inline-start:2rem}aside[tuiNavigationAside] hr{background:var(--tui-border-normal);block-size:1px;margin:0 0 .25rem;border:none}aside[tuiNavigationAside] header{padding-block-end:.25rem;box-shadow:inset 0 -1px var(--tui-border-normal);margin-block-end:1rem}aside[tuiNavigationAside] footer{display:flex;flex-direction:column;flex:1}aside[tuiNavigationAside] footer:before{content:\"\";min-block-size:1.75rem;margin:0 -.5rem;flex:1;mask:linear-gradient(transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}aside[tuiNavigationAside]+main[tuiNavigationMain]{max-inline-size:calc(100% - 3rem)}[tuiAsideItem][tuiAsideItem]{inline-size:100%;justify-content:flex-start;gap:.625rem;margin-block-end:.25rem}[tuiAsideItem][tuiAsideItem]:after{border:none!important;margin-inline-start:auto!important;color:var(--tui-text-tertiary)}[tuiAsideItem][tuiAsideItem].tui-dropdown-open,[tuiAsideItem][tuiAsideItem]._active:not(._chevron-rotated),aside[tuiNavigationAside]:not(._expanded) [tuiAsideItem][tuiAsideItem]._active{background:var(--tui-background-neutral-1-hover)}tui-dropdown[data-appearance=dropdown-navigation]{border:none;background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]{margin:0}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._active{background:transparent}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link:not(._custom):after{opacity:0}tui-dropdown[data-appearance=dropdown-navigation] [tuiAsideItem]._link._active:after{opacity:1}\n"] }]
91
+ }] });
98
92
 
99
93
  class TuiAsideGroupComponent {
100
94
  constructor() {
95
+ this.datalist = viewChild('datalist');
96
+ this.chevron = contentChild(TuiChevron);
101
97
  this.aside = inject(TuiAsideComponent);
102
- this.open = signal(false);
103
- this.template = null;
98
+ this.template = contentChild(TemplateRef);
104
99
  this.expanded = computed(() => this.aside.expanded() && this.open());
105
- this.binding = tuiDirectiveBinding(TuiDropdownDirective, 'tuiDropdown', computed(() => (this.aside.expanded() ? null : this.datalist)));
106
- this.openChange = toObservable(this.open).pipe(skip(1));
100
+ this.chevronEffect = effect(() => {
101
+ const chevron = this.chevron();
102
+ if (chevron) {
103
+ tuiSetSignal(chevron.rotated, this.expanded());
104
+ }
105
+ });
106
+ this.binding = tuiDirectiveBinding(TuiDropdownDirective, 'tuiDropdown', computed(() => (this.aside.expanded() ? null : this.datalist())));
107
107
  this.size = 's';
108
+ this.open = model(false);
108
109
  }
109
- set openSetter(open) {
110
- this.toggle(open);
110
+ toggle() {
111
+ if (this.aside.expanded()) {
112
+ this.open.set(!this.open());
113
+ }
111
114
  }
112
- toggle(open = !this.open()) {
113
- this.open.set(open && this.aside.expanded());
114
- this.chevron?.chevron.set(this.open());
115
- }
116
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAsideGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
117
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiAsideGroupComponent, isStandalone: true, selector: "tui-aside-group", inputs: { openSetter: ["open", "openSetter"] }, outputs: { openChange: "openChange" }, providers: [tuiAsDataListHost(TuiAsideGroupComponent)], queries: [{ propertyName: "chevron", first: true, predicate: TuiChevron, descendants: true, static: true }, { propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "datalist", first: true, predicate: ["datalist"], descendants: true, static: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiDropdownHover }, { directive: i1.TuiDropdownPositionSided }, { directive: i1.TuiDropdownOpen }], ngImport: i0, template: "<div\n #host\n (click)=\"toggle()\"\n>\n <ng-content />\n</div>\n<tui-expand [expanded]=\"expanded()\">\n <ng-container *polymorpheusOutlet=\"template\" />\n</tui-expand>\n<ng-template #datalist>\n <tui-data-list>\n <tui-opt-group [label]=\"host.textContent\">\n <ng-container *polymorpheusOutlet=\"template\" />\n </tui-opt-group>\n </tui-data-list>\n</ng-template>\n", dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i2.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i2.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "component", type: i3.TuiExpandComponent, selector: "tui-expand", inputs: ["async", "expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
115
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAsideGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
116
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.16", type: TuiAsideGroupComponent, isStandalone: true, selector: "tui-aside-group", inputs: { open: { classPropertyName: "open", publicName: "open", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { open: "openChange" }, providers: [tuiAsDataListHost(TuiAsideGroupComponent)], queries: [{ propertyName: "chevron", first: true, predicate: TuiChevron, descendants: true, isSignal: true }, { propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "datalist", first: true, predicate: ["datalist"], descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiDropdownHover }, { directive: i1.TuiDropdownPositionSided }, { directive: i1.TuiDropdownOpen }], ngImport: i0, template: "<div\n #host\n (click)=\"toggle()\"\n>\n <ng-content />\n</div>\n<tui-expand [expanded]=\"expanded()\">\n <ng-container *polymorpheusOutlet=\"template()\" />\n</tui-expand>\n<ng-template #datalist>\n <tui-data-list>\n <tui-opt-group [label]=\"host.textContent\">\n <ng-container *polymorpheusOutlet=\"template()\" />\n </tui-opt-group>\n </tui-data-list>\n</ng-template>\n", dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: i2.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i2.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "component", type: TuiExpand, selector: "tui-expand", inputs: ["expanded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
118
117
  }
119
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAsideGroupComponent, decorators: [{
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAsideGroupComponent, decorators: [{
120
119
  type: Component,
121
120
  args: [{ selector: 'tui-aside-group', imports: [PolymorpheusOutlet, TuiDataList, TuiExpand], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsDataListHost(TuiAsideGroupComponent)], hostDirectives: [
122
121
  TuiDropdownDirective,
123
122
  TuiDropdownHover,
124
123
  TuiDropdownPositionSided,
125
124
  TuiDropdownOpen,
126
- ], template: "<div\n #host\n (click)=\"toggle()\"\n>\n <ng-content />\n</div>\n<tui-expand [expanded]=\"expanded()\">\n <ng-container *polymorpheusOutlet=\"template\" />\n</tui-expand>\n<ng-template #datalist>\n <tui-data-list>\n <tui-opt-group [label]=\"host.textContent\">\n <ng-container *polymorpheusOutlet=\"template\" />\n </tui-opt-group>\n </tui-data-list>\n</ng-template>\n" }]
127
- }], propDecorators: { datalist: [{
128
- type: ViewChild,
129
- args: ['datalist', { static: true }]
130
- }], chevron: [{
131
- type: ContentChild,
132
- args: [TuiChevron, { static: true }]
133
- }], template: [{
134
- type: ContentChild,
135
- args: [TemplateRef]
136
- }], openChange: [{
137
- type: Output
138
- }], openSetter: [{
139
- type: Input,
140
- args: ['open']
141
- }] } });
125
+ ], template: "<div\n #host\n (click)=\"toggle()\"\n>\n <ng-content />\n</div>\n<tui-expand [expanded]=\"expanded()\">\n <ng-container *polymorpheusOutlet=\"template()\" />\n</tui-expand>\n<ng-template #datalist>\n <tui-data-list>\n <tui-opt-group [label]=\"host.textContent\">\n <ng-container *polymorpheusOutlet=\"template()\" />\n </tui-opt-group>\n </tui-data-list>\n</ng-template>\n" }]
126
+ }] });
142
127
 
143
128
  class TuiHintAsideDirective {
144
129
  constructor() {
145
130
  this.el = tuiInjectElement();
146
131
  this.aside = inject(TuiAsideComponent);
147
132
  this.dropdown = inject(TuiDropdownDirective, { optional: true });
148
- this.binding = tuiDirectiveBinding(TuiHintDirective, 'tuiHint', computed(() => this.aside.expanded() || this.dropdown
149
- ? ''
150
- : () => this.el.textContent?.trim()));
133
+ this.tuiHintAside = input(null);
134
+ this.binding = tuiDirectiveBinding(TuiHintDirective, 'content', computed(() => {
135
+ const hint = this.tuiHintAside();
136
+ const expanded = this.aside.expanded();
137
+ return expanded || this.dropdown
138
+ ? ''
139
+ : hint || (() => this.el.textContent?.trim());
140
+ }));
151
141
  }
152
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintAsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
153
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiHintAsideDirective, isStandalone: true, selector: "[tuiHintAside]", providers: [tuiHintOptionsProvider({ direction: 'right' })], hostDirectives: [{ directive: i1$1.TuiHintDirective }], ngImport: i0 }); }
142
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiHintAsideDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
143
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.16", type: TuiHintAsideDirective, isStandalone: true, selector: "[tuiHintAside]", inputs: { tuiHintAside: { classPropertyName: "tuiHintAside", publicName: "tuiHintAside", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiHintOptionsProvider({ direction: 'right' })], hostDirectives: [{ directive: i1$1.TuiHintDirective }], ngImport: i0 }); }
154
144
  }
155
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHintAsideDirective, decorators: [{
145
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiHintAsideDirective, decorators: [{
156
146
  type: Directive,
157
147
  args: [{
158
- standalone: true,
159
148
  selector: '[tuiHintAside]',
160
149
  providers: [tuiHintOptionsProvider({ direction: 'right' })],
161
150
  hostDirectives: [TuiHintDirective],
@@ -170,17 +159,16 @@ class TuiAsideItemDirective {
170
159
  this.active = toSignal(inject(RouterLinkActive).isActiveChange);
171
160
  this.size = 's';
172
161
  }
173
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAsideItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
174
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAsideItemDirective, isStandalone: true, selector: "[tuiAsideItem]", host: { attributes: { "tuiButton": "", "tuiOption": "" }, properties: { "class._link": "link", "class._active": "active()", "class._custom": "icon !== icons.iconEnd()" } }, providers: [
162
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAsideItemDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
163
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: TuiAsideItemDirective, isStandalone: true, selector: "[tuiAsideItem]", host: { attributes: { "tuiButton": "", "tuiOption": "", "tuiAsideItem": "" }, properties: { "class._link": "link", "class._active": "active()", "class._custom": "icon !== icons.iconEnd()" } }, providers: [
175
164
  tuiAsDataListHost(TuiAsideItemDirective),
176
165
  provideIcon(),
177
166
  provideDropdown(),
178
- ], hostDirectives: [{ directive: TuiHintAsideDirective }, { directive: i1.TuiDropdownManual }, { directive: i1.TuiDropdownPositionSided }, { directive: i3$1.TuiButton }, { directive: i4.RouterLinkActive, inputs: ["routerLinkActiveOptions", "routerLinkActiveOptions"] }], ngImport: i0 }); }
167
+ ], hostDirectives: [{ directive: TuiHintAsideDirective, inputs: ["tuiHintAside", "tuiAsideItem"] }, { directive: i1.TuiDropdownManual }, { directive: i1.TuiDropdownPositionSided }, { directive: i3.TuiButton }, { directive: i4.RouterLinkActive, inputs: ["routerLinkActiveOptions", "routerLinkActiveOptions"] }], ngImport: i0 }); }
179
168
  }
180
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAsideItemDirective, decorators: [{
169
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAsideItemDirective, decorators: [{
181
170
  type: Directive,
182
171
  args: [{
183
- standalone: true,
184
172
  selector: '[tuiAsideItem]',
185
173
  providers: [
186
174
  tuiAsDataListHost(TuiAsideItemDirective),
@@ -188,7 +176,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
188
176
  provideDropdown(),
189
177
  ],
190
178
  hostDirectives: [
191
- TuiHintAsideDirective,
179
+ {
180
+ directive: TuiHintAsideDirective,
181
+ inputs: ['tuiHintAside:tuiAsideItem'],
182
+ },
192
183
  TuiDropdownManual,
193
184
  TuiDropdownPositionSided,
194
185
  TuiButton,
@@ -200,6 +191,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
200
191
  host: {
201
192
  tuiButton: '',
202
193
  tuiOption: '',
194
+ tuiAsideItem: '',
203
195
  '[class._link]': 'link',
204
196
  '[class._active]': 'active()',
205
197
  '[class._custom]': 'icon !== icons.iconEnd()',
@@ -237,46 +229,41 @@ function provideDropdown() {
237
229
  class TuiDrawerComponent {
238
230
  constructor() {
239
231
  this.directive = inject(TuiDropdownDirective);
240
- this.animation = tuiToAnimationOptions(inject(TUI_ANIMATIONS_SPEED));
241
232
  this.top = tuiIsHTMLElement(this.directive.el.offsetParent) &&
242
233
  tuiIsHTMLElement(this.directive.el.offsetParent.offsetParent)
243
234
  ? this.directive.el.offsetParent.getBoundingClientRect().bottom -
244
235
  Math.max(this.directive.el.offsetParent.offsetParent.getBoundingClientRect().top, 0)
245
236
  : 0;
246
237
  }
247
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
248
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiDrawerComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "tuiTheme": "dark" }, properties: { "style.top.px": "top" } }, hostDirectives: [{ directive: i1$2.TuiActiveZone }, { directive: i2$1.TuiAnimated }], ngImport: i0, template: `
238
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDrawerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
239
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: TuiDrawerComponent, isStandalone: true, selector: "ng-component", host: { attributes: { "tuiTheme": "dark" }, properties: { "style.inset-block-start.px": "top" } }, hostDirectives: [{ directive: i1$2.TuiActiveZone }, { directive: i2$1.TuiAnimated }], ngImport: i0, template: `
249
240
  <tui-scrollbar [style.height.%]="100">
250
- <ng-container *polymorpheusOutlet="directive._content()" />
241
+ <ng-container *polymorpheusOutlet="directive.content()" />
251
242
  </tui-scrollbar>
252
- `, isInline: true, styles: [":host{position:fixed;left:0;right:0;bottom:0;background:var(--tui-theme-color, #000);inline-size:14.375rem;color:var(--tui-text-primary);pointer-events:auto;--tui-from: translateX(-100%)}:host.tui-enter,:host.tui-leave{animation-name:tuiSlide}:host ::ng-deep tui-data-list [tuiOption]{justify-content:flex-start;gap:.75rem;margin:0;font:var(--tui-font-text-ui-s);font-weight:700}:host ::ng-deep tui-data-list tui-opt-group:before{font:var(--tui-font-text-xs);text-transform:uppercase;color:var(--tui-text-tertiary)}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar", inputs: ["hidden"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
243
+ `, isInline: true, styles: [":host{position:fixed;left:0;right:0;bottom:0;background:var(--tui-theme-color, #000);inline-size:14.375rem;color:var(--tui-text-primary);pointer-events:auto;--tui-from: translateX(-100%)}:host.tui-enter,:host.tui-leave{animation-name:tuiSlide}:host ::ng-deep tui-data-list [tuiOption]{justify-content:flex-start;gap:.75rem;margin:0;font:var(--tui-font-text-ui-s);font-weight:700}:host ::ng-deep tui-data-list tui-opt-group:before{font:var(--tui-font-text-xs);text-transform:uppercase;color:var(--tui-text-tertiary)}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiScrollbar, selector: "tui-scrollbar" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
253
244
  }
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDrawerComponent, decorators: [{
245
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDrawerComponent, decorators: [{
255
246
  type: Component,
256
247
  args: [{ imports: [PolymorpheusOutlet, TuiScrollbar], template: `
257
248
  <tui-scrollbar [style.height.%]="100">
258
- <ng-container *polymorpheusOutlet="directive._content()" />
249
+ <ng-container *polymorpheusOutlet="directive.content()" />
259
250
  </tui-scrollbar>
260
251
  `, changeDetection: ChangeDetectionStrategy.OnPush, hostDirectives: [TuiActiveZone, TuiAnimated], host: {
261
252
  tuiTheme: 'dark',
262
- '[style.top.px]': 'top',
253
+ '[style.inset-block-start.px]': 'top',
263
254
  }, styles: [":host{position:fixed;left:0;right:0;bottom:0;background:var(--tui-theme-color, #000);inline-size:14.375rem;color:var(--tui-text-primary);pointer-events:auto;--tui-from: translateX(-100%)}:host.tui-enter,:host.tui-leave{animation-name:tuiSlide}:host ::ng-deep tui-data-list [tuiOption]{justify-content:flex-start;gap:.75rem;margin:0;font:var(--tui-font-text-ui-s);font-weight:700}:host ::ng-deep tui-data-list tui-opt-group:before{font:var(--tui-font-text-xs);text-transform:uppercase;color:var(--tui-text-tertiary)}\n"] }]
264
255
  }] });
265
256
  class TuiDrawerDirective {
266
257
  constructor() {
267
258
  this.x = inject(TUI_COMMON_ICONS).close;
268
- this.icons = inject(TuiIcons);
269
259
  this.dropdown = tuiDropdown(null);
270
- this.open = inject(TuiDropdownOpen);
271
- }
272
- ngDoCheck() {
273
- this.icons.iconStart.set(this.open.tuiDropdownOpen ? this.x : '');
260
+ this.open = inject(TuiDropdownOpen).open;
261
+ this.template = viewChild(TemplateRef);
262
+ this.ef = effect(() => this.dropdown.set(this.template()));
263
+ this.icon = tuiIconStart(computed(() => (this.open() ? this.x : '')));
274
264
  }
275
- set template(template) {
276
- this.dropdown.set(template);
277
- }
278
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDrawerDirective, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
279
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiDrawerDirective, isStandalone: true, selector: "[tuiIconButton][tuiNavigationDrawer]", providers: [
265
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDrawerDirective, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
266
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.16", type: TuiDrawerDirective, isStandalone: true, selector: "[tuiIconButton][tuiNavigationDrawer]", providers: [
280
267
  tuiButtonOptionsProvider({ appearance: 'secondary-grayscale' }),
281
268
  {
282
269
  provide: TUI_ICON_END,
@@ -286,12 +273,11 @@ class TuiDrawerDirective {
286
273
  provide: TUI_DROPDOWN_COMPONENT,
287
274
  useValue: TuiDrawerComponent,
288
275
  },
289
- ], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiWithDropdownOpen }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
276
+ ], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, isSignal: true }], hostDirectives: [{ directive: i1.TuiDropdownDirective }, { directive: i1.TuiWithDropdownOpen }], ngImport: i0, template: '<ng-template><ng-content /></ng-template>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
290
277
  }
291
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiDrawerDirective, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiDrawerDirective, decorators: [{
292
279
  type: Component,
293
280
  args: [{
294
- standalone: true,
295
281
  // TODO: move to host directives
296
282
  selector: '[tuiIconButton][tuiNavigationDrawer]',
297
283
  template: '<ng-template><ng-content /></ng-template>',
@@ -309,67 +295,66 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
309
295
  ],
310
296
  hostDirectives: [TuiDropdownDirective, TuiWithDropdownOpen],
311
297
  }]
312
- }], propDecorators: { template: [{
313
- type: ViewChild,
314
- args: [TemplateRef]
315
- }] } });
298
+ }] });
316
299
 
317
300
  class TuiHeaderComponent {
318
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
319
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiHeaderComponent, isStandalone: true, selector: "header[tuiNavigationHeader]", host: { attributes: { "tuiTheme": "dark" } }, providers: [
301
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
302
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: TuiHeaderComponent, isStandalone: true, selector: "header[tuiNavigationHeader]", host: { attributes: { "tuiTheme": "dark" } }, providers: [
320
303
  tuiAvatarOptionsProvider({ size: 's', appearance: 'secondary-grayscale' }),
321
304
  tuiBadgeNotificationOptionsProvider({ size: 'xs' }),
322
305
  tuiBadgeOptionsProvider({ size: 'm', appearance: 'primary' }),
323
306
  tuiButtonOptionsProvider({ size: 's', appearance: 'flat-grayscale' }),
324
307
  tuiDropdownOptionsProvider({ appearance: 'dropdown-navigation' }),
325
308
  tuiTextfieldOptionsProvider({ size: signal('s') }),
309
+ tuiHintOptionsProvider({ appearance: 'floating' }),
326
310
  ], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["header[tuiNavigationHeader][tuiNavigationHeader]{position:sticky;top:0;left:0;z-index:2;display:flex;inset-inline-start:0;block-size:3rem;inline-size:100vw;align-items:center;gap:.25rem;padding:.5rem;box-sizing:border-box;font:var(--tui-font-text-s);line-height:1rem;background:var(--tui-theme-color, #000);color:var(--tui-text-primary);box-shadow:0 -100rem 0 100rem var(--tui-theme-color, #000)}header[tuiNavigationHeader][tuiNavigationHeader]:before{content:\"\";position:absolute;top:100%;left:0;right:0;z-index:-1;block-size:3rem;pointer-events:none;box-shadow:0 -1.5rem var(--tui-theme-color, #000);border-radius:1.25rem 1.25rem 0 0}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationLogo]{padding:0 .5rem;margin:0 1rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationLogo] tui-icon{font-size:1rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]{display:flex;gap:.5rem;min-inline-size:12rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]>*:not(:last-child){flex:1 0 auto}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]>*:last-child{min-inline-size:3rem;flex:1 1 auto}header[tuiNavigationHeader][tuiNavigationHeader] [tuiButton],header[tuiNavigationHeader][tuiNavigationHeader] [tuiBadge],header[tuiNavigationHeader][tuiNavigationHeader] [tuiChip],header[tuiNavigationHeader][tuiNavigationHeader] tui-badge,header[tuiNavigationHeader][tuiNavigationHeader] tui-chip{max-inline-size:12.5rem}header[tuiNavigationHeader][tuiNavigationHeader] hr{flex:1;block-size:calc(100% + 1rem);min-inline-size:4rem;margin:-.5rem 0;border:none;flex-shrink:0;background:transparent;mask:linear-gradient(to right,transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}header[tuiNavigationHeader][tuiNavigationHeader] hr~[tuiButton]{margin-inline-end:.5rem}header[tuiNavigationHeader][tuiNavigationHeader] tui-textfield{inline-size:12rem;margin-inline-end:1.75rem}tui-dropdown[data-appearance=dropdown-navigation]{border:none;color:var(--tui-text-primary);background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
327
311
  }
328
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiHeaderComponent, decorators: [{
312
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiHeaderComponent, decorators: [{
329
313
  type: Component,
330
- args: [{ standalone: true, selector: 'header[tuiNavigationHeader]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
314
+ args: [{ selector: 'header[tuiNavigationHeader]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
331
315
  tuiAvatarOptionsProvider({ size: 's', appearance: 'secondary-grayscale' }),
332
316
  tuiBadgeNotificationOptionsProvider({ size: 'xs' }),
333
317
  tuiBadgeOptionsProvider({ size: 'm', appearance: 'primary' }),
334
318
  tuiButtonOptionsProvider({ size: 's', appearance: 'flat-grayscale' }),
335
319
  tuiDropdownOptionsProvider({ appearance: 'dropdown-navigation' }),
336
320
  tuiTextfieldOptionsProvider({ size: signal('s') }),
321
+ tuiHintOptionsProvider({ appearance: 'floating' }),
337
322
  ], host: {
338
323
  tuiTheme: 'dark',
339
324
  }, styles: ["header[tuiNavigationHeader][tuiNavigationHeader]{position:sticky;top:0;left:0;z-index:2;display:flex;inset-inline-start:0;block-size:3rem;inline-size:100vw;align-items:center;gap:.25rem;padding:.5rem;box-sizing:border-box;font:var(--tui-font-text-s);line-height:1rem;background:var(--tui-theme-color, #000);color:var(--tui-text-primary);box-shadow:0 -100rem 0 100rem var(--tui-theme-color, #000)}header[tuiNavigationHeader][tuiNavigationHeader]:before{content:\"\";position:absolute;top:100%;left:0;right:0;z-index:-1;block-size:3rem;pointer-events:none;box-shadow:0 -1.5rem var(--tui-theme-color, #000);border-radius:1.25rem 1.25rem 0 0}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationLogo]{padding:0 .5rem;margin:0 1rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationLogo] tui-icon{font-size:1rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]{display:flex;gap:.5rem;min-inline-size:12rem}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]>*:not(:last-child){flex:1 0 auto}header[tuiNavigationHeader][tuiNavigationHeader] [tuiNavigationSegments]>*:last-child{min-inline-size:3rem;flex:1 1 auto}header[tuiNavigationHeader][tuiNavigationHeader] [tuiButton],header[tuiNavigationHeader][tuiNavigationHeader] [tuiBadge],header[tuiNavigationHeader][tuiNavigationHeader] [tuiChip],header[tuiNavigationHeader][tuiNavigationHeader] tui-badge,header[tuiNavigationHeader][tuiNavigationHeader] tui-chip{max-inline-size:12.5rem}header[tuiNavigationHeader][tuiNavigationHeader] hr{flex:1;block-size:calc(100% + 1rem);min-inline-size:4rem;margin:-.5rem 0;border:none;flex-shrink:0;background:transparent;mask:linear-gradient(to right,transparent 0,black 3rem,black calc(100% - 3rem),transparent 100%)}header[tuiNavigationHeader][tuiNavigationHeader] hr~[tuiButton]{margin-inline-end:.5rem}header[tuiNavigationHeader][tuiNavigationHeader] tui-textfield{inline-size:12rem;margin-inline-end:1.75rem}tui-dropdown[data-appearance=dropdown-navigation]{border:none;color:var(--tui-text-primary);background:var(--tui-background-elevation-3);background:color-mix(in srgb,var(--tui-theme-color, #000) 80%,#fff)}\n"] }]
340
325
  }] });
341
326
 
342
327
  class TuiLogoComponent {
343
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
344
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiLogoComponent, isStandalone: true, selector: "[tuiNavigationLogo]", ngImport: i0, template: '<ng-content />', isInline: true, styles: ["[tuiNavigationLogo]{display:flex;align-items:center;gap:.5rem;overflow:hidden;white-space:nowrap;font-weight:700}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
328
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiLogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
329
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: TuiLogoComponent, isStandalone: true, selector: "[tuiNavigationLogo]", ngImport: i0, template: '<ng-content />', isInline: true, styles: ["[tuiNavigationLogo]{display:flex;align-items:center;gap:.5rem;overflow:hidden;white-space:nowrap;font-weight:700}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
345
330
  }
346
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiLogoComponent, decorators: [{
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiLogoComponent, decorators: [{
347
332
  type: Component,
348
- args: [{ standalone: true, selector: '[tuiNavigationLogo]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["[tuiNavigationLogo]{display:flex;align-items:center;gap:.5rem;overflow:hidden;white-space:nowrap;font-weight:700}\n"] }]
333
+ args: [{ selector: '[tuiNavigationLogo]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["[tuiNavigationLogo]{display:flex;align-items:center;gap:.5rem;overflow:hidden;white-space:nowrap;font-weight:700}\n"] }]
349
334
  }] });
350
335
 
351
336
  class TuiMainComponent {
352
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
353
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiMainComponent, isStandalone: true, selector: "main[tuiNavigationMain]", host: { attributes: { "tuiNavigationMain": "" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["main[tuiNavigationMain]{transition-property:max-width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,8.5625rem));align-items:start;gap:0 1rem;place-content:start center;flex:1;border:1.5rem solid transparent;border-block-start:0;isolation:isolate;box-sizing:border-box}main[tuiNavigationMain]>*{grid-column:span 12;max-inline-size:100%}main[tuiNavigationMain]>nav[tuiNavigationNav]:not(:first-child){border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 100vw;box-shadow:inset 0 -1px var(--tui-border-normal)}main[tuiNavigationMain]>[tuiHeader]{margin:1rem 0 .5rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]{flex-direction:column;gap:1rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]>:last-child:not([tuiTitle]){margin-block-end:.25rem}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto;white-space:nowrap;gap:.375rem;overflow:hidden}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiSubtitle]{display:-webkit-box;-webkit-box-orient:block-axis;-webkit-line-clamp:2;white-space:normal;word-break:break-word;font:var(--tui-font-text-s);overflow:hidden}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]{scrollbar-width:none;-ms-overflow-style:none;display:flex;gap:1rem;color:var(--tui-text-tertiary);font:var(--tui-font-text-s);white-space:nowrap;text-transform:none;overflow:auto}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar,main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar-thumb{display:none}main[tuiNavigationMain]>[tuiHeader] [tuiCaption] tui-icon{font-size:1rem;margin:.125rem 0;color:var(--tui-text-secondary)}main[tuiNavigationMain]>[tuiHeader] [tuiAccessories]{margin-inline-start:3rem;gap:.5rem!important}main[tuiNavigationMain]>a:first-child,main[tuiNavigationMain]>button:first-child,main[tuiNavigationMain]>tui-breadcrumbs:first-child{block-size:1.25rem;padding:0;margin-block-start:.875rem;justify-self:flex-start}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
337
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiMainComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
338
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: TuiMainComponent, isStandalone: true, selector: "main[tuiNavigationMain]", host: { attributes: { "tuiNavigationMain": "" } }, ngImport: i0, template: '<ng-content />', isInline: true, styles: ["main[tuiNavigationMain]{transition-property:max-width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,8.5625rem));align-items:start;gap:0 1rem;place-content:start center;flex:1;border:1.5rem solid transparent;border-block-start:0;isolation:isolate;box-sizing:border-box}main[tuiNavigationMain]>*{grid-column:span 12;max-inline-size:100%}main[tuiNavigationMain]>nav[tuiNavigationNav]:not(:first-child){border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 100vw;box-shadow:inset 0 -1px var(--tui-border-normal)}main[tuiNavigationMain]>[tuiHeader]{margin:1rem 0 .5rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]{flex-direction:column;gap:1rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]>:last-child:not([tuiTitle]){margin-block-end:.25rem}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto;white-space:nowrap;gap:.375rem;overflow:hidden}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiSubtitle]{display:-webkit-box;-webkit-box-orient:block-axis;-webkit-line-clamp:2;white-space:normal;word-break:break-word;font:var(--tui-font-text-s);overflow:hidden}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]{scrollbar-width:none;-ms-overflow-style:none;display:flex;gap:1rem;color:var(--tui-text-tertiary);font:var(--tui-font-text-s);white-space:nowrap;text-transform:none;overflow:auto}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar,main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar-thumb{display:none}main[tuiNavigationMain]>[tuiHeader] [tuiCaption] tui-icon{font-size:1rem;margin:.125rem 0;color:var(--tui-text-secondary)}main[tuiNavigationMain]>[tuiHeader] [tuiAccessories]{margin-inline-start:3rem;gap:.5rem!important}main[tuiNavigationMain]>a:first-child,main[tuiNavigationMain]>button:first-child,main[tuiNavigationMain]>tui-breadcrumbs:first-child{block-size:1.25rem;padding:0;margin-block-start:.875rem;justify-self:flex-start}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
354
339
  }
355
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiMainComponent, decorators: [{
340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiMainComponent, decorators: [{
356
341
  type: Component,
357
- args: [{ standalone: true, selector: 'main[tuiNavigationMain]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
342
+ args: [{ selector: 'main[tuiNavigationMain]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
358
343
  tuiNavigationMain: '',
359
344
  }, styles: ["main[tuiNavigationMain]{transition-property:max-width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,8.5625rem));align-items:start;gap:0 1rem;place-content:start center;flex:1;border:1.5rem solid transparent;border-block-start:0;isolation:isolate;box-sizing:border-box}main[tuiNavigationMain]>*{grid-column:span 12;max-inline-size:100%}main[tuiNavigationMain]>nav[tuiNavigationNav]:not(:first-child){border-image:conic-gradient(var(--tui-background-base) 0 0) fill 0/0/0 100vw;box-shadow:inset 0 -1px var(--tui-border-normal)}main[tuiNavigationMain]>[tuiHeader]{margin:1rem 0 .5rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]{flex-direction:column;gap:1rem}main[tuiNavigationMain]>[tuiHeader][tuiCardLarge]>:last-child:not([tuiTitle]){margin-block-end:.25rem}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto;white-space:nowrap;gap:.375rem;overflow:hidden}main[tuiNavigationMain]>[tuiHeader]:not([tuiCardLarge]) [tuiSubtitle]{display:-webkit-box;-webkit-box-orient:block-axis;-webkit-line-clamp:2;white-space:normal;word-break:break-word;font:var(--tui-font-text-s);overflow:hidden}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]{scrollbar-width:none;-ms-overflow-style:none;display:flex;gap:1rem;color:var(--tui-text-tertiary);font:var(--tui-font-text-s);white-space:nowrap;text-transform:none;overflow:auto}main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar,main[tuiNavigationMain]>[tuiHeader] [tuiCaption]::-webkit-scrollbar-thumb{display:none}main[tuiNavigationMain]>[tuiHeader] [tuiCaption] tui-icon{font-size:1rem;margin:.125rem 0;color:var(--tui-text-secondary)}main[tuiNavigationMain]>[tuiHeader] [tuiAccessories]{margin-inline-start:3rem;gap:.5rem!important}main[tuiNavigationMain]>a:first-child,main[tuiNavigationMain]>button:first-child,main[tuiNavigationMain]>tui-breadcrumbs:first-child{block-size:1.25rem;padding:0;margin-block-start:.875rem;justify-self:flex-start}\n"] }]
360
345
  }] });
361
346
 
362
347
  class TuiNavComponent {
363
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
364
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiNavComponent, isStandalone: true, selector: "nav[tuiNavigationNav]", providers: [
348
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiNavComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
349
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: TuiNavComponent, isStandalone: true, selector: "nav[tuiNavigationNav]", providers: [
365
350
  tuiBadgeOptionsProvider({ size: 'm' }),
366
351
  tuiButtonOptionsProvider({ size: 's' }),
367
352
  tuiTabsOptionsProvider({ size: 'm' }),
368
353
  ], ngImport: i0, template: '<ng-content />', isInline: true, styles: ["nav[tuiNavigationNav]{top:3rem;z-index:1;display:flex;min-block-size:3rem;align-items:center;gap:.5rem;padding:.25rem 0 0;box-sizing:border-box;white-space:nowrap;overflow:hidden;font:var(--tui-font-text-s);line-height:1rem;color:var(--tui-text-secondary);border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,var(--tui-background-base) 0) fill 0/0/0 100vw}nav[tuiNavigationNav] [tuiNavigationLogo]{font:var(--tui-font-text-m);font-weight:700;color:var(--tui-text-primary)}nav[tuiNavigationNav]>a{text-decoration:none;color:inherit}nav[tuiNavigationNav]>hr{inline-size:2rem;margin:0 0 0 auto;border:none;visibility:hidden;flex-shrink:0}nav[tuiNavigationNav] tui-icon{font-size:1rem;vertical-align:bottom}nav[tuiNavigationNav] tui-tabs,nav[tuiNavigationNav] [tuiTabs]{box-shadow:none;margin-inline-end:1rem}nav[tuiNavigationNav] tui-tabs:before,nav[tuiNavigationNav] [tuiTabs]:before{background:var(--tui-background-accent-opposite-pressed)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
369
354
  }
370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiNavComponent, decorators: [{
355
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiNavComponent, decorators: [{
371
356
  type: Component,
372
- args: [{ standalone: true, selector: 'nav[tuiNavigationNav]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
357
+ args: [{ selector: 'nav[tuiNavigationNav]', template: '<ng-content />', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [
373
358
  tuiBadgeOptionsProvider({ size: 'm' }),
374
359
  tuiButtonOptionsProvider({ size: 's' }),
375
360
  tuiTabsOptionsProvider({ size: 'm' }),
@@ -382,10 +367,11 @@ const PROVIDERS = [
382
367
  tuiLinkOptionsProvider({ appearance: 'action-grayscale' }),
383
368
  tuiTabsOptionsProvider({ size: 'm' }),
384
369
  tuiDropdownOptionsProvider({ align: 'right' }),
370
+ tuiBadgeOptionsProvider({ size: 'm' }),
385
371
  ];
386
372
  class TuiSubheaderComponent {
387
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSubheaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
388
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiSubheaderComponent, isStandalone: true, selector: "[tuiSubheader]:not([compact]),[tuiNavigationSubheader]:not([compact])", providers: [
373
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSubheaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
374
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: TuiSubheaderComponent, isStandalone: true, selector: "[tuiSubheader]:not([compact]),[tuiNavigationSubheader]:not([compact])", providers: [
389
375
  PROVIDERS,
390
376
  tuiButtonOptionsProvider({ appearance: 'secondary', size: 'xs' }),
391
377
  ], ngImport: i0, template: `
@@ -396,9 +382,9 @@ class TuiSubheaderComponent {
396
382
  <ng-content select="tui-tabs,[tuiTabs]" />
397
383
  `, isInline: true, styles: ["[tuiSubheader][compact]{top:3rem;z-index:1;block-size:var(--tui-height-m);padding-block-start:.25rem}[tuiSubheader][compact] .t-nav-subheader{position:absolute;top:0;left:0;right:0;display:flex;block-size:inherit;align-items:center;gap:.5rem;font:var(--tui-font-text-s);white-space:nowrap;overflow:hidden;padding:inherit;border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,var(--tui-background-base) 0) fill 0/0/0 100vw}[tuiSubheader][compact] .t-nav-subheader tui-breadcrumbs{flex:1;overflow:hidden}[tuiSubheader][compact] .t-nav-subheader>tui-tabs,[tuiSubheader][compact] .t-nav-subheader>tui-tabs-with-more,[tuiSubheader][compact] .t-nav-subheader>[tuiTabs],[tuiSubheader][compact] .t-nav-subheader>[tuiTabsWithMore]{margin-inline-start:auto;margin-inline-end:1.5rem;border-inline-start:3rem solid transparent;box-shadow:none}[tuiSubheader][compact] .t-nav-subheader tui-tabs:before,[tuiSubheader][compact] .t-nav-subheader tui-tabs-with-more:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabs]:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabsWithMore]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]){margin-block-start:.875rem}[tuiSubheader]:not([compact]) [tuiHeader]{margin:1rem 0 .5rem}[tuiSubheader]:not([compact]) [tuiHeader]:first-child{margin-block-start:0}[tuiSubheader]:not([compact]) [tuiHeader] [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-s)}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle] tui-icon{font-size:1rem}[tuiSubheader]:not([compact]) [tuiHeader]+tui-textfield{margin-block-start:.75rem}[tuiSubheader]:not([compact]) tui-tabs,[tuiSubheader]:not([compact]) [tuiTabs]{margin-block-start:.5rem}[tuiSubheader]:not([compact]) tui-tabs:before,[tuiSubheader]:not([compact]) [tuiTabs]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]) tui-tabs [tuiButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiButton],[tuiSubheader]:not([compact]) tui-tabs [tuiIconButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiIconButton]{margin-inline-start:.5rem;align-self:center}[tuiSubheader]:not([compact]) tui-tabs [tuiTab]+[tuiButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiTab]+[tuiButton],[tuiSubheader]:not([compact]) tui-tabs [tuiTab]+[tuiIconButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiTab]+[tuiIconButton]{margin-inline-start:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
398
384
  }
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSubheaderComponent, decorators: [{
385
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSubheaderComponent, decorators: [{
400
386
  type: Component,
401
- args: [{ standalone: true, selector: '[tuiSubheader]:not([compact]),[tuiNavigationSubheader]:not([compact])', template: `
387
+ args: [{ selector: '[tuiSubheader]:not([compact]),[tuiNavigationSubheader]:not([compact])', template: `
402
388
  <ng-content select="[tuiLink]" />
403
389
  <ng-content select="tui-breadcrumbs" />
404
390
  <ng-content select="[tuiHeader]" />
@@ -410,8 +396,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImpo
410
396
  ], styles: ["[tuiSubheader][compact]{top:3rem;z-index:1;block-size:var(--tui-height-m);padding-block-start:.25rem}[tuiSubheader][compact] .t-nav-subheader{position:absolute;top:0;left:0;right:0;display:flex;block-size:inherit;align-items:center;gap:.5rem;font:var(--tui-font-text-s);white-space:nowrap;overflow:hidden;padding:inherit;border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,var(--tui-background-base) 0) fill 0/0/0 100vw}[tuiSubheader][compact] .t-nav-subheader tui-breadcrumbs{flex:1;overflow:hidden}[tuiSubheader][compact] .t-nav-subheader>tui-tabs,[tuiSubheader][compact] .t-nav-subheader>tui-tabs-with-more,[tuiSubheader][compact] .t-nav-subheader>[tuiTabs],[tuiSubheader][compact] .t-nav-subheader>[tuiTabsWithMore]{margin-inline-start:auto;margin-inline-end:1.5rem;border-inline-start:3rem solid transparent;box-shadow:none}[tuiSubheader][compact] .t-nav-subheader tui-tabs:before,[tuiSubheader][compact] .t-nav-subheader tui-tabs-with-more:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabs]:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabsWithMore]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]){margin-block-start:.875rem}[tuiSubheader]:not([compact]) [tuiHeader]{margin:1rem 0 .5rem}[tuiSubheader]:not([compact]) [tuiHeader]:first-child{margin-block-start:0}[tuiSubheader]:not([compact]) [tuiHeader] [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-s)}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle] tui-icon{font-size:1rem}[tuiSubheader]:not([compact]) [tuiHeader]+tui-textfield{margin-block-start:.75rem}[tuiSubheader]:not([compact]) tui-tabs,[tuiSubheader]:not([compact]) [tuiTabs]{margin-block-start:.5rem}[tuiSubheader]:not([compact]) tui-tabs:before,[tuiSubheader]:not([compact]) [tuiTabs]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]) tui-tabs [tuiButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiButton],[tuiSubheader]:not([compact]) tui-tabs [tuiIconButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiIconButton]{margin-inline-start:.5rem;align-self:center}[tuiSubheader]:not([compact]) tui-tabs [tuiTab]+[tuiButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiTab]+[tuiButton],[tuiSubheader]:not([compact]) tui-tabs [tuiTab]+[tuiIconButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiTab]+[tuiIconButton]{margin-inline-start:auto}\n"] }]
411
397
  }] });
412
398
  class TuiSubheaderCompactComponent {
413
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSubheaderCompactComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
414
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiSubheaderCompactComponent, isStandalone: true, selector: "[tuiSubheader][compact],[tuiNavigationSubheader][compact]", providers: [PROVIDERS, tuiButtonOptionsProvider({ size: 's' })], ngImport: i0, template: `
399
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSubheaderCompactComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
400
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: TuiSubheaderCompactComponent, isStandalone: true, selector: "[tuiSubheader][compact],[tuiNavigationSubheader][compact]", providers: [PROVIDERS, tuiButtonOptionsProvider({ size: 's' })], ngImport: i0, template: `
415
401
  <div class="t-nav-subheader">
416
402
  <ng-content />
417
403
  <ng-content
@@ -421,9 +407,9 @@ class TuiSubheaderCompactComponent {
421
407
  </div>
422
408
  `, isInline: true, styles: ["[tuiSubheader][compact]{top:3rem;z-index:1;block-size:var(--tui-height-m);padding-block-start:.25rem}[tuiSubheader][compact] .t-nav-subheader{position:absolute;top:0;left:0;right:0;display:flex;block-size:inherit;align-items:center;gap:.5rem;font:var(--tui-font-text-s);white-space:nowrap;overflow:hidden;padding:inherit;border-image:linear-gradient(0deg,var(--tui-border-normal) 1px,var(--tui-background-base) 0) fill 0/0/0 100vw}[tuiSubheader][compact] .t-nav-subheader tui-breadcrumbs{flex:1;overflow:hidden}[tuiSubheader][compact] .t-nav-subheader>tui-tabs,[tuiSubheader][compact] .t-nav-subheader>tui-tabs-with-more,[tuiSubheader][compact] .t-nav-subheader>[tuiTabs],[tuiSubheader][compact] .t-nav-subheader>[tuiTabsWithMore]{margin-inline-start:auto;margin-inline-end:1.5rem;border-inline-start:3rem solid transparent;box-shadow:none}[tuiSubheader][compact] .t-nav-subheader tui-tabs:before,[tuiSubheader][compact] .t-nav-subheader tui-tabs-with-more:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabs]:before,[tuiSubheader][compact] .t-nav-subheader [tuiTabsWithMore]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]){margin-block-start:.875rem}[tuiSubheader]:not([compact]) [tuiHeader]{margin:1rem 0 .5rem}[tuiSubheader]:not([compact]) [tuiHeader]:first-child{margin-block-start:0}[tuiSubheader]:not([compact]) [tuiHeader] [tuiTitle]{max-inline-size:42rem;margin-inline-end:auto}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle]{font:var(--tui-font-text-s)}[tuiSubheader]:not([compact]) [tuiHeader] [tuiSubtitle] tui-icon{font-size:1rem}[tuiSubheader]:not([compact]) [tuiHeader]+tui-textfield{margin-block-start:.75rem}[tuiSubheader]:not([compact]) tui-tabs,[tuiSubheader]:not([compact]) [tuiTabs]{margin-block-start:.5rem}[tuiSubheader]:not([compact]) tui-tabs:before,[tuiSubheader]:not([compact]) [tuiTabs]:before{background:var(--tui-background-accent-opposite-pressed)}[tuiSubheader]:not([compact]) tui-tabs [tuiButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiButton],[tuiSubheader]:not([compact]) tui-tabs [tuiIconButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiIconButton]{margin-inline-start:.5rem;align-self:center}[tuiSubheader]:not([compact]) tui-tabs [tuiTab]+[tuiButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiTab]+[tuiButton],[tuiSubheader]:not([compact]) tui-tabs [tuiTab]+[tuiIconButton],[tuiSubheader]:not([compact]) [tuiTabs] [tuiTab]+[tuiIconButton]{margin-inline-start:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
423
409
  }
424
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiSubheaderCompactComponent, decorators: [{
410
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiSubheaderCompactComponent, decorators: [{
425
411
  type: Component,
426
- args: [{ standalone: true, selector: '[tuiSubheader][compact],[tuiNavigationSubheader][compact]', template: `
412
+ args: [{ selector: '[tuiSubheader][compact],[tuiNavigationSubheader][compact]', template: `
427
413
  <div class="t-nav-subheader">
428
414
  <ng-content />
429
415
  <ng-content