import { ThemeCommonVars } from "../../_styles/common/light.js"; import { ExtractPublicPropTypes } from "../../_utils/naive/extract-public-props.js"; import { MaybeArray } from "../../_utils/vue/call.js"; import "../../_utils/index.js"; import { PopoverTheme } from "../../popover/styles/light.js"; import "../../popover/styles/index.js"; import { PopoverTrigger } from "../../popover/src/interface.js"; import { TriggerEventHandlers } from "../../popover/src/Popover.js"; import { DropdownTheme, DropdownThemeOverrides, DropdownThemeVars } from "../styles/light.js"; import "../styles/index.js"; import { MenuGroupOption, MenuIgnoredOption, MenuOption, MenuRenderOption } from "../../menu/src/interface.js"; import { DropdownMenuProps, DropdownMixedOption, NodeProps, OnUpdateValue, OnUpdateValueImpl, RenderIcon, RenderIconImpl, RenderLabel, RenderLabelImpl, RenderOption, RenderOptionImpl } from "./interface.js"; import { DropdownSize } from "./public-types.js"; import "../../index.js"; import { ExtractThemeOverrides } from "../../_mixins/use-theme.js"; import "../../_mixins/index.js"; import { ScrollbarTheme } from "../../_internal/scrollbar/styles/light.js"; import "../../_internal/scrollbar/styles/index.js"; import { CSSProperties, PropType, Ref } from "vue"; import { Key, TreeNode } from "treemate"; import { FollowerPlacement } from "vueuc"; //#region src/dropdown/src/Dropdown.d.ts interface DropdownInjection { renderLabelRef: Ref; renderIconRef: Ref; renderOptionRef: Ref; menuPropsRef: Ref; nodePropsRef: Ref; hoverKeyRef: Ref; keyboardKeyRef: Ref; lastToggledSubmenuKeyRef: Ref; pendingKeyPathRef: Ref; activeKeyPathRef: Ref; animatedRef: Ref; mergedShowRef: Ref; labelFieldRef: Ref; childrenFieldRef: Ref; doSelect: OnUpdateValueImpl; doUpdateShow: (value: boolean) => void; } declare const dropdownProps: { readonly theme: PropType; readonly themeOverrides: PropType; readonly builtinThemeOverrides: PropType; readonly animated: { readonly type: BooleanConstructor; readonly default: true; }; readonly keyboard: { readonly type: BooleanConstructor; readonly default: true; }; readonly size: PropType; readonly inverted: BooleanConstructor; readonly placement: { readonly type: PropType; readonly default: "bottom"; }; readonly onSelect: PropType>; readonly options: { readonly type: PropType; readonly default: () => never[]; }; readonly menuProps: PropType; readonly showArrow: BooleanConstructor; readonly renderLabel: PropType; readonly renderIcon: PropType; readonly renderOption: PropType; readonly nodeProps: PropType; readonly labelField: { readonly type: StringConstructor; readonly default: "label"; }; readonly keyField: { readonly type: StringConstructor; readonly default: "key"; }; readonly childrenField: { readonly type: StringConstructor; readonly default: "children"; }; readonly value: PropType; readonly show: { type: PropType; default: undefined; }; readonly defaultShow: BooleanConstructor; readonly trigger: { type: PropType; default: string; }; readonly delay: { type: NumberConstructor; default: number; }; readonly duration: { type: NumberConstructor; default: number; }; readonly raw: BooleanConstructor; readonly x: NumberConstructor; readonly y: NumberConstructor; readonly arrowPointToCenter: BooleanConstructor; readonly disabled: BooleanConstructor; readonly getDisabled: PropType<() => boolean>; readonly displayDirective: { type: PropType<"if" | "show">; default: string; }; readonly arrowClass: StringConstructor; readonly arrowStyle: PropType; readonly arrowWrapperClass: StringConstructor; readonly arrowWrapperStyle: PropType; readonly flip: { type: BooleanConstructor; default: boolean; }; readonly width: { type: PropType; default: undefined; }; readonly overlap: BooleanConstructor; readonly keepAliveOnHover: { type: BooleanConstructor; default: boolean; }; readonly zIndex: NumberConstructor; readonly to: { type: PropType; default: undefined; }; readonly scrollable: BooleanConstructor; readonly contentClass: StringConstructor; readonly contentStyle: PropType; readonly headerClass: StringConstructor; readonly headerStyle: PropType; readonly footerClass: StringConstructor; readonly footerStyle: PropType; readonly onClickoutside: PropType<(e: MouseEvent) => void>; readonly 'onUpdate:show': PropType void>>; readonly onUpdateShow: PropType void>>; readonly internalDeactivateImmediately: BooleanConstructor; readonly internalSyncTargetWithParent: BooleanConstructor; readonly internalInheritedEventHandlers: { type: PropType; default: () => never[]; }; readonly internalTrapFocus: BooleanConstructor; readonly internalExtraClass: { type: PropType; default: () => never[]; }; readonly onShow: PropType void> | undefined>; readonly onHide: PropType void> | undefined>; readonly arrow: { type: PropType; default: undefined; }; readonly minWidth: NumberConstructor; readonly maxWidth: NumberConstructor; }; type DropdownProps = ExtractPublicPropTypes; declare const _default: import("vue").DefineComponent; readonly themeOverrides: PropType; readonly builtinThemeOverrides: PropType; readonly animated: { readonly type: BooleanConstructor; readonly default: true; }; readonly keyboard: { readonly type: BooleanConstructor; readonly default: true; }; readonly size: PropType; readonly inverted: BooleanConstructor; readonly placement: { readonly type: PropType; readonly default: "bottom"; }; readonly onSelect: PropType>; readonly options: { readonly type: PropType; readonly default: () => never[]; }; readonly menuProps: PropType; readonly showArrow: BooleanConstructor; readonly renderLabel: PropType; readonly renderIcon: PropType; readonly renderOption: PropType; readonly nodeProps: PropType; readonly labelField: { readonly type: StringConstructor; readonly default: "label"; }; readonly keyField: { readonly type: StringConstructor; readonly default: "key"; }; readonly childrenField: { readonly type: StringConstructor; readonly default: "children"; }; readonly value: PropType; readonly show: { type: PropType; default: undefined; }; readonly defaultShow: BooleanConstructor; readonly trigger: { type: PropType; default: string; }; readonly delay: { type: NumberConstructor; default: number; }; readonly duration: { type: NumberConstructor; default: number; }; readonly raw: BooleanConstructor; readonly x: NumberConstructor; readonly y: NumberConstructor; readonly arrowPointToCenter: BooleanConstructor; readonly disabled: BooleanConstructor; readonly getDisabled: PropType<() => boolean>; readonly displayDirective: { type: PropType<"if" | "show">; default: string; }; readonly arrowClass: StringConstructor; readonly arrowStyle: PropType; readonly arrowWrapperClass: StringConstructor; readonly arrowWrapperStyle: PropType; readonly flip: { type: BooleanConstructor; default: boolean; }; readonly width: { type: PropType; default: undefined; }; readonly overlap: BooleanConstructor; readonly keepAliveOnHover: { type: BooleanConstructor; default: boolean; }; readonly zIndex: NumberConstructor; readonly to: { type: PropType; default: undefined; }; readonly scrollable: BooleanConstructor; readonly contentClass: StringConstructor; readonly contentStyle: PropType; readonly headerClass: StringConstructor; readonly headerStyle: PropType; readonly footerClass: StringConstructor; readonly footerStyle: PropType; readonly onClickoutside: PropType<(e: MouseEvent) => void>; readonly 'onUpdate:show': PropType void>>; readonly onUpdateShow: PropType void>>; readonly internalDeactivateImmediately: BooleanConstructor; readonly internalSyncTargetWithParent: BooleanConstructor; readonly internalInheritedEventHandlers: { type: PropType; default: () => never[]; }; readonly internalTrapFocus: BooleanConstructor; readonly internalExtraClass: { type: PropType; default: () => never[]; }; readonly onShow: PropType void> | undefined>; readonly onHide: PropType void> | undefined>; readonly arrow: { type: PropType; default: undefined; }; readonly minWidth: NumberConstructor; readonly maxWidth: NumberConstructor; }>, { mergedClsPrefix: Ref; mergedTheme: import("vue").ComputedRef<{ common: ThemeCommonVars; self: DropdownThemeVars; peers: { Popover: PopoverTheme; }; peerOverrides: { Popover?: { peers?: { Scrollbar?: ExtractThemeOverrides | undefined; } | undefined; } | undefined; }; }>; mergedSize: import("vue").ComputedRef; tmNodes: import("vue").ComputedRef[]>; mergedShow: import("vue").ComputedRef; handleAfterLeave: () => void; doUpdateShow: (value: boolean) => void; cssVars: Ref | undefined; themeClass: Ref | undefined; onRender: (() => void) | undefined; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly; readonly themeOverrides: PropType; readonly builtinThemeOverrides: PropType; readonly animated: { readonly type: BooleanConstructor; readonly default: true; }; readonly keyboard: { readonly type: BooleanConstructor; readonly default: true; }; readonly size: PropType; readonly inverted: BooleanConstructor; readonly placement: { readonly type: PropType; readonly default: "bottom"; }; readonly onSelect: PropType>; readonly options: { readonly type: PropType; readonly default: () => never[]; }; readonly menuProps: PropType; readonly showArrow: BooleanConstructor; readonly renderLabel: PropType; readonly renderIcon: PropType; readonly renderOption: PropType; readonly nodeProps: PropType; readonly labelField: { readonly type: StringConstructor; readonly default: "label"; }; readonly keyField: { readonly type: StringConstructor; readonly default: "key"; }; readonly childrenField: { readonly type: StringConstructor; readonly default: "children"; }; readonly value: PropType; readonly show: { type: PropType; default: undefined; }; readonly defaultShow: BooleanConstructor; readonly trigger: { type: PropType; default: string; }; readonly delay: { type: NumberConstructor; default: number; }; readonly duration: { type: NumberConstructor; default: number; }; readonly raw: BooleanConstructor; readonly x: NumberConstructor; readonly y: NumberConstructor; readonly arrowPointToCenter: BooleanConstructor; readonly disabled: BooleanConstructor; readonly getDisabled: PropType<() => boolean>; readonly displayDirective: { type: PropType<"if" | "show">; default: string; }; readonly arrowClass: StringConstructor; readonly arrowStyle: PropType; readonly arrowWrapperClass: StringConstructor; readonly arrowWrapperStyle: PropType; readonly flip: { type: BooleanConstructor; default: boolean; }; readonly width: { type: PropType; default: undefined; }; readonly overlap: BooleanConstructor; readonly keepAliveOnHover: { type: BooleanConstructor; default: boolean; }; readonly zIndex: NumberConstructor; readonly to: { type: PropType; default: undefined; }; readonly scrollable: BooleanConstructor; readonly contentClass: StringConstructor; readonly contentStyle: PropType; readonly headerClass: StringConstructor; readonly headerStyle: PropType; readonly footerClass: StringConstructor; readonly footerStyle: PropType; readonly onClickoutside: PropType<(e: MouseEvent) => void>; readonly 'onUpdate:show': PropType void>>; readonly onUpdateShow: PropType void>>; readonly internalDeactivateImmediately: BooleanConstructor; readonly internalSyncTargetWithParent: BooleanConstructor; readonly internalInheritedEventHandlers: { type: PropType; default: () => never[]; }; readonly internalTrapFocus: BooleanConstructor; readonly internalExtraClass: { type: PropType; default: () => never[]; }; readonly onShow: PropType void> | undefined>; readonly onHide: PropType void> | undefined>; readonly arrow: { type: PropType; default: undefined; }; readonly minWidth: NumberConstructor; readonly maxWidth: NumberConstructor; }>> & Readonly<{}>, { readonly to: string | boolean | HTMLElement; readonly raw: boolean; readonly show: boolean | undefined; readonly disabled: boolean; readonly keyboard: boolean; readonly width: number | "trigger"; readonly duration: number; readonly scrollable: boolean; readonly trigger: PopoverTrigger; readonly placement: FollowerPlacement; readonly options: DropdownMixedOption[]; readonly showArrow: boolean; readonly arrow: boolean | undefined; readonly defaultShow: boolean; readonly delay: number; readonly arrowPointToCenter: boolean; readonly displayDirective: "show" | "if"; readonly flip: boolean; readonly animated: boolean; readonly overlap: boolean; readonly keepAliveOnHover: boolean; readonly internalDeactivateImmediately: boolean; readonly internalSyncTargetWithParent: boolean; readonly internalInheritedEventHandlers: TriggerEventHandlers[]; readonly internalTrapFocus: boolean; readonly internalExtraClass: string[]; readonly labelField: string; readonly childrenField: string; readonly keyField: string; readonly inverted: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; //#endregion export { DropdownInjection, DropdownProps, _default as default, dropdownProps };