{"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    WaMutationObserverService,\n    WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiButtonOptionsProvider} from '@taiga-ui/core/components/button';\n\nexport const TUI_APP_BAR_PROVIDERS: Provider[] = [\n    WaResizeObserverService,\n    WaMutationObserverService,\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 {\n    type AfterViewInit,\n    ChangeDetectionStrategy,\n    Component,\n    type ElementRef,\n    inject,\n    Input,\n    type QueryList,\n    ViewChildren,\n    ViewEncapsulation,\n} from '@angular/core';\nimport {WaMutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {WaResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZonefull} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\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 implements AfterViewInit {\n    @ViewChildren('side')\n    private readonly side: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n    private readonly el = tuiInjectElement();\n\n    protected readonly width$ = merge(\n        inject(WaResizeObserverService, {self: true}),\n        inject(WaMutationObserverService, {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    // TODO: Remove after :has support\n    public ngAfterViewInit(): void {\n        this.el.closest('tui-dialog')?.classList.add('tui-app-bar');\n    }\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 {\n    type TuiAppearanceOptions,\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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"}