import * as i0 from '@angular/core';
import { input, booleanAttribute, contentChild, viewChild, output, Component } from '@angular/core';
import { PageHeader } from '@masterteam/components/page-header';
import { NgTemplateOutlet } from '@angular/common';

class Page {
    backButton = input(false, { ...(ngDevMode ? { debugName: "backButton" } : {}), transform: booleanAttribute });
    backButtonIcon = input(...(ngDevMode ? [undefined, { debugName: "backButtonIcon" }] : []));
    avatarIcon = input(...(ngDevMode ? [undefined, { debugName: "avatarIcon" }] : []));
    avatarStyle = input(...(ngDevMode ? [undefined, { debugName: "avatarStyle" }] : []));
    avatarShape = input(...(ngDevMode ? [undefined, { debugName: "avatarShape" }] : []));
    title = input.required(...(ngDevMode ? [{ debugName: "title" }] : []));
    tabs = input([], ...(ngDevMode ? [{ debugName: "tabs" }] : []));
    activeTab = input(...(ngDevMode ? [undefined, { debugName: "activeTab" }] : []));
    contentClass = input('', ...(ngDevMode ? [{ debugName: "contentClass" }] : []));
    contentId = input(...(ngDevMode ? [undefined, { debugName: "contentId" }] : []));
    titleEnd = contentChild('titleEnd', ...(ngDevMode ? [{ debugName: "titleEnd" }] : []));
    headerEnd = contentChild('headerEnd', ...(ngDevMode ? [{ debugName: "headerEnd" }] : []));
    content = viewChild('content', ...(ngDevMode ? [{ debugName: "content" }] : []));
    backButtonClick = output();
    tabChange = output();
    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Page, deps: [], target: i0.ɵɵFactoryTarget.Component });
    static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.0.3", type: Page, isStandalone: true, selector: "mt-page", inputs: { backButton: { classPropertyName: "backButton", publicName: "backButton", isSignal: true, isRequired: false, transformFunction: null }, backButtonIcon: { classPropertyName: "backButtonIcon", publicName: "backButtonIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarIcon: { classPropertyName: "avatarIcon", publicName: "avatarIcon", isSignal: true, isRequired: false, transformFunction: null }, avatarStyle: { classPropertyName: "avatarStyle", publicName: "avatarStyle", isSignal: true, isRequired: false, transformFunction: null }, avatarShape: { classPropertyName: "avatarShape", publicName: "avatarShape", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: true, transformFunction: null }, tabs: { classPropertyName: "tabs", publicName: "tabs", isSignal: true, isRequired: false, transformFunction: null }, activeTab: { classPropertyName: "activeTab", publicName: "activeTab", isSignal: true, isRequired: false, transformFunction: null }, contentClass: { classPropertyName: "contentClass", publicName: "contentClass", isSignal: true, isRequired: false, transformFunction: null }, contentId: { classPropertyName: "contentId", publicName: "contentId", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { backButtonClick: "backButtonClick", tabChange: "tabChange" }, queries: [{ propertyName: "titleEnd", first: true, predicate: ["titleEnd"], descendants: true, isSignal: true }, { propertyName: "headerEnd", first: true, predicate: ["headerEnd"], descendants: true, isSignal: true }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"page h-full flex flex-col\">\r\n  <mt-page-header\r\n    [backButton]=\"backButton()\"\r\n    [backButtonIcon]=\"backButtonIcon()\"\r\n    [avatarIcon]=\"avatarIcon()\"\r\n    [avatarStyle]=\"avatarStyle()\"\r\n    [avatarShape]=\"avatarShape()\"\r\n    [title]=\"title()\"\r\n    [tabs]=\"tabs()\"\r\n    [activeTab]=\"activeTab()\"\r\n    (backButtonClick)=\"backButtonClick.emit()\"\r\n    (tabChange)=\"tabChange.emit($event)\"\r\n  >\r\n    @if (titleEnd(); as template) {\r\n      <ng-template #titleEnd>\r\n        <ng-container [ngTemplateOutlet]=\"template\" />\r\n      </ng-template>\r\n    }\r\n\r\n    @if (headerEnd(); as template) {\r\n      <ng-template #headerEnd>\r\n        <ng-container [ngTemplateOutlet]=\"template\" />\r\n      </ng-template>\r\n    }\r\n  </mt-page-header>\r\n  <div\r\n    [class]=\"'flex-1 relative overflow-x-hidden '\"\r\n    [id]=\"contentId() ?? 'page-content'\"\r\n  >\r\n    <div\r\n      [class]=\"'h-full w-full overflow-y-auto p-5 ' + contentClass()\"\r\n      #content\r\n    >\r\n      <ng-content></ng-content>\r\n    </div>\r\n  </div>\r\n</div>\r\n", dependencies: [{ kind: "component", type: PageHeader, selector: "mt-page-header", inputs: ["backButton", "backButtonIcon", "avatarIcon", "avatarStyle", "avatarShape", "title", "tabs", "activeTab"], outputs: ["backButtonClick", "tabChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.3", ngImport: i0, type: Page, decorators: [{
            type: Component,
            args: [{ selector: 'mt-page', standalone: true, imports: [PageHeader, NgTemplateOutlet], template: "<div class=\"page h-full flex flex-col\">\r\n  <mt-page-header\r\n    [backButton]=\"backButton()\"\r\n    [backButtonIcon]=\"backButtonIcon()\"\r\n    [avatarIcon]=\"avatarIcon()\"\r\n    [avatarStyle]=\"avatarStyle()\"\r\n    [avatarShape]=\"avatarShape()\"\r\n    [title]=\"title()\"\r\n    [tabs]=\"tabs()\"\r\n    [activeTab]=\"activeTab()\"\r\n    (backButtonClick)=\"backButtonClick.emit()\"\r\n    (tabChange)=\"tabChange.emit($event)\"\r\n  >\r\n    @if (titleEnd(); as template) {\r\n      <ng-template #titleEnd>\r\n        <ng-container [ngTemplateOutlet]=\"template\" />\r\n      </ng-template>\r\n    }\r\n\r\n    @if (headerEnd(); as template) {\r\n      <ng-template #headerEnd>\r\n        <ng-container [ngTemplateOutlet]=\"template\" />\r\n      </ng-template>\r\n    }\r\n  </mt-page-header>\r\n  <div\r\n    [class]=\"'flex-1 relative overflow-x-hidden '\"\r\n    [id]=\"contentId() ?? 'page-content'\"\r\n  >\r\n    <div\r\n      [class]=\"'h-full w-full overflow-y-auto p-5 ' + contentClass()\"\r\n      #content\r\n    >\r\n      <ng-content></ng-content>\r\n    </div>\r\n  </div>\r\n</div>\r\n" }]
        }], propDecorators: { backButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "backButton", required: false }] }], backButtonIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "backButtonIcon", required: false }] }], avatarIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarIcon", required: false }] }], avatarStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarStyle", required: false }] }], avatarShape: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatarShape", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: true }] }], tabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "tabs", required: false }] }], activeTab: [{ type: i0.Input, args: [{ isSignal: true, alias: "activeTab", required: false }] }], contentClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentClass", required: false }] }], contentId: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentId", required: false }] }], titleEnd: [{ type: i0.ContentChild, args: ['titleEnd', { isSignal: true }] }], headerEnd: [{ type: i0.ContentChild, args: ['headerEnd', { isSignal: true }] }], content: [{ type: i0.ViewChild, args: ['content', { isSignal: true }] }], backButtonClick: [{ type: i0.Output, args: ["backButtonClick"] }], tabChange: [{ type: i0.Output, args: ["tabChange"] }] } });

/**
 * Generated bundle index. Do not edit.
 */

export { Page };
//# sourceMappingURL=masterteam-components-page.mjs.map
