This commit is contained in:
Iliyan Angelov
2025-09-14 23:24:25 +03:00
commit c67067a2a4
71311 changed files with 6800714 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
export declare function getMouseEventOptions(event: string, init?: MouseEventInit, clickCount?: number): {
detail: number;
buttons: number;
button: number;
clientX?: number | undefined;
clientY?: number | undefined;
movementX?: number | undefined;
movementY?: number | undefined;
relatedTarget?: EventTarget | null | undefined;
screenX?: number | undefined;
screenY?: number | undefined;
altKey?: boolean | undefined;
ctrlKey?: boolean | undefined;
metaKey?: boolean | undefined;
modifierAltGraph?: boolean | undefined;
modifierCapsLock?: boolean | undefined;
modifierFn?: boolean | undefined;
modifierFnLock?: boolean | undefined;
modifierHyper?: boolean | undefined;
modifierNumLock?: boolean | undefined;
modifierScrollLock?: boolean | undefined;
modifierSuper?: boolean | undefined;
modifierSymbol?: boolean | undefined;
modifierSymbolLock?: boolean | undefined;
shiftKey?: boolean | undefined;
view?: Window | null | undefined;
which?: number | undefined;
bubbles?: boolean | undefined;
cancelable?: boolean | undefined;
composed?: boolean | undefined;
};

View File

@@ -0,0 +1,61 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getMouseEventOptions = getMouseEventOptions;
function isMousePressEvent(event) {
return event === 'mousedown' || event === 'mouseup' || event === 'click' || event === 'dblclick';
} // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/buttons
const BUTTONS_NAMES = {
none: 0,
primary: 1,
secondary: 2,
auxiliary: 4
}; // https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/button
const BUTTON_NAMES = {
primary: 0,
auxiliary: 1,
secondary: 2
};
function translateButtonNumber(value, from) {
var _Object$entries$find;
const [mapIn, mapOut] = from === 'button' ? [BUTTON_NAMES, BUTTONS_NAMES] : [BUTTONS_NAMES, BUTTON_NAMES];
const name = (_Object$entries$find = Object.entries(mapIn).find(([, i]) => i === value)) == null ? void 0 : _Object$entries$find[0]; // istanbul ignore next
return name && Object.prototype.hasOwnProperty.call(mapOut, name) ? mapOut[name] : 0;
}
function convertMouseButtons(event, init, property) {
if (!isMousePressEvent(event)) {
return 0;
}
if (typeof init[property] === 'number') {
return init[property];
} else if (property === 'button' && typeof init.buttons === 'number') {
return translateButtonNumber(init.buttons, 'buttons');
} else if (property === 'buttons' && typeof init.button === 'number') {
return translateButtonNumber(init.button, 'button');
}
return property != 'button' && isMousePressEvent(event) ? 1 : 0;
}
function getMouseEventOptions(event, init, clickCount = 0) {
var _init;
init = (_init = init) != null ? _init : {};
return { ...init,
// https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail
detail: event === 'mousedown' || event === 'mouseup' || event === 'click' ? 1 + clickCount : clickCount,
buttons: convertMouseButtons(event, init, 'buttons'),
button: convertMouseButtons(event, init, 'button')
};
}

View File

@@ -0,0 +1 @@
export declare function isClickableInput(element: Element): boolean;

View File

@@ -0,0 +1,14 @@
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isClickableInput = isClickableInput;
var _isElementType = require("../misc/isElementType");
const CLICKABLE_INPUT_TYPES = ['button', 'color', 'file', 'image', 'reset', 'submit', 'checkbox', 'radio'];
function isClickableInput(element) {
return (0, _isElementType.isElementType)(element, 'button') || (0, _isElementType.isElementType)(element, 'input') && CLICKABLE_INPUT_TYPES.includes(element.type);
}