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

113 lines
4.4 KiB
TypeScript

import type { Interaction } from '@interactjs/core/Interaction';
import type { Scope } from '@interactjs/core/scope';
import type { ActionProps, PointerType, PointerEventType, Element } from '@interactjs/core/types';
declare module '@interactjs/core/Interactable' {
interface Interactable {
getAction: (this: Interactable, pointer: PointerType, event: PointerEventType, interaction: Interaction, element: Element) => ActionProps | null;
styleCursor(newValue: boolean): this;
styleCursor(): boolean;
/**
* Returns or sets whether the the cursor should be changed depending on the
* action that would be performed if the mouse were pressed and dragged.
*
* @param {boolean} [newValue]
* @return {boolean | Interactable} The current setting or this Interactable
*/
styleCursor(newValue?: boolean): boolean | this;
actionChecker(checker: Function): Interactable;
actionChecker(): Function;
/**
* ```js
* interact('.resize-drag')
* .resizable(true)
* .draggable(true)
* .actionChecker(function (pointer, event, action, interactable, element, interaction) {
*
* if (interact.matchesSelector(event.target, '.drag-handle')) {
* // force drag with handle target
* action.name = drag
* }
* else {
* // resize from the top and right edges
* action.name = 'resize'
* action.edges = { top: true, right: true }
* }
*
* return action
* })
* ```
*
* Returns or sets the function used to check action to be performed on
* pointerDown
*
* @param checker - A function which takes a pointer event,
* defaultAction string, interactable, element and interaction as parameters
* and returns an object with name property 'drag' 'resize' or 'gesture' and
* optionally an `edges` object with boolean 'top', 'left', 'bottom' and right
* props.
* @returns The checker function or this Interactable
*/
actionChecker(checker?: Function): Interactable | Function;
/** @returns This interactable */
ignoreFrom(newValue: string | Element | null): Interactable;
/** @returns The current ignoreFrom value */
ignoreFrom(): string | Element | null;
/**
* If the target of the `mousedown`, `pointerdown` or `touchstart` event or any
* of it's parents match the given CSS selector or Element, no
* drag/resize/gesture is started.
*
* @deprecated
* Don't use this method. Instead set the `ignoreFrom` option for each action
* or for `pointerEvents`
*
* ```js
* interact(targett)
* .draggable({
* ignoreFrom: 'input, textarea, a[href]'',
* })
* .pointerEvents({
* ignoreFrom: '[no-pointer]',
* })
* ```
* Interactable
*/
ignoreFrom(
/** a CSS selector string, an Element or `null` to not ignore any elements */
newValue?: string | Element | null): Interactable | string | Element | null;
allowFrom(): boolean;
/**
*
* A drag/resize/gesture is started only If the target of the `mousedown`,
* `pointerdown` or `touchstart` event or any of it's parents match the given
* CSS selector or Element.
*
* @deprecated
* Don't use this method. Instead set the `allowFrom` option for each action
* or for `pointerEvents`
*
* ```js
* interact(targett)
* .resizable({
* allowFrom: '.resize-handle',
* .pointerEvents({
* allowFrom: '.handle',,
* })
* ```
*
* @param {string | Element | null} [newValue]
* @return {string | Element | object} The current allowFrom value or this
* Interactable
*/
allowFrom(
/** A CSS selector string, an Element or `null` to allow from any element */
newValue: string | Element | null): Interactable;
}
}
declare function install(scope: Scope): void;
declare const _default: {
id: string;
install: typeof install;
};
export default _default;