import { DockSide } from '../../../Types/DockSide'; import { LayoutElement } from '../Abstracts/LayoutElement'; import type { IDockPanelElementProps } from './IDockPanelElementProps'; declare const DockPanelElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Reversible").IReversibleProps) & (abstract new (...args: Array) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Fitable").IFitableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Gapable").IGapableProps) & typeof LayoutElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Dock Panel - A flexible layout container for docking child elements to specific edges with fill capability. * * @description * The Dock Panel component provides a powerful layout system where child elements can be docked to specific * edges (top, bottom, left, right) of the container, with one element optionally filling the remaining space. * This creates flexible, adaptive layouts perfect for application shells, dashboards, and structured interfaces. * The component handles automatic space distribution, supports gap spacing between docked elements, respects * orientation and reversal settings, and provides responsive behavior. Child elements use dock attributes * to specify their positioning preference, while the panel manages the overall layout flow and space allocation. * Essential for creating professional application layouts with headers, sidebars, content areas, and footers. * * @name Dock Panel * @element mosaik-dock-panel * @category Layouts * * @slot - The default slot for child elements with dock positioning attributes. * * @csspart surface - The main container surface for docked elements. * * @example * ```html * *
Application Header
* *
Application Footer
*
Main Content Area
*
* ``` * * @example * ```html * *
Start Panel
*
End Panel
*
Center Content
*
* ``` * * @public */ export declare class DockPanelElement extends DockPanelElement_base implements IDockPanelElementProps { private readonly _childResize; private _lastChildFill; private _hostResize?; private _pending; /** * Constructs a new instance of the `DockPanelElement` class. * * @public */ constructor(); /** * Returns the `is` property. * * @public * @static * @override * @readonly */ static get is(): string; /** * The `lastChildFill` property determines whether the last child element should fill the remaining space. * * @public * @attr */ get lastChildFill(): boolean; set lastChildFill(value: boolean); static getDock(el: HTMLElement): DockSide; static setDock(el: Element, dock: DockSide): void; /** * @public * @override */ disconnectedCallback(): void; /** * @protected * @override */ protected onApplyTemplate(): void; /** * @protected * @override */ protected onItemsChanged(): void; /** * @private */ private reobserveChildren; /** * @private */ private cleanupObservers; /** * @private */ private scheduleLayout; /** * @private */ private layoutNow; /** * @private */ private resolveCssLengthToPx; /** * @private */ private isVisible; /** * @private */ private prepForMeasure; /** * @private */ private place; } /** * @public */ export declare namespace DockPanelElement { type Props = IDockPanelElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-dock-panel': DockPanelElement; } } export {}; //# sourceMappingURL=DockPanelElement.d.ts.map