import { IEventEmitter } from '@breadstone/mosaik-elements'; import type { IDrawerMarginChangedEventDetail } from '../../../events'; import { CustomElement } from '../../Abstracts/CustomElement'; import { DrawerContentElement } from './DrawerContentElement'; import { DrawerElement } from './DrawerElement'; import type { IDrawerContainerElementProps } from './IDrawerContainerElementProps'; declare const DrawerContainerElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Fitable").IFitableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * DrawerContainer - A container element that wraps a drawer and its associated page content. * * @description * Organises a `mosaik-drawer` alongside the main page content, automatically adjusting * content margins when the drawer opens or closes in `side` mode. * * @name DrawerContainer * @element mosaik-drawer-container * @category Overlays * * @slot content - The content element. * @slot drawer - The drawer element. * * @cssprop {String} --drawer-container-font-family - The container font family CSS custom property. * @cssprop {String} --drawer-container-font-letter-spacing - The container font letter spacing CSS custom property. * @cssprop {String} --drawer-container-font-line-height - The container font line height CSS custom property. * @cssprop {String} --drawer-container-font-size - The container font size CSS custom property. * @cssprop {String} --drawer-container-font-text-decoration - The container font text decoration CSS custom property. * @cssprop {String} --drawer-container-font-text-transform - The container font text transform CSS custom property. * @cssprop {String} --drawer-container-font-weight - The container font weight CSS custom property. * @cssprop {String} --drawer-container-gap - The container gap CSS custom property. * @cssprop {String} --drawer-container-padding-bottom - The container padding bottom CSS custom property. * @cssprop {String} --drawer-container-padding-left - The container padding left CSS custom property. * @cssprop {String} --drawer-container-padding-right - The container padding right CSS custom property. * @cssprop {String} --drawer-container-padding-top - The container padding top CSS custom property. * @cssprop {String} --drawer-container-shadow - The container shadow CSS custom property. * @cssprop {String} --drawer-container-shadow-blur - The container shadow blur CSS custom property. * @cssprop {String} --drawer-container-shadow-color - The container shadow color CSS custom property. * @cssprop {String} --drawer-container-shadow-offset-x - The container shadow offset x CSS custom property. * @cssprop {String} --drawer-container-shadow-offset-y - The container shadow offset y CSS custom property. * @cssprop {String} --drawer-container-shadow-spread - The container shadow spread CSS custom property. * @cssprop {String} --drawer-container-transition-duration - The container transition duration CSS custom property. * @cssprop {String} --drawer-container-transition-mode - The container transition mode CSS custom property. * @cssprop {String} --drawer-container-transition-property - The container transition property CSS custom property. * @cssprop {String} --drawer-container-translate - The container translate CSS custom property. * * @fires contentMarginChanged {DrawerMarginChangedEvent} - Called when the content margin changed. * * @example * Basic drawer container: * ```html * * *
Page content goes here
*
* ``` * * @example * Drawer container with backdrop: * ```html * * *
Page content
*
* ``` * * @public */ export declare class DrawerContainerElement extends DrawerContainerElement_base implements IDrawerContainerElementProps { private readonly _contentMarginChanged; private readonly _resizeController; private _drawer; private _content; private _autoSize; private _hasBackdrop; /** * @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 `autoSize` property. * * @public * @attr */ get autoSize(): boolean; set autoSize(value: boolean); /** * Gets or sets the `hasBackdrop` property. * * @public * @attr */ get hasBackdrop(): boolean; set hasBackdrop(value: boolean); /** * Called when the content margin changed. * Provides reference to `IDrawerMarginChangedEventDetails` as event argument. * * @public * @readonly * @eventProperty * @type IEventEmitter */ get contentMarginChanged(): IEventEmitter; /** * Returns the `content` property. * * @public * @readonly */ get content(): DrawerContentElement | null; /** * Returns the `drawer` property. * * @public * @readonly */ get drawer(): DrawerElement | null; /** * @public */ open(): void; /** * @public */ close(): void; /** * @protected * @override */ protected onApplyTemplate(): void; /** * @private * * Recalculates and updates the inline styles for the content. Note that this should be used * sparingly, because it causes a reflow. */ private updateContentMargins; } /** * @public */ export declare namespace DrawerContainerElement { type Props = IDrawerContainerElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-drawer-container': DrawerContainerElement; } } export {}; //# sourceMappingURL=DrawerContainerElement.d.ts.map