import { CssLength } from '@breadstone/mosaik-themes'; import { CustomElement } from '../../Abstracts/CustomElement'; import type { IStickyElementProps } from './IStickyElementProps'; declare const StickyElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * Sticky - A container that maintains fixed positioning within the viewport during scrolling. * * @description * The Sticky element provides CSS sticky positioning behavior with configurable top and left offsets. * Content inside this element will "stick" to its specified position when the user scrolls past it, * remaining fixed within its containing block until the container's edge is reached. Commonly used * for sticky headers, navigation bars, floating action buttons, and persistent UI elements that * should remain accessible during page scrolling. * * @name Sticky * @element mosaik-sticky * @category Primitives * * @slot - Default slot for content that should exhibit sticky positioning * * @cssprop {String} --sticky-left - Left offset when sticky positioning is applied * @cssprop {String} --sticky-top - Top offset when sticky positioning is applied * * @example * Basic sticky header (top/left set via JavaScript): * ```html *
* * * *
* *
*
* * ``` * * @example * Sticky sidebar navigation: * ```html *
* *
...
*
* * ``` * * @example * Programmatic offset adjustment: * ```html * * * * * ``` * * @public */ export declare class StickyElement extends StickyElement_base implements IStickyElementProps { private _top; private _left; /** * @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 `top` property. * * @public */ get top(): CssLength; set top(value: CssLength); /** * Gets or sets the `left` property. * * @public */ get left(): CssLength; set left(value: CssLength); /** * @public * @override */ connectedCallback(): void; /** * @public * @override */ disconnectedCallback(): void; /** * @protected */ protected onTopPropertyChanged(prev?: CssLength, next?: CssLength): void; /** * @protected */ protected onLeftPropertyChanged(prev?: CssLength, next?: CssLength): void; } /** * @public */ export declare namespace StickyElement { type Props = IStickyElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-sticky': StickyElement; } } export {}; //# sourceMappingURL=StickyElement.d.ts.map