@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
package/README.md CHANGED
@@ -16,13 +16,13 @@ consisting of multiple base libraries and several add-ons
16
16
 
17
17
  Install base packages:
18
18
 
19
- ```
19
+ ```bash
20
20
  npm i @taiga-ui/{cdk,core}
21
21
  ```
22
22
 
23
23
  Install @taiga-ui/layout:
24
24
 
25
- ```
25
+ ```bash
26
26
  npm i @taiga-ui/layout
27
27
  ```
28
28
 
@@ -2,7 +2,7 @@ import { type TuiAppearanceOptions } from '@taiga-ui/core/directives/appearance'
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@taiga-ui/core/directives/appearance";
4
4
  export declare class TuiAppBarBack implements TuiAppearanceOptions {
5
- protected readonly icons: import("@taiga-ui/core/tokens").TuiSpinIcons;
5
+ protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
6
6
  readonly appearance = "link";
7
7
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAppBarBack, never>;
8
8
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiAppBarBack, "button[tuiAppBarBack], a[tuiAppBarBack]", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.TuiWithAppearance; inputs: {}; outputs: {}; }]>;
@@ -5,8 +5,8 @@ export declare class TuiAppBarComponent implements AfterViewInit {
5
5
  private readonly side;
6
6
  private readonly el;
7
7
  protected readonly width$: import("rxjs").Observable<number>;
8
- size: TuiSizeL;
8
+ readonly size: import("@angular/core").InputSignal<TuiSizeL>;
9
9
  ngAfterViewInit(): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAppBarComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiAppBarComponent, "tui-app-bar", never, { "size": { "alias": "size"; "required": false; }; }, {}, never, ["[tuiSlot='left']", "*", "[tuiSlot='right']"], true, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiAppBarComponent, "tui-app-bar", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["[tuiSlot='left']", "*", "[tuiSlot='right']"], true, never>;
12
12
  }
@@ -1,7 +1,7 @@
1
1
  import { type TuiLooseUnion } from '@taiga-ui/cdk/types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiAppBarDirective {
4
- tuiSlot: TuiLooseUnion<'left' | 'right'>;
4
+ readonly tuiSlot: import("@angular/core").InputSignal<TuiLooseUnion<"left" | "right">>;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAppBarDirective, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAppBarDirective, "[tuiSlot]", never, { "tuiSlot": { "alias": "tuiSlot"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAppBarDirective, "[tuiSlot]", never, { "tuiSlot": { "alias": "tuiSlot"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7
7
  }
@@ -1,8 +1,8 @@
1
1
  import { type TuiSizeL } from '@taiga-ui/core/types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiBlockStatusComponent {
4
- card: boolean;
5
- size: TuiSizeL;
4
+ readonly card: import("@angular/core").InputSignal<boolean>;
5
+ readonly size: import("@angular/core").InputSignal<TuiSizeL>;
6
6
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiBlockStatusComponent, never>;
7
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiBlockStatusComponent, "tui-block-status", never, { "card": { "alias": "card"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, ["[tuiSlot='top']", "h1,h2,h3,h4,h5,h6", "*", "a,button,[tuiSlot='action']"], true, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiBlockStatusComponent, "tui-block-status", never, { "card": { "alias": "card"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; }, {}, never, ["[tuiSlot='top']", "h1,h2,h3,h4,h5,h6", "*", "a,button,[tuiSlot='action']"], true, never>;
8
8
  }
@@ -1,7 +1,7 @@
1
1
  import { type TuiLooseUnion } from '@taiga-ui/cdk/types';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiBlockStatusDirective {
4
- tuiSlot: TuiLooseUnion<'action' | 'top'>;
4
+ readonly tuiSlot: import("@angular/core").InputSignal<TuiLooseUnion<"action" | "top">>;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiBlockStatusDirective, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiBlockStatusDirective, "[tuiSlot]", never, { "tuiSlot": { "alias": "tuiSlot"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiBlockStatusDirective, "[tuiSlot]", never, { "tuiSlot": { "alias": "tuiSlot"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7
7
  }
@@ -1,7 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class TuiCardCollapsed {
3
3
  protected readonly nothing: undefined;
4
- collapsed: boolean;
4
+ readonly collapsed: import("@angular/core").InputSignal<boolean>;
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiCardCollapsed, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCardCollapsed, "[tuiCardCollapsed]", never, { "collapsed": { "alias": "tuiCardCollapsed"; "required": false; }; }, {}, never, never, true, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCardCollapsed, "[tuiCardCollapsed]", never, { "collapsed": { "alias": "tuiCardCollapsed"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
7
7
  }
@@ -1,7 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
+ import * as i1 from "@taiga-ui/core/directives/appearance";
2
3
  export declare class TuiCardLarge {
3
4
  protected readonly nothing: undefined;
4
- space: '' | 'compact' | 'normal';
5
+ readonly space: import("@angular/core").InputSignal<"" | "compact" | "normal">;
5
6
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiCardLarge, never>;
6
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCardLarge, "[tuiCardLarge]", never, { "space": { "alias": "tuiCardLarge"; "required": false; }; }, {}, never, never, true, never>;
7
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCardLarge, "[tuiCardLarge]", never, { "space": { "alias": "tuiCardLarge"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiWithAppearance; inputs: {}; outputs: {}; }]>;
7
8
  }
@@ -1,6 +1,7 @@
1
1
  import * as i0 from "@angular/core";
2
+ import * as i1 from "@taiga-ui/core/directives/appearance";
2
3
  export declare class TuiCardMedium {
3
4
  protected readonly nothing: undefined;
4
5
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiCardMedium, never>;
5
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCardMedium, "[tuiCardMedium]", never, {}, {}, never, never, true, never>;
6
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiCardMedium, "[tuiCardMedium]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiWithAppearance; inputs: {}; outputs: {}; }]>;
6
7
  }
@@ -1,7 +1,7 @@
1
1
  import { type AfterViewInit, type OnDestroy, TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  export declare class TuiDynamicHeaderAnchorDirective implements AfterViewInit, OnDestroy {
4
- private readonly viewContainer;
4
+ private readonly vcr;
5
5
  private readonly observer;
6
6
  private readonly container;
7
7
  readonly templateRef: TemplateRef<any>;
@@ -1,10 +1,10 @@
1
- import { type QueryList, type TemplateRef } from '@angular/core';
1
+ import { type TemplateRef } from '@angular/core';
2
2
  import { TuiDynamicHeaderAnchorDirective } from './dynamic-header-anchor.directive';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@ng-web-apis/intersection-observer";
5
5
  export declare class TuiDynamicHeaderContainerDirective {
6
6
  private readonly el;
7
- protected readonly headers: QueryList<TuiDynamicHeaderAnchorDirective>;
7
+ protected readonly headers: import("@angular/core").Signal<readonly TuiDynamicHeaderAnchorDirective[]>;
8
8
  hiddenHeaders: import("@angular/core").WritableSignal<TemplateRef<unknown>[]>;
9
9
  scrollDir: import("@angular/core").Signal<1 | -1 | undefined>;
10
10
  update(): void;
@@ -2,10 +2,9 @@ import { type TuiFormOptions } from './form.options';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@taiga-ui/core/components/textfield";
4
4
  export declare class TuiForm {
5
- protected readonly options: TuiFormOptions;
6
5
  protected readonly nothing: undefined;
7
- size: TuiFormOptions['size'];
8
- set tuiForm(size: TuiFormOptions['size'] | '');
6
+ protected readonly options: TuiFormOptions;
7
+ readonly size: import("@angular/core").InputSignal<"" | "m" | "l" | "s">;
9
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiForm, never>;
10
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiForm, "[tuiForm]", never, { "tuiForm": { "alias": "tuiForm"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.TuiTextfieldOptionsDirective; inputs: { "tuiTextfieldAppearance": "tuiTextfieldAppearance"; "tuiTextfieldCleaner": "tuiTextfieldCleaner"; }; outputs: {}; }]>;
9
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiForm, "[tuiForm]", never, { "size": { "alias": "tuiForm"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiTextfieldOptionsDirective; inputs: { "tuiTextfieldAppearance": "textfields"; "tuiTextfieldCleaner": "cleaner"; "tuiTextfieldSize": "tuiForm"; }; outputs: {}; }]>;
11
10
  }
@@ -1,5 +1,5 @@
1
1
  import { type TuiSizeL, type TuiSizeS } from '@taiga-ui/core/types';
2
2
  export interface TuiFormOptions {
3
- readonly size: TuiSizeL | TuiSizeS;
3
+ readonly size: TuiSizeL | TuiSizeS | '';
4
4
  }
5
- export declare const TUI_FORM_OPTIONS: import("@angular/core").InjectionToken<TuiFormOptions>, tuiFormOptionsProvider: (item: Partial<TuiFormOptions> | import("@angular/core").ProviderToken<Partial<TuiFormOptions>> | (() => Partial<TuiFormOptions>)) => import("@angular/core").FactoryProvider;
5
+ export declare const TUI_FORM_OPTIONS: import("@angular/core").InjectionToken<TuiFormOptions>, tuiFormOptionsProvider: (item: Partial<TuiFormOptions> | (() => Partial<TuiFormOptions>)) => import("@angular/core").FactoryProvider;
@@ -1,20 +1,17 @@
1
- import { type TuiSizeXXL, type TuiSizeXXS } from '@taiga-ui/core/types';
2
1
  import * as i0 from "@angular/core";
3
2
  export declare const TUI_HEADER_OPTIONS: import("@angular/core").InjectionToken<{
4
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
3
+ size: "" | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
5
4
  }>, tuiHeaderOptionsProvider: (item: Partial<{
6
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
7
- }> | import("@angular/core").ProviderToken<Partial<{
8
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
9
- }>> | (() => Partial<{
10
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
5
+ size: "" | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
6
+ }> | (() => Partial<{
7
+ size: "" | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
11
8
  }>)) => import("@angular/core").FactoryProvider;
12
9
  export declare class TuiHeader {
10
+ protected readonly nothing: undefined;
13
11
  protected readonly options: {
14
- size: TuiSizeXXL | TuiSizeXXS | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
12
+ size: "" | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
15
13
  };
16
- protected readonly nothing: undefined;
17
- size: TuiSizeXXL | TuiSizeXXS | '' | 'body-l' | 'body-m' | 'body-xl' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';
14
+ readonly tuiHeader: import("@angular/core").InputSignal<"" | "body-l" | "body-m" | "body-xl" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6">;
18
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHeader, never>;
19
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHeader, "[tuiHeader]", never, { "size": { "alias": "tuiHeader"; "required": false; }; }, {}, never, never, true, never>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHeader, "[tuiHeader]", never, { "tuiHeader": { "alias": "tuiHeader"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
20
17
  }
@@ -2,11 +2,12 @@ export * from '@taiga-ui/layout/components/app-bar';
2
2
  export * from '@taiga-ui/layout/components/block-details';
3
3
  export * from '@taiga-ui/layout/components/block-status';
4
4
  export * from '@taiga-ui/layout/components/card';
5
- export * from '@taiga-ui/layout/components/cell';
6
5
  export * from '@taiga-ui/layout/components/dynamic-header';
7
6
  export * from '@taiga-ui/layout/components/form';
8
7
  export * from '@taiga-ui/layout/components/header';
9
8
  export * from '@taiga-ui/layout/components/input-search';
10
9
  export * from '@taiga-ui/layout/components/item-group';
11
10
  export * from '@taiga-ui/layout/components/navigation';
11
+ export * from '@taiga-ui/layout/components/pdf-viewer';
12
12
  export * from '@taiga-ui/layout/components/search';
13
+ export * from '@taiga-ui/layout/components/surface';
@@ -1,7 +1,7 @@
1
- import { EventEmitter, type OnChanges } from '@angular/core';
1
+ import { type OnChanges } from '@angular/core';
2
2
  import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
3
3
  import * as i0 from "@angular/core";
4
- import * as i1 from "@taiga-ui/core/components/textfield";
4
+ import * as i1 from "@taiga-ui/core/components/input";
5
5
  export declare class TuiInputSearch implements OnChanges {
6
6
  private readonly template?;
7
7
  private readonly container?;
@@ -14,14 +14,13 @@ export declare class TuiInputSearch implements OnChanges {
14
14
  private placeholder;
15
15
  private ref?;
16
16
  protected readonly icon: import("@angular/core").WritableSignal<string>;
17
- tuiInputSearch: PolymorpheusContent;
18
- tuiInputSearchOpen: boolean;
19
- readonly tuiInputSearchOpenChange: EventEmitter<boolean>;
17
+ readonly tuiInputSearch: import("@angular/core").InputSignal<PolymorpheusContent>;
18
+ searchOpen: import("@angular/core").ModelSignal<boolean>;
20
19
  ngOnChanges(): void;
21
20
  open(): void;
22
21
  close(): void;
23
22
  protected onArrow(): void;
24
23
  protected onFocus({ target }: Event): void;
25
24
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiInputSearch, never>;
26
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputSearch, "input[tuiInputSearch]", never, { "tuiInputSearch": { "alias": "tuiInputSearch"; "required": false; }; "tuiInputSearchOpen": { "alias": "tuiInputSearchOpen"; "required": false; }; }, { "tuiInputSearchOpenChange": "tuiInputSearchOpenChange"; }, never, never, true, [{ directive: typeof i1.TuiWithTextfield; inputs: {}; outputs: {}; }]>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiInputSearch, "input[tuiInputSearch]", never, { "tuiInputSearch": { "alias": "tuiInputSearch"; "required": false; "isSignal": true; }; "searchOpen": { "alias": "tuiInputSearchOpen"; "required": false; "isSignal": true; }; }, { "searchOpen": "tuiInputSearchOpenChange"; }, never, never, true, [{ directive: typeof i1.TuiWithInput; inputs: {}; outputs: {}; }]>;
27
26
  }
@@ -3,10 +3,10 @@ import * as i0 from "@angular/core";
3
3
  export declare class TuiItemGroup implements AfterViewInit {
4
4
  private readonly el;
5
5
  protected readonly nothing: undefined;
6
- horizontal: boolean;
7
- autoscroll: boolean;
6
+ readonly horizontal: import("@angular/core").InputSignal<boolean>;
7
+ readonly autoscroll: import("@angular/core").InputSignal<boolean>;
8
8
  ngAfterViewInit(): void;
9
9
  protected onClick(target: HTMLElement): void;
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiItemGroup, never>;
11
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiItemGroup, "[tuiItemGroup]", never, { "horizontal": { "alias": "horizontal"; "required": false; }; "autoscroll": { "alias": "autoscroll"; "required": false; }; }, {}, never, never, true, never>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiItemGroup, "[tuiItemGroup]", never, { "horizontal": { "alias": "horizontal"; "required": false; "isSignal": true; }; "autoscroll": { "alias": "autoscroll"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
12
12
  }
@@ -2,19 +2,18 @@ import { TemplateRef } from '@angular/core';
2
2
  import { type TuiDataListHost } from '@taiga-ui/core/components/data-list';
3
3
  import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
4
4
  import * as i0 from "@angular/core";
5
- import * as i1 from "@taiga-ui/core/directives/dropdown";
5
+ import * as i1 from "@taiga-ui/core/portals/dropdown";
6
6
  export declare class TuiAsideGroupComponent implements TuiDataListHost<unknown> {
7
7
  private readonly datalist;
8
- private readonly chevron?;
8
+ private readonly chevron;
9
9
  private readonly aside;
10
- private readonly open;
11
- protected readonly template: TemplateRef<any> | null;
10
+ protected readonly template: import("@angular/core").Signal<TemplateRef<any> | undefined>;
12
11
  protected readonly expanded: import("@angular/core").Signal<boolean>;
12
+ protected readonly chevronEffect: import("@angular/core").EffectRef;
13
13
  protected readonly binding: import("@angular/core").Signal<PolymorpheusContent>;
14
- readonly openChange: import("rxjs").Observable<boolean>;
15
14
  readonly size = "s";
16
- set openSetter(open: boolean);
17
- protected toggle(open?: boolean): void;
15
+ readonly open: import("@angular/core").ModelSignal<boolean>;
16
+ protected toggle(): void;
18
17
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAsideGroupComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiAsideGroupComponent, "tui-aside-group", never, { "openSetter": { "alias": "open"; "required": false; }; }, { "openChange": "openChange"; }, ["chevron", "template"], ["*"], true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownHover; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownPositionSided; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownOpen; inputs: {}; outputs: {}; }]>;
18
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiAsideGroupComponent, "tui-aside-group", never, { "open": { "alias": "open"; "required": false; "isSignal": true; }; }, { "open": "openChange"; }, ["chevron", "template"], ["*"], true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownHover; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownPositionSided; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiDropdownOpen; inputs: {}; outputs: {}; }]>;
20
19
  }
@@ -3,7 +3,7 @@ import { type TuiDataListHost } from '@taiga-ui/core/components/data-list';
3
3
  import { TuiIcons } from '@taiga-ui/core/directives/icons';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./hint-aside.directive";
6
- import * as i2 from "@taiga-ui/core/directives/dropdown";
6
+ import * as i2 from "@taiga-ui/core/portals/dropdown";
7
7
  import * as i3 from "@taiga-ui/core/components/button";
8
8
  import * as i4 from "@angular/router";
9
9
  export declare class TuiAsideItemDirective implements TuiDataListHost<unknown> {
@@ -13,5 +13,5 @@ export declare class TuiAsideItemDirective implements TuiDataListHost<unknown> {
13
13
  protected readonly active: import("@angular/core").Signal<boolean | undefined>;
14
14
  readonly size = "s";
15
15
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAsideItemDirective, never>;
16
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAsideItemDirective, "[tuiAsideItem]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiHintAsideDirective; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownManual; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownPositionSided; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiButton; inputs: {}; outputs: {}; }, { directive: typeof i4.RouterLinkActive; inputs: { "routerLinkActiveOptions": "routerLinkActiveOptions"; }; outputs: {}; }]>;
16
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiAsideItemDirective, "[tuiAsideItem]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiHintAsideDirective; inputs: { "tuiHintAside": "tuiAsideItem"; }; outputs: {}; }, { directive: typeof i2.TuiDropdownManual; inputs: {}; outputs: {}; }, { directive: typeof i2.TuiDropdownPositionSided; inputs: {}; outputs: {}; }, { directive: typeof i3.TuiButton; inputs: {}; outputs: {}; }, { directive: typeof i4.RouterLinkActive; inputs: { "routerLinkActiveOptions": "routerLinkActiveOptions"; }; outputs: {}; }]>;
17
17
  }
@@ -1,7 +1,6 @@
1
1
  import * as i0 from "@angular/core";
2
2
  export declare class TuiAsideComponent {
3
- readonly expanded: import("@angular/core").WritableSignal<boolean>;
4
- set tuiNavigationAside(expanded: boolean);
3
+ readonly expanded: import("@angular/core").InputSignal<boolean>;
5
4
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiAsideComponent, never>;
6
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiAsideComponent, "aside[tuiNavigationAside]", never, { "tuiNavigationAside": { "alias": "tuiNavigationAside"; "required": false; }; }, {}, never, ["header", "*", "footer"], true, never>;
5
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiAsideComponent, "aside[tuiNavigationAside]", never, { "expanded": { "alias": "tuiNavigationAside"; "required": false; "isSignal": true; }; }, {}, never, ["header", "*", "footer"], true, never>;
7
6
  }
@@ -1,14 +1,13 @@
1
- import { type DoCheck } from '@angular/core';
2
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
1
+ import { TemplateRef } from '@angular/core';
3
2
  import * as i0 from "@angular/core";
4
- import * as i1 from "@taiga-ui/core/directives/dropdown";
5
- export declare class TuiDrawerDirective implements DoCheck {
3
+ import * as i1 from "@taiga-ui/core/portals/dropdown";
4
+ export declare class TuiDrawerDirective {
6
5
  private readonly x;
7
- private readonly icons;
8
6
  private readonly dropdown;
9
7
  private readonly open;
10
- ngDoCheck(): void;
11
- protected set template(template: PolymorpheusContent);
8
+ protected readonly template: import("@angular/core").Signal<TemplateRef<any> | undefined>;
9
+ protected readonly ef: import("@angular/core").EffectRef;
10
+ protected readonly icon: import("@angular/core").Signal<string>;
12
11
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiDrawerDirective, never>;
13
12
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiDrawerDirective, "[tuiIconButton][tuiNavigationDrawer]", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }]>;
14
13
  }
@@ -1,10 +1,12 @@
1
+ import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
1
2
  import * as i0 from "@angular/core";
2
- import * as i1 from "@taiga-ui/core/directives/hint";
3
+ import * as i1 from "@taiga-ui/core/portals/hint";
3
4
  export declare class TuiHintAsideDirective {
4
5
  private readonly el;
5
6
  private readonly aside;
6
7
  private readonly dropdown;
7
- protected readonly binding: import("@angular/core").Signal<"" | (() => string | undefined)>;
8
+ readonly tuiHintAside: import("@angular/core").InputSignal<PolymorpheusContent>;
9
+ protected readonly binding: import("@angular/core").Signal<import("@angular/platform-browser").SafeValue>;
8
10
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiHintAsideDirective, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintAsideDirective, "[tuiHintAside]", never, {}, {}, never, never, true, [{ directive: typeof i1.TuiHintDirective; inputs: {}; outputs: {}; }]>;
11
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiHintAsideDirective, "[tuiHintAside]", never, { "tuiHintAside": { "alias": "tuiHintAside"; "required": false; "isSignal": true; }; }, {}, never, never, true, [{ directive: typeof i1.TuiHintDirective; inputs: {}; outputs: {}; }]>;
10
12
  }
@@ -0,0 +1 @@
1
+ export * from './pdf-viewer.component';
@@ -0,0 +1,13 @@
1
+ import { type TuiPortalContext } from '@taiga-ui/cdk/portals';
2
+ import { type TuiDialogOptions } from '@taiga-ui/core/portals/dialog';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TuiPdfViewer<O, I> {
5
+ private readonly breakpoint;
6
+ protected readonly isMobile: import("@angular/core").Signal<boolean>;
7
+ protected readonly el: HTMLElement;
8
+ protected readonly close: import("@angular/core").Signal<string>;
9
+ protected readonly icons: import("@taiga-ui/core/tokens").TuiCommonIcons;
10
+ protected readonly context: TuiPortalContext<TuiDialogOptions<I>, O>;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiPdfViewer<any, any>, never>;
12
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiPdfViewer<any, any>, "tui-pdf-viewer", never, {}, {}, never, ["[tuiTitle]", "button", "*"], true, never>;
13
+ }
@@ -1,9 +1,10 @@
1
- import { type PolymorpheusContent } from '@taiga-ui/polymorpheus';
1
+ import { TemplateRef } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
- import * as i1 from "@taiga-ui/core/directives/dropdown";
3
+ import * as i1 from "@taiga-ui/core/portals/dropdown";
4
4
  export declare class TuiSearchFilterComponent {
5
5
  private readonly dropdown;
6
- protected set template(template: PolymorpheusContent);
6
+ protected readonly template: import("@angular/core").Signal<TemplateRef<any> | undefined>;
7
+ protected readonly ef: import("@angular/core").EffectRef;
7
8
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchFilterComponent, never>;
8
9
  static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchFilterComponent, "button[tuiSearchFilter]", never, {}, {}, never, ["*"], true, [{ directive: typeof i1.TuiDropdownDirective; inputs: {}; outputs: {}; }, { directive: typeof i1.TuiWithDropdownOpen; inputs: {}; outputs: {}; }]>;
9
10
  }
@@ -1,20 +1,18 @@
1
- import { type AfterContentInit, type QueryList, TemplateRef } from '@angular/core';
1
+ import { TemplateRef } from '@angular/core';
2
2
  import { type TuiSizeS } from '@taiga-ui/core/types';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@taiga-ui/core/components/textfield";
5
- export declare class TuiSearchFiltersComponent implements AfterContentInit {
6
- private readonly rem?;
7
- private readonly button?;
8
- private readonly children;
5
+ export declare class TuiSearchFiltersComponent {
6
+ private readonly rem;
7
+ private readonly button;
9
8
  private readonly controls;
10
- protected readonly templates: QueryList<TemplateRef<any>>;
9
+ protected readonly templates: import("@angular/core").Signal<readonly TemplateRef<any>[]>;
11
10
  protected readonly overflown: import("@angular/core").Signal<number>;
12
11
  protected readonly enabled: import("@angular/core").Signal<boolean>;
13
12
  size: TuiSizeS;
14
- ngAfterContentInit(): void;
15
13
  protected onReset(): void;
16
14
  private get unit();
17
15
  private get more();
18
16
  static ɵfac: i0.ɵɵFactoryDeclaration<TuiSearchFiltersComponent, never>;
19
- static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchFiltersComponent, "tui-search-filters", never, { "size": { "alias": "size"; "required": false; }; }, {}, ["children", "templates"], ["*"], true, [{ directive: typeof i1.TuiTextfieldOptionsDirective; inputs: { "tuiTextfieldSize": "size"; }; outputs: {}; }]>;
17
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiSearchFiltersComponent, "tui-search-filters", never, { "size": { "alias": "size"; "required": false; }; }, {}, ["controls", "templates"], ["*"], true, [{ directive: typeof i1.TuiTextfieldOptionsDirective; inputs: { "tuiTextfieldSize": "size"; }; outputs: {}; }]>;
20
18
  }
@@ -0,0 +1 @@
1
+ export * from './surface.directive';
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class TuiSurface {
3
+ protected readonly nothing: undefined;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiSurface, never>;
5
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiSurface, "[tuiSurface]", never, {}, {}, never, never, true, never>;
6
+ }
@@ -1,9 +1,8 @@
1
1
  import { AsyncPipe } from '@angular/common';
2
2
  import * as i0 from '@angular/core';
3
- import { inject, Input, ViewChildren, ChangeDetectionStrategy, ViewEncapsulation, Component, Directive } from '@angular/core';
3
+ import { viewChildren, inject, input, ChangeDetectionStrategy, ViewEncapsulation, Component, Directive } from '@angular/core';
4
4
  import { MutationObserverService, WA_MUTATION_OBSERVER_INIT } from '@ng-web-apis/mutation-observer';
5
5
  import { ResizeObserverService } from '@ng-web-apis/resize-observer';
6
- import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
7
6
  import { tuiZonefull } from '@taiga-ui/cdk/observables';
8
7
  import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
9
8
  import { TuiFade } from '@taiga-ui/kit/directives/fade';
@@ -12,9 +11,9 @@ import { tuiButtonOptionsProvider } from '@taiga-ui/core/components/button';
12
11
  import { TuiIcon } from '@taiga-ui/core/components/icon';
13
12
  import * as i1 from '@taiga-ui/core/directives/appearance';
14
13
  import { tuiAppearanceOptionsProvider, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
15
- import { TUI_SPIN_ICONS } from '@taiga-ui/core/tokens';
14
+ import { TUI_COMMON_ICONS } from '@taiga-ui/core/tokens';
16
15
  import { toSignal } from '@angular/core/rxjs-interop';
17
- import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/miscellaneous';
16
+ import { tuiDirectiveBinding } from '@taiga-ui/cdk/utils/di';
18
17
  import { TuiBreakpointService } from '@taiga-ui/core/services';
19
18
 
20
19
  const TUI_APP_BAR_PROVIDERS = [
@@ -35,59 +34,51 @@ const TUI_APP_BAR_PROVIDERS = [
35
34
 
36
35
  class TuiAppBarComponent {
37
36
  constructor() {
38
- this.side = EMPTY_QUERY;
37
+ this.side = viewChildren('side');
39
38
  this.el = tuiInjectElement();
40
39
  this.width$ = merge(inject(ResizeObserverService, { self: true }), inject(MutationObserverService, { self: true })).pipe(tuiZonefull(), map(() => 2 *
41
- Math.max(this.side.first?.nativeElement.clientWidth, this.side.last?.nativeElement.clientWidth)));
42
- this.size = 'm';
40
+ Math.max(this.side()[0]?.nativeElement.clientWidth ?? 0, this.side()[this.side().length - 1]?.nativeElement.clientWidth ?? 0)));
41
+ this.size = input('m');
43
42
  }
44
43
  // TODO: Remove after :has support
45
44
  ngAfterViewInit() {
46
45
  this.el.closest('tui-dialog')?.classList.add('tui-app-bar');
47
46
  }
48
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
49
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiAppBarComponent, isStandalone: true, selector: "tui-app-bar", inputs: { size: "size" }, host: { properties: { "attr.data-size": "size" } }, providers: TUI_APP_BAR_PROVIDERS, viewQueries: [{ propertyName: "side", predicate: ["side"], descendants: true }], ngImport: i0, template: "<div #side>\n <ng-content select=\"[tuiSlot='left']\" />\n</div>\n<div\n tuiFade\n class=\"t-content\"\n [style.--t-sides.px]=\"width$ | async\"\n>\n <ng-content />\n</div>\n<div #side>\n <ng-content select=\"[tuiSlot='right']\" />\n</div>\n", styles: ["tui-app-bar{position:relative;display:flex;block-size:2.75rem;align-items:center;justify-content:space-between;box-sizing:border-box;font:var(--tui-font-text-m);font-weight:700;text-align:center;color:var(--tui-text-primary);background:var(--tui-background-base);background:color-mix(in hsl,var(--tui-background-base) 80%,transparent);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem)}tui-app-bar>.t-content{left:50%;transform:translate(-50%);position:absolute;display:flex;block-size:100%;max-inline-size:calc(100% - var(--t-sides, 0px));inline-size:calc(100% - var(--t-sides, 0px));flex-direction:column;justify-content:center;flex:1;padding:0 .375rem;box-sizing:border-box;text-align:inherit;white-space:nowrap}tui-app-bar>.t-content progress{margin:auto}tui-app-bar>:last-child [tuiIconButton]{margin:0 -.375rem}tui-app-bar>:last-child [tuiIconButton]:last-child{margin-inline-end:0}tui-app-bar>:last-child [tuiIconButton]:only-child{margin:0}tui-app-bar [tuiButton][data-size=l]{font-weight:400;margin:0 -.25rem}tui-app-bar [tuiTitle]{text-align:inherit;font:inherit}tui-app-bar [tuiSubtitle]{color:var(--tui-text-secondary)}tui-app-bar[data-size=m] [tuiTitle]{line-height:1.2em;gap:0}tui-app-bar[data-size=l]{block-size:4rem}tui-app-bar[data-size=l]>:first-child,tui-app-bar[data-size=l]>:last-child{margin:0 -1em}tui-app-bar [tuiProgressBar]{inline-size:8.75rem}tui-dialog tui-app-bar[data-size=l]{margin:-3rem 0 2rem}tui-dialog tui-app-bar[data-size=m]{margin:-1rem -1rem .75rem}tui-sheet-dialog tui-app-bar{margin:-.75rem -1rem;block-size:3.5rem;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}tui-sheet-dialog[data-appearance=fullscreen] tui-app-bar{margin:0 -1rem}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
47
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAppBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
48
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "19.2.16", type: TuiAppBarComponent, isStandalone: true, selector: "tui-app-bar", inputs: { size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()" } }, providers: TUI_APP_BAR_PROVIDERS, viewQueries: [{ propertyName: "side", predicate: ["side"], descendants: true, isSignal: true }], ngImport: i0, template: "<div #side>\n <ng-content select=\"[tuiSlot='left']\" />\n</div>\n<div\n tuiFade\n class=\"t-content\"\n [style.--t-sides.px]=\"width$ | async\"\n>\n <ng-content />\n</div>\n<div #side>\n <ng-content select=\"[tuiSlot='right']\" />\n</div>\n", styles: ["tui-app-bar{position:relative;display:flex;block-size:2.75rem;align-items:center;justify-content:space-between;box-sizing:border-box;font:var(--tui-font-text-m);font-weight:700;text-align:center;color:var(--tui-text-primary);background:var(--tui-background-base);background:color-mix(in hsl,var(--tui-background-base) 80%,transparent);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem)}tui-app-bar>.t-content{left:50%;transform:translate(-50%);position:absolute;display:flex;block-size:100%;max-inline-size:calc(100% - var(--t-sides, 0px));inline-size:calc(100% - var(--t-sides, 0px));flex-direction:column;justify-content:center;flex:1;padding:0 .375rem;box-sizing:border-box;text-align:inherit;white-space:nowrap}tui-app-bar>.t-content progress{margin:auto}tui-app-bar>:last-child [tuiIconButton]{margin:0 -.375rem}tui-app-bar>:last-child [tuiIconButton]:last-child{margin-inline-end:0}tui-app-bar>:last-child [tuiIconButton]:only-child{margin:0}tui-app-bar [tuiButton][data-size=l]{font:var(--tui-font-text-l);margin:0 -.25rem}tui-app-bar [tuiTitle]{text-align:inherit;font:inherit}tui-app-bar [tuiSubtitle]{color:var(--tui-text-secondary)}tui-app-bar[data-size=m] [tuiTitle]{line-height:1.2em;gap:0}tui-app-bar[data-size=l]{block-size:4rem}tui-app-bar[data-size=l]>:first-child,tui-app-bar[data-size=l]>:last-child{margin:0 -1em}tui-app-bar [tuiProgressBar]{inline-size:8.75rem}tui-dialog tui-app-bar[data-size=l]{margin:-3rem 0 2rem}tui-dialog tui-app-bar[data-size=m]{margin:-1rem -1rem .75rem}tui-sheet-dialog tui-app-bar{margin:-.75rem -1rem;block-size:3.5rem;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: TuiFade, selector: "[tuiFade]", inputs: ["tuiFadeHeight", "tuiFadeSize", "tuiFadeOffset", "tuiFade"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
50
49
  }
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppBarComponent, decorators: [{
50
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAppBarComponent, decorators: [{
52
51
  type: Component,
53
52
  args: [{ selector: 'tui-app-bar', imports: [AsyncPipe, TuiFade], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: TUI_APP_BAR_PROVIDERS, host: {
54
- '[attr.data-size]': 'size',
55
- }, template: "<div #side>\n <ng-content select=\"[tuiSlot='left']\" />\n</div>\n<div\n tuiFade\n class=\"t-content\"\n [style.--t-sides.px]=\"width$ | async\"\n>\n <ng-content />\n</div>\n<div #side>\n <ng-content select=\"[tuiSlot='right']\" />\n</div>\n", styles: ["tui-app-bar{position:relative;display:flex;block-size:2.75rem;align-items:center;justify-content:space-between;box-sizing:border-box;font:var(--tui-font-text-m);font-weight:700;text-align:center;color:var(--tui-text-primary);background:var(--tui-background-base);background:color-mix(in hsl,var(--tui-background-base) 80%,transparent);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem)}tui-app-bar>.t-content{left:50%;transform:translate(-50%);position:absolute;display:flex;block-size:100%;max-inline-size:calc(100% - var(--t-sides, 0px));inline-size:calc(100% - var(--t-sides, 0px));flex-direction:column;justify-content:center;flex:1;padding:0 .375rem;box-sizing:border-box;text-align:inherit;white-space:nowrap}tui-app-bar>.t-content progress{margin:auto}tui-app-bar>:last-child [tuiIconButton]{margin:0 -.375rem}tui-app-bar>:last-child [tuiIconButton]:last-child{margin-inline-end:0}tui-app-bar>:last-child [tuiIconButton]:only-child{margin:0}tui-app-bar [tuiButton][data-size=l]{font-weight:400;margin:0 -.25rem}tui-app-bar [tuiTitle]{text-align:inherit;font:inherit}tui-app-bar [tuiSubtitle]{color:var(--tui-text-secondary)}tui-app-bar[data-size=m] [tuiTitle]{line-height:1.2em;gap:0}tui-app-bar[data-size=l]{block-size:4rem}tui-app-bar[data-size=l]>:first-child,tui-app-bar[data-size=l]>:last-child{margin:0 -1em}tui-app-bar [tuiProgressBar]{inline-size:8.75rem}tui-dialog tui-app-bar[data-size=l]{margin:-3rem 0 2rem}tui-dialog tui-app-bar[data-size=m]{margin:-1rem -1rem .75rem}tui-sheet-dialog tui-app-bar{margin:-.75rem -1rem;block-size:3.5rem;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}tui-sheet-dialog[data-appearance=fullscreen] tui-app-bar{margin:0 -1rem}\n"] }]
56
- }], propDecorators: { side: [{
57
- type: ViewChildren,
58
- args: ['side']
59
- }], size: [{
60
- type: Input
61
- }] } });
53
+ '[attr.data-size]': 'size()',
54
+ }, template: "<div #side>\n <ng-content select=\"[tuiSlot='left']\" />\n</div>\n<div\n tuiFade\n class=\"t-content\"\n [style.--t-sides.px]=\"width$ | async\"\n>\n <ng-content />\n</div>\n<div #side>\n <ng-content select=\"[tuiSlot='right']\" />\n</div>\n", styles: ["tui-app-bar{position:relative;display:flex;block-size:2.75rem;align-items:center;justify-content:space-between;box-sizing:border-box;font:var(--tui-font-text-m);font-weight:700;text-align:center;color:var(--tui-text-primary);background:var(--tui-background-base);background:color-mix(in hsl,var(--tui-background-base) 80%,transparent);-webkit-backdrop-filter:blur(2rem);backdrop-filter:blur(2rem)}tui-app-bar>.t-content{left:50%;transform:translate(-50%);position:absolute;display:flex;block-size:100%;max-inline-size:calc(100% - var(--t-sides, 0px));inline-size:calc(100% - var(--t-sides, 0px));flex-direction:column;justify-content:center;flex:1;padding:0 .375rem;box-sizing:border-box;text-align:inherit;white-space:nowrap}tui-app-bar>.t-content progress{margin:auto}tui-app-bar>:last-child [tuiIconButton]{margin:0 -.375rem}tui-app-bar>:last-child [tuiIconButton]:last-child{margin-inline-end:0}tui-app-bar>:last-child [tuiIconButton]:only-child{margin:0}tui-app-bar [tuiButton][data-size=l]{font:var(--tui-font-text-l);margin:0 -.25rem}tui-app-bar [tuiTitle]{text-align:inherit;font:inherit}tui-app-bar [tuiSubtitle]{color:var(--tui-text-secondary)}tui-app-bar[data-size=m] [tuiTitle]{line-height:1.2em;gap:0}tui-app-bar[data-size=l]{block-size:4rem}tui-app-bar[data-size=l]>:first-child,tui-app-bar[data-size=l]>:last-child{margin:0 -1em}tui-app-bar [tuiProgressBar]{inline-size:8.75rem}tui-dialog tui-app-bar[data-size=l]{margin:-3rem 0 2rem}tui-dialog tui-app-bar[data-size=m]{margin:-1rem -1rem .75rem}tui-sheet-dialog tui-app-bar{margin:-.75rem -1rem;block-size:3.5rem;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}\n"] }]
55
+ }] });
62
56
 
63
57
  class TuiAppBarDirective {
64
58
  constructor() {
65
- this.tuiSlot = 'left';
59
+ this.tuiSlot = input('left');
66
60
  }
67
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppBarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
68
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAppBarDirective, isStandalone: true, selector: "[tuiSlot]", inputs: { tuiSlot: "tuiSlot" }, ngImport: i0 }); }
61
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAppBarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
62
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.16", type: TuiAppBarDirective, isStandalone: true, selector: "[tuiSlot]", inputs: { tuiSlot: { classPropertyName: "tuiSlot", publicName: "tuiSlot", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 }); }
69
63
  }
70
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppBarDirective, decorators: [{
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAppBarDirective, decorators: [{
71
65
  type: Directive,
72
66
  args: [{
73
- standalone: true,
74
67
  selector: '[tuiSlot]',
75
68
  }]
76
- }], propDecorators: { tuiSlot: [{
77
- type: Input
78
- }] } });
69
+ }] });
79
70
 
80
71
  class TuiAppBarBack {
81
72
  constructor() {
82
- this.icons = inject(TUI_SPIN_ICONS);
73
+ this.icons = inject(TUI_COMMON_ICONS);
83
74
  this.appearance = 'link';
84
75
  }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppBarBack, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
86
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.15", type: TuiAppBarBack, isStandalone: true, selector: "button[tuiAppBarBack], a[tuiAppBarBack]", providers: [tuiAppearanceOptionsProvider(TuiAppBarBack)], hostDirectives: [{ directive: i1.TuiWithAppearance }], ngImport: i0, template: "<svg\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-ios\"\n>\n <path\n d=\"M7.44025 12L14.9826 4.43872C15.5391 3.88083 15.5391 2.97631 14.9826 2.41842C14.4261 1.86053 13.5239 1.86053 12.9674 2.41842L4.41737 10.9898C3.86088 11.5477 3.86088 12.4523 4.41737 13.0102L12.9674 21.5816C13.5239 22.1395 14.4261 22.1395 14.9826 21.5816C15.5391 21.0237 15.5391 20.1192 14.9826 19.5613L7.44025 12Z\"\n fill=\"currentColor\"\n />\n</svg>\n<svg\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-android\"\n>\n <path\n d=\"M19.6999 11.5899C19.6999 11.0377 19.2522 10.5899 18.6999 10.5899H7.49992L12.3999 5.68995C12.7865 5.30335 12.7865 4.67655 12.3999 4.28995V4.28995C12.0133 3.90335 11.3865 3.90335 10.9999 4.28995L4.40703 10.8828C4.0165 11.2734 4.01651 11.9065 4.40703 12.2971L10.9999 18.89C11.3865 19.2765 12.0133 19.2765 12.3999 18.8899V18.8899C12.7865 18.5034 12.7865 17.8765 12.3999 17.49L7.49992 12.5899H18.6999C19.2522 12.5899 19.6999 12.1422 19.6999 11.5899V11.5899Z\"\n fill=\"currentColor\"\n />\n</svg>\n<tui-icon\n class=\"t-web\"\n [icon]=\"icons.decrement\"\n/>\n<ng-content />\n", styles: [":host{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;display:flex;align-items:center;padding:0 1rem 0 0;cursor:pointer}:host :host-context([data-platform=\"android\"]){font-size:0;padding:0 1rem}:host :host-context([data-platform=\"android\"]) .t-android{display:block}:host :host-context([data-platform=\"android\"]) .t-web{display:none}:host :host-context([data-platform=\"ios\"]) .t-ios{display:block;margin-inline-start:.5rem}:host :host-context([data-platform=\"ios\"]) .t-web{display:none}.t-web{transform:scaleX(var(--tui-inline))}.t-android,.t-ios{display:none}\n"], dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAppBarBack, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.16", type: TuiAppBarBack, isStandalone: true, selector: "button[tuiAppBarBack], a[tuiAppBarBack]", providers: [tuiAppearanceOptionsProvider(TuiAppBarBack)], hostDirectives: [{ directive: i1.TuiWithAppearance }], ngImport: i0, template: "<svg\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-ios\"\n>\n <path\n d=\"M7.44025 12L14.9826 4.43872C15.5391 3.88083 15.5391 2.97631 14.9826 2.41842C14.4261 1.86053 13.5239 1.86053 12.9674 2.41842L4.41737 10.9898C3.86088 11.5477 3.86088 12.4523 4.41737 13.0102L12.9674 21.5816C13.5239 22.1395 14.4261 22.1395 14.9826 21.5816C15.5391 21.0237 15.5391 20.1192 14.9826 19.5613L7.44025 12Z\"\n fill=\"currentColor\"\n />\n</svg>\n<svg\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-android\"\n>\n <path\n d=\"M19.6999 11.5899C19.6999 11.0377 19.2522 10.5899 18.6999 10.5899H7.49992L12.3999 5.68995C12.7865 5.30335 12.7865 4.67655 12.3999 4.28995V4.28995C12.0133 3.90335 11.3865 3.90335 10.9999 4.28995L4.40703 10.8828C4.0165 11.2734 4.01651 11.9065 4.40703 12.2971L10.9999 18.89C11.3865 19.2765 12.0133 19.2765 12.3999 18.8899V18.8899C12.7865 18.5034 12.7865 17.8765 12.3999 17.49L7.49992 12.5899H18.6999C19.2522 12.5899 19.6999 12.1422 19.6999 11.5899V11.5899Z\"\n fill=\"currentColor\"\n />\n</svg>\n<tui-icon\n class=\"t-web\"\n [icon]=\"icons.decrement\"\n/>\n<ng-content />\n", styles: [":host{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;display:flex;align-items:center;padding:0 1rem 0 0;cursor:pointer}:host :host-context([data-platform=\"web\"] tui-dialog){padding:0 .5rem}:host :host-context([data-platform=\"android\"]){font-size:0;padding:0 1rem}:host :host-context([data-platform=\"android\"]) .t-android{display:block}:host :host-context([data-platform=\"android\"]) .t-web{display:none}:host :host-context([data-platform=\"ios\"]) .t-ios{display:block;margin-inline-start:.5rem}:host :host-context([data-platform=\"ios\"]) .t-web{display:none}.t-web{transform:scaleX(var(--tui-inline))}.t-android,.t-ios{display:none}\n"], dependencies: [{ kind: "component", type: TuiIcon, selector: "tui-icon:not([tuiBadge])", inputs: ["background"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
87
78
  }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppBarBack, decorators: [{
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAppBarBack, decorators: [{
89
80
  type: Component,
90
- args: [{ selector: 'button[tuiAppBarBack], a[tuiAppBarBack]', imports: [TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAppearanceOptionsProvider(TuiAppBarBack)], hostDirectives: [TuiWithAppearance], template: "<svg\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-ios\"\n>\n <path\n d=\"M7.44025 12L14.9826 4.43872C15.5391 3.88083 15.5391 2.97631 14.9826 2.41842C14.4261 1.86053 13.5239 1.86053 12.9674 2.41842L4.41737 10.9898C3.86088 11.5477 3.86088 12.4523 4.41737 13.0102L12.9674 21.5816C13.5239 22.1395 14.4261 22.1395 14.9826 21.5816C15.5391 21.0237 15.5391 20.1192 14.9826 19.5613L7.44025 12Z\"\n fill=\"currentColor\"\n />\n</svg>\n<svg\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-android\"\n>\n <path\n d=\"M19.6999 11.5899C19.6999 11.0377 19.2522 10.5899 18.6999 10.5899H7.49992L12.3999 5.68995C12.7865 5.30335 12.7865 4.67655 12.3999 4.28995V4.28995C12.0133 3.90335 11.3865 3.90335 10.9999 4.28995L4.40703 10.8828C4.0165 11.2734 4.01651 11.9065 4.40703 12.2971L10.9999 18.89C11.3865 19.2765 12.0133 19.2765 12.3999 18.8899V18.8899C12.7865 18.5034 12.7865 17.8765 12.3999 17.49L7.49992 12.5899H18.6999C19.2522 12.5899 19.6999 12.1422 19.6999 11.5899V11.5899Z\"\n fill=\"currentColor\"\n />\n</svg>\n<tui-icon\n class=\"t-web\"\n [icon]=\"icons.decrement\"\n/>\n<ng-content />\n", styles: [":host{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;display:flex;align-items:center;padding:0 1rem 0 0;cursor:pointer}:host :host-context([data-platform=\"android\"]){font-size:0;padding:0 1rem}:host :host-context([data-platform=\"android\"]) .t-android{display:block}:host :host-context([data-platform=\"android\"]) .t-web{display:none}:host :host-context([data-platform=\"ios\"]) .t-ios{display:block;margin-inline-start:.5rem}:host :host-context([data-platform=\"ios\"]) .t-web{display:none}.t-web{transform:scaleX(var(--tui-inline))}.t-android,.t-ios{display:none}\n"] }]
81
+ args: [{ selector: 'button[tuiAppBarBack], a[tuiAppBarBack]', imports: [TuiIcon], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAppearanceOptionsProvider(TuiAppBarBack)], hostDirectives: [TuiWithAppearance], template: "<svg\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-ios\"\n>\n <path\n d=\"M7.44025 12L14.9826 4.43872C15.5391 3.88083 15.5391 2.97631 14.9826 2.41842C14.4261 1.86053 13.5239 1.86053 12.9674 2.41842L4.41737 10.9898C3.86088 11.5477 3.86088 12.4523 4.41737 13.0102L12.9674 21.5816C13.5239 22.1395 14.4261 22.1395 14.9826 21.5816C15.5391 21.0237 15.5391 20.1192 14.9826 19.5613L7.44025 12Z\"\n fill=\"currentColor\"\n />\n</svg>\n<svg\n height=\"24\"\n viewBox=\"0 0 24 24\"\n width=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"t-android\"\n>\n <path\n d=\"M19.6999 11.5899C19.6999 11.0377 19.2522 10.5899 18.6999 10.5899H7.49992L12.3999 5.68995C12.7865 5.30335 12.7865 4.67655 12.3999 4.28995V4.28995C12.0133 3.90335 11.3865 3.90335 10.9999 4.28995L4.40703 10.8828C4.0165 11.2734 4.01651 11.9065 4.40703 12.2971L10.9999 18.89C11.3865 19.2765 12.0133 19.2765 12.3999 18.8899V18.8899C12.7865 18.5034 12.7865 17.8765 12.3999 17.49L7.49992 12.5899H18.6999C19.2522 12.5899 19.6999 12.1422 19.6999 11.5899V11.5899Z\"\n fill=\"currentColor\"\n />\n</svg>\n<tui-icon\n class=\"t-web\"\n [icon]=\"icons.decrement\"\n/>\n<ng-content />\n", styles: [":host{-webkit-appearance:none;appearance:none;padding:0;border:0;background:none;font:inherit;line-height:inherit;text-decoration:none;display:flex;align-items:center;padding:0 1rem 0 0;cursor:pointer}:host :host-context([data-platform=\"web\"] tui-dialog){padding:0 .5rem}:host :host-context([data-platform=\"android\"]){font-size:0;padding:0 1rem}:host :host-context([data-platform=\"android\"]) .t-android{display:block}:host :host-context([data-platform=\"android\"]) .t-web{display:none}:host :host-context([data-platform=\"ios\"]) .t-ios{display:block;margin-inline-start:.5rem}:host :host-context([data-platform=\"ios\"]) .t-web{display:none}.t-web{transform:scaleX(var(--tui-inline))}.t-android,.t-ios{display:none}\n"] }]
91
82
  }] });
92
83
 
93
84
  // TODO: Make size automatic based on tuiPlatform in v5
@@ -95,13 +86,12 @@ class TuiAppBarSizeDirective {
95
86
  constructor() {
96
87
  this.size = tuiDirectiveBinding(TuiAppBarComponent, 'size', toSignal(inject(TuiBreakpointService).pipe(map((breakpoint) => (breakpoint === 'mobile' ? 'm' : 'l'))), { initialValue: 'm' }));
97
88
  }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppBarSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
99
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.15", type: TuiAppBarSizeDirective, isStandalone: true, selector: "tui-app-bar[tuiAppBarSize]", ngImport: i0 }); }
89
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAppBarSizeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
90
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.16", type: TuiAppBarSizeDirective, isStandalone: true, selector: "tui-app-bar[tuiAppBarSize]", ngImport: i0 }); }
100
91
  }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TuiAppBarSizeDirective, decorators: [{
92
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.16", ngImport: i0, type: TuiAppBarSizeDirective, decorators: [{
102
93
  type: Directive,
103
94
  args: [{
104
- standalone: true,
105
95
  selector: 'tui-app-bar[tuiAppBarSize]',
106
96
  }]
107
97
  }] });