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. * * @description * 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 content - Main content area for primary application content and views * @slot footer - Footer area for secondary information, links, and application metadata * @slot header - The header slot. * @slot headerActions - The headerActions slot. * @slot headerLogo - The headerLogo slot. * @slot headerMenu - The headerMenu slot. * @slot nav - Navigation drawer content area for primary navigation links and menu items * * @csspart content - Main content wrapper for application views and functionality * @csspart drawer - Navigation drawer container for side navigation elements * @csspart header - Application header section containing branding and navigation controls * @csspart nav - Navigation area within the drawer for menu items and links * * @cssprop {Color} --app-background-color - Background color for the application shell * @cssprop {String} --app-border-radius - The border radius CSS custom property. * @cssprop {String} --app-content-offset-top - The content offset top CSS custom property. * @cssprop {String} --app-drawer-height - The drawer height CSS custom property. * @cssprop {String} --app-drawer-width - Width of the navigation drawer when expanded * @cssprop {String} --app-font-family - The font family CSS custom property. * @cssprop {String} --app-font-letter-spacing - The font letter spacing CSS custom property. * @cssprop {String} --app-font-line-height - The font line height CSS custom property. * @cssprop {String} --app-font-size - The font size CSS custom property. * @cssprop {String} --app-font-text-decoration - The font text decoration CSS custom property. * @cssprop {String} --app-font-text-transform - The font text transform CSS custom property. * @cssprop {String} --app-font-weight - The font weight CSS custom property. * @cssprop {String} --app-foreground-color - The foreground color CSS custom property. * @cssprop {String} --app-gap - The gap CSS custom property. * @cssprop {String} --app-line-thickness - The line thickness CSS custom property. * @cssprop {String} --app-padding-bottom - The padding bottom CSS custom property. * @cssprop {String} --app-padding-left - The padding left CSS custom property. * @cssprop {String} --app-padding-right - The padding right CSS custom property. * @cssprop {String} --app-padding-top - The padding top CSS custom property. * @cssprop {String} --app-shadow - The shadow CSS custom property. * @cssprop {String} --app-shadow-blur - The shadow blur CSS custom property. * @cssprop {String} --app-shadow-color - The shadow color CSS custom property. * @cssprop {String} --app-shadow-offset-x - The shadow offset x CSS custom property. * @cssprop {String} --app-shadow-offset-y - The shadow offset y CSS custom property. * @cssprop {String} --app-shadow-spread - The shadow spread CSS custom property. * @cssprop {String} --app-transition-duration - The transition duration CSS custom property. * @cssprop {String} --app-transition-mode - The transition mode CSS custom property. * @cssprop {String} --app-transition-property - The transition property CSS custom property. * @cssprop {String} --app-translate - The translate CSS custom property. * * @dependency mosaik-app-header - The App Header element. * @dependency mosaik-drawer - The Drawer element. * @dependency mosaik-drawer-container - The Drawer Container element. * @dependency mosaik-drawer-content - The Drawer Content element. * @dependency mosaik-theme2 - The Theme2 element. * * @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