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 {
}