import Tailwind from '../base/tailwind-base'; declare enum PopoverTrigger { Hover = "hover", Click = "click" } declare enum PopoverPosition { Top = "top", TopStart = "top-start", TopEnd = "top-end", Bottom = "bottom", BottomStart = "bottom-start", BottomEnd = "bottom-end", Left = "left", LeftStart = "left-start", LeftEnd = "left-end", Right = "right", RightStart = "right-start", RightEnd = "right-end" } /** * @tag plus-popover * @summary Popover component that displays content in a floating panel. * * @slot - The target element that triggers the popover * @slot icon - Custom icon for the popover * @slot title - The popover title * @slot actions - Actions like close button * @slot content - The main content inside the popover * * @csspart popover - The popover container element * @csspart arrow - The popover arrow indicator * @csspart title - The popover title * @csspart close - The close button area * @csspart content - The main content inside the popover * * @event plus-popover-open - Emitted when the popover is opened * @event plus-popover-close - Emitted when the popover is closed * @event plus-popover-dismiss - Emitted when the popover is dismissed via close button * * @example * ```html * * Click me *
Popover Title
*
Popover content goes here
*
* ``` */ export default class PlusPopover extends Tailwind { slots: Array; /** * The size of the popover. * * Available options: * - `sm` (small) * - `md` (medium - default) * - `lg` (large) * * @type {'sm' | 'md' | 'lg'} * @default 'md' */ size: 'sm' | 'md' | 'lg'; /** * The position of the popover relative to the target element. * * Available options: * - `top` (default) * - `top-start` * - `top-end` * - `bottom` * - `bottom-start` * - `bottom-end` * - `left` * - `left-start` * - `left-end` * - `right` * - `right-start` * - `right-end` * * @type {PopoverPosition} * @default PopoverPosition.Top */ orientation: PopoverPosition; /** * Determines how the popover is triggered. * * Available options: * - `click` (default) - Popover toggles on click. * - `hover` - Popover appears on hover. * * @type {'click' | 'hover'} * @default 'click' */ trigger: PopoverTrigger; /** * The main text content of the popover. * * If a slot with `name="content"` is provided, this text will be ignored. * * @type {string} */ text?: string; /** * The header title of the popover. * * If a slot with `name="title"` is provided, this text will be ignored. * * @type {string} * @default 'Title' */ headerText?: string; /** * The status of the popover, which affects its styling. * * Available options: * - `success` (green) * - `warning` (yellow) * - `danger` (red) * - `info` (blue) * - `primary` (default theme color) * - `default` (gray - default) * * @type {'success' | 'warning' | 'danger' | 'info' | 'primary' | 'default'} * @default 'default' */ status: 'success' | 'warning' | 'danger' | 'info' | 'primary' | 'default'; /** * Determines whether the popover can be dismissed by clicking the close button. * * - `true` (default) - Popover can be closed. * - `false` - The close button is hidden. * * @type {boolean} * @default true */ dismissable: boolean; /** * Determines whether a status icon should be displayed in the popover. * * - `true` (default) - An icon representing the status will be displayed. * - `false` - No icon will be displayed. * * @type {boolean} * @default true */ statusIcon: boolean; /** * Determines whether the arrow should be displayed. * * - `true` (default) - Arrow will be displayed. * - `false` - Arrow will be hidden. * * @type {boolean} * @default true */ showArrow: boolean; /** * Controls the visibility of the popover. * * @private * @type {boolean} * @default false */ private isVisible; private targetElement?; private arrowElement?; private cleanup?; private getPopover; private updatePosition; private handleMouseEnter; private handleMouseLeave; private handleClick; private closePopover; private cleanupAutoUpdate; private _cleanupTarget; private handleOutsideClick; private handleSlotChange; private _setupPopover; firstUpdated(): void; disconnectedCallback(): void; render(): import("lit-html").TemplateResult<1>; } export { PlusPopover }; //# sourceMappingURL=popover.d.ts.map