Dropdown: DefineComponent<
    ExtractPropTypes<
        {
            closeOnSelect: { default: true; type: BooleanConstructor };
            defaultOpen: { default: false; type: BooleanConstructor };
            open: { default: undefined; type: PropType<undefined | boolean> };
            placement: { default: undefined; type: PropType<undefined | Placement> };
        },
    >,
    () => VNode<RendererNode, RendererElement, { [key: string]: any }>,
    {},
    {},
    {},
    ComponentOptionsMixin,
    ComponentOptionsMixin,
    ("select" | "update:open")[],
    "select" | "update:open",
    PublicProps,
    ToResolvedProps<
        ExtractPropTypes<
            {
                closeOnSelect: { default: true; type: BooleanConstructor };
                defaultOpen: { default: false; type: BooleanConstructor };
                open: { default: undefined; type: PropType<undefined | boolean> };
                placement: { default: undefined; type: PropType<undefined | Placement> };
            },
        >,
        ("select" | "update:open")[],
    >,
    {
        closeOnSelect: boolean;
        defaultOpen: boolean;
        open: undefined | boolean;
        placement: undefined | Placement;
    },
    {},
    {},
    {},
    string,
    ComponentProvideOptions,
    true,
    {},
    any,
> = ...

Button-triggered menu (WAI-ARIA menu-button pattern). Compose with <DropdownTrigger>, <DropdownMenu>, <DropdownItem>, <DropdownGroup>, and <DropdownSeparator>. The menu is a native popover toggled through popovertarget, so it opens before hydration; open state works uncontrolled or with v-model:open, and activating an item emits select with (value, item, checked?).