@taiga-ui/layout 4.29.0-canary.8cd9147 → 4.29.0-canary.9081a1a

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 (23) hide show
  1. package/components/dynamic-header/dynamic-header-anchor.directive.d.ts +15 -0
  2. package/components/dynamic-header/dynamic-header-container.directive.d.ts +13 -0
  3. package/components/dynamic-header/dynamic-header.animations.d.ts +1 -0
  4. package/components/dynamic-header/dynamic-header.component.d.ts +12 -0
  5. package/components/dynamic-header/dynamic-header.d.ts +4 -0
  6. package/components/dynamic-header/index.d.ts +4 -0
  7. package/components/index.d.ts +1 -0
  8. package/esm2022/components/app-bar/app-bar.component.mjs +3 -3
  9. package/esm2022/components/dynamic-header/dynamic-header-anchor.directive.mjs +34 -0
  10. package/esm2022/components/dynamic-header/dynamic-header-container.directive.mjs +41 -0
  11. package/esm2022/components/dynamic-header/dynamic-header.animations.mjs +12 -0
  12. package/esm2022/components/dynamic-header/dynamic-header.component.mjs +81 -0
  13. package/esm2022/components/dynamic-header/dynamic-header.mjs +9 -0
  14. package/esm2022/components/dynamic-header/index.mjs +5 -0
  15. package/esm2022/components/dynamic-header/taiga-ui-layout-components-dynamic-header.mjs +5 -0
  16. package/esm2022/components/index.mjs +2 -1
  17. package/fesm2022/taiga-ui-layout-components-app-bar.mjs +2 -2
  18. package/fesm2022/taiga-ui-layout-components-app-bar.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs +169 -0
  20. package/fesm2022/taiga-ui-layout-components-dynamic-header.mjs.map +1 -0
  21. package/fesm2022/taiga-ui-layout-components.mjs +1 -0
  22. package/fesm2022/taiga-ui-layout-components.mjs.map +1 -1
  23. package/package.json +17 -11
@@ -0,0 +1,15 @@
1
+ import type { AfterViewInit, OnDestroy } from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TuiDynamicHeaderAnchorDirective implements AfterViewInit, OnDestroy {
5
+ private readonly viewContainer;
6
+ private readonly observer;
7
+ private readonly container;
8
+ readonly templateRef: TemplateRef<any>;
9
+ readonly view: import("@angular/core").EmbeddedViewRef<any>;
10
+ readonly visible: import("@angular/core").WritableSignal<boolean>;
11
+ ngAfterViewInit(): void;
12
+ ngOnDestroy(): void;
13
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDynamicHeaderAnchorDirective, never>;
14
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDynamicHeaderAnchorDirective, "[tuiDynamicHeaderAnchor]", never, {}, {}, never, never, true, never>;
15
+ }
@@ -0,0 +1,13 @@
1
+ import type { QueryList, TemplateRef } from '@angular/core';
2
+ import { TuiDynamicHeaderAnchorDirective } from './dynamic-header-anchor.directive';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@ng-web-apis/intersection-observer";
5
+ export declare class TuiDynamicHeaderContainerDirective {
6
+ private readonly el;
7
+ protected readonly headers: QueryList<TuiDynamicHeaderAnchorDirective>;
8
+ hiddenHeaders: import("@angular/core").WritableSignal<TemplateRef<unknown>[]>;
9
+ scrollDir: import("@angular/core").Signal<1 | -1 | undefined>;
10
+ update(): void;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDynamicHeaderContainerDirective, never>;
12
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TuiDynamicHeaderContainerDirective, "[tuiDynamicHeaderContainer]", never, {}, {}, ["headers"], never, true, [{ directive: typeof i1.WaIntersectionRoot; inputs: {}; outputs: {}; }, { directive: typeof i1.WaIntersectionObserverDirective; inputs: {}; outputs: {}; }]>;
13
+ }
@@ -0,0 +1 @@
1
+ export declare const tuiSlideInTopHeader: import("@angular/animations").AnimationTriggerMetadata;
@@ -0,0 +1,12 @@
1
+ import type { AnimationOptions } from '@angular/animations';
2
+ import { TuiDynamicHeaderContainerDirective } from './dynamic-header-container.directive';
3
+ import * as i0 from "@angular/core";
4
+ export declare class TuiDynamicHeaderComponent {
5
+ protected speed: number;
6
+ protected readonly fadeOptions: AnimationOptions;
7
+ protected readonly container: TuiDynamicHeaderContainerDirective;
8
+ protected slideOptions: import("@angular/core").Signal<AnimationOptions>;
9
+ private getSlideOptions;
10
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiDynamicHeaderComponent, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<TuiDynamicHeaderComponent, "[tuiDynamicHeader]", never, {}, {}, never, ["*"], true, never>;
12
+ }
@@ -0,0 +1,4 @@
1
+ import { TuiDynamicHeaderComponent } from './dynamic-header.component';
2
+ import { TuiDynamicHeaderAnchorDirective } from './dynamic-header-anchor.directive';
3
+ import { TuiDynamicHeaderContainerDirective } from './dynamic-header-container.directive';
4
+ export declare const TuiDynamicHeader: (typeof TuiDynamicHeaderAnchorDirective | typeof TuiDynamicHeaderContainerDirective | typeof TuiDynamicHeaderComponent)[];
@@ -0,0 +1,4 @@
1
+ export * from './dynamic-header';
2
+ export * from './dynamic-header.component';
3
+ export * from './dynamic-header-anchor.directive';
4
+ export * from './dynamic-header-container.directive';
@@ -3,6 +3,7 @@ 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
5
  export * from '@taiga-ui/layout/components/cell';
6
+ export * from '@taiga-ui/layout/components/dynamic-header';
6
7
  export * from '@taiga-ui/layout/components/form';
7
8
  export * from '@taiga-ui/layout/components/header';
8
9
  export * from '@taiga-ui/layout/components/input-search';
@@ -16,18 +16,18 @@ class TuiAppBarComponent {
16
16
  this.size = 'm';
17
17
  }
18
18
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAppBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
19
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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:3rem;align-items:center;justify-content:space-between;flex:1;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);-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));flex-direction:column;justify-content:center;flex:1;padding:0 .375rem;box-sizing:border-box;text-align:inherit;white-space:nowrap}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;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 }); }
19
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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:3rem;align-items:center;justify-content:space-between;flex:1;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);-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;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 }); }
20
20
  }
21
21
  export { TuiAppBarComponent };
22
22
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAppBarComponent, decorators: [{
23
23
  type: Component,
24
24
  args: [{ standalone: true, selector: 'tui-app-bar', imports: [AsyncPipe, TuiFade], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: TUI_APP_BAR_PROVIDERS, host: {
25
25
  '[attr.data-size]': 'size',
26
- }, 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:3rem;align-items:center;justify-content:space-between;flex:1;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);-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));flex-direction:column;justify-content:center;flex:1;padding:0 .375rem;box-sizing:border-box;text-align:inherit;white-space:nowrap}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;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}\n"] }]
26
+ }, 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:3rem;align-items:center;justify-content:space-between;flex:1;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);-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;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}\n"] }]
27
27
  }], propDecorators: { side: [{
28
28
  type: ViewChildren,
29
29
  args: ['side']
30
30
  }], size: [{
31
31
  type: Input
32
32
  }] } });
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9hcHAtYmFyL2FwcC1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L2NvbXBvbmVudHMvYXBwLWJhci9hcHAtYmFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTFDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxFQUNaLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXRELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFMUQsTUFhYSxrQkFBa0I7SUFiL0I7UUFlcUIsU0FBSSxHQUF1QyxXQUFXLENBQUM7UUFFckQsV0FBTSxHQUFHLEtBQUssQ0FDN0IsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDLEVBQzNDLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUNoRCxDQUFDLElBQUksQ0FDRixXQUFXLEVBQUUsRUFDYixHQUFHLENBQ0MsR0FBRyxFQUFFLENBQ0QsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLFdBQVcsRUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FDNUMsQ0FDUixDQUNKLENBQUM7UUFHSyxTQUFJLEdBQWEsR0FBRyxDQUFDO0tBQy9COytHQXJCWSxrQkFBa0I7bUdBQWxCLGtCQUFrQix3SUFMaEIscUJBQXFCLDJHQzVCcEMscVFBYUEseStDRFVjLFNBQVMsOENBQUUsT0FBTzs7U0FVbkIsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBYjlCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGFBQWEsV0FDZCxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxxQkFBcUIsUUFDMUI7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTtxQkFDN0I7OEJBSWdCLElBQUk7c0JBRHBCLFlBQVk7dUJBQUMsTUFBTTtnQkFtQmIsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7RWxlbWVudFJlZiwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNdXRhdGlvbk9ic2VydmVyU2VydmljZX0gZnJvbSAnQG5nLXdlYi1hcGlzL211dGF0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlfSBmcm9tICdAbmctd2ViLWFwaXMvcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpWm9uZWZ1bGx9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1R1aUZhZGV9IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9mYWRlJztcbmltcG9ydCB7bWFwLCBtZXJnZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0FQUF9CQVJfUFJPVklERVJTfSBmcm9tICcuL2FwcC1iYXIucHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1hcHAtYmFyJyxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBUdWlGYWRlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLWJhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcHAtYmFyLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVFVJX0FQUF9CQVJfUFJPVklERVJTLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXBwQmFyQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkcmVuKCdzaWRlJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGU6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB3aWR0aCQgPSBtZXJnZShcbiAgICAgICAgaW5qZWN0KFJlc2l6ZU9ic2VydmVyU2VydmljZSwge3NlbGY6IHRydWV9KSxcbiAgICAgICAgaW5qZWN0KE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLCB7c2VsZjogdHJ1ZX0pLFxuICAgICkucGlwZShcbiAgICAgICAgdHVpWm9uZWZ1bGwoKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAyICpcbiAgICAgICAgICAgICAgICBNYXRoLm1heChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaWRlLmZpcnN0Py5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpZGUubGFzdD8ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplTCA9ICdtJztcbn1cbiIsIjxkaXYgI3NpZGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aVNsb3Q9J2xlZnQnXVwiIC8+XG48L2Rpdj5cbjxkaXZcbiAgICB0dWlGYWRlXG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgIFtzdHlsZS4tLXQtc2lkZXMucHhdPVwid2lkdGgkIHwgYXN5bmNcIlxuPlxuICAgIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbjxkaXYgI3NpZGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aVNsb3Q9J3JpZ2h0J11cIiAvPlxuPC9kaXY+XG4iXX0=
33
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9hcHAtYmFyL2FwcC1iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L2NvbXBvbmVudHMvYXBwLWJhci9hcHAtYmFyLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTFDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULE1BQU0sRUFDTixLQUFLLEVBQ0wsWUFBWSxFQUNaLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNuRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBRXRELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUN0RCxPQUFPLEVBQUMsR0FBRyxFQUFFLEtBQUssRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFFMUQsTUFhYSxrQkFBa0I7SUFiL0I7UUFlcUIsU0FBSSxHQUF1QyxXQUFXLENBQUM7UUFFckQsV0FBTSxHQUFHLEtBQUssQ0FDN0IsTUFBTSxDQUFDLHFCQUFxQixFQUFFLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxDQUFDLEVBQzNDLE1BQU0sQ0FBQyx1QkFBdUIsRUFBRSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUNoRCxDQUFDLElBQUksQ0FDRixXQUFXLEVBQUUsRUFDYixHQUFHLENBQ0MsR0FBRyxFQUFFLENBQ0QsQ0FBQztZQUNELElBQUksQ0FBQyxHQUFHLENBQ0osSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLFdBQVcsRUFDMUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLFdBQVcsQ0FDNUMsQ0FDUixDQUNKLENBQUM7UUFHSyxTQUFJLEdBQWEsR0FBRyxDQUFDO0tBQy9COytHQXJCWSxrQkFBa0I7bUdBQWxCLGtCQUFrQix3SUFMaEIscUJBQXFCLDJHQzVCcEMscVFBYUEsa2tERFVjLFNBQVMsOENBQUUsT0FBTzs7U0FVbkIsa0JBQWtCOzRGQUFsQixrQkFBa0I7a0JBYjlCLFNBQVM7aUNBQ00sSUFBSSxZQUNOLGFBQWEsV0FDZCxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsaUJBR2QsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxxQkFBcUIsUUFDMUI7d0JBQ0Ysa0JBQWtCLEVBQUUsTUFBTTtxQkFDN0I7OEJBSWdCLElBQUk7c0JBRHBCLFlBQVk7dUJBQUMsTUFBTTtnQkFtQmIsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1BpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgdHlwZSB7RWxlbWVudFJlZiwgUXVlcnlMaXN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIGluamVjdCxcbiAgICBJbnB1dCxcbiAgICBWaWV3Q2hpbGRyZW4sXG4gICAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNdXRhdGlvbk9ic2VydmVyU2VydmljZX0gZnJvbSAnQG5nLXdlYi1hcGlzL211dGF0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7UmVzaXplT2JzZXJ2ZXJTZXJ2aWNlfSBmcm9tICdAbmctd2ViLWFwaXMvcmVzaXplLW9ic2VydmVyJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpWm9uZWZ1bGx9IGZyb20gJ0B0YWlnYS11aS9jZGsvb2JzZXJ2YWJsZXMnO1xuaW1wb3J0IHR5cGUge1R1aVNpemVMfSBmcm9tICdAdGFpZ2EtdWkvY29yZS90eXBlcyc7XG5pbXBvcnQge1R1aUZhZGV9IGZyb20gJ0B0YWlnYS11aS9raXQvZGlyZWN0aXZlcy9mYWRlJztcbmltcG9ydCB7bWFwLCBtZXJnZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VFVJX0FQUF9CQVJfUFJPVklERVJTfSBmcm9tICcuL2FwcC1iYXIucHJvdmlkZXJzJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS1hcHAtYmFyJyxcbiAgICBpbXBvcnRzOiBbQXN5bmNQaXBlLCBUdWlGYWRlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vYXBwLWJhci50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9hcHAtYmFyLnN0eWxlLmxlc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVFVJX0FQUF9CQVJfUFJPVklERVJTLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQXBwQmFyQ29tcG9uZW50IHtcbiAgICBAVmlld0NoaWxkcmVuKCdzaWRlJylcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGU6IFF1ZXJ5TGlzdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSB3aWR0aCQgPSBtZXJnZShcbiAgICAgICAgaW5qZWN0KFJlc2l6ZU9ic2VydmVyU2VydmljZSwge3NlbGY6IHRydWV9KSxcbiAgICAgICAgaW5qZWN0KE11dGF0aW9uT2JzZXJ2ZXJTZXJ2aWNlLCB7c2VsZjogdHJ1ZX0pLFxuICAgICkucGlwZShcbiAgICAgICAgdHVpWm9uZWZ1bGwoKSxcbiAgICAgICAgbWFwKFxuICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAyICpcbiAgICAgICAgICAgICAgICBNYXRoLm1heChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zaWRlLmZpcnN0Py5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNpZGUubGFzdD8ubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICk7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplTCA9ICdtJztcbn1cbiIsIjxkaXYgI3NpZGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aVNsb3Q9J2xlZnQnXVwiIC8+XG48L2Rpdj5cbjxkaXZcbiAgICB0dWlGYWRlXG4gICAgY2xhc3M9XCJ0LWNvbnRlbnRcIlxuICAgIFtzdHlsZS4tLXQtc2lkZXMucHhdPVwid2lkdGgkIHwgYXN5bmNcIlxuPlxuICAgIDxuZy1jb250ZW50IC8+XG48L2Rpdj5cbjxkaXYgI3NpZGU+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3R1aVNsb3Q9J3JpZ2h0J11cIiAvPlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,34 @@
1
+ import { Directive, inject, signal, TemplateRef, ViewContainerRef } from '@angular/core';
2
+ import { WaIntersectionObserverDirective } from '@ng-web-apis/intersection-observer';
3
+ import { TuiDynamicHeaderContainerDirective } from './dynamic-header-container.directive';
4
+ import * as i0 from "@angular/core";
5
+ class TuiDynamicHeaderAnchorDirective {
6
+ constructor() {
7
+ this.viewContainer = inject(ViewContainerRef);
8
+ this.observer = inject(WaIntersectionObserverDirective);
9
+ this.container = inject(TuiDynamicHeaderContainerDirective);
10
+ this.templateRef = inject((TemplateRef));
11
+ this.view = this.viewContainer.createEmbeddedView(this.templateRef);
12
+ this.visible = signal(false);
13
+ }
14
+ ngAfterViewInit() {
15
+ this.observer.observe(this.view.rootNodes[0], ([e]) => {
16
+ this.visible.set(!e?.isIntersecting);
17
+ this.container.update();
18
+ });
19
+ }
20
+ ngOnDestroy() {
21
+ this.observer.unobserve(this.view.rootNodes[0]);
22
+ }
23
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
24
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderAnchorDirective, isStandalone: true, selector: "[tuiDynamicHeaderAnchor]", ngImport: i0 }); }
25
+ }
26
+ export { TuiDynamicHeaderAnchorDirective };
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderAnchorDirective, decorators: [{
28
+ type: Directive,
29
+ args: [{
30
+ standalone: true,
31
+ selector: '[tuiDynamicHeaderAnchor]',
32
+ }]
33
+ }] });
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1oZWFkZXItYW5jaG9yLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9jb21wb25lbnRzL2R5bmFtaWMtaGVhZGVyL2R5bmFtaWMtaGVhZGVyLWFuY2hvci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQzs7QUFFeEYsTUFJYSwrQkFBK0I7SUFKNUM7UUFLcUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6QyxhQUFRLEdBQUcsTUFBTSxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFDbkQsY0FBUyxHQUFHLE1BQU0sQ0FBQyxrQ0FBa0MsQ0FBQyxDQUFDO1FBQ3hELGdCQUFXLEdBQUcsTUFBTSxDQUFDLENBQUEsV0FBb0IsQ0FBQSxDQUFDLENBQUM7UUFDM0MsU0FBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9ELFlBQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7S0FZM0M7SUFWVSxlQUFlO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2xELElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLGNBQWMsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRU0sV0FBVztRQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDcEQsQ0FBQzsrR0FqQlEsK0JBQStCO21HQUEvQiwrQkFBK0I7O1NBQS9CLCtCQUErQjs0RkFBL0IsK0JBQStCO2tCQUozQyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsMEJBQTBCO2lCQUN2QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtEaXJlY3RpdmUsIGluamVjdCwgc2lnbmFsLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dhSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmV9IGZyb20gJ0BuZy13ZWItYXBpcy9pbnRlcnNlY3Rpb24tb2JzZXJ2ZXInO1xuXG5pbXBvcnQge1R1aUR5bmFtaWNIZWFkZXJDb250YWluZXJEaXJlY3RpdmV9IGZyb20gJy4vZHluYW1pYy1oZWFkZXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpRHluYW1pY0hlYWRlckFuY2hvcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEeW5hbWljSGVhZGVyQW5jaG9yRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXIgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBvYnNlcnZlciA9IGluamVjdChXYUludGVyc2VjdGlvbk9ic2VydmVyRGlyZWN0aXZlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbnRhaW5lciA9IGluamVjdChUdWlEeW5hbWljSGVhZGVyQ29udGFpbmVyRGlyZWN0aXZlKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8dW5rbm93bj4pO1xuICAgIHB1YmxpYyByZWFkb25seSB2aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgdmlzaWJsZSA9IHNpZ25hbChmYWxzZSk7XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy52aWV3LnJvb3ROb2Rlc1swXSwgKFtlXSkgPT4ge1xuICAgICAgICAgICAgdGhpcy52aXNpYmxlLnNldCghZT8uaXNJbnRlcnNlY3RpbmcpO1xuICAgICAgICAgICAgdGhpcy5jb250YWluZXIudXBkYXRlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlci51bm9ic2VydmUodGhpcy52aWV3LnJvb3ROb2Rlc1swXSk7XG4gICAgfVxufVxuIl19
@@ -0,0 +1,41 @@
1
+ import { ContentChildren, Directive, signal } from '@angular/core';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { WaIntersectionObserverDirective, WaIntersectionRoot, } from '@ng-web-apis/intersection-observer';
4
+ import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
5
+ import { tuiZoneOptimized } from '@taiga-ui/cdk/observables';
6
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
7
+ import { distinctUntilChanged, fromEvent, map, pairwise } from 'rxjs';
8
+ import { TuiDynamicHeaderAnchorDirective } from './dynamic-header-anchor.directive';
9
+ import * as i0 from "@angular/core";
10
+ import * as i1 from "@ng-web-apis/intersection-observer";
11
+ class TuiDynamicHeaderContainerDirective {
12
+ constructor() {
13
+ this.el = tuiInjectElement();
14
+ this.headers = EMPTY_QUERY;
15
+ this.hiddenHeaders = signal([]);
16
+ this.scrollDir = toSignal(fromEvent(this.el, 'scroll').pipe(map(({ target }) => target.scrollTop), pairwise(), map(([prev, next]) => (next > prev ? -1 : 1)), distinctUntilChanged(), tuiZoneOptimized()));
17
+ }
18
+ update() {
19
+ this.hiddenHeaders.set(this.headers.filter((h) => h.visible()).map((h) => h.templateRef));
20
+ }
21
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
22
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderContainerDirective, isStandalone: true, selector: "[tuiDynamicHeaderContainer]", host: { attributes: { "waIntersectionRootMargin": "-44px 0px 1000000% 0px" } }, queries: [{ propertyName: "headers", predicate: TuiDynamicHeaderAnchorDirective, descendants: true }], hostDirectives: [{ directive: i1.WaIntersectionRoot }, { directive: i1.WaIntersectionObserverDirective }], ngImport: i0 }); }
23
+ }
24
+ export { TuiDynamicHeaderContainerDirective };
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderContainerDirective, decorators: [{
26
+ type: Directive,
27
+ args: [{
28
+ standalone: true,
29
+ selector: '[tuiDynamicHeaderContainer]',
30
+ hostDirectives: [WaIntersectionRoot, WaIntersectionObserverDirective],
31
+ host: {
32
+ waIntersectionRootMargin: '-44px 0px 1000000% 0px',
33
+ },
34
+ }]
35
+ }], propDecorators: { headers: [{
36
+ type: ContentChildren,
37
+ args: [TuiDynamicHeaderAnchorDirective, {
38
+ descendants: true,
39
+ }]
40
+ }] } });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1oZWFkZXItY29udGFpbmVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9jb21wb25lbnRzL2R5bmFtaWMtaGVhZGVyL2R5bmFtaWMtaGVhZGVyLWNvbnRhaW5lci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsK0JBQStCLEVBQy9CLGtCQUFrQixHQUNyQixNQUFNLG9DQUFvQyxDQUFDO0FBQzVDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUMsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFcEUsT0FBTyxFQUFDLCtCQUErQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7OztBQUVsRixNQVFhLGtDQUFrQztJQVIvQztRQVNxQixPQUFFLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUt0QixZQUFPLEdBQStDLFdBQVcsQ0FBQztRQUU5RSxrQkFBYSxHQUFHLE1BQU0sQ0FBOEIsRUFBRSxDQUFDLENBQUM7UUFFeEQsY0FBUyxHQUFHLFFBQVEsQ0FDdkIsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUM3QixHQUFHLENBQUMsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUUsQ0FBRSxNQUFzQixDQUFDLFNBQVMsQ0FBQyxFQUNwRCxRQUFRLEVBQUUsRUFDVixHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDN0Msb0JBQW9CLEVBQUUsRUFDdEIsZ0JBQWdCLEVBQUUsQ0FDckIsQ0FDSixDQUFDO0tBT0w7SUFMVSxNQUFNO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ2xCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FDcEUsQ0FBQztJQUNOLENBQUM7K0dBeEJRLGtDQUFrQzttR0FBbEMsa0NBQWtDLCtMQUcxQiwrQkFBK0I7O1NBSHZDLGtDQUFrQzs0RkFBbEMsa0NBQWtDO2tCQVI5QyxTQUFTO21CQUFDO29CQUNQLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxjQUFjLEVBQUUsQ0FBQyxrQkFBa0IsRUFBRSwrQkFBK0IsQ0FBQztvQkFDckUsSUFBSSxFQUFFO3dCQUNGLHdCQUF3QixFQUFFLHdCQUF3QjtxQkFDckQ7aUJBQ0o7OEJBT3NCLE9BQU87c0JBSHpCLGVBQWU7dUJBQUMsK0JBQStCLEVBQUU7d0JBQzlDLFdBQVcsRUFBRSxJQUFJO3FCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtRdWVyeUxpc3QsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIHNpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3RvU2lnbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQge1xuICAgIFdhSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmUsXG4gICAgV2FJbnRlcnNlY3Rpb25Sb290LFxufSBmcm9tICdAbmctd2ViLWFwaXMvaW50ZXJzZWN0aW9uLW9ic2VydmVyJztcbmltcG9ydCB7RU1QVFlfUVVFUll9IGZyb20gJ0B0YWlnYS11aS9jZGsvY29uc3RhbnRzJztcbmltcG9ydCB7dHVpWm9uZU9wdGltaXplZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay9vYnNlcnZhYmxlcyc7XG5pbXBvcnQge3R1aUluamVjdEVsZW1lbnR9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvZG9tJztcbmltcG9ydCB7ZGlzdGluY3RVbnRpbENoYW5nZWQsIGZyb21FdmVudCwgbWFwLCBwYWlyd2lzZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpRHluYW1pY0hlYWRlckFuY2hvckRpcmVjdGl2ZX0gZnJvbSAnLi9keW5hbWljLWhlYWRlci1hbmNob3IuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ1t0dWlEeW5hbWljSGVhZGVyQ29udGFpbmVyXScsXG4gICAgaG9zdERpcmVjdGl2ZXM6IFtXYUludGVyc2VjdGlvblJvb3QsIFdhSW50ZXJzZWN0aW9uT2JzZXJ2ZXJEaXJlY3RpdmVdLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgd2FJbnRlcnNlY3Rpb25Sb290TWFyZ2luOiAnLTQ0cHggMHB4IDEwMDAwMDAlIDBweCcsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRHluYW1pY0hlYWRlckNvbnRhaW5lckRpcmVjdGl2ZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpRHluYW1pY0hlYWRlckFuY2hvckRpcmVjdGl2ZSwge1xuICAgICAgICBkZXNjZW5kYW50czogdHJ1ZSxcbiAgICB9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBoZWFkZXJzOiBRdWVyeUxpc3Q8VHVpRHluYW1pY0hlYWRlckFuY2hvckRpcmVjdGl2ZT4gPSBFTVBUWV9RVUVSWTtcblxuICAgIHB1YmxpYyBoaWRkZW5IZWFkZXJzID0gc2lnbmFsPEFycmF5PFRlbXBsYXRlUmVmPHVua25vd24+Pj4oW10pO1xuXG4gICAgcHVibGljIHNjcm9sbERpciA9IHRvU2lnbmFsKFxuICAgICAgICBmcm9tRXZlbnQodGhpcy5lbCwgJ3Njcm9sbCcpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHt0YXJnZXR9KSA9PiAodGFyZ2V0IGFzIEhUTUxFbGVtZW50KS5zY3JvbGxUb3ApLFxuICAgICAgICAgICAgcGFpcndpc2UoKSxcbiAgICAgICAgICAgIG1hcCgoW3ByZXYsIG5leHRdKSA9PiAobmV4dCA+IHByZXYgPyAtMSA6IDEpKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICB0dWlab25lT3B0aW1pemVkKCksXG4gICAgICAgICksXG4gICAgKTtcblxuICAgIHB1YmxpYyB1cGRhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZGVuSGVhZGVycy5zZXQoXG4gICAgICAgICAgICB0aGlzLmhlYWRlcnMuZmlsdGVyKChoKSA9PiBoLnZpc2libGUoKSkubWFwKChoKSA9PiBoLnRlbXBsYXRlUmVmKSxcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,12 @@
1
+ import { animate, style, transition, trigger } from '@angular/animations';
2
+ export const tuiSlideInTopHeader = trigger('tuiSlideInTopHeader', [
3
+ transition(':enter', [
4
+ style({ transform: 'translate3d(0,{{enterStart}},0)', pointerEvents: 'none' }),
5
+ animate('{{duration}}ms ease-in-out', style({ transform: 'translate3d(0,{{enterEnd}},0)' })),
6
+ ], { params: { enterEnd: 0, enterStart: '100%', duration: 300 } }),
7
+ transition(':leave', [
8
+ style({ transform: 'translate3d(0,{{leaveEnd}},0)' }),
9
+ animate('{{duration}}ms ease-in-out', style({ transform: 'translate3d(0,{{leaveStart}},0)' })),
10
+ ], { params: { leaveEnd: 0, leaveStart: '100%', duration: 300 } }),
11
+ ]);
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1oZWFkZXIuYW5pbWF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2xheW91dC9jb21wb25lbnRzL2R5bmFtaWMtaGVhZGVyL2R5bmFtaWMtaGVhZGVyLmFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRXhFLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsRUFBRTtJQUM5RCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLGlDQUFpQyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUMsQ0FBQztRQUM1RSxPQUFPLENBQ0gsNEJBQTRCLEVBQzVCLEtBQUssQ0FBQyxFQUFDLFNBQVMsRUFBRSwrQkFBK0IsRUFBQyxDQUFDLENBQ3REO0tBQ0osRUFDRCxFQUFDLE1BQU0sRUFBRSxFQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFDLEVBQUMsQ0FDN0Q7SUFDRCxVQUFVLENBQ04sUUFBUSxFQUNSO1FBQ0ksS0FBSyxDQUFDLEVBQUMsU0FBUyxFQUFFLCtCQUErQixFQUFDLENBQUM7UUFDbkQsT0FBTyxDQUNILDRCQUE0QixFQUM1QixLQUFLLENBQUMsRUFBQyxTQUFTLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUN4RDtLQUNKLEVBQ0QsRUFBQyxNQUFNLEVBQUUsRUFBQyxRQUFRLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsRUFBQyxFQUFDLENBQzdEO0NBQ0osQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCB0dWlTbGlkZUluVG9wSGVhZGVyID0gdHJpZ2dlcigndHVpU2xpZGVJblRvcEhlYWRlcicsIFtcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgICAnOmVudGVyJyxcbiAgICAgICAgW1xuICAgICAgICAgICAgc3R5bGUoe3RyYW5zZm9ybTogJ3RyYW5zbGF0ZTNkKDAse3tlbnRlclN0YXJ0fX0sMCknLCBwb2ludGVyRXZlbnRzOiAnbm9uZSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgJ3t7ZHVyYXRpb259fW1zIGVhc2UtaW4tb3V0JyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e2VudGVyRW5kfX0sMCknfSksXG4gICAgICAgICAgICApLFxuICAgICAgICBdLFxuICAgICAgICB7cGFyYW1zOiB7ZW50ZXJFbmQ6IDAsIGVudGVyU3RhcnQ6ICcxMDAlJywgZHVyYXRpb246IDMwMH19LFxuICAgICksXG4gICAgdHJhbnNpdGlvbihcbiAgICAgICAgJzpsZWF2ZScsXG4gICAgICAgIFtcbiAgICAgICAgICAgIHN0eWxlKHt0cmFuc2Zvcm06ICd0cmFuc2xhdGUzZCgwLHt7bGVhdmVFbmR9fSwwKSd9KSxcbiAgICAgICAgICAgIGFuaW1hdGUoXG4gICAgICAgICAgICAgICAgJ3t7ZHVyYXRpb259fW1zIGVhc2UtaW4tb3V0JyxcbiAgICAgICAgICAgICAgICBzdHlsZSh7dHJhbnNmb3JtOiAndHJhbnNsYXRlM2QoMCx7e2xlYXZlU3RhcnR9fSwwKSd9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIF0sXG4gICAgICAgIHtwYXJhbXM6IHtsZWF2ZUVuZDogMCwgbGVhdmVTdGFydDogJzEwMCUnLCBkdXJhdGlvbjogMzAwfX0sXG4gICAgKSxcbl0pO1xuIl19
@@ -0,0 +1,81 @@
1
+ import { NgForOf, NgIf } from '@angular/common';
2
+ import { ChangeDetectionStrategy, Component, computed, inject } from '@angular/core';
3
+ import { tuiFadeIn } from '@taiga-ui/core/animations';
4
+ import { TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
5
+ import { tuiGetDuration, tuiToAnimationOptions } from '@taiga-ui/core/utils/miscellaneous';
6
+ import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
7
+ import { tuiSlideInTopHeader } from './dynamic-header.animations';
8
+ import { TuiDynamicHeaderContainerDirective } from './dynamic-header-container.directive';
9
+ import * as i0 from "@angular/core";
10
+ class TuiDynamicHeaderComponent {
11
+ constructor() {
12
+ this.speed = inject(TUI_ANIMATIONS_SPEED);
13
+ this.fadeOptions = tuiToAnimationOptions();
14
+ this.container = inject(TuiDynamicHeaderContainerDirective);
15
+ this.slideOptions = computed(() => {
16
+ return this.getSlideOptions(this.container.scrollDir() || -1);
17
+ });
18
+ }
19
+ getSlideOptions(direction) {
20
+ return {
21
+ value: '',
22
+ params: {
23
+ duration: tuiGetDuration(this.speed),
24
+ leaveEnd: 0,
25
+ leaveStart: direction > 0 ? '200%' : '-200%',
26
+ enterStart: direction > 0 ? '-200%' : '200%',
27
+ enterEnd: 0,
28
+ },
29
+ };
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderComponent, isStandalone: true, selector: "[tuiDynamicHeader]", ngImport: i0, template: `
33
+ <div
34
+ *ngIf="!container.hiddenHeaders().length; else dynamic"
35
+ [@tuiFadeIn]="fadeOptions"
36
+ [@tuiSlideInTopHeader]="slideOptions()"
37
+ >
38
+ <ng-content />
39
+ </div>
40
+ <ng-template #dynamic>
41
+ <ng-container
42
+ *ngFor="let header of container.hiddenHeaders(); let last = last"
43
+ >
44
+ <div
45
+ *ngIf="last"
46
+ [@tuiFadeIn]="fadeOptions"
47
+ [@tuiSlideInTopHeader]="slideOptions()"
48
+ >
49
+ <div *polymorpheusOutlet="header as text">{{ text }}</div>
50
+ </div>
51
+ </ng-container>
52
+ </ng-template>
53
+ `, isInline: true, styles: [":host{display:flex;block-size:100%;align-items:center;justify-content:center}:host-context([data-platform=\"android\"]) :host{justify-content:start}.ng-animating:not(:first-of-type){position:absolute}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiSlideInTopHeader, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
54
+ }
55
+ export { TuiDynamicHeaderComponent };
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderComponent, decorators: [{
57
+ type: Component,
58
+ args: [{ standalone: true, selector: '[tuiDynamicHeader]', imports: [NgForOf, NgIf, PolymorpheusOutlet], template: `
59
+ <div
60
+ *ngIf="!container.hiddenHeaders().length; else dynamic"
61
+ [@tuiFadeIn]="fadeOptions"
62
+ [@tuiSlideInTopHeader]="slideOptions()"
63
+ >
64
+ <ng-content />
65
+ </div>
66
+ <ng-template #dynamic>
67
+ <ng-container
68
+ *ngFor="let header of container.hiddenHeaders(); let last = last"
69
+ >
70
+ <div
71
+ *ngIf="last"
72
+ [@tuiFadeIn]="fadeOptions"
73
+ [@tuiSlideInTopHeader]="slideOptions()"
74
+ >
75
+ <div *polymorpheusOutlet="header as text">{{ text }}</div>
76
+ </div>
77
+ </ng-container>
78
+ </ng-template>
79
+ `, changeDetection: ChangeDetectionStrategy.OnPush, animations: [tuiSlideInTopHeader, tuiFadeIn], styles: [":host{display:flex;block-size:100%;align-items:center;justify-content:center}:host-context([data-platform=\"android\"]) :host{justify-content:start}.ng-animating:not(:first-of-type){position:absolute}\n"] }]
80
+ }] });
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1oZWFkZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbGF5b3V0L2NvbXBvbmVudHMvZHluYW1pYy1oZWFkZXIvZHluYW1pYy1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDOUMsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBQyxTQUFTLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsY0FBYyxFQUFFLHFCQUFxQixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDekYsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDaEUsT0FBTyxFQUFDLGtDQUFrQyxFQUFDLE1BQU0sc0NBQXNDLENBQUM7O0FBRXhGLE1BOEJhLHlCQUF5QjtJQTlCdEM7UUErQmMsVUFBSyxHQUFHLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBQzVCLGdCQUFXLEdBQUcscUJBQXFCLEVBQUUsQ0FBQztRQUN0QyxjQUFTLEdBQUcsTUFBTSxDQUFDLGtDQUFrQyxDQUFDLENBQUM7UUFFaEUsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ25DLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbEUsQ0FBQyxDQUFDLENBQUM7S0FjTjtJQVpXLGVBQWUsQ0FBQyxTQUFpQjtRQUNyQyxPQUFPO1lBQ0gsS0FBSyxFQUFFLEVBQUU7WUFDVCxNQUFNLEVBQUU7Z0JBQ0osUUFBUSxFQUFFLGNBQWMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO2dCQUNwQyxRQUFRLEVBQUUsQ0FBQztnQkFDWCxVQUFVLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPO2dCQUM1QyxVQUFVLEVBQUUsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxNQUFNO2dCQUM1QyxRQUFRLEVBQUUsQ0FBQzthQUNkO1NBQzJCLENBQUM7SUFDckMsQ0FBQzsrR0FwQlEseUJBQXlCO21HQUF6Qix5QkFBeUIsOEVBMUJ4Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBcUJULG9SQXRCUyxPQUFPLG1IQUFFLElBQUksNkZBQUUsa0JBQWtCLGdIQXlCL0IsQ0FBQyxtQkFBbUIsRUFBRSxTQUFTLENBQUM7O1NBRW5DLHlCQUF5Qjs0RkFBekIseUJBQXlCO2tCQTlCckMsU0FBUztpQ0FDTSxJQUFJLFlBQ04sb0JBQW9CLFdBQ3JCLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxrQkFBa0IsQ0FBQyxZQUNsQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0tBcUJULG1CQUVnQix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DLENBQUMsbUJBQW1CLEVBQUUsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHtOZ0Zvck9mLCBOZ0lmfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dHVpRmFkZUlufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9hbmltYXRpb25zJztcbmltcG9ydCB7VFVJX0FOSU1BVElPTlNfU1BFRUR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3Rva2Vucyc7XG5pbXBvcnQge3R1aUdldER1cmF0aW9uLCB0dWlUb0FuaW1hdGlvbk9wdGlvbnN9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3V0aWxzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtQb2x5bW9ycGhldXNPdXRsZXR9IGZyb20gJ0B0YWlnYS11aS9wb2x5bW9ycGhldXMnO1xuXG5pbXBvcnQge3R1aVNsaWRlSW5Ub3BIZWFkZXJ9IGZyb20gJy4vZHluYW1pYy1oZWFkZXIuYW5pbWF0aW9ucyc7XG5pbXBvcnQge1R1aUR5bmFtaWNIZWFkZXJDb250YWluZXJEaXJlY3RpdmV9IGZyb20gJy4vZHluYW1pYy1oZWFkZXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHN0YW5kYWxvbmU6IHRydWUsXG4gICAgc2VsZWN0b3I6ICdbdHVpRHluYW1pY0hlYWRlcl0nLFxuICAgIGltcG9ydHM6IFtOZ0Zvck9mLCBOZ0lmLCBQb2x5bW9ycGhldXNPdXRsZXRdLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiIWNvbnRhaW5lci5oaWRkZW5IZWFkZXJzKCkubGVuZ3RoOyBlbHNlIGR5bmFtaWNcIlxuICAgICAgICAgICAgW0B0dWlGYWRlSW5dPVwiZmFkZU9wdGlvbnNcIlxuICAgICAgICAgICAgW0B0dWlTbGlkZUluVG9wSGVhZGVyXT1cInNsaWRlT3B0aW9ucygpXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgLz5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZHluYW1pYz5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgaGVhZGVyIG9mIGNvbnRhaW5lci5oaWRkZW5IZWFkZXJzKCk7IGxldCBsYXN0ID0gbGFzdFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImxhc3RcIlxuICAgICAgICAgICAgICAgICAgICBbQHR1aUZhZGVJbl09XCJmYWRlT3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICAgIFtAdHVpU2xpZGVJblRvcEhlYWRlcl09XCJzbGlkZU9wdGlvbnMoKVwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2ICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJoZWFkZXIgYXMgdGV4dFwiPnt7IHRleHQgfX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIGAsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHluYW1pYy1oZWFkZXIuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFt0dWlTbGlkZUluVG9wSGVhZGVyLCB0dWlGYWRlSW5dLFxufSlcbmV4cG9ydCBjbGFzcyBUdWlEeW5hbWljSGVhZGVyQ29tcG9uZW50IHtcbiAgICBwcm90ZWN0ZWQgc3BlZWQgPSBpbmplY3QoVFVJX0FOSU1BVElPTlNfU1BFRUQpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBmYWRlT3B0aW9ucyA9IHR1aVRvQW5pbWF0aW9uT3B0aW9ucygpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBjb250YWluZXIgPSBpbmplY3QoVHVpRHluYW1pY0hlYWRlckNvbnRhaW5lckRpcmVjdGl2ZSk7XG5cbiAgICBwcm90ZWN0ZWQgc2xpZGVPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRTbGlkZU9wdGlvbnModGhpcy5jb250YWluZXIuc2Nyb2xsRGlyKCkgfHwgLTEpO1xuICAgIH0pO1xuXG4gICAgcHJpdmF0ZSBnZXRTbGlkZU9wdGlvbnMoZGlyZWN0aW9uOiAtMSB8IDEpOiBBbmltYXRpb25PcHRpb25zIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHZhbHVlOiAnJyxcbiAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgIGR1cmF0aW9uOiB0dWlHZXREdXJhdGlvbih0aGlzLnNwZWVkKSxcbiAgICAgICAgICAgICAgICBsZWF2ZUVuZDogMCxcbiAgICAgICAgICAgICAgICBsZWF2ZVN0YXJ0OiBkaXJlY3Rpb24gPiAwID8gJzIwMCUnIDogJy0yMDAlJyxcbiAgICAgICAgICAgICAgICBlbnRlclN0YXJ0OiBkaXJlY3Rpb24gPiAwID8gJy0yMDAlJyA6ICcyMDAlJyxcbiAgICAgICAgICAgICAgICBlbnRlckVuZDogMCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0gYXMgdW5rbm93biBhcyBBbmltYXRpb25PcHRpb25zO1xuICAgIH1cbn1cbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { TuiDynamicHeaderComponent } from './dynamic-header.component';
2
+ import { TuiDynamicHeaderAnchorDirective } from './dynamic-header-anchor.directive';
3
+ import { TuiDynamicHeaderContainerDirective } from './dynamic-header-container.directive';
4
+ export const TuiDynamicHeader = [
5
+ TuiDynamicHeaderComponent,
6
+ TuiDynamicHeaderAnchorDirective,
7
+ TuiDynamicHeaderContainerDirective,
8
+ ];
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9keW5hbWljLWhlYWRlci9keW5hbWljLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNyRSxPQUFPLEVBQUMsK0JBQStCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUNsRixPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUV4RixNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRztJQUM1Qix5QkFBeUI7SUFDekIsK0JBQStCO0lBQy9CLGtDQUFrQztDQUNyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtUdWlEeW5hbWljSGVhZGVyQ29tcG9uZW50fSBmcm9tICcuL2R5bmFtaWMtaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQge1R1aUR5bmFtaWNIZWFkZXJBbmNob3JEaXJlY3RpdmV9IGZyb20gJy4vZHluYW1pYy1oZWFkZXItYW5jaG9yLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1R1aUR5bmFtaWNIZWFkZXJDb250YWluZXJEaXJlY3RpdmV9IGZyb20gJy4vZHluYW1pYy1oZWFkZXItY29udGFpbmVyLmRpcmVjdGl2ZSc7XG5cbmV4cG9ydCBjb25zdCBUdWlEeW5hbWljSGVhZGVyID0gW1xuICAgIFR1aUR5bmFtaWNIZWFkZXJDb21wb25lbnQsXG4gICAgVHVpRHluYW1pY0hlYWRlckFuY2hvckRpcmVjdGl2ZSxcbiAgICBUdWlEeW5hbWljSGVhZGVyQ29udGFpbmVyRGlyZWN0aXZlLFxuXTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from './dynamic-header';
2
+ export * from './dynamic-header.component';
3
+ export * from './dynamic-header-anchor.directive';
4
+ export * from './dynamic-header-container.directive';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9keW5hbWljLWhlYWRlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLHNDQUFzQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWhlYWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2R5bmFtaWMtaGVhZGVyLWFuY2hvci5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9keW5hbWljLWhlYWRlci1jb250YWluZXIuZGlyZWN0aXZlJztcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFpZ2EtdWktbGF5b3V0LWNvbXBvbmVudHMtZHluYW1pYy1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9keW5hbWljLWhlYWRlci90YWlnYS11aS1sYXlvdXQtY29tcG9uZW50cy1keW5hbWljLWhlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -3,9 +3,10 @@ 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
5
  export * from '@taiga-ui/layout/components/cell';
6
+ export * from '@taiga-ui/layout/components/dynamic-header';
6
7
  export * from '@taiga-ui/layout/components/form';
7
8
  export * from '@taiga-ui/layout/components/header';
8
9
  export * from '@taiga-ui/layout/components/input-search';
9
10
  export * from '@taiga-ui/layout/components/navigation';
10
11
  export * from '@taiga-ui/layout/components/search';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL2FwcC1iYXInO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL2Jsb2NrLWRldGFpbHMnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL2Jsb2NrLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvY2FyZCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvY2VsbCc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvZm9ybSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9pbnB1dC1zZWFyY2gnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL25hdmlnYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL3NlYXJjaCc7XG4iXX0=
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9sYXlvdXQvY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvYXBwLWJhcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvYmxvY2stZGV0YWlscyc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvYmxvY2stc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9jYXJkJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9jZWxsJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9keW5hbWljLWhlYWRlcic7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvZm9ybSc7XG5leHBvcnQgKiBmcm9tICdAdGFpZ2EtdWkvbGF5b3V0L2NvbXBvbmVudHMvaGVhZGVyJztcbmV4cG9ydCAqIGZyb20gJ0B0YWlnYS11aS9sYXlvdXQvY29tcG9uZW50cy9pbnB1dC1zZWFyY2gnO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL25hdmlnYXRpb24nO1xuZXhwb3J0ICogZnJvbSAnQHRhaWdhLXVpL2xheW91dC9jb21wb25lbnRzL3NlYXJjaCc7XG4iXX0=
@@ -40,13 +40,13 @@ class TuiAppBarComponent {
40
40
  this.size = 'm';
41
41
  }
42
42
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAppBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
43
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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:3rem;align-items:center;justify-content:space-between;flex:1;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);-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));flex-direction:column;justify-content:center;flex:1;padding:0 .375rem;box-sizing:border-box;text-align:inherit;white-space:nowrap}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;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 }); }
43
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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:3rem;align-items:center;justify-content:space-between;flex:1;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);-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;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 }); }
44
44
  }
45
45
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiAppBarComponent, decorators: [{
46
46
  type: Component,
47
47
  args: [{ standalone: true, selector: 'tui-app-bar', imports: [AsyncPipe, TuiFade], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: TUI_APP_BAR_PROVIDERS, host: {
48
48
  '[attr.data-size]': 'size',
49
- }, 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:3rem;align-items:center;justify-content:space-between;flex:1;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);-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));flex-direction:column;justify-content:center;flex:1;padding:0 .375rem;box-sizing:border-box;text-align:inherit;white-space:nowrap}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;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}\n"] }]
49
+ }, 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:3rem;align-items:center;justify-content:space-between;flex:1;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);-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;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}\n"] }]
50
50
  }], propDecorators: { side: [{
51
51
  type: ViewChildren,
52
52
  args: ['side']
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-layout-components-app-bar.mjs","sources":["../../../projects/layout/components/app-bar/app-bar.providers.ts","../../../projects/layout/components/app-bar/app-bar.component.ts","../../../projects/layout/components/app-bar/app-bar.template.html","../../../projects/layout/components/app-bar/app-bar.directive.ts","../../../projects/layout/components/app-bar/app-bar-back.component.ts","../../../projects/layout/components/app-bar/app-bar-back.template.html","../../../projects/layout/components/app-bar/app-bar-size.directive.ts","../../../projects/layout/components/app-bar/app-bar.ts","../../../projects/layout/components/app-bar/taiga-ui-layout-components-app-bar.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\n\nexport const TUI_APP_BAR_PROVIDERS: Provider[] = [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n characterData: true,\n childList: true,\n subtree: true,\n },\n },\n tuiButtonOptionsProvider({\n appearance: 'action',\n }),\n];\n","import {AsyncPipe} from '@angular/common';\nimport type {ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\nimport {TuiFade} from '@taiga-ui/kit/directives/fade';\nimport {map, merge} from 'rxjs';\n\nimport {TUI_APP_BAR_PROVIDERS} from './app-bar.providers';\n\n@Component({\n standalone: true,\n selector: 'tui-app-bar',\n imports: [AsyncPipe, TuiFade],\n templateUrl: './app-bar.template.html',\n styleUrls: ['./app-bar.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_APP_BAR_PROVIDERS,\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiAppBarComponent {\n @ViewChildren('side')\n private readonly side: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n protected readonly width$ = merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n ).pipe(\n tuiZonefull(),\n map(\n () =>\n 2 *\n Math.max(\n this.side.first?.nativeElement.clientWidth,\n this.side.last?.nativeElement.clientWidth,\n ),\n ),\n );\n\n @Input()\n public size: TuiSizeL = 'm';\n}\n","<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","import {Directive, Input} from '@angular/core';\nimport type {TuiLooseUnion} from '@taiga-ui/cdk/types';\n\n@Directive({\n standalone: true,\n selector: '[tuiSlot]',\n})\nexport class TuiAppBarDirective {\n @Input()\n public tuiSlot: TuiLooseUnion<'left' | 'right'> = 'left';\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TUI_SPIN_ICONS} from '@taiga-ui/core/tokens';\n\n@Component({\n standalone: true,\n selector: 'button[tuiAppBarBack], a[tuiAppBarBack]',\n imports: [TuiIcon],\n templateUrl: './app-bar-back.template.html',\n styleUrls: ['./app-bar-back.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAppearanceOptionsProvider(TuiAppBarBack)],\n hostDirectives: [TuiWithAppearance],\n})\nexport class TuiAppBarBack implements TuiAppearanceOptions {\n protected readonly icons = inject(TUI_SPIN_ICONS);\n\n public readonly appearance = 'link';\n}\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-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","import {Directive, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {map} from 'rxjs';\n\nimport {TuiAppBarComponent} from './app-bar.component';\n\n// TODO: Make size automatic based on tuiPlatform in v5\n@Directive({\n standalone: true,\n selector: 'tui-app-bar[tuiAppBarSize]',\n})\nexport class TuiAppBarSizeDirective {\n protected readonly size = tuiDirectiveBinding(\n TuiAppBarComponent,\n 'size',\n toSignal(\n inject(TuiBreakpointService).pipe(\n map((breakpoint) => (breakpoint === 'mobile' ? 'm' : 'l')),\n ),\n {initialValue: 'm' as const},\n ),\n );\n}\n","import {TuiAppBarComponent} from './app-bar.component';\nimport {TuiAppBarDirective} from './app-bar.directive';\nimport {TuiAppBarBack} from './app-bar-back.component';\nimport {TuiAppBarSizeDirective} from './app-bar-size.directive';\n\nexport const TuiAppBar = [\n TuiAppBarComponent,\n TuiAppBarDirective,\n TuiAppBarBack,\n TuiAppBarSizeDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-layout-components-app-bar.mjs","sources":["../../../projects/layout/components/app-bar/app-bar.providers.ts","../../../projects/layout/components/app-bar/app-bar.component.ts","../../../projects/layout/components/app-bar/app-bar.template.html","../../../projects/layout/components/app-bar/app-bar.directive.ts","../../../projects/layout/components/app-bar/app-bar-back.component.ts","../../../projects/layout/components/app-bar/app-bar-back.template.html","../../../projects/layout/components/app-bar/app-bar-size.directive.ts","../../../projects/layout/components/app-bar/app-bar.ts","../../../projects/layout/components/app-bar/taiga-ui-layout-components-app-bar.ts"],"sourcesContent":["import type {Provider} from '@angular/core';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\n\nexport const TUI_APP_BAR_PROVIDERS: Provider[] = [\n ResizeObserverService,\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n characterData: true,\n childList: true,\n subtree: true,\n },\n },\n tuiButtonOptionsProvider({\n appearance: 'action',\n }),\n];\n","import {AsyncPipe} from '@angular/common';\nimport type {ElementRef, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n Component,\n inject,\n Input,\n ViewChildren,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\nimport {TuiFade} from '@taiga-ui/kit/directives/fade';\nimport {map, merge} from 'rxjs';\n\nimport {TUI_APP_BAR_PROVIDERS} from './app-bar.providers';\n\n@Component({\n standalone: true,\n selector: 'tui-app-bar',\n imports: [AsyncPipe, TuiFade],\n templateUrl: './app-bar.template.html',\n styleUrls: ['./app-bar.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_APP_BAR_PROVIDERS,\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiAppBarComponent {\n @ViewChildren('side')\n private readonly side: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n protected readonly width$ = merge(\n inject(ResizeObserverService, {self: true}),\n inject(MutationObserverService, {self: true}),\n ).pipe(\n tuiZonefull(),\n map(\n () =>\n 2 *\n Math.max(\n this.side.first?.nativeElement.clientWidth,\n this.side.last?.nativeElement.clientWidth,\n ),\n ),\n );\n\n @Input()\n public size: TuiSizeL = 'm';\n}\n","<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","import {Directive, Input} from '@angular/core';\nimport type {TuiLooseUnion} from '@taiga-ui/cdk/types';\n\n@Directive({\n standalone: true,\n selector: '[tuiSlot]',\n})\nexport class TuiAppBarDirective {\n @Input()\n public tuiSlot: TuiLooseUnion<'left' | 'right'> = 'left';\n}\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TuiIcon} from '@taiga-ui/core/components/icon';\nimport type {TuiAppearanceOptions} from '@taiga-ui/core/directives/appearance';\nimport {\n tuiAppearanceOptionsProvider,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\nimport {TUI_SPIN_ICONS} from '@taiga-ui/core/tokens';\n\n@Component({\n standalone: true,\n selector: 'button[tuiAppBarBack], a[tuiAppBarBack]',\n imports: [TuiIcon],\n templateUrl: './app-bar-back.template.html',\n styleUrls: ['./app-bar-back.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAppearanceOptionsProvider(TuiAppBarBack)],\n hostDirectives: [TuiWithAppearance],\n})\nexport class TuiAppBarBack implements TuiAppearanceOptions {\n protected readonly icons = inject(TUI_SPIN_ICONS);\n\n public readonly appearance = 'link';\n}\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-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","import {Directive, inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiBreakpointService} from '@taiga-ui/core/services';\nimport {map} from 'rxjs';\n\nimport {TuiAppBarComponent} from './app-bar.component';\n\n// TODO: Make size automatic based on tuiPlatform in v5\n@Directive({\n standalone: true,\n selector: 'tui-app-bar[tuiAppBarSize]',\n})\nexport class TuiAppBarSizeDirective {\n protected readonly size = tuiDirectiveBinding(\n TuiAppBarComponent,\n 'size',\n toSignal(\n inject(TuiBreakpointService).pipe(\n map((breakpoint) => (breakpoint === 'mobile' ? 'm' : 'l')),\n ),\n {initialValue: 'm' as const},\n ),\n );\n}\n","import {TuiAppBarComponent} from './app-bar.component';\nimport {TuiAppBarDirective} from './app-bar.directive';\nimport {TuiAppBarBack} from './app-bar-back.component';\nimport {TuiAppBarSizeDirective} from './app-bar-size.directive';\n\nexport const TuiAppBar = [\n TuiAppBarComponent,\n TuiAppBarDirective,\n TuiAppBarBack,\n TuiAppBarSizeDirective,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ import { NgForOf, NgIf } from '@angular/common';
2
+ import * as i0 from '@angular/core';
3
+ import { inject, ViewContainerRef, TemplateRef, signal, Directive, ContentChildren, computed, Component, ChangeDetectionStrategy } from '@angular/core';
4
+ import { tuiFadeIn } from '@taiga-ui/core/animations';
5
+ import { TUI_ANIMATIONS_SPEED } from '@taiga-ui/core/tokens';
6
+ import { tuiToAnimationOptions, tuiGetDuration } from '@taiga-ui/core/utils/miscellaneous';
7
+ import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
8
+ import { trigger, transition, style, animate } from '@angular/animations';
9
+ import { toSignal } from '@angular/core/rxjs-interop';
10
+ import * as i1 from '@ng-web-apis/intersection-observer';
11
+ import { WaIntersectionObserverDirective, WaIntersectionRoot } from '@ng-web-apis/intersection-observer';
12
+ import { EMPTY_QUERY } from '@taiga-ui/cdk/constants';
13
+ import { tuiZoneOptimized } from '@taiga-ui/cdk/observables';
14
+ import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
15
+ import { fromEvent, map, pairwise, distinctUntilChanged } from 'rxjs';
16
+
17
+ const tuiSlideInTopHeader = trigger('tuiSlideInTopHeader', [
18
+ transition(':enter', [
19
+ style({ transform: 'translate3d(0,{{enterStart}},0)', pointerEvents: 'none' }),
20
+ animate('{{duration}}ms ease-in-out', style({ transform: 'translate3d(0,{{enterEnd}},0)' })),
21
+ ], { params: { enterEnd: 0, enterStart: '100%', duration: 300 } }),
22
+ transition(':leave', [
23
+ style({ transform: 'translate3d(0,{{leaveEnd}},0)' }),
24
+ animate('{{duration}}ms ease-in-out', style({ transform: 'translate3d(0,{{leaveStart}},0)' })),
25
+ ], { params: { leaveEnd: 0, leaveStart: '100%', duration: 300 } }),
26
+ ]);
27
+
28
+ class TuiDynamicHeaderAnchorDirective {
29
+ constructor() {
30
+ this.viewContainer = inject(ViewContainerRef);
31
+ this.observer = inject(WaIntersectionObserverDirective);
32
+ this.container = inject(TuiDynamicHeaderContainerDirective);
33
+ this.templateRef = inject((TemplateRef));
34
+ this.view = this.viewContainer.createEmbeddedView(this.templateRef);
35
+ this.visible = signal(false);
36
+ }
37
+ ngAfterViewInit() {
38
+ this.observer.observe(this.view.rootNodes[0], ([e]) => {
39
+ this.visible.set(!e?.isIntersecting);
40
+ this.container.update();
41
+ });
42
+ }
43
+ ngOnDestroy() {
44
+ this.observer.unobserve(this.view.rootNodes[0]);
45
+ }
46
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
47
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderAnchorDirective, isStandalone: true, selector: "[tuiDynamicHeaderAnchor]", ngImport: i0 }); }
48
+ }
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderAnchorDirective, decorators: [{
50
+ type: Directive,
51
+ args: [{
52
+ standalone: true,
53
+ selector: '[tuiDynamicHeaderAnchor]',
54
+ }]
55
+ }] });
56
+
57
+ class TuiDynamicHeaderContainerDirective {
58
+ constructor() {
59
+ this.el = tuiInjectElement();
60
+ this.headers = EMPTY_QUERY;
61
+ this.hiddenHeaders = signal([]);
62
+ this.scrollDir = toSignal(fromEvent(this.el, 'scroll').pipe(map(({ target }) => target.scrollTop), pairwise(), map(([prev, next]) => (next > prev ? -1 : 1)), distinctUntilChanged(), tuiZoneOptimized()));
63
+ }
64
+ update() {
65
+ this.hiddenHeaders.set(this.headers.filter((h) => h.visible()).map((h) => h.templateRef));
66
+ }
67
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderContainerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
68
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderContainerDirective, isStandalone: true, selector: "[tuiDynamicHeaderContainer]", host: { attributes: { "waIntersectionRootMargin": "-44px 0px 1000000% 0px" } }, queries: [{ propertyName: "headers", predicate: TuiDynamicHeaderAnchorDirective, descendants: true }], hostDirectives: [{ directive: i1.WaIntersectionRoot }, { directive: i1.WaIntersectionObserverDirective }], ngImport: i0 }); }
69
+ }
70
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderContainerDirective, decorators: [{
71
+ type: Directive,
72
+ args: [{
73
+ standalone: true,
74
+ selector: '[tuiDynamicHeaderContainer]',
75
+ hostDirectives: [WaIntersectionRoot, WaIntersectionObserverDirective],
76
+ host: {
77
+ waIntersectionRootMargin: '-44px 0px 1000000% 0px',
78
+ },
79
+ }]
80
+ }], propDecorators: { headers: [{
81
+ type: ContentChildren,
82
+ args: [TuiDynamicHeaderAnchorDirective, {
83
+ descendants: true,
84
+ }]
85
+ }] } });
86
+
87
+ class TuiDynamicHeaderComponent {
88
+ constructor() {
89
+ this.speed = inject(TUI_ANIMATIONS_SPEED);
90
+ this.fadeOptions = tuiToAnimationOptions();
91
+ this.container = inject(TuiDynamicHeaderContainerDirective);
92
+ this.slideOptions = computed(() => {
93
+ return this.getSlideOptions(this.container.scrollDir() || -1);
94
+ });
95
+ }
96
+ getSlideOptions(direction) {
97
+ return {
98
+ value: '',
99
+ params: {
100
+ duration: tuiGetDuration(this.speed),
101
+ leaveEnd: 0,
102
+ leaveStart: direction > 0 ? '200%' : '-200%',
103
+ enterStart: direction > 0 ? '-200%' : '200%',
104
+ enterEnd: 0,
105
+ },
106
+ };
107
+ }
108
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
109
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDynamicHeaderComponent, isStandalone: true, selector: "[tuiDynamicHeader]", ngImport: i0, template: `
110
+ <div
111
+ *ngIf="!container.hiddenHeaders().length; else dynamic"
112
+ [@tuiFadeIn]="fadeOptions"
113
+ [@tuiSlideInTopHeader]="slideOptions()"
114
+ >
115
+ <ng-content />
116
+ </div>
117
+ <ng-template #dynamic>
118
+ <ng-container
119
+ *ngFor="let header of container.hiddenHeaders(); let last = last"
120
+ >
121
+ <div
122
+ *ngIf="last"
123
+ [@tuiFadeIn]="fadeOptions"
124
+ [@tuiSlideInTopHeader]="slideOptions()"
125
+ >
126
+ <div *polymorpheusOutlet="header as text">{{ text }}</div>
127
+ </div>
128
+ </ng-container>
129
+ </ng-template>
130
+ `, isInline: true, styles: [":host{display:flex;block-size:100%;align-items:center;justify-content:center}:host-context([data-platform=\"android\"]) :host{justify-content:start}.ng-animating:not(:first-of-type){position:absolute}\n"], dependencies: [{ kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }], animations: [tuiSlideInTopHeader, tuiFadeIn], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
131
+ }
132
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDynamicHeaderComponent, decorators: [{
133
+ type: Component,
134
+ args: [{ standalone: true, selector: '[tuiDynamicHeader]', imports: [NgForOf, NgIf, PolymorpheusOutlet], template: `
135
+ <div
136
+ *ngIf="!container.hiddenHeaders().length; else dynamic"
137
+ [@tuiFadeIn]="fadeOptions"
138
+ [@tuiSlideInTopHeader]="slideOptions()"
139
+ >
140
+ <ng-content />
141
+ </div>
142
+ <ng-template #dynamic>
143
+ <ng-container
144
+ *ngFor="let header of container.hiddenHeaders(); let last = last"
145
+ >
146
+ <div
147
+ *ngIf="last"
148
+ [@tuiFadeIn]="fadeOptions"
149
+ [@tuiSlideInTopHeader]="slideOptions()"
150
+ >
151
+ <div *polymorpheusOutlet="header as text">{{ text }}</div>
152
+ </div>
153
+ </ng-container>
154
+ </ng-template>
155
+ `, changeDetection: ChangeDetectionStrategy.OnPush, animations: [tuiSlideInTopHeader, tuiFadeIn], styles: [":host{display:flex;block-size:100%;align-items:center;justify-content:center}:host-context([data-platform=\"android\"]) :host{justify-content:start}.ng-animating:not(:first-of-type){position:absolute}\n"] }]
156
+ }] });
157
+
158
+ const TuiDynamicHeader = [
159
+ TuiDynamicHeaderComponent,
160
+ TuiDynamicHeaderAnchorDirective,
161
+ TuiDynamicHeaderContainerDirective,
162
+ ];
163
+
164
+ /**
165
+ * Generated bundle index. Do not edit.
166
+ */
167
+
168
+ export { TuiDynamicHeader, TuiDynamicHeaderAnchorDirective, TuiDynamicHeaderComponent, TuiDynamicHeaderContainerDirective };
169
+ //# sourceMappingURL=taiga-ui-layout-components-dynamic-header.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-layout-components-dynamic-header.mjs","sources":["../../../projects/layout/components/dynamic-header/dynamic-header.animations.ts","../../../projects/layout/components/dynamic-header/dynamic-header-anchor.directive.ts","../../../projects/layout/components/dynamic-header/dynamic-header-container.directive.ts","../../../projects/layout/components/dynamic-header/dynamic-header.component.ts","../../../projects/layout/components/dynamic-header/dynamic-header.ts","../../../projects/layout/components/dynamic-header/taiga-ui-layout-components-dynamic-header.ts"],"sourcesContent":["import {animate, style, transition, trigger} from '@angular/animations';\n\nexport const tuiSlideInTopHeader = trigger('tuiSlideInTopHeader', [\n transition(\n ':enter',\n [\n style({transform: 'translate3d(0,{{enterStart}},0)', pointerEvents: 'none'}),\n animate(\n '{{duration}}ms ease-in-out',\n style({transform: 'translate3d(0,{{enterEnd}},0)'}),\n ),\n ],\n {params: {enterEnd: 0, enterStart: '100%', duration: 300}},\n ),\n transition(\n ':leave',\n [\n style({transform: 'translate3d(0,{{leaveEnd}},0)'}),\n animate(\n '{{duration}}ms ease-in-out',\n style({transform: 'translate3d(0,{{leaveStart}},0)'}),\n ),\n ],\n {params: {leaveEnd: 0, leaveStart: '100%', duration: 300}},\n ),\n]);\n","import type {AfterViewInit, OnDestroy} from '@angular/core';\nimport {Directive, inject, signal, TemplateRef, ViewContainerRef} from '@angular/core';\nimport {WaIntersectionObserverDirective} from '@ng-web-apis/intersection-observer';\n\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiDynamicHeaderAnchor]',\n})\nexport class TuiDynamicHeaderAnchorDirective implements AfterViewInit, OnDestroy {\n private readonly viewContainer = inject(ViewContainerRef);\n private readonly observer = inject(WaIntersectionObserverDirective);\n private readonly container = inject(TuiDynamicHeaderContainerDirective);\n public readonly templateRef = inject(TemplateRef<unknown>);\n public readonly view = this.viewContainer.createEmbeddedView(this.templateRef);\n public readonly visible = signal(false);\n\n public ngAfterViewInit(): void {\n this.observer.observe(this.view.rootNodes[0], ([e]) => {\n this.visible.set(!e?.isIntersecting);\n this.container.update();\n });\n }\n\n public ngOnDestroy(): void {\n this.observer.unobserve(this.view.rootNodes[0]);\n }\n}\n","import type {QueryList, TemplateRef} from '@angular/core';\nimport {ContentChildren, Directive, signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {\n WaIntersectionObserverDirective,\n WaIntersectionRoot,\n} from '@ng-web-apis/intersection-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {distinctUntilChanged, fromEvent, map, pairwise} from 'rxjs';\n\nimport {TuiDynamicHeaderAnchorDirective} from './dynamic-header-anchor.directive';\n\n@Directive({\n standalone: true,\n selector: '[tuiDynamicHeaderContainer]',\n hostDirectives: [WaIntersectionRoot, WaIntersectionObserverDirective],\n host: {\n waIntersectionRootMargin: '-44px 0px 1000000% 0px',\n },\n})\nexport class TuiDynamicHeaderContainerDirective {\n private readonly el = tuiInjectElement();\n\n @ContentChildren(TuiDynamicHeaderAnchorDirective, {\n descendants: true,\n })\n protected readonly headers: QueryList<TuiDynamicHeaderAnchorDirective> = EMPTY_QUERY;\n\n public hiddenHeaders = signal<Array<TemplateRef<unknown>>>([]);\n\n public scrollDir = toSignal(\n fromEvent(this.el, 'scroll').pipe(\n map(({target}) => (target as HTMLElement).scrollTop),\n pairwise(),\n map(([prev, next]) => (next > prev ? -1 : 1)),\n distinctUntilChanged(),\n tuiZoneOptimized(),\n ),\n );\n\n public update(): void {\n this.hiddenHeaders.set(\n this.headers.filter((h) => h.visible()).map((h) => h.templateRef),\n );\n }\n}\n","import type {AnimationOptions} from '@angular/animations';\nimport {NgForOf, NgIf} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {TUI_ANIMATIONS_SPEED} from '@taiga-ui/core/tokens';\nimport {tuiGetDuration, tuiToAnimationOptions} from '@taiga-ui/core/utils/miscellaneous';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {tuiSlideInTopHeader} from './dynamic-header.animations';\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\n@Component({\n standalone: true,\n selector: '[tuiDynamicHeader]',\n imports: [NgForOf, NgIf, PolymorpheusOutlet],\n template: `\n <div\n *ngIf=\"!container.hiddenHeaders().length; else dynamic\"\n [@tuiFadeIn]=\"fadeOptions\"\n [@tuiSlideInTopHeader]=\"slideOptions()\"\n >\n <ng-content />\n </div>\n <ng-template #dynamic>\n <ng-container\n *ngFor=\"let header of container.hiddenHeaders(); let last = last\"\n >\n <div\n *ngIf=\"last\"\n [@tuiFadeIn]=\"fadeOptions\"\n [@tuiSlideInTopHeader]=\"slideOptions()\"\n >\n <div *polymorpheusOutlet=\"header as text\">{{ text }}</div>\n </div>\n </ng-container>\n </ng-template>\n `,\n styleUrls: ['./dynamic-header.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTopHeader, tuiFadeIn],\n})\nexport class TuiDynamicHeaderComponent {\n protected speed = inject(TUI_ANIMATIONS_SPEED);\n protected readonly fadeOptions = tuiToAnimationOptions();\n protected readonly container = inject(TuiDynamicHeaderContainerDirective);\n\n protected slideOptions = computed(() => {\n return this.getSlideOptions(this.container.scrollDir() || -1);\n });\n\n private getSlideOptions(direction: -1 | 1): AnimationOptions {\n return {\n value: '',\n params: {\n duration: tuiGetDuration(this.speed),\n leaveEnd: 0,\n leaveStart: direction > 0 ? '200%' : '-200%',\n enterStart: direction > 0 ? '-200%' : '200%',\n enterEnd: 0,\n },\n } as unknown as AnimationOptions;\n }\n}\n","import {TuiDynamicHeaderComponent} from './dynamic-header.component';\nimport {TuiDynamicHeaderAnchorDirective} from './dynamic-header-anchor.directive';\nimport {TuiDynamicHeaderContainerDirective} from './dynamic-header-container.directive';\n\nexport const TuiDynamicHeader = [\n TuiDynamicHeaderComponent,\n TuiDynamicHeaderAnchorDirective,\n TuiDynamicHeaderContainerDirective,\n];\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ 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
5
  export * from '@taiga-ui/layout/components/cell';
6
+ export * from '@taiga-ui/layout/components/dynamic-header';
6
7
  export * from '@taiga-ui/layout/components/form';
7
8
  export * from '@taiga-ui/layout/components/header';
8
9
  export * from '@taiga-ui/layout/components/input-search';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-layout-components.mjs","sources":["../../../projects/layout/components/taiga-ui-layout-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-layout-components.mjs","sources":["../../../projects/layout/components/taiga-ui-layout-components.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;AAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/layout",
3
- "version": "4.29.0-canary.8cd9147",
3
+ "version": "4.29.0-canary.9081a1a",
4
4
  "description": "A package with Taiga UI layout components",
5
5
  "keywords": [
6
6
  "angular",
@@ -55,11 +55,11 @@
55
55
  "esm": "./esm2022/components/block-details/taiga-ui-layout-components-block-details.mjs",
56
56
  "default": "./fesm2022/taiga-ui-layout-components-block-details.mjs"
57
57
  },
58
- "./components/cell": {
59
- "types": "./components/cell/index.d.ts",
60
- "esm2022": "./esm2022/components/cell/taiga-ui-layout-components-cell.mjs",
61
- "esm": "./esm2022/components/cell/taiga-ui-layout-components-cell.mjs",
62
- "default": "./fesm2022/taiga-ui-layout-components-cell.mjs"
58
+ "./components/block-status": {
59
+ "types": "./components/block-status/index.d.ts",
60
+ "esm2022": "./esm2022/components/block-status/taiga-ui-layout-components-block-status.mjs",
61
+ "esm": "./esm2022/components/block-status/taiga-ui-layout-components-block-status.mjs",
62
+ "default": "./fesm2022/taiga-ui-layout-components-block-status.mjs"
63
63
  },
64
64
  "./components/card": {
65
65
  "types": "./components/card/index.d.ts",
@@ -67,11 +67,17 @@
67
67
  "esm": "./esm2022/components/card/taiga-ui-layout-components-card.mjs",
68
68
  "default": "./fesm2022/taiga-ui-layout-components-card.mjs"
69
69
  },
70
- "./components/block-status": {
71
- "types": "./components/block-status/index.d.ts",
72
- "esm2022": "./esm2022/components/block-status/taiga-ui-layout-components-block-status.mjs",
73
- "esm": "./esm2022/components/block-status/taiga-ui-layout-components-block-status.mjs",
74
- "default": "./fesm2022/taiga-ui-layout-components-block-status.mjs"
70
+ "./components/cell": {
71
+ "types": "./components/cell/index.d.ts",
72
+ "esm2022": "./esm2022/components/cell/taiga-ui-layout-components-cell.mjs",
73
+ "esm": "./esm2022/components/cell/taiga-ui-layout-components-cell.mjs",
74
+ "default": "./fesm2022/taiga-ui-layout-components-cell.mjs"
75
+ },
76
+ "./components/dynamic-header": {
77
+ "types": "./components/dynamic-header/index.d.ts",
78
+ "esm2022": "./esm2022/components/dynamic-header/taiga-ui-layout-components-dynamic-header.mjs",
79
+ "esm": "./esm2022/components/dynamic-header/taiga-ui-layout-components-dynamic-header.mjs",
80
+ "default": "./fesm2022/taiga-ui-layout-components-dynamic-header.mjs"
75
81
  },
76
82
  "./components/form": {
77
83
  "types": "./components/form/index.d.ts",