import { ITheme } from '@breadstone/mosaik-themes'; import { ISlottable } from '../../Behaviors/Slottable'; import { CustomElement } from '../Abstracts/CustomElement'; import { AppHeaderElement } from './AppHeaderElement'; import { IAppElementProps } from './IAppElementProps'; declare const AppElement_base: (abstract new (...args: Array) => import("../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../Behaviors/Slottable").ISlottableProps & ISlottable) & typeof CustomElement & import("../../Behaviors/Themeable").IThemeableCtor; /** * App - A comprehensive application shell component that provides the foundation layout structure for modern web applications. * * Creates a complete application framework with integrated navigation drawers, headers, content areas, and responsive * layout management. Handles breakpoint-aware design, theme management, and provides structured slots for organizing * application navigation, branding, actions, and primary content in a cohesive shell architecture. * * @name AppElement * @element mosaik-app * @category Shell * * @slot nav - Navigation drawer content area for primary navigation links and menu items * @slot menu - Menu area for contextual actions and secondary navigation * @slot logo - Application branding area for logos, titles, and identity elements * @slot actions - Action buttons area for global application actions and controls * @slot content - Main content area for primary application content and views * @slot footer - Footer area for secondary information, links, and application metadata * * @csspart header - Application header section containing branding and navigation controls * @csspart content - Main content wrapper for application views and functionality * @csspart drawer - Navigation drawer container for side navigation elements * @csspart nav - Navigation area within the drawer for menu items and links * @csspart overlay - Drawer overlay for mobile and responsive interactions * @csspart backdrop - Background overlay for modal drawer interactions * * @cssprop {String} --app-header-height - Height of the application header bar * @cssprop {String} --app-drawer-width - Width of the navigation drawer when expanded * @cssprop {String} --app-breakpoint-mobile - Mobile breakpoint threshold for responsive behavior * @cssprop {String} --app-breakpoint-tablet - Tablet breakpoint threshold for layout changes * @cssprop {String} --app-breakpoint-desktop - Desktop breakpoint for full layout display * @cssprop {Color} --app-background-color - Background color for the application shell * @cssprop {Color} --app-surface-color - Surface color for elevated application areas * @cssprop {Color} --app-drawer-background - Background color for the navigation drawer * @cssprop {Color} --app-header-background - Background color for the application header * * @dependency DrawerElement - For navigation drawer functionality and responsive behavior * @dependency AppHeaderElement - For application header management and branding display * @dependency Theme2Element - For comprehensive theme management and styling coordination * @dependency BreakpointController - For responsive design and layout adaptation * * @example * Basic application shell: * ```html * * *
*

Welcome to the application.

*
*
* ``` * * @example * App with navigation and header: * ```html * * * *
*

Application content here.

*
* *
* ``` * * @public */ export declare class AppElement extends AppElement_base implements IAppElementProps, ISlottable { private readonly _breakpointController; private _drawerElement; private _headerElement; private _contentElement; private _theme; private _isNavOpen; private _hasNav; private _isMobile; private _hasHeader; /** * @public */ constructor(); /** * Returns the `is` property. * The `is` property represents natural name of this element. * * @public * @static * @readonly */ static get is(): string; /** * Gets or sets the `theme` property. * * @public */ get theme(): ITheme | null; set theme(value: ITheme | null); /** * Gets or sets the `isNavOpen` property. * * @public * @attr */ get isNavOpen(): boolean; set isNavOpen(value: boolean); /** * Gets or sets the `hasNav` property. * * @public * @attr */ get hasNav(): boolean; set hasNav(value: boolean); /** * Gets or sets the `isMobile` property. * * @public * @readonly * @attr */ get isMobile(): boolean; private set isMobile(value); /** * Gets or sets the `hasHeader` property. * * @public * @readonly * @attr */ get hasHeader(): boolean; private set hasHeader(value); /** * Returns the `appHeaderElement` property. * * @hidden * @protected * @readonly */ get header(): AppHeaderElement; /** * Returns the `contentElement` property. * * @hidden * @protected * @readonly */ get content(): HTMLElement; /** * Toggles the navigation drawer. * * @public */ toggleNavigation(): void; /** * Opens the navigation drawer. * * @public */ openNavigation(): void; /** * Closes the navigation drawer. * * @public */ closeNavigation(): void; onSlotChanges(slotName?: string): void; /** * @protected * @override */ protected onApplyTemplate(): void; /** * @protected */ protected onIsNavOpenPropertyChanged(_prev?: boolean, next?: boolean): void; } /** * @public */ export declare namespace AppElement { type Props = IAppElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-app': AppElement; } } export {}; //# sourceMappingURL=AppElement.d.ts.map