import type { JSX } from "@solidjs/web"; import { type DialogRootActions } from "../../dialog/root/dialog-root.js"; import type { DialogHandle } from "../../dialog/store/dialog-store.js"; import { type BaseUIChangeEventDetails } from "../../internals/change-event-details.js"; import { type MaybeAccessor } from "../../internals/maybe-accessor.js"; import { type DrawerRootChangeEventReason, type DrawerRootSnapPointChangeEventDetails, type DrawerRootSnapPointChangeEventReason, type DrawerSnapPoint, type DrawerSwipeDirection } from "./drawer-root-context.js"; export type { DrawerRootChangeEventReason, DrawerRootSnapPointChangeEventDetails, DrawerRootSnapPointChangeEventReason, }; export type DrawerRootChangeEventDetails = BaseUIChangeEventDetails void; }>; export type DrawerPayloadChildRenderFunction = (ctx: { payload: Payload | undefined; }) => JSX.Element; export interface DrawerRootActions extends DialogRootActions { } export interface DrawerRootProps { /** * Controlled open state. When provided (resolved value not * `undefined`), the consumer owns the state — pair with * {@link onOpenChange}. When omitted, the drawer manages its own open * state (seeded from {@link defaultOpen}). */ open?: MaybeAccessor; /** * Initial open state when uncontrolled. Read once at mount. * @default false */ defaultOpen?: MaybeAccessor; modal?: MaybeAccessor; onOpenChange?: ((open: boolean, details: DrawerRootChangeEventDetails) => void) | undefined; onOpenChangeComplete?: ((open: boolean) => void) | undefined; disablePointerDismissal?: boolean | undefined; actionsRef?: ((actions: DrawerRootActions | null) => void) | { current: DrawerRootActions | null; } | undefined; handle?: DialogHandle | undefined; triggerId?: string | null | undefined; children?: JSX.Element | DrawerPayloadChildRenderFunction; /** Swipe dismissal direction. @default "down" */ swipeDirection?: DrawerSwipeDirection | undefined; /** Snap points list (fractions / px / CSS length strings). */ snapPoints?: DrawerSnapPoint[] | undefined; /** Disable velocity-based snap skipping. @default false */ snapToSequentialPoints?: boolean | undefined; /** Active snap point. Consumer-owned — pair with {@link onSnapPointChange}. */ snapPoint?: DrawerSnapPoint | null | undefined; /** Fires on every snap-point change request. */ onSnapPointChange?: ((snapPoint: DrawerSnapPoint | null, details: DrawerRootSnapPointChangeEventDetails) => void) | undefined; } export type DrawerRootState = {}; /** * Groups all parts of the drawer. Doesn't render its own HTML element. */ export declare function DrawerRoot(props: DrawerRootProps): JSX.Element; //# sourceMappingURL=drawer-root.d.ts.map