ui-ingredients
Version:
Headless component library for Svelte powered by zag
21 lines (20 loc) • 741 B
TypeScript
import * as presence from '@zag-js/presence';
import type { HTMLAttributes } from 'svelte/elements';
import type { Merge } from 'type-fest';
import type { Accessor } from '../types.js';
export interface PresenceStrategyProps {
/** @default false */
lazyMount?: boolean;
/** @default true */
keepMounted?: boolean;
/** @default true */
animateOnMount?: boolean;
onExitComplete?: () => void;
}
export interface CreatePresenceProps extends Merge<PresenceStrategyProps, presence.Props> {
}
export interface CreatePresenceReturn {
getPresenceProps(): HTMLAttributes<HTMLElement>;
mounted: boolean;
}
export declare function createPresence(props: Accessor<CreatePresenceProps>): Accessor<CreatePresenceReturn>;