import { type IDropDownable } from '../../../Behaviors/DropDownable'; import { ButtonBaseElement } from '../Abstracts/ButtonBaseElement'; import type { IDropDownButtonElementProps } from './IDropDownButtonElementProps'; declare const DropDownButtonElement_base: (abstract new (...args: Array) => import("../../../../Controls/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/ContentAlignable").IContentAlignableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Fitable").IFitableProps) & (abstract new (...args: Array) => import("../../../Behaviors/DropDownable").IDropDownableProps & IDropDownable) & (abstract new (...args: Array) => import("../../../Behaviors/Busyable").IBusyableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Labelable").ILabelableProps) & (abstract new (...args: Array) => import("../../../Behaviors/Iconable").IIconableProps) & typeof ButtonBaseElement & import("../../../../Controls/Behaviors/Themeable").IThemeableCtor; /** * Drop Down Button - A button that opens a menu when clicked, allowing users to select from a list of options. * * @description * The Drop Down Button is a versatile user interface component that triggers a dropdown menu containing additional * options or actions. When clicked, the button reveals a menu with a list of choices, providing users with multiple * actions or selections in a compact and organized manner. Drop Down Buttons are commonly used in navigation bars, * toolbars, and other interactive areas where a set of related options needs to be presented. * * @name Drop Down Button * @element mosaik-dropdown-button * @category Buttons * * @slot icon - The icon slot. * @slot label - The label slot. * @slot overlay - The overlay slot (useful for badges). * @slot - The default dropdown content slot. * * @csspart button - The button part. * @csspart focusRing - The focus ring part. * @csspart ripple - The ripple part. * @csspart icon - The icon part. * @csspart label - The label part. * @csspart progressRing - The progress ring part. * @csspart popup - The popup part. * @csspart menu - The menu part. * @csspart iconCaret - The icon caret part. * * @cssprop {Color} --drop-down-button-background-color - The background color of the drop down button. * @cssprop {Color} --drop-down-button-border-color - The border color of the drop down button. * @cssprop {String} --drop-down-button-border-radius - The border radius of the drop down button. * @cssprop {String} --drop-down-button-border-width - The border width of the drop down button. * @cssprop {String} --drop-down-button-font-family - The font family of the drop down button. * @cssprop {String} --drop-down-button-font-letter-spacing - The letter spacing of the drop down button font. * @cssprop {String} --drop-down-button-font-line-height - The line height of the drop down button font. * @cssprop {String} --drop-down-button-font-size - The font size of the drop down button. * @cssprop {String} --drop-down-button-font-text-decoration - The text decoration of the drop down button font. * @cssprop {String} --drop-down-button-font-text-transform - The text transform of the drop down button font. * @cssprop {String} --drop-down-button-font-weight - The font weight of the drop down button. * @cssprop {Color} --drop-down-button-foreground-color - The foreground color of the drop down button. * @cssprop {String} --drop-down-button-gap - The gap between elements in the drop down button. * @cssprop {String} --drop-down-button-padding-bottom - The bottom padding of the drop down button. * @cssprop {String} --drop-down-button-padding-left - The left padding of the drop down button. * @cssprop {String} --drop-down-button-padding-right - The right padding of the drop down button. * @cssprop {String} --drop-down-button-padding-top - The top padding of the drop down button. * @cssprop {String} --drop-down-button-shadow - The shadow of the drop down button. * @cssprop {String} --drop-down-button-transition-duration - The transition duration of the drop down button. * * @dependency {StackElement} - The Stack element. * @dependency {IconElement} - The Icon element. * @dependency {RippleElement} - The Ripple element. * @dependency {FocusRingElement} - The Focus Ring element. * @dependency {TextElement} - The Text element. * @dependency {ProgressRingElement} - The Progress Ring element. * @dependency {FloatingElement} - The Floating element. * @dependency {MenuElement} - The Menu element. * * @example * Basic dropdown button: * ```html * * * * * * * ``` * * @example * Dropdown button with variant and no caret: * ```html * * * * * * * ``` * * @public */ export declare class DropDownButtonElement extends DropDownButtonElement_base implements IDropDownButtonElementProps, IDropDownable { private readonly _clickOutsideController; private readonly _projectionController; private _caretVisible; /** * @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 `caretVisible` property. * * @public * @attr caret-visible */ get caretVisible(): boolean; set caretVisible(value: boolean); /** * @public * @override */ connectedCallback(): void; /** * @protected */ protected onIsDropDownOpenPropertyChanged(_prev?: boolean, next?: boolean): void; /** * @protected */ protected onIsBusyPropertyChanged(_prev: boolean, next?: string): void; /** * @private */ private onClickedOutside; /** * @private * @template */ onFloatingActiveChanged(active: boolean): void; } /** * @public */ export declare namespace DropDownButtonElement { type Props = IDropDownButtonElementProps; } /** * @public */ declare global { interface HTMLElementTagNameMap { 'mosaik-dropdown-button': DropDownButtonElement; } } export {}; //# sourceMappingURL=DropDownButtonElement.d.ts.map