import { PropType } from 'vue'; import { TJoyDropdownDirections, TJoyDropdownOption } from './JoyDropdown.types'; import { TJoyDropdownListSizes } from '../JoyDropdownList/JoyDropdownList.types'; declare const _default: __VLS_WithTemplateSlots; default: string; }; /** * Disable teleport for testing purpose mostly. */ disableTeleport: { type: BooleanConstructor; default: boolean; }; /** close the dropdown list when clicking on any item. Default to false */ closeOnSelect: { type: BooleanConstructor; default: boolean; }; /** Dropdown vertical position according to the trigger */ direction: { type: PropType; default: string; }; /** Dropdown horizontal justify according to the trigger */ justify: { type: PropType; default: string; }; /** * Use options to render a pre-designed list. * * ``` * interface Option {id: string; value?: string; label: string; href?: string; disabled?:boolean; checked?:boolean} * ``` */ options: { type: PropType; default(): never[]; }; size: { type: PropType; default: string; }; /** Use v-model */ modelValue: { type: StringConstructor; default: string; }; /** * Space between the trigger and the list */ dropdownGap: { type: StringConstructor; default: string; }; /** * Max-width of the dropdown list */ width: { type: StringConstructor; default: string; }; /** * Max-height of the dropdown list */ height: { type: StringConstructor; default: string; }; /** * Display a reset CTA on top of the dropdown list. Useful when using a VJoyCheckboxGroup. * Please note that is does not automatically apply changes to you models, it simply fires a **dropdown:reset** custom event * */ reset: { type: BooleanConstructor; default: boolean; }; /** Label of the reset CTA. Depends on reset property activation */ resetLabel: { type: StringConstructor; }; }>, { showDropdownList: import("vue").Ref; generatedId: string; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & { "update:modelValue": (value: string | undefined) => any; "dropdown:open": () => any; "dropdown:hide": () => any; "dropdown:reset": () => any; }, string, import("vue").PublicProps, Readonly; default: string; }; /** * Disable teleport for testing purpose mostly. */ disableTeleport: { type: BooleanConstructor; default: boolean; }; /** close the dropdown list when clicking on any item. Default to false */ closeOnSelect: { type: BooleanConstructor; default: boolean; }; /** Dropdown vertical position according to the trigger */ direction: { type: PropType; default: string; }; /** Dropdown horizontal justify according to the trigger */ justify: { type: PropType; default: string; }; /** * Use options to render a pre-designed list. * * ``` * interface Option {id: string; value?: string; label: string; href?: string; disabled?:boolean; checked?:boolean} * ``` */ options: { type: PropType; default(): never[]; }; size: { type: PropType; default: string; }; /** Use v-model */ modelValue: { type: StringConstructor; default: string; }; /** * Space between the trigger and the list */ dropdownGap: { type: StringConstructor; default: string; }; /** * Max-width of the dropdown list */ width: { type: StringConstructor; default: string; }; /** * Max-height of the dropdown list */ height: { type: StringConstructor; default: string; }; /** * Display a reset CTA on top of the dropdown list. Useful when using a VJoyCheckboxGroup. * Please note that is does not automatically apply changes to you models, it simply fires a **dropdown:reset** custom event * */ reset: { type: BooleanConstructor; default: boolean; }; /** Label of the reset CTA. Depends on reset property activation */ resetLabel: { type: StringConstructor; }; }>> & Readonly<{ "onUpdate:modelValue"?: ((value: string | undefined) => any) | undefined; "onDropdown:open"?: (() => any) | undefined; "onDropdown:hide"?: (() => any) | undefined; "onDropdown:reset"?: (() => any) | undefined; }>, { reset: boolean; size: TJoyDropdownListSizes; appendTo: string | import("vue").RendererElement | null | undefined; width: string; height: string; justify: import("../../types/index.js").TPositions; direction: TJoyDropdownDirections; options: TJoyDropdownOption[]; modelValue: string; disableTeleport: boolean; closeOnSelect: boolean; dropdownGap: string; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, Readonly<{ /** The trigger required to display the dropdown list. Can be anything as soon as it's focusable. */ 'dropdown-button': () => any; /** Header that will be injected in the VJoyDropdownList */ 'dropdown-header'?: (() => any) | undefined; /** Free slot in order to render any kind of component. Can be handy to use it with VJoyCheckboxGroup for instance. */ 'dropdown-items'?: (() => any) | undefined; /** Use it to customize the innerHTML of the li item. See https://vuejs.org/guide/components/slots.html#scoped-slots */ 'dropdown-item'?: ((option: TJoyDropdownOption) => any) | undefined; /** Footer that will be injected in the VJoyDropdownList */ 'dropdown-footer'?: (() => any) | undefined; }> & { /** The trigger required to display the dropdown list. Can be anything as soon as it's focusable. */ 'dropdown-button': () => any; /** Header that will be injected in the VJoyDropdownList */ 'dropdown-header'?: (() => any) | undefined; /** Free slot in order to render any kind of component. Can be handy to use it with VJoyCheckboxGroup for instance. */ 'dropdown-items'?: (() => any) | undefined; /** Use it to customize the innerHTML of the li item. See https://vuejs.org/guide/components/slots.html#scoped-slots */ 'dropdown-item'?: ((option: TJoyDropdownOption) => any) | undefined; /** Footer that will be injected in the VJoyDropdownList */ 'dropdown-footer'?: (() => any) | undefined; }>; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };