UNPKG

@quasar/quasar-ui-qcalendar

Version:

QCalendar - Day/Month/Week Calendars, Popups, Date Pickers, Schedules, Agendas, Planners and Tasks for your Vue Apps

60 lines (59 loc) 2.98 kB
import { EmitFn } from 'vue'; import { EmitListeners } from './useEmitListeners'; /** * Defines the structure for a mouse event configuration. */ interface MouseEventOptions { event: string; button?: number; prevent?: boolean; stop?: boolean; result?: any; } /** * Defines a function signature for event transformation. */ type GetEventFunction = (_event: MouseEvent | TouchEvent, _eventName: string) => any; /** * Generates mouse event handlers based on event listeners. * @param {Function} emit - Vue's emit function. * @param {Ref<Listeners>} listeners - Vue ref containing event listeners. * @param {Record<string, MouseEventOptions>} events - Object defining mouse events and their options. * @param {GetEventFunction} getEvent - Function to transform event objects. * @returns {Record<string, Function | Function[]>} - The mapped mouse event handlers. */ export declare function getMouseEventHandlers(emit: EmitFn, listeners: EmitListeners, events: Record<string, MouseEventOptions>, getEvent: GetEventFunction): Record<string, Function | Function[]>; /** * Returns default mouse event handlers based on a suffix. * @param {Function} emit - Vue's emit function. * @param {Ref<Listeners>} listeners - Vue ref containing event listeners. * @param {string} suffix - Event suffix (e.g., '-day' for 'click-day'). * @param {GetEventFunction} getEvent - Function to transform event objects. * @returns {Record<string, Function | Function[]>} - The mapped event handlers. */ export declare function getDefaultMouseEventHandlers(emit: EmitFn, listeners: EmitListeners, suffix: string, getEvent: GetEventFunction): Record<string, Function | Function[]>; /** * Generates event names for different mouse interactions. * @param {string} suffix - Event suffix (e.g., '-day' for 'click-day'). * @returns {Record<string, MouseEventOptions>} - The event name map. */ export declare function getMouseEventName(suffix: string): Record<string, MouseEventOptions>; /** * Returns an array of raw event names based on a suffix. * @param {string} suffix - Event suffix. * @returns {string[]} - The raw event names. */ export declare function getRawMouseEvents(suffix: string): string[]; /** * Default function export that provides mouse event handling utilities. * @param {Function} emit - Vue's emit function. * @param {Ref<Listeners>} listeners - Vue ref containing event listeners. * @returns {Object} - Functions for managing mouse event handlers. */ export default function useMouseEvents(emit: EmitFn, listeners: EmitListeners): { getMouseEventHandlers: (_events: Record<string, MouseEventOptions>, _getEvent: GetEventFunction) => Record<string, Function | Function[]>; getDefaultMouseEventHandlers: (_suffix: string, _getEvent: GetEventFunction) => Record<string, Function | Function[]>; getMouseEventName: (_suffix: string) => Record<string, MouseEventOptions>; getRawMouseEvents: (_suffix: string) => string[]; }; export {};