UNPKG

@kitn.ai/ui

Version:

Framework-agnostic, Shadow-DOM web components for building AI chat interfaces — works in React, Vue, Angular, Svelte, or plain HTML. Authored in SolidJS.

41 lines (40 loc) 1.46 kB
import { JSX, Accessor } from 'solid-js'; import { Placement } from '@floating-ui/dom'; /** Imperative open controller, handed to a parent (e.g. the kai-hover-card facade) * via `controllerRef` so it can drive/observe open state. */ export interface HoverCardController { open: Accessor<boolean>; setOpen: (v: boolean) => void; } export interface HoverCardRootProps { children: JSX.Element; openDelay?: number; closeDelay?: number; /** Initial open state (uncontrolled seed). */ defaultOpen?: boolean; /** When true, hover/focus never opens the card. */ disabled?: boolean; /** Receive the open controller (open accessor + setOpen) once mounted. */ controllerRef?: (api: HoverCardController) => void; } export declare function HoverCardRoot(props: HoverCardRootProps): JSX.Element; export interface HoverCardTriggerProps { children: JSX.Element; class?: string; } export declare function HoverCardTrigger(props: HoverCardTriggerProps): JSX.Element; export interface HoverCardContentProps { children: JSX.Element; class?: string; placement?: Placement; } export declare function HoverCardContent(props: HoverCardContentProps): JSX.Element; export interface HoverCardProps { trigger: JSX.Element; children: JSX.Element; class?: string; openDelay?: number; closeDelay?: number; placement?: Placement; } export declare function HoverCard(props: HoverCardProps): JSX.Element;