django-vue3-admin-web/node_modules/@interactjs/auto-start/base.d.ts
2025-10-20 21:21:14 +08:00

65 lines
2.3 KiB
TypeScript

import type { Interactable } from '@interactjs/core/Interactable';
import type { Interaction } from '@interactjs/core/Interaction';
import type { Scope, Plugin } from '@interactjs/core/scope';
import type { CursorChecker, Element, ActionName, ActionProps } from '@interactjs/core/types';
import './InteractableMethods';
declare module '@interactjs/core/InteractStatic' {
interface InteractStatic {
/**
* Returns or sets the maximum number of concurrent interactions allowed. By
* default only 1 interaction is allowed at a time (for backwards
* compatibility). To allow multiple interactions on the same Interactables and
* elements, you need to enable it in the draggable, resizable and gesturable
* `'max'` and `'maxPerElement'` options.
*
* @param {number} [newValue] Any number. newValue <= 0 means no interactions.
*/
maxInteractions: (newValue: any) => any;
}
}
declare module '@interactjs/core/scope' {
interface Scope {
autoStart: AutoStart;
}
interface SignalArgs {
'autoStart:before-start': Omit<SignalArgs['interactions:move'], 'interaction'> & {
interaction: Interaction<ActionName>;
};
'autoStart:prepared': {
interaction: Interaction;
};
'auto-start:check': CheckSignalArg;
}
}
declare module '@interactjs/core/options' {
interface BaseDefaults {
actionChecker?: any;
cursorChecker?: any;
styleCursor?: any;
}
interface PerActionDefaults {
manualStart?: boolean;
max?: number;
maxPerElement?: number;
allowFrom?: string | Element;
ignoreFrom?: string | Element;
cursorChecker?: CursorChecker;
mouseButtons?: 0 | 1 | 2 | 4 | 8 | 16;
}
}
interface CheckSignalArg {
interactable: Interactable;
interaction: Interaction;
element: Element;
action: ActionProps<ActionName>;
buttons: number;
}
export interface AutoStart {
maxInteractions: number;
withinInteractionLimit: typeof withinInteractionLimit;
cursorElement: Element;
}
declare function withinInteractionLimit<T extends ActionName>(interactable: Interactable, element: Element, action: ActionProps<T>, scope: Scope): boolean;
declare const autoStart: Plugin;
export default autoStart;