UNPKG

@taiga-ui/addon-doc

Version:

Taiga UI based library for developing documentation portals for Angular libraries.

46 lines 11.3 kB
import { ChangeDetectionStrategy, Component, inject } from '@angular/core'; import { toSignal } from '@angular/core/rxjs-interop'; import { Router } from '@angular/router'; import { TUI_DOC_ICONS, TUI_DOC_LOGO, TUI_DOC_MENU_TEXT } from '@taiga-ui/addon-doc/tokens'; import { TuiSidebar } from '@taiga-ui/addon-mobile/directives/sidebar'; import { TUI_FALSE_HANDLER } from '@taiga-ui/cdk/constants'; import { TuiActiveZone } from '@taiga-ui/cdk/directives/active-zone'; import { TuiButton } from '@taiga-ui/core/components/button'; import { PolymorpheusOutlet, PolymorpheusTemplate } from '@taiga-ui/polymorpheus'; import { distinctUntilChanged, map, merge, startWith, Subject } from 'rxjs'; import { TuiDocNavigation } from '../../navigation/navigation.component'; import * as i0 from "@angular/core"; import * as i1 from "@taiga-ui/addon-mobile/directives/sidebar"; class TuiDocHeader { constructor() { this.stream$ = new Subject(); this.router = inject(Router); this.icons = inject(TUI_DOC_ICONS); this.logo = inject(TUI_DOC_LOGO); this.menu = inject(TUI_DOC_MENU_TEXT); this.open = toSignal(merge(this.router.events.pipe(map(TUI_FALSE_HANDLER)), this.stream$).pipe(startWith(false), distinctUntilChanged()), { initialValue: false }); } onClick() { this.stream$.next(true); } onActiveZone(active) { if (!active) { this.stream$.next(false); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocHeader, deps: [], target: i0.ɵɵFactoryTarget.Component }); } static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TuiDocHeader, isStandalone: true, selector: "header[tuiDocHeader]", ngImport: i0, template: "<button\n appearance=\"icon\"\n tuiIconButton\n type=\"button\"\n class=\"t-menu\"\n [iconStart]=\"icons.menu\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"open()\"\n class=\"t-navigation\"\n />\n</button>\n<div class=\"t-logo\">\n <img\n *polymorpheusOutlet=\"logo as src\"\n alt=\"Logo\"\n class=\"t-img\"\n [src]=\"src\"\n />\n</div>\n<ng-content />\n", styles: [":host{position:fixed;top:0;left:0;right:0;z-index:1;display:flex;box-shadow:var(--tui-shadow-small);block-size:4.125rem;align-items:center;padding:0 1.25rem;background:var(--tui-background-base);border-block-end:1px solid var(--tui-border-normal)}@supports (background: color-mix(in srgb,var(--tui-background-base),transparent 50%)){:host{background:color-mix(in srgb,var(--tui-background-base),transparent 50%);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem)}}.t-logo{margin-inline-end:auto;font:var(--tui-font-heading-5)}.t-img{display:block}.t-menu{margin-inline-start:-1.25rem}@media screen and (min-width: 48em){.t-menu{display:none}}.t-navigation{min-block-size:100%}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiActiveZone, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }, { kind: "component", type: TuiDocNavigation, selector: "tui-doc-navigation" }, { kind: "directive", type: i1.TuiSidebarDirective, selector: "[tuiSidebar]", inputs: ["tuiSidebarDirection", "tuiSidebarAutoWidth", "tuiSidebar"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); } } export { TuiDocHeader }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TuiDocHeader, decorators: [{ type: Component, args: [{ standalone: true, selector: 'header[tuiDocHeader]', imports: [ PolymorpheusOutlet, PolymorpheusTemplate, TuiActiveZone, TuiButton, TuiDocNavigation, TuiSidebar, ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n appearance=\"icon\"\n tuiIconButton\n type=\"button\"\n class=\"t-menu\"\n [iconStart]=\"icons.menu\"\n [title]=\"menu\"\n (click)=\"onClick()\"\n (tuiActiveZoneChange)=\"onActiveZone($event)\"\n>\n <tui-doc-navigation\n *tuiSidebar=\"open()\"\n class=\"t-navigation\"\n />\n</button>\n<div class=\"t-logo\">\n <img\n *polymorpheusOutlet=\"logo as src\"\n alt=\"Logo\"\n class=\"t-img\"\n [src]=\"src\"\n />\n</div>\n<ng-content />\n", styles: [":host{position:fixed;top:0;left:0;right:0;z-index:1;display:flex;box-shadow:var(--tui-shadow-small);block-size:4.125rem;align-items:center;padding:0 1.25rem;background:var(--tui-background-base);border-block-end:1px solid var(--tui-border-normal)}@supports (background: color-mix(in srgb,var(--tui-background-base),transparent 50%)){:host{background:color-mix(in srgb,var(--tui-background-base),transparent 50%);-webkit-backdrop-filter:blur(1.25rem);backdrop-filter:blur(1.25rem)}}.t-logo{margin-inline-end:auto;font:var(--tui-font-heading-5)}.t-img{display:block}.t-menu{margin-inline-start:-1.25rem}@media screen and (min-width: 48em){.t-menu{display:none}}.t-navigation{min-block-size:100%}\n"] }] }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9pbnRlcm5hbC9oZWFkZXIvaW5kZXgudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZGRvbi1kb2MvY29tcG9uZW50cy9pbnRlcm5hbC9oZWFkZXIvaW5kZXguaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDcEQsT0FBTyxFQUFDLE1BQU0sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDMUYsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQ3JFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxzQ0FBc0MsQ0FBQztBQUNuRSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDM0QsT0FBTyxFQUFDLGtCQUFrQixFQUFFLG9CQUFvQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDaEYsT0FBTyxFQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUxRSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSx1Q0FBdUMsQ0FBQzs7O0FBRXZFLE1BZWEsWUFBWTtJQWZ6QjtRQWdCcUIsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFXLENBQUM7UUFDakMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN0QixVQUFLLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzlCLFNBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDNUIsU0FBSSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRWpDLFNBQUksR0FBRyxRQUFRLENBQzlCLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNyRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQ2hCLG9CQUFvQixFQUFFLENBQ3pCLEVBQ0QsRUFBQyxZQUFZLEVBQUUsS0FBSyxFQUFDLENBQ3hCLENBQUM7S0FXTDtJQVRhLE9BQU87UUFDYixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRVMsWUFBWSxDQUFDLE1BQWU7UUFDbEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzVCO0lBQ0wsQ0FBQzsrR0F2QlEsWUFBWTttR0FBWixZQUFZLGdGQzVCekIsMmdCQXdCQSxpdkJEUFEsa0JBQWtCLDhIQUVsQixhQUFhLGdRQUNiLFNBQVMsb0lBQ1QsZ0JBQWdCOztTQU9YLFlBQVk7NEZBQVosWUFBWTtrQkFmeEIsU0FBUztpQ0FDTSxJQUFJLFlBQ04sc0JBQXNCLFdBQ3ZCO3dCQUNMLGtCQUFrQjt3QkFDbEIsb0JBQW9CO3dCQUNwQixhQUFhO3dCQUNiLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixVQUFVO3FCQUNiLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtSb3V0ZXJ9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQge1RVSV9ET0NfSUNPTlMsIFRVSV9ET0NfTE9HTywgVFVJX0RPQ19NRU5VX1RFWFR9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1kb2MvdG9rZW5zJztcbmltcG9ydCB7VHVpU2lkZWJhcn0gZnJvbSAnQHRhaWdhLXVpL2FkZG9uLW1vYmlsZS9kaXJlY3RpdmVzL3NpZGViYXInO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlBY3RpdmVab25lfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYWN0aXZlLXpvbmUnO1xuaW1wb3J0IHtUdWlCdXR0b259IGZyb20gJ0B0YWlnYS11aS9jb3JlL2NvbXBvbmVudHMvYnV0dG9uJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0LCBQb2x5bW9ycGhldXNUZW1wbGF0ZX0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge2Rpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIG1lcmdlLCBzdGFydFdpdGgsIFN1YmplY3R9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aURvY05hdmlnYXRpb259IGZyb20gJy4uLy4uL25hdmlnYXRpb24vbmF2aWdhdGlvbi5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAnaGVhZGVyW3R1aURvY0hlYWRlcl0nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgUG9seW1vcnBoZXVzT3V0bGV0LFxuICAgICAgICBQb2x5bW9ycGhldXNUZW1wbGF0ZSxcbiAgICAgICAgVHVpQWN0aXZlWm9uZSxcbiAgICAgICAgVHVpQnV0dG9uLFxuICAgICAgICBUdWlEb2NOYXZpZ2F0aW9uLFxuICAgICAgICBUdWlTaWRlYmFyLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL2luZGV4Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2luZGV4Lmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgVHVpRG9jSGVhZGVyIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN0cmVhbSQgPSBuZXcgU3ViamVjdDxib29sZWFuPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IGljb25zID0gaW5qZWN0KFRVSV9ET0NfSUNPTlMpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBsb2dvID0gaW5qZWN0KFRVSV9ET0NfTE9HTyk7XG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnUgPSBpbmplY3QoVFVJX0RPQ19NRU5VX1RFWFQpO1xuXG4gICAgcHJvdGVjdGVkIHJlYWRvbmx5IG9wZW4gPSB0b1NpZ25hbChcbiAgICAgICAgbWVyZ2UodGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUobWFwKFRVSV9GQUxTRV9IQU5ETEVSKSksIHRoaXMuc3RyZWFtJCkucGlwZShcbiAgICAgICAgICAgIHN0YXJ0V2l0aChmYWxzZSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApLFxuICAgICAgICB7aW5pdGlhbFZhbHVlOiBmYWxzZX0sXG4gICAgKTtcblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnN0cmVhbSQubmV4dCh0cnVlKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BY3RpdmVab25lKGFjdGl2ZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAoIWFjdGl2ZSkge1xuICAgICAgICAgICAgdGhpcy5zdHJlYW0kLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGJ1dHRvblxuICAgIGFwcGVhcmFuY2U9XCJpY29uXCJcbiAgICB0dWlJY29uQnV0dG9uXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0LW1lbnVcIlxuICAgIFtpY29uU3RhcnRdPVwiaWNvbnMubWVudVwiXG4gICAgW3RpdGxlXT1cIm1lbnVcIlxuICAgIChjbGljayk9XCJvbkNsaWNrKClcIlxuICAgICh0dWlBY3RpdmVab25lQ2hhbmdlKT1cIm9uQWN0aXZlWm9uZSgkZXZlbnQpXCJcbj5cbiAgICA8dHVpLWRvYy1uYXZpZ2F0aW9uXG4gICAgICAgICp0dWlTaWRlYmFyPVwib3BlbigpXCJcbiAgICAgICAgY2xhc3M9XCJ0LW5hdmlnYXRpb25cIlxuICAgIC8+XG48L2J1dHRvbj5cbjxkaXYgY2xhc3M9XCJ0LWxvZ29cIj5cbiAgICA8aW1nXG4gICAgICAgICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJsb2dvIGFzIHNyY1wiXG4gICAgICAgIGFsdD1cIkxvZ29cIlxuICAgICAgICBjbGFzcz1cInQtaW1nXCJcbiAgICAgICAgW3NyY109XCJzcmNcIlxuICAgIC8+XG48L2Rpdj5cbjxuZy1jb250ZW50IC8+XG4iXX0=