UNPKG

1.93 kBJavaScriptView Raw
1"use strict";
2
3require("core-js/modules/es.regexp.exec");
4
5Object.defineProperty(exports, "__esModule", {
6 value: true
7});
8exports.isValidEventTypeOnTarget = exports.isPluginEnabled = exports.isModifiedEvent = exports.isLeftClickEvent = exports.getComposedPath = exports.camelCase = void 0;
9
10require("core-js/modules/es.string.replace.js");
11
12var isLeftClickEvent = function isLeftClickEvent(event) {
13 return event.button === 0;
14};
15
16exports.isLeftClickEvent = isLeftClickEvent;
17
18var isModifiedEvent = function isModifiedEvent(event) {
19 return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
20};
21
22exports.isModifiedEvent = isModifiedEvent;
23var trackMap = {
24 select: ['focus', 'blur'],
25 textarea: ['focus', 'blur'],
26 input: ['focus', 'blur'],
27 "default": ['click']
28};
29
30var isValidEventTypeOnTarget = function isValidEventTypeOnTarget(event) {
31 return (trackMap[event.target.nodeName.toLowerCase()] || trackMap["default"]).indexOf(event.type) > -1;
32};
33
34exports.isValidEventTypeOnTarget = isValidEventTypeOnTarget;
35
36var isPluginEnabled = function isPluginEnabled(plugin) {
37 return typeof plugin.isEnabled === 'function' ? plugin.isEnabled() : plugin.isEnabled;
38};
39
40exports.isPluginEnabled = isPluginEnabled;
41
42var camelCase = function camelCase(str) {
43 return str.replace(/-([\da-z])/gi, function (match, _char) {
44 return _char.toUpperCase();
45 });
46};
47/**
48 * Polyfill for [`Event.composedPath()`][1].
49 * https://gist.github.com/kleinfreund/e9787d73776c0e3750dcfcdc89f100ec
50 */
51
52
53exports.camelCase = camelCase;
54
55var getComposedPath = function getComposedPath(node) {
56 var parent;
57
58 if (node.parentNode) {
59 parent = node.parentNode;
60 } else if (node.host) {
61 parent = node.host;
62 } else if (node.defaultView) {
63 parent = node.defaultView;
64 }
65
66 if (parent !== undefined) {
67 return [node, getComposedPath(parent)];
68 }
69
70 return [node];
71};
72
73exports.getComposedPath = getComposedPath;
\No newline at end of file