import { SvelteComponent } from "svelte"; /** * A floating version of the notification inbox, toggled by a button. * * Renders the inbox inside a floating panel positioned relative to a trigger. * Ideal for embedding in navigation bars or headers. Supports full customization * of placement, dimensions, trigger, and inbox content. */ type FloatingInboxProps = { /** * The width of the floating inbox panel in pixels. * @default 400 */ width?: FloatingUIProps["width"]; /** * The height of the floating inbox panel in pixels. * @default 400 */ height?: FloatingUIProps["height"]; /** * Offset of the inbox from the trigger button, in pixels. * Can be a single number or an object with main/cross axis. * @type {OffsetOptions} * @default 8 */ offset?: FloatingUIProps["offset"]; /** * Where to place the inbox relative to the trigger button. * E.g. 'bottom-end', 'top-start', etc. * @type {Placement} * @default bottom-start */ placement?: FloatingUIProps["placement"]; /** * Whether the inbox should be open by default. * @default false */ defaultOpen?: FloatingUIProps["defaultOpen"]; /** * Controlled open state. When provided, component becomes controlled * and will not close on outside click or Escape by itself. */ open?: FloatingUIProps["open"]; /** * Called whenever the user intends to change the open state. * Receives the next state and the reason: 'toggle' | 'outside' | 'escape'. */ onOpenChange?: FloatingUIProps["onOpenChange"]; /** * The component used to trigger the inbox, typically a bell icon. * It will receive `onClick` and `ref` props. * @type {Component} * @default InboxButton */ ButtonComponent?: FloatingUIProps["TriggerComponent"]; /** * The inbox component to render inside the floating panel. * Defaults to `` if not provided. * @type {Component} * @default Inbox */ InboxComponent?: FloatingUIProps["FloatingComponent"]; }; import type { FloatingUIProps } from "./internal/components/floating-ui.svelte"; declare const __propDef: { props: { placement?: FloatingInboxProps["placement"]; ButtonComponent?: FloatingInboxProps["ButtonComponent"]; InboxComponent?: FloatingInboxProps["InboxComponent"]; height?: FloatingInboxProps["height"]; width?: FloatingInboxProps["width"]; offset?: FloatingInboxProps["offset"]; defaultOpen?: FloatingInboxProps["defaultOpen"]; open?: FloatingInboxProps["open"]; onOpenChange?: FloatingInboxProps["onOpenChange"]; }; events: { [evt: string]: CustomEvent; }; slots: {}; exports?: {} | undefined; bindings?: string | undefined; }; type FloatingInboxProps_ = typeof __propDef.props; export { FloatingInboxProps_ as FloatingInboxProps }; export type FloatingInboxEvents = typeof __propDef.events; export type FloatingInboxSlots = typeof __propDef.slots; export default class FloatingInbox extends SvelteComponent { }