@surdeddd/bottom-sheet
    Preparing search index...

    Type Alias EngineFeatureContext

    type EngineFeatureContext = {
        element: HTMLElement;
        scrollContainer?: HTMLElement;
        sheetId: string;
        options: EngineFeatureOptions;
        isDestroyed: () => boolean;
        isDragging: () => boolean;
        isAnimating: () => boolean;
        isTopSheet: () => boolean;
        isVerticalAxis: () => boolean;
        getSize: () => number;
        getActiveId: () => string;
        getAllowedIds: () => string[];
        allowedIdsBySize: () => string[];
        getMaxAxisSize: () => number;
        resolveSnap: (id: string) => { id: string; size: number } | null;
        resolveActiveSnap: () => { id: string; size: number } | null;
        setSize: (size: number) => void;
        setMaxAxisSize: (size: number) => void;
        applySize: (size: number) => void;
        recomputeSnaps: () => void;
        newCycle: () => void;
        cancelInFlight: () => void;
        resyncAfterResize: () => void;
        snapTo: (id: string) => void;
        close: (reason?: CloseReason) => Promise<void>;
        attachDragSurface: (
            surface: HTMLElement,
            kind: DragSurfaceKind,
        ) => (() => void) | void;
        on: <K extends keyof SheetEventMap>(
            event: K,
            fn: (payload: SheetEventMap[K]) => void,
        ) => () => void;
        addTeardown: (fn: (() => void) | null | undefined) => void;
    }
    Index
    element: HTMLElement
    scrollContainer?: HTMLElement
    sheetId: string
    isDestroyed: () => boolean
    isDragging: () => boolean
    isAnimating: () => boolean
    isTopSheet: () => boolean
    isVerticalAxis: () => boolean
    getSize: () => number
    getActiveId: () => string
    getAllowedIds: () => string[]
    allowedIdsBySize: () => string[]
    getMaxAxisSize: () => number
    resolveSnap: (id: string) => { id: string; size: number } | null
    resolveActiveSnap: () => { id: string; size: number } | null
    setSize: (size: number) => void
    setMaxAxisSize: (size: number) => void
    applySize: (size: number) => void
    recomputeSnaps: () => void
    newCycle: () => void
    cancelInFlight: () => void
    resyncAfterResize: () => void
    snapTo: (id: string) => void
    close: (reason?: CloseReason) => Promise<void>
    attachDragSurface: (
        surface: HTMLElement,
        kind: DragSurfaceKind,
    ) => (() => void) | void
    on: <K extends keyof SheetEventMap>(
        event: K,
        fn: (payload: SheetEventMap[K]) => void,
    ) => () => void
    addTeardown: (fn: (() => void) | null | undefined) => void