@trendyol/baklava
Version:
Trendyol Baklava Design System
81 lines • 2.94 kB
TypeScript
import { CSSResultGroup, LitElement, TemplateResult } from "lit";
export declare type Placement = "top-start" | "top" | "top-end" | "bottom-start" | "bottom" | "bottom-end" | "left-start" | "left" | "left-end" | "right-start" | "right" | "right-end";
/**
* @tag bl-popover
* @summary Baklava Popover component
*
* @cssproperty [--bl-popover-arrow-display=none] - Sets the display of popovers arrow. Set as `block` to make arrow visible.
* @cssproperty [--bl-popover-background-color=--bl-color-neutral-full] - Sets the background color of popover.
* @cssproperty [--bl-popover-border-color=--bl-color-primary-highlight] - Sets the border color of popover.
* @cssproperty [--bl-popover-border-size=1px] - Sets the border size of popover. You can set it to `0px` to not have a border (if you use a custom background color). Always use with a length unit.
* @cssproperty [--bl-popover-padding=--bl-size-m] - Sets the padding of popover.
* @cssproperty [--bl-popover-border-radius=--bl-size-3xs] - Sets the border radius of popover.
* @cssproperty [--bl-popover-max-width=100vw] - Sets the maximum width of the popover (including border and padding).
* @cssproperty [--bl-popover-position=fixed] - Sets the position of popover. You can set it to `absolute` if parent element is a fixed positioned element like drawer or dialog.
*/
export default class BlPopover extends LitElement {
static get styles(): CSSResultGroup;
private popover;
private arrow;
/**
* Sets placement of the popover
*/
placement: Placement;
/**
* Target elements state
*/
_target: string | Element;
/**
* Sets size of popover same as trigger element
*/
fitSize: boolean;
/**
* Sets the distance between popover and target/trigger element
*/
offset: number;
/**
* Visibility state
*/
private _visible;
/**
* Fires when the popover is shown
*/
private onBlPopoverShow;
/**
* Fires when popover becomes hidden
*/
private onBlPopoverHide;
connectedCallback(): void;
disconnectedCallback(): void;
private getMiddleware;
private _handleClickOutside;
private popoverAutoUpdateCleanup;
private setPopover;
/**
* Sets the target element of the popover to align and trigger.
* It can be a string id of the target element or can be a direct Element reference of it.
*/
get target(): string | Element;
set target(value: string | Element);
/**
* Shows popover
*/
show(): void;
/**
* Hides popover
*/
hide(): void;
/**
* Gives the visibility status of the popover
*/
get visible(): boolean;
private _handlePopoverShowEvent;
private _handleKeydownEvent;
render(): TemplateResult;
}
declare global {
interface HTMLElementTagNameMap {
"bl-popover": BlPopover;
}
}
//# sourceMappingURL=bl-popover.d.ts.map