@smkit/ui
Version:
UI Kit of SberMarketing
45 lines (44 loc) • 1.34 kB
TypeScript
import { type Writable } from 'svelte/store';
type Positions = 'right' | 'bottom' | 'left' | 'top';
export declare class Popover {
cords: Writable<number[] | undefined>;
show: Writable<boolean>;
position: Writable<'left' | 'top' | 'bottom' | 'right'>;
trigger: Writable<{
node: HTMLElement;
event: 'hover' | 'click';
}>;
level: Writable<{
index: number;
children: Popover[];
}>;
parent: Popover | null;
root?: HTMLElement;
dropdown?: HTMLElement;
document?: Document;
constructor({ show, position, cords, }?: {
show?: boolean;
position?: Positions;
cords?: number[];
});
static getParent(): Popover | null;
hasChildren(): boolean;
get stores(): {
show: Writable<boolean>;
position: Writable<"top" | "bottom" | "left" | "right">;
trigger: Writable<{
node: HTMLElement;
event: "hover" | "click";
}>;
cords: Writable<number[] | undefined>;
};
static get self(): Popover;
setTrigger(node: HTMLElement, event: 'hover' | 'click'): void;
close(): void;
closeCascade(): void;
closeChildren(controller: Popover): void;
closeRecursive: (controller: Popover) => void;
open(): void;
spawn(x: number, y: number): void;
}
export {};