UNPKG

@datametria/vue-components

Version:

DATAMETRIA Vue.js 3 Component Library with Multi-Brand Theming - 51 components + 10 composables with theming support, WCAG 2.2 AA, dark mode, responsive system

72 lines (71 loc) 2.12 kB
interface MenuItem { key?: string; label?: string; description?: string; icon?: any; shortcut?: string; disabled?: boolean; divider?: boolean; action?: () => void; } type Placement = 'bottom-start' | 'bottom-end' | 'top-start' | 'top-end' | 'left' | 'right'; interface Props { items?: MenuItem[]; triggerText?: string; placement?: Placement; disabled?: boolean; fullWidth?: boolean; showBackdrop?: boolean; closeOnItemClick?: boolean; offset?: number; } declare function __VLS_template(): { attrs: Partial<{}>; slots: { trigger?(_: { isOpen: boolean; toggle: () => void; }): any; default?(_: { close: () => void; focusedIndex: number; }): any; }; refs: { triggerRef: HTMLDivElement; menuRef: HTMLDivElement; }; rootEl: HTMLDivElement; }; type __VLS_TemplateResult = ReturnType<typeof __VLS_template>; declare const __VLS_component: import('vue').DefineComponent<Props, { open: () => Promise<void>; close: () => void; toggle: () => void; isOpen: import('vue').ComputedRef<boolean>; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & { close: () => any; open: () => any; "item-click": (item: MenuItem, index: number) => any; }, string, import('vue').PublicProps, Readonly<Props> & Readonly<{ onClose?: (() => any) | undefined; onOpen?: (() => any) | undefined; "onItem-click"?: ((item: MenuItem, index: number) => any) | undefined; }>, { offset: number; placement: Placement; items: MenuItem[]; triggerText: string; showBackdrop: boolean; closeOnItemClick: boolean; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, { triggerRef: HTMLDivElement; menuRef: HTMLDivElement; }, HTMLDivElement>; declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>; export default _default; type __VLS_WithTemplateSlots<T, S> = T & { new (): { $slots: S; }; };