Drawer: DefineComponent<
    ExtractPropTypes<
        {
            closeOnBackdrop: { default: boolean; type: BooleanConstructor };
            open: { required: true; type: BooleanConstructor };
            side: { default: string; type: PropType<"left" | "right"> };
        },
    >,
    () => VNode<RendererNode, RendererElement, { [key: string]: any }>,
    {},
    {},
    {},
    ComponentOptionsMixin,
    ComponentOptionsMixin,
    "update:open"[],
    "update:open",
    PublicProps,
    ToResolvedProps<
        ExtractPropTypes<
            {
                closeOnBackdrop: { default: boolean; type: BooleanConstructor };
                open: { required: true; type: BooleanConstructor };
                side: { default: string; type: PropType<"left" | "right"> };
            },
        >,
        "update:open"[],
    >,
    { closeOnBackdrop: boolean; side: "left"
    | "right" },
    {},
    {},
    {},
    string,
    ComponentProvideOptions,
    true,
    {},
    any,
> = ...

Controlled off-canvas panel on the native <dialog> plus the drawer enhancer. Drive with v-model:open; choose a side. Compose with <DrawerHeader>, <DrawerBody>, <DrawerFooter>.