import { InkBarPosition } from '../../../Types/InkBarPosition'; import { CustomElement } from '../../Abstracts/CustomElement'; import { IInkBarElementProps } from './IInkBarElementProps'; declare const InkBarElement_base: (abstract new (...args: Array) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Variantable").IVariantableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Disableable").IDisableableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor; /** * InkBar - An animated indicator bar that highlights active tabs or navigation items. * * @description * The InkBar element is a visual indicator that slides smoothly between elements to show the active * selection in tab groups, navigation menus, or segmented controls. It automatically aligns to a target * element and transitions smoothly when the target changes. Commonly used in Material Design-style * tab interfaces to provide clear visual feedback about the current selection. * * @name InkBar * @element mosaik-ink-bar * @category Primitives * * @csspart ink-bar - The animated indicator bar element (Note: template returns nothing, styling applied to host) * * @cssprop {String} --ink-bar-background-color - Background color of the indicator bar * @cssprop {String} --ink-bar-border-color - Border color of the indicator bar * @cssprop {String} --ink-bar-border-radius - Border radius for rounded corners * @cssprop {String} --ink-bar-foreground-color - Foreground color (if applicable) * @cssprop {String} --ink-bar-thickness - Height (bottom/top) or width (left/right) of the bar * @cssprop {String} --ink-bar-transition-duration - Duration of the slide animation * @cssprop {String} --ink-bar-transition-mode - Timing function for the animation * @cssprop {Array} --ink-bar-transition-property - CSS properties to animate * * @example * Basic ink bar with tab group: * ```html *
* * * * *
* * * ``` * * @example * Vertical navigation with left-side indicator: * ```html * * ``` * * @example * Programmatic alignment: * ```html *
*
Item 1
*
Item 2
* *
* * * ``` * * @public */ export declare class InkBarElement extends InkBarElement_base implements IInkBarElementProps { private _position; private _target; /** * @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 `target` property. * * @public */ get target(): HTMLElement | null; set target(value: HTMLElement | null); /** * Gets or sets the `position` property. * * @public * @attr */ get position(): InkBarPosition; set position(value: InkBarPosition); /** * Aligns the ink bar to the target element. * * @public */ align(): void; /** * @protected * @override */ protected onApplyTemplate(): void; /** * @protected */ protected onPositionPropertyChanged(): void; /** * @protected */ protected onTargetPropertyChanged(): void; /** * @private */ private alignToElement; } /** * @public */ export declare namespace InkBarElement { type Props = IInkBarElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-ink-bar': InkBarElement; } } export {}; //# sourceMappingURL=InkBarElement.d.ts.map