easy 24.1.0 → 24.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.aiignore +12 -0
- package/.swcrc +4 -3
- package/example.js +672 -2711
- package/lib/bounds.js +50 -116
- package/lib/constants.js +23 -23
- package/lib/document.js +48 -97
- package/lib/element/body.js +7 -131
- package/lib/element/button.js +5 -129
- package/lib/element/checkbox.js +13 -160
- package/lib/element/input.js +7 -131
- package/lib/element/link.js +10 -156
- package/lib/element/select.js +6 -130
- package/lib/element/textarea.js +7 -131
- package/lib/element.js +245 -481
- package/lib/eventTypes.js +60 -60
- package/lib/example/preamble.js +2 -2
- package/lib/example/view/div.js +20 -169
- package/lib/example/view.js +9 -152
- package/lib/example.js +4 -4
- package/lib/index.js +22 -22
- package/lib/mixins/click.js +10 -10
- package/lib/mixins/customEvent.js +41 -84
- package/lib/mixins/element.js +28 -34
- package/lib/mixins/event.js +45 -50
- package/lib/mixins/focus.js +13 -13
- package/lib/mixins/fullScreen.js +11 -11
- package/lib/mixins/input.js +12 -12
- package/lib/mixins/jsx.js +42 -48
- package/lib/mixins/key.js +8 -8
- package/lib/mixins/mouse.js +14 -14
- package/lib/mixins/resize.js +6 -6
- package/lib/mixins/scroll.js +13 -13
- package/lib/mixins/selection.js +15 -15
- package/lib/mixins/state.js +6 -6
- package/lib/mixins/touch.js +10 -10
- package/lib/mouseButtons.js +8 -8
- package/lib/offset.js +14 -47
- package/lib/react.js +17 -31
- package/lib/textElement.js +61 -129
- package/lib/utilities/array.js +8 -38
- package/lib/utilities/async.js +5 -5
- package/lib/utilities/dom.js +17 -19
- package/lib/utilities/element.js +22 -44
- package/lib/utilities/elements.js +7 -11
- package/lib/utilities/name.js +2 -2
- package/lib/utilities/object.js +17 -47
- package/lib/utilities/string.js +3 -3
- package/lib/window.js +55 -152
- package/package.json +1 -1
package/lib/mixins/click.js
CHANGED
|
@@ -8,7 +8,7 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
11
|
+
const _eventTypes = require("../eventTypes");
|
|
12
12
|
function onClick(clickHandler, element) {
|
|
13
13
|
this.onEvent(_eventTypes.CLICK_EVENT_TYPE, clickHandler, element);
|
|
14
14
|
}
|
|
@@ -27,14 +27,14 @@ function onDoubleClick(doubleClickHandler, element) {
|
|
|
27
27
|
function offDoubleClick(doubleClickHandler, element) {
|
|
28
28
|
this.offEvent(_eventTypes.DBLCLICK_EVENT_TYPE, doubleClickHandler, element);
|
|
29
29
|
} ///
|
|
30
|
-
|
|
31
|
-
onClick
|
|
32
|
-
offClick
|
|
33
|
-
onAuxClick
|
|
34
|
-
offAuxClick
|
|
35
|
-
onDoubleClick
|
|
36
|
-
offDoubleClick
|
|
30
|
+
const clickMixins = {
|
|
31
|
+
onClick,
|
|
32
|
+
offClick,
|
|
33
|
+
onAuxClick,
|
|
34
|
+
offAuxClick,
|
|
35
|
+
onDoubleClick,
|
|
36
|
+
offDoubleClick
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
const _default = clickMixins;
|
|
39
39
|
|
|
40
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvY2xpY2suanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IENMSUNLX0VWRU5UX1RZUEUsIERCTENMSUNLX0VWRU5UX1RZUEUsIEFVWENMSUNLX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi4vZXZlbnRUeXBlc1wiO1xuXG5mdW5jdGlvbiBvbkNsaWNrKGNsaWNrSGFuZGxlciwgZWxlbWVudCkgeyB0aGlzLm9uRXZlbnQoQ0xJQ0tfRVZFTlRfVFlQRSwgY2xpY2tIYW5kbGVyLCBlbGVtZW50KTsgfVxuXG5mdW5jdGlvbiBvZmZDbGljayhjbGlja0hhbmRsZXIsIGVsZW1lbnQpIHsgdGhpcy5vZmZFdmVudChDTElDS19FVkVOVF9UWVBFLCBjbGlja0hhbmRsZXIsIGVsZW1lbnQpOyB9XG5cbmZ1bmN0aW9uIG9uQXV4Q2xpY2soYXV4Q2xpY2tIYW5kbGVyLCBlbGVtZW50KSB7IHRoaXMub25FdmVudChBVVhDTElDS19FVkVOVF9UWVBFLCBhdXhDbGlja0hhbmRsZXIsIGVsZW1lbnQpOyB9XG5cbmZ1bmN0aW9uIG9mZkF1eENsaWNrKGF1eENsaWNrSGFuZGxlciwgZWxlbWVudCkgeyB0aGlzLm9mZkV2ZW50KEFVWENMSUNLX0VWRU5UX1RZUEUsIGF1eENsaWNrSGFuZGxlciwgZWxlbWVudCk7IH1cblxuZnVuY3Rpb24gb25Eb3VibGVDbGljayhkb3VibGVDbGlja0hhbmRsZXIsIGVsZW1lbnQpIHsgdGhpcy5vbkV2ZW50KERCTENMSUNLX0VWRU5UX1RZUEUsIGRvdWJsZUNsaWNrSGFuZGxlciwgZWxlbWVudCk7IH0gLy8vXG5cbmZ1bmN0aW9uIG9mZkRvdWJsZUNsaWNrKGRvdWJsZUNsaWNrSGFuZGxlciwgZWxlbWVudCkgeyB0aGlzLm9mZkV2ZW50KERCTENMSUNLX0VWRU5UX1RZUEUsIGRvdWJsZUNsaWNrSGFuZGxlciwgZWxlbWVudCk7IH0gLy8vXG5cbmNvbnN0IGNsaWNrTWl4aW5zID0ge1xuICBvbkNsaWNrLFxuICBvZmZDbGljayxcbiAgb25BdXhDbGljayxcbiAgb2ZmQXV4Q2xpY2ssXG4gIG9uRG91YmxlQ2xpY2ssXG4gIG9mZkRvdWJsZUNsaWNrXG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGlja01peGlucztcbiJdLCJuYW1lcyI6WyJvbkNsaWNrIiwiY2xpY2tIYW5kbGVyIiwiZWxlbWVudCIsIm9uRXZlbnQiLCJDTElDS19FVkVOVF9UWVBFIiwib2ZmQ2xpY2siLCJvZmZFdmVudCIsIm9uQXV4Q2xpY2siLCJhdXhDbGlja0hhbmRsZXIiLCJBVVhDTElDS19FVkVOVF9UWVBFIiwib2ZmQXV4Q2xpY2siLCJvbkRvdWJsZUNsaWNrIiwiZG91YmxlQ2xpY2tIYW5kbGVyIiwiREJMQ0xJQ0tfRVZFTlRfVFlQRSIsIm9mZkRvdWJsZUNsaWNrIiwiY2xpY2tNaXhpbnMiXSwibWFwcGluZ3MiOiJBQUFBOzs7OytCQXlCQTs7O2VBQUE7Ozs0QkF2QjJFO0FBRTNFLFNBQVNBLFFBQVFDLFlBQVksRUFBRUMsT0FBTztJQUFJLElBQUksQ0FBQ0MsT0FBTyxDQUFDQyw0QkFBZ0IsRUFBRUgsY0FBY0M7QUFBVTtBQUVqRyxTQUFTRyxTQUFTSixZQUFZLEVBQUVDLE9BQU87SUFBSSxJQUFJLENBQUNJLFFBQVEsQ0FBQ0YsNEJBQWdCLEVBQUVILGNBQWNDO0FBQVU7QUFFbkcsU0FBU0ssV0FBV0MsZUFBZSxFQUFFTixPQUFPO0lBQUksSUFBSSxDQUFDQyxPQUFPLENBQUNNLCtCQUFtQixFQUFFRCxpQkFBaUJOO0FBQVU7QUFFN0csU0FBU1EsWUFBWUYsZUFBZSxFQUFFTixPQUFPO0lBQUksSUFBSSxDQUFDSSxRQUFRLENBQUNHLCtCQUFtQixFQUFFRCxpQkFBaUJOO0FBQVU7QUFFL0csU0FBU1MsY0FBY0Msa0JBQWtCLEVBQUVWLE9BQU87SUFBSSxJQUFJLENBQUNDLE9BQU8sQ0FBQ1UsK0JBQW1CLEVBQUVELG9CQUFvQlY7QUFBVSxFQUFFLEdBQUc7QUFFM0gsU0FBU1ksZUFBZUYsa0JBQWtCLEVBQUVWLE9BQU87SUFBSSxJQUFJLENBQUNJLFFBQVEsQ0FBQ08sK0JBQW1CLEVBQUVELG9CQUFvQlY7QUFBVSxFQUFFLEdBQUc7QUFFN0gsTUFBTWEsY0FBYztJQUNsQmY7SUFDQUs7SUFDQUU7SUFDQUc7SUFDQUM7SUFDQUc7QUFDRjtNQUVBLFdBQWVDIn0=
|
|
@@ -8,79 +8,36 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function
|
|
14
|
-
if (len == null || len > arr.length) len = arr.length;
|
|
15
|
-
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
16
|
-
return arr2;
|
|
17
|
-
}
|
|
18
|
-
function _array_without_holes(arr) {
|
|
19
|
-
if (Array.isArray(arr)) return _array_like_to_array(arr);
|
|
20
|
-
}
|
|
21
|
-
function _iterable_to_array(iter) {
|
|
22
|
-
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
|
|
23
|
-
}
|
|
24
|
-
function _non_iterable_spread() {
|
|
25
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
26
|
-
}
|
|
27
|
-
function _to_consumable_array(arr) {
|
|
28
|
-
return _array_without_holes(arr) || _iterable_to_array(arr) || _unsupported_iterable_to_array(arr) || _non_iterable_spread();
|
|
29
|
-
}
|
|
30
|
-
function _unsupported_iterable_to_array(o, minLen) {
|
|
31
|
-
if (!o) return;
|
|
32
|
-
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
33
|
-
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
34
|
-
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
35
|
-
if (n === "Map" || n === "Set") return Array.from(n);
|
|
36
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
37
|
-
}
|
|
38
|
-
function onCustomEvent(customEventTypes, customHandler) {
|
|
39
|
-
var _this = this;
|
|
40
|
-
var element = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this;
|
|
11
|
+
const _constants = require("../constants");
|
|
12
|
+
const _async = require("../utilities/async");
|
|
13
|
+
function onCustomEvent(customEventTypes, customHandler, element = this) {
|
|
41
14
|
customEventTypes = customEventTypes.split(_constants.SPACE); ///
|
|
42
|
-
customEventTypes.forEach(
|
|
43
|
-
|
|
15
|
+
customEventTypes.forEach((customEventType)=>{
|
|
16
|
+
this.addCustomEventListener(customEventType, customHandler, element);
|
|
44
17
|
});
|
|
45
18
|
}
|
|
46
|
-
function offCustomEvent(customEventTypes, customHandler) {
|
|
47
|
-
var _this = this;
|
|
48
|
-
var element = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this;
|
|
19
|
+
function offCustomEvent(customEventTypes, customHandler, element = this) {
|
|
49
20
|
customEventTypes = customEventTypes.split(_constants.SPACE); ///
|
|
50
|
-
customEventTypes.forEach(
|
|
51
|
-
|
|
21
|
+
customEventTypes.forEach((customEventType)=>{
|
|
22
|
+
this.removeCustomEventListener(customEventType, customHandler, element);
|
|
52
23
|
});
|
|
53
24
|
}
|
|
54
|
-
function callCustomHandlers(customEventType) {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
customEventListeners.forEach(function(customEventListener) {
|
|
60
|
-
var _customHandler;
|
|
61
|
-
var customHandler = customEventListener.customHandler, customHandlerElement = customEventListener.element; ///
|
|
62
|
-
(_customHandler = customHandler).call.apply(_customHandler, [
|
|
63
|
-
customHandlerElement
|
|
64
|
-
].concat(_to_consumable_array(remainingArguments)));
|
|
25
|
+
function callCustomHandlers(customEventType, ...remainingArguments) {
|
|
26
|
+
const customEventListeners = this.findCustomEventListeners(customEventType);
|
|
27
|
+
customEventListeners.forEach((customEventListener)=>{
|
|
28
|
+
const { customHandler, element: customHandlerElement } = customEventListener; ///
|
|
29
|
+
customHandler.call(customHandlerElement, ...remainingArguments);
|
|
65
30
|
});
|
|
66
31
|
}
|
|
67
|
-
function callCustomHandlersAsync(customEventType) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
(0, _async.forEach)(customEventListeners, function(customEventListener, next) {
|
|
73
|
-
var _customHandler;
|
|
74
|
-
var customHandler = customEventListener.customHandler, customHandlerElement = customEventListener.element, done = next; ///
|
|
75
|
-
(_customHandler = customHandler).call.apply(_customHandler, [
|
|
76
|
-
customHandlerElement
|
|
77
|
-
].concat(_to_consumable_array(remainingArguments), [
|
|
78
|
-
done
|
|
79
|
-
]));
|
|
32
|
+
function callCustomHandlersAsync(customEventType, ...remainingArguments) {
|
|
33
|
+
const customEventListeners = this.findCustomEventListeners(customEventType), done = remainingArguments.pop(); ///
|
|
34
|
+
(0, _async.forEach)(customEventListeners, (customEventListener, next)=>{
|
|
35
|
+
const { customHandler, element: customHandlerElement } = customEventListener, done = next; ///
|
|
36
|
+
customHandler.call(customHandlerElement, ...remainingArguments, done);
|
|
80
37
|
}, done);
|
|
81
38
|
}
|
|
82
39
|
function addCustomEventListener(customEventType, customHandler, element) {
|
|
83
|
-
|
|
40
|
+
const customEventListener = this.createCustomEventListener(customEventType, customHandler, element);
|
|
84
41
|
if (!this.customEventListeners) {
|
|
85
42
|
this.customEventListeners = [];
|
|
86
43
|
}
|
|
@@ -88,7 +45,7 @@ function addCustomEventListener(customEventType, customHandler, element) {
|
|
|
88
45
|
return customEventListener;
|
|
89
46
|
}
|
|
90
47
|
function removeCustomEventListener(customEventType, customHandler, element) {
|
|
91
|
-
|
|
48
|
+
const customEventListener = this.findCustomEventListener(customEventType, customHandler, element), index = this.customEventListeners.indexOf(customEventListener), start = index, deleteCount = 1;
|
|
92
49
|
this.customEventListeners.splice(start, deleteCount);
|
|
93
50
|
if (this.customEventListeners.length === 0) {
|
|
94
51
|
delete this.customEventListeners;
|
|
@@ -96,7 +53,7 @@ function removeCustomEventListener(customEventType, customHandler, element) {
|
|
|
96
53
|
return customEventListener;
|
|
97
54
|
}
|
|
98
55
|
function findCustomEventListener(customEventType, customHandler, element) {
|
|
99
|
-
|
|
56
|
+
const customEventListener = this.customEventListeners.find((customEventListener)=>{
|
|
100
57
|
if (customEventListener.element === element && customEventListener.customHandler === customHandler && customEventListener.customEventType === customEventType) {
|
|
101
58
|
return true;
|
|
102
59
|
}
|
|
@@ -104,10 +61,10 @@ function findCustomEventListener(customEventType, customHandler, element) {
|
|
|
104
61
|
return customEventListener;
|
|
105
62
|
}
|
|
106
63
|
function findCustomEventListeners(customEventType) {
|
|
107
|
-
|
|
64
|
+
const customEventListeners = [];
|
|
108
65
|
if (this.customEventListeners) {
|
|
109
|
-
this.customEventListeners.forEach(
|
|
110
|
-
|
|
66
|
+
this.customEventListeners.forEach((customEventListener)=>{
|
|
67
|
+
const found = customEventListener.customEventType === customEventType;
|
|
111
68
|
if (found) {
|
|
112
69
|
customEventListeners.push(customEventListener);
|
|
113
70
|
}
|
|
@@ -116,26 +73,26 @@ function findCustomEventListeners(customEventType) {
|
|
|
116
73
|
return customEventListeners;
|
|
117
74
|
}
|
|
118
75
|
function createCustomEventListener(customEventType, customHandler, element) {
|
|
119
|
-
|
|
120
|
-
customEventListener =
|
|
76
|
+
let customEventListener;
|
|
77
|
+
customEventListener = ()=>{}; ///
|
|
121
78
|
Object.assign(customEventListener, {
|
|
122
|
-
element
|
|
123
|
-
customHandler
|
|
124
|
-
customEventType
|
|
79
|
+
element,
|
|
80
|
+
customHandler,
|
|
81
|
+
customEventType
|
|
125
82
|
});
|
|
126
83
|
return customEventListener;
|
|
127
84
|
}
|
|
128
|
-
|
|
129
|
-
onCustomEvent
|
|
130
|
-
offCustomEvent
|
|
131
|
-
callCustomHandlers
|
|
132
|
-
callCustomHandlersAsync
|
|
133
|
-
addCustomEventListener
|
|
134
|
-
removeCustomEventListener
|
|
135
|
-
findCustomEventListener
|
|
136
|
-
findCustomEventListeners
|
|
137
|
-
createCustomEventListener
|
|
85
|
+
const customEventMixins = {
|
|
86
|
+
onCustomEvent,
|
|
87
|
+
offCustomEvent,
|
|
88
|
+
callCustomHandlers,
|
|
89
|
+
callCustomHandlersAsync,
|
|
90
|
+
addCustomEventListener,
|
|
91
|
+
removeCustomEventListener,
|
|
92
|
+
findCustomEventListener,
|
|
93
|
+
findCustomEventListeners,
|
|
94
|
+
createCustomEventListener
|
|
138
95
|
};
|
|
139
|
-
|
|
96
|
+
const _default = customEventMixins;
|
|
140
97
|
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvY3VzdG9tRXZlbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFNQQUNFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZm9yRWFjaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNcIjtcblxuZnVuY3Rpb24gb25DdXN0b21FdmVudChjdXN0b21FdmVudFR5cGVzLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50ID0gdGhpcykge1xuICBjdXN0b21FdmVudFR5cGVzID0gY3VzdG9tRXZlbnRUeXBlcy5zcGxpdChTUEFDRSk7IC8vL1xuXG4gIGN1c3RvbUV2ZW50VHlwZXMuZm9yRWFjaCgoY3VzdG9tRXZlbnRUeXBlKSA9PiB7XG4gICAgdGhpcy5hZGRDdXN0b21FdmVudExpc3RlbmVyKGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBvZmZDdXN0b21FdmVudChjdXN0b21FdmVudFR5cGVzLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50ID0gdGhpcykge1xuICBjdXN0b21FdmVudFR5cGVzID0gY3VzdG9tRXZlbnRUeXBlcy5zcGxpdChTUEFDRSk7IC8vL1xuXG4gIGN1c3RvbUV2ZW50VHlwZXMuZm9yRWFjaCgoY3VzdG9tRXZlbnRUeXBlKSA9PiB7XG4gICAgdGhpcy5yZW1vdmVDdXN0b21FdmVudExpc3RlbmVyKGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjYWxsQ3VzdG9tSGFuZGxlcnMoY3VzdG9tRXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRDdXN0b21FdmVudExpc3RlbmVycyhjdXN0b21FdmVudFR5cGUpO1xuXG4gIGN1c3RvbUV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGN1c3RvbUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBjb25zdCB7IGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQ6IGN1c3RvbUhhbmRsZXJFbGVtZW50IH0gPSBjdXN0b21FdmVudExpc3RlbmVyOyAvLy9cblxuICAgIGN1c3RvbUhhbmRsZXIuY2FsbChjdXN0b21IYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxDdXN0b21IYW5kbGVyc0FzeW5jKGN1c3RvbUV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kQ3VzdG9tRXZlbnRMaXN0ZW5lcnMoY3VzdG9tRXZlbnRUeXBlKSxcbiAgICAgICAgZG9uZSA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTsgIC8vL1xuXG4gIGZvckVhY2goY3VzdG9tRXZlbnRMaXN0ZW5lcnMsIChjdXN0b21FdmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBjdXN0b21IYW5kbGVyLCBlbGVtZW50OiBjdXN0b21IYW5kbGVyRWxlbWVudCB9ID0gY3VzdG9tRXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBkb25lID0gbmV4dDsgIC8vL1xuXG4gICAgY3VzdG9tSGFuZGxlci5jYWxsKGN1c3RvbUhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGRvbmUpO1xuICB9LCBkb25lKTtcbn1cblxuZnVuY3Rpb24gYWRkQ3VzdG9tRXZlbnRMaXN0ZW5lcihjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRMaXN0ZW5lciA9IHRoaXMuY3JlYXRlQ3VzdG9tRXZlbnRMaXN0ZW5lcihjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpO1xuXG4gIGlmICghdGhpcy5jdXN0b21FdmVudExpc3RlbmVycykge1xuICAgIHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMgPSBbXTtcbiAgfVxuXG4gIHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMucHVzaChjdXN0b21FdmVudExpc3RlbmVyKTtcblxuICByZXR1cm4gY3VzdG9tRXZlbnRMaXN0ZW5lcjtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlQ3VzdG9tRXZlbnRMaXN0ZW5lcihjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRMaXN0ZW5lciA9IHRoaXMuZmluZEN1c3RvbUV2ZW50TGlzdGVuZXIoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KSxcbiAgICAgICAgaW5kZXggPSB0aGlzLmN1c3RvbUV2ZW50TGlzdGVuZXJzLmluZGV4T2YoY3VzdG9tRXZlbnRMaXN0ZW5lciksXG4gICAgICAgIHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gIHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG5cbiAgaWYgKHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMubGVuZ3RoID09PSAwKSB7XG4gICAgZGVsZXRlIHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnM7XG4gIH1cblxuICByZXR1cm4gY3VzdG9tRXZlbnRMaXN0ZW5lcjtcbn1cblxuZnVuY3Rpb24gZmluZEN1c3RvbUV2ZW50TGlzdGVuZXIoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50TGlzdGVuZXIgPSB0aGlzLmN1c3RvbUV2ZW50TGlzdGVuZXJzLmZpbmQoKGN1c3RvbUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBpZiAoKGN1c3RvbUV2ZW50TGlzdGVuZXIuZWxlbWVudCA9PT0gZWxlbWVudCkgJiYgKGN1c3RvbUV2ZW50TGlzdGVuZXIuY3VzdG9tSGFuZGxlciA9PT0gY3VzdG9tSGFuZGxlcikgJiYgKGN1c3RvbUV2ZW50TGlzdGVuZXIuY3VzdG9tRXZlbnRUeXBlID09PSBjdXN0b21FdmVudFR5cGUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBjdXN0b21FdmVudExpc3RlbmVyO1xufVxuXG5mdW5jdGlvbiBmaW5kQ3VzdG9tRXZlbnRMaXN0ZW5lcnMoY3VzdG9tRXZlbnRUeXBlKSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50TGlzdGVuZXJzID0gW107XG5cbiAgaWYgKHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMpIHtcbiAgICB0aGlzLmN1c3RvbUV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGN1c3RvbUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICAgIGNvbnN0IGZvdW5kID0gKGN1c3RvbUV2ZW50TGlzdGVuZXIuY3VzdG9tRXZlbnRUeXBlID09PSBjdXN0b21FdmVudFR5cGUpO1xuXG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgY3VzdG9tRXZlbnRMaXN0ZW5lcnMucHVzaChjdXN0b21FdmVudExpc3RlbmVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBjdXN0b21FdmVudExpc3RlbmVycztcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ3VzdG9tRXZlbnRMaXN0ZW5lcihjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgbGV0IGN1c3RvbUV2ZW50TGlzdGVuZXI7XG5cbiAgY3VzdG9tRXZlbnRMaXN0ZW5lciA9ICgpID0+
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvY3VzdG9tRXZlbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFNQQUNFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZm9yRWFjaCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNcIjtcblxuZnVuY3Rpb24gb25DdXN0b21FdmVudChjdXN0b21FdmVudFR5cGVzLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50ID0gdGhpcykge1xuICBjdXN0b21FdmVudFR5cGVzID0gY3VzdG9tRXZlbnRUeXBlcy5zcGxpdChTUEFDRSk7IC8vL1xuXG4gIGN1c3RvbUV2ZW50VHlwZXMuZm9yRWFjaCgoY3VzdG9tRXZlbnRUeXBlKSA9PiB7XG4gICAgdGhpcy5hZGRDdXN0b21FdmVudExpc3RlbmVyKGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBvZmZDdXN0b21FdmVudChjdXN0b21FdmVudFR5cGVzLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50ID0gdGhpcykge1xuICBjdXN0b21FdmVudFR5cGVzID0gY3VzdG9tRXZlbnRUeXBlcy5zcGxpdChTUEFDRSk7IC8vL1xuXG4gIGN1c3RvbUV2ZW50VHlwZXMuZm9yRWFjaCgoY3VzdG9tRXZlbnRUeXBlKSA9PiB7XG4gICAgdGhpcy5yZW1vdmVDdXN0b21FdmVudExpc3RlbmVyKGN1c3RvbUV2ZW50VHlwZSwgY3VzdG9tSGFuZGxlciwgZWxlbWVudCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBjYWxsQ3VzdG9tSGFuZGxlcnMoY3VzdG9tRXZlbnRUeXBlLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRDdXN0b21FdmVudExpc3RlbmVycyhjdXN0b21FdmVudFR5cGUpO1xuXG4gIGN1c3RvbUV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGN1c3RvbUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBjb25zdCB7IGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQ6IGN1c3RvbUhhbmRsZXJFbGVtZW50IH0gPSBjdXN0b21FdmVudExpc3RlbmVyOyAvLy9cblxuICAgIGN1c3RvbUhhbmRsZXIuY2FsbChjdXN0b21IYW5kbGVyRWxlbWVudCwgLi4ucmVtYWluaW5nQXJndW1lbnRzKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGNhbGxDdXN0b21IYW5kbGVyc0FzeW5jKGN1c3RvbUV2ZW50VHlwZSwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50TGlzdGVuZXJzID0gdGhpcy5maW5kQ3VzdG9tRXZlbnRMaXN0ZW5lcnMoY3VzdG9tRXZlbnRUeXBlKSxcbiAgICAgICAgZG9uZSA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTsgIC8vL1xuXG4gIGZvckVhY2goY3VzdG9tRXZlbnRMaXN0ZW5lcnMsIChjdXN0b21FdmVudExpc3RlbmVyLCBuZXh0KSA9PiB7XG4gICAgY29uc3QgeyBjdXN0b21IYW5kbGVyLCBlbGVtZW50OiBjdXN0b21IYW5kbGVyRWxlbWVudCB9ID0gY3VzdG9tRXZlbnRMaXN0ZW5lcixcbiAgICAgICAgICBkb25lID0gbmV4dDsgIC8vL1xuXG4gICAgY3VzdG9tSGFuZGxlci5jYWxsKGN1c3RvbUhhbmRsZXJFbGVtZW50LCAuLi5yZW1haW5pbmdBcmd1bWVudHMsIGRvbmUpO1xuICB9LCBkb25lKTtcbn1cblxuZnVuY3Rpb24gYWRkQ3VzdG9tRXZlbnRMaXN0ZW5lcihjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRMaXN0ZW5lciA9IHRoaXMuY3JlYXRlQ3VzdG9tRXZlbnRMaXN0ZW5lcihjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpO1xuXG4gIGlmICghdGhpcy5jdXN0b21FdmVudExpc3RlbmVycykge1xuICAgIHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMgPSBbXTtcbiAgfVxuXG4gIHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMucHVzaChjdXN0b21FdmVudExpc3RlbmVyKTtcblxuICByZXR1cm4gY3VzdG9tRXZlbnRMaXN0ZW5lcjtcbn1cblxuZnVuY3Rpb24gcmVtb3ZlQ3VzdG9tRXZlbnRMaXN0ZW5lcihjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgY3VzdG9tRXZlbnRMaXN0ZW5lciA9IHRoaXMuZmluZEN1c3RvbUV2ZW50TGlzdGVuZXIoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KSxcbiAgICAgICAgaW5kZXggPSB0aGlzLmN1c3RvbUV2ZW50TGlzdGVuZXJzLmluZGV4T2YoY3VzdG9tRXZlbnRMaXN0ZW5lciksXG4gICAgICAgIHN0YXJ0ID0gaW5kZXgsICAvLy9cbiAgICAgICAgZGVsZXRlQ291bnQgPSAxO1xuXG4gIHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCk7XG5cbiAgaWYgKHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMubGVuZ3RoID09PSAwKSB7XG4gICAgZGVsZXRlIHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnM7XG4gIH1cblxuICByZXR1cm4gY3VzdG9tRXZlbnRMaXN0ZW5lcjtcbn1cblxuZnVuY3Rpb24gZmluZEN1c3RvbUV2ZW50TGlzdGVuZXIoY3VzdG9tRXZlbnRUeXBlLCBjdXN0b21IYW5kbGVyLCBlbGVtZW50KSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50TGlzdGVuZXIgPSB0aGlzLmN1c3RvbUV2ZW50TGlzdGVuZXJzLmZpbmQoKGN1c3RvbUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICBpZiAoKGN1c3RvbUV2ZW50TGlzdGVuZXIuZWxlbWVudCA9PT0gZWxlbWVudCkgJiYgKGN1c3RvbUV2ZW50TGlzdGVuZXIuY3VzdG9tSGFuZGxlciA9PT0gY3VzdG9tSGFuZGxlcikgJiYgKGN1c3RvbUV2ZW50TGlzdGVuZXIuY3VzdG9tRXZlbnRUeXBlID09PSBjdXN0b21FdmVudFR5cGUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBjdXN0b21FdmVudExpc3RlbmVyO1xufVxuXG5mdW5jdGlvbiBmaW5kQ3VzdG9tRXZlbnRMaXN0ZW5lcnMoY3VzdG9tRXZlbnRUeXBlKSB7XG4gIGNvbnN0IGN1c3RvbUV2ZW50TGlzdGVuZXJzID0gW107XG5cbiAgaWYgKHRoaXMuY3VzdG9tRXZlbnRMaXN0ZW5lcnMpIHtcbiAgICB0aGlzLmN1c3RvbUV2ZW50TGlzdGVuZXJzLmZvckVhY2goKGN1c3RvbUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICAgIGNvbnN0IGZvdW5kID0gKGN1c3RvbUV2ZW50TGlzdGVuZXIuY3VzdG9tRXZlbnRUeXBlID09PSBjdXN0b21FdmVudFR5cGUpO1xuXG4gICAgICBpZiAoZm91bmQpIHtcbiAgICAgICAgY3VzdG9tRXZlbnRMaXN0ZW5lcnMucHVzaChjdXN0b21FdmVudExpc3RlbmVyKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBjdXN0b21FdmVudExpc3RlbmVycztcbn1cblxuZnVuY3Rpb24gY3JlYXRlQ3VzdG9tRXZlbnRMaXN0ZW5lcihjdXN0b21FdmVudFR5cGUsIGN1c3RvbUhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgbGV0IGN1c3RvbUV2ZW50TGlzdGVuZXI7XG5cbiAgY3VzdG9tRXZlbnRMaXN0ZW5lciA9ICgpID0+IHt9OyAvLy9cblxuICBPYmplY3QuYXNzaWduKGN1c3RvbUV2ZW50TGlzdGVuZXIsIHtcbiAgICBlbGVtZW50LFxuICAgIGN1c3RvbUhhbmRsZXIsXG4gICAgY3VzdG9tRXZlbnRUeXBlXG4gIH0pO1xuXG4gIHJldHVybiBjdXN0b21FdmVudExpc3RlbmVyO1xufVxuXG5jb25zdCBjdXN0b21FdmVudE1peGlucyA9IHtcbiAgb25DdXN0b21FdmVudCxcbiAgb2ZmQ3VzdG9tRXZlbnQsXG4gIGNhbGxDdXN0b21IYW5kbGVycyxcbiAgY2FsbEN1c3RvbUhhbmRsZXJzQXN5bmMsXG4gIGFkZEN1c3RvbUV2ZW50TGlzdGVuZXIsXG4gIHJlbW92ZUN1c3RvbUV2ZW50TGlzdGVuZXIsXG4gIGZpbmRDdXN0b21FdmVudExpc3RlbmVyLFxuICBmaW5kQ3VzdG9tRXZlbnRMaXN0ZW5lcnMsXG4gIGNyZWF0ZUN1c3RvbUV2ZW50TGlzdGVuZXJcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGN1c3RvbUV2ZW50TWl4aW5zO1xuIl0sIm5hbWVzIjpbIm9uQ3VzdG9tRXZlbnQiLCJjdXN0b21FdmVudFR5cGVzIiwiY3VzdG9tSGFuZGxlciIsImVsZW1lbnQiLCJzcGxpdCIsIlNQQUNFIiwiZm9yRWFjaCIsImN1c3RvbUV2ZW50VHlwZSIsImFkZEN1c3RvbUV2ZW50TGlzdGVuZXIiLCJvZmZDdXN0b21FdmVudCIsInJlbW92ZUN1c3RvbUV2ZW50TGlzdGVuZXIiLCJjYWxsQ3VzdG9tSGFuZGxlcnMiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJjdXN0b21FdmVudExpc3RlbmVycyIsImZpbmRDdXN0b21FdmVudExpc3RlbmVycyIsImN1c3RvbUV2ZW50TGlzdGVuZXIiLCJjdXN0b21IYW5kbGVyRWxlbWVudCIsImNhbGwiLCJjYWxsQ3VzdG9tSGFuZGxlcnNBc3luYyIsImRvbmUiLCJwb3AiLCJuZXh0IiwiY3JlYXRlQ3VzdG9tRXZlbnRMaXN0ZW5lciIsInB1c2giLCJmaW5kQ3VzdG9tRXZlbnRMaXN0ZW5lciIsImluZGV4IiwiaW5kZXhPZiIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJzcGxpY2UiLCJsZW5ndGgiLCJmaW5kIiwiZm91bmQiLCJPYmplY3QiLCJhc3NpZ24iLCJjdXN0b21FdmVudE1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBMEhBOzs7ZUFBQTs7OzJCQXhIc0I7dUJBQ0U7QUFFeEIsU0FBU0EsY0FBY0MsZ0JBQWdCLEVB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
|
package/lib/mixins/element.js
CHANGED
|
@@ -31,16 +31,15 @@ _export(exports, {
|
|
|
31
31
|
return getPreviousSiblingElement;
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
function getParentElement() {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var parentDOMElement = this.domElement.parentElement; ///
|
|
34
|
+
const _array = require("../utilities/array");
|
|
35
|
+
const _constants = require("../constants");
|
|
36
|
+
const _dom = require("../utilities/dom");
|
|
37
|
+
function getParentElement(selector = _constants.WILDCARD) {
|
|
38
|
+
let parentElement = null;
|
|
39
|
+
const parentDOMElement = this.domElement.parentElement; ///
|
|
41
40
|
if (parentDOMElement !== null) {
|
|
42
41
|
if (parentDOMElement.matches(selector)) {
|
|
43
|
-
|
|
42
|
+
const parentDOMElements = [
|
|
44
43
|
parentDOMElement
|
|
45
44
|
], parentElements = (0, _dom.elementsFromDOMElements)(parentDOMElements), firstParentElement = (0, _array.first)(parentElements);
|
|
46
45
|
parentElement = firstParentElement || null;
|
|
@@ -48,47 +47,42 @@ function getParentElement() {
|
|
|
48
47
|
}
|
|
49
48
|
return parentElement;
|
|
50
49
|
}
|
|
51
|
-
function getChildElements() {
|
|
52
|
-
|
|
53
|
-
var childDOMNodes = this.domElement.childNodes, childDOMElements = (0, _dom.filterDOMNodesBySelector)(childDOMNodes, selector), childElements = (0, _dom.elementsFromDOMElements)(childDOMElements);
|
|
50
|
+
function getChildElements(selector = _constants.WILDCARD) {
|
|
51
|
+
const childDOMNodes = this.domElement.childNodes, childDOMElements = (0, _dom.filterDOMNodesBySelector)(childDOMNodes, selector), childElements = (0, _dom.elementsFromDOMElements)(childDOMElements);
|
|
54
52
|
return childElements;
|
|
55
53
|
}
|
|
56
|
-
function getAscendantElements() {
|
|
57
|
-
|
|
58
|
-
var height = maximumHeight, domNode = this.domElement, ascendantDOMNodes = (0, _dom.ascendantDOMNodesFromDOMNode)(domNode, height), ascendantDOMElements = (0, _dom.filterDOMNodesBySelector)(ascendantDOMNodes, selector), ascendantElements = (0, _dom.elementsFromDOMElements)(ascendantDOMElements);
|
|
54
|
+
function getAscendantElements(selector = _constants.WILDCARD, maximumHeight = Infinity) {
|
|
55
|
+
const height = maximumHeight, domNode = this.domElement, ascendantDOMNodes = (0, _dom.ascendantDOMNodesFromDOMNode)(domNode, height), ascendantDOMElements = (0, _dom.filterDOMNodesBySelector)(ascendantDOMNodes, selector), ascendantElements = (0, _dom.elementsFromDOMElements)(ascendantDOMElements);
|
|
59
56
|
return ascendantElements;
|
|
60
57
|
}
|
|
61
|
-
function getDescendantElements() {
|
|
62
|
-
|
|
63
|
-
var depth = maximumDepth, domNode = this.domElement, descendantDOMNodes = (0, _dom.descendantDOMNodesFromDOMNode)(domNode, depth), descendantDOMElements = (0, _dom.filterDOMNodesBySelector)(descendantDOMNodes, selector), descendantElements = (0, _dom.elementsFromDOMElements)(descendantDOMElements);
|
|
58
|
+
function getDescendantElements(selector = _constants.WILDCARD, maximumDepth = Infinity) {
|
|
59
|
+
const depth = maximumDepth, domNode = this.domElement, descendantDOMNodes = (0, _dom.descendantDOMNodesFromDOMNode)(domNode, depth), descendantDOMElements = (0, _dom.filterDOMNodesBySelector)(descendantDOMNodes, selector), descendantElements = (0, _dom.elementsFromDOMElements)(descendantDOMElements);
|
|
64
60
|
return descendantElements;
|
|
65
61
|
}
|
|
66
|
-
function getNextSiblingElement() {
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
var nextSiblingDOMNode = this.domElement.nextSibling; ///
|
|
62
|
+
function getNextSiblingElement(selector = _constants.WILDCARD) {
|
|
63
|
+
let nextSiblingElement = null;
|
|
64
|
+
const nextSiblingDOMNode = this.domElement.nextSibling; ///
|
|
70
65
|
if (nextSiblingDOMNode !== null && (0, _dom.domNodeMatchesSelector)(nextSiblingDOMNode, selector)) {
|
|
71
66
|
nextSiblingElement = nextSiblingDOMNode.__element__ || null;
|
|
72
67
|
}
|
|
73
68
|
return nextSiblingElement;
|
|
74
69
|
}
|
|
75
|
-
function getPreviousSiblingElement() {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
var previousSiblingDOMNode = this.domElement.previousSibling; ///
|
|
70
|
+
function getPreviousSiblingElement(selector = _constants.WILDCARD) {
|
|
71
|
+
let previousSiblingElement = null;
|
|
72
|
+
const previousSiblingDOMNode = this.domElement.previousSibling; ///
|
|
79
73
|
if (previousSiblingDOMNode !== null && (0, _dom.domNodeMatchesSelector)(previousSiblingDOMNode, selector)) {
|
|
80
74
|
previousSiblingElement = previousSiblingDOMNode.__element__ || null;
|
|
81
75
|
}
|
|
82
76
|
return previousSiblingElement;
|
|
83
77
|
}
|
|
84
|
-
|
|
85
|
-
getParentElement
|
|
86
|
-
getChildElements
|
|
87
|
-
getAscendantElements
|
|
88
|
-
getDescendantElements
|
|
89
|
-
getNextSiblingElement
|
|
90
|
-
getPreviousSiblingElement
|
|
78
|
+
const elementMixins = {
|
|
79
|
+
getParentElement,
|
|
80
|
+
getChildElements,
|
|
81
|
+
getAscendantElements,
|
|
82
|
+
getDescendantElements,
|
|
83
|
+
getNextSiblingElement,
|
|
84
|
+
getPreviousSiblingElement
|
|
91
85
|
};
|
|
92
|
-
|
|
86
|
+
const _default = elementMixins;
|
|
93
87
|
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZWxlbWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgZmlyc3QgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2FycmF5XCI7XG5pbXBvcnQgeyBXSUxEQ0FSRCB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGRvbU5vZGVNYXRjaGVzU2VsZWN0b3IsIGVsZW1lbnRzRnJvbURPTUVsZW1lbnRzLCBmaWx0ZXJET01Ob2Rlc0J5U2VsZWN0b3IsIGFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUsIGRlc2NlbmRhbnRET01Ob2Rlc0Zyb21ET01Ob2RlIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9kb21cIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFBhcmVudEVsZW1lbnQoc2VsZWN0b3IgPSBXSUxEQ0FSRCkge1xuICBsZXQgcGFyZW50RWxlbWVudCA9IG51bGw7XG5cbiAgY29uc3QgcGFyZW50RE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudC5wYXJlbnRFbGVtZW50OyAvLy9cblxuICBpZiAocGFyZW50RE9NRWxlbWVudCAhPT0gbnVsbCkge1xuICAgIGlmIChwYXJlbnRET01FbGVtZW50Lm1hdGNoZXMoc2VsZWN0b3IpKSB7XG4gICAgICBjb25zdCBwYXJlbnRET01FbGVtZW50cyA9IFtcbiAgICAgICAgICAgICAgcGFyZW50RE9NRWxlbWVudFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBhcmVudEVsZW1lbnRzID0gZWxlbWVudHNGcm9tRE9NRWxlbWVudHMocGFyZW50RE9NRWxlbWVudHMpLFxuICAgICAgICAgICAgZmlyc3RQYXJlbnRFbGVtZW50ID0gZmlyc3QocGFyZW50RWxlbWVudHMpO1xuXG4gICAgICBwYXJlbnRFbGVtZW50ID0gZmlyc3RQYXJlbnRFbGVtZW50IHx8IG51bGw7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHBhcmVudEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRDaGlsZEVsZW1lbnRzKHNlbGVjdG9yID0gV0lMRENBUkQpIHtcbiAgY29uc3QgY2hpbGRET01Ob2RlcyA9IHRoaXMuZG9tRWxlbWVudC5jaGlsZE5vZGVzLCAvLy9cbiAgICAgICAgY2hpbGRET01FbGVtZW50cyA9IGZpbHRlckRPTU5vZGVzQnlTZWxlY3RvcihjaGlsZERPTU5vZGVzLCBzZWxlY3RvciksXG4gICAgICAgIGNoaWxkRWxlbWVudHMgPSBlbGVtZW50c0Zyb21ET01FbGVtZW50cyhjaGlsZERPTUVsZW1lbnRzKTtcblxuICByZXR1cm4gY2hpbGRFbGVtZW50cztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEFzY2VuZGFudEVsZW1lbnRzKHNlbGVjdG9yID0gV0lMRENBUkQsIG1heGltdW1IZWlnaHQgPSBJbmZpbml0eSkge1xuICBjb25zdCBoZWlnaHQgPSBtYXhpbXVtSGVpZ2h0LCAvLy9cbiAgICAgICAgZG9tTm9kZSA9IHRoaXMuZG9tRWxlbWVudCwgIC8vL1xuICAgICAgICBhc2NlbmRhbnRET01Ob2RlcyA9IGFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUoZG9tTm9kZSwgaGVpZ2h0KSxcbiAgICAgICAgYXNjZW5kYW50RE9NRWxlbWVudHMgPSBmaWx0ZXJET01Ob2Rlc0J5U2VsZWN0b3IoYXNjZW5kYW50RE9NTm9kZXMsIHNlbGVjdG9yKSxcbiAgICAgICAgYXNjZW5kYW50RWxlbWVudHMgPSBlbGVtZW50c0Zyb21ET01FbGVtZW50cyhhc2NlbmRhbnRET01FbGVtZW50cyk7XG5cbiAgcmV0dXJuIGFzY2VuZGFudEVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGVzY2VuZGFudEVsZW1lbnRzKHNlbGVjdG9yID0gV0lMRENBUkQsIG1heGltdW1EZXB0aCA9IEluZmluaXR5KSB7XG4gIGNvbnN0IGRlcHRoID0gbWF4aW11bURlcHRoLCAvLy9cbiAgICAgICAgZG9tTm9kZSA9IHRoaXMuZG9tRWxlbWVudCwgIC8vL1xuICAgICAgICBkZXNjZW5kYW50RE9NTm9kZXMgPSBkZXNjZW5kYW50RE9NTm9kZXNGcm9tRE9NTm9kZShkb21Ob2RlLCBkZXB0aCksXG4gICAgICAgIGRlc2NlbmRhbnRET01FbGVtZW50cyA9IGZpbHRlckRPTU5vZGVzQnlTZWxlY3RvcihkZXNjZW5kYW50RE9NTm9kZXMsIHNlbGVjdG9yKSxcbiAgICAgICAgZGVzY2VuZGFudEVsZW1lbnRzID0gZWxlbWVudHNGcm9tRE9NRWxlbWVudHMoZGVzY2VuZGFudERPTUVsZW1lbnRzKTtcblxuICByZXR1cm4gZGVzY2VuZGFudEVsZW1lbnRzO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmV4dFNpYmxpbmdFbGVtZW50KHNlbGVjdG9yID0gV0lMRENBUkQpIHtcbiAgbGV0IG5leHRTaWJsaW5nRWxlbWVudCA9IG51bGw7XG5cbiAgY29uc3QgbmV4dFNpYmxpbmdET01Ob2RlID0gdGhpcy5kb21FbGVtZW50Lm5leHRTaWJsaW5nOyAvLy9cblxuICBpZiAoKG5leHRTaWJsaW5nRE9NTm9kZSAhPT0gbnVsbCkgJiYgZG9tTm9kZU1hdGNoZXNTZWxlY3RvcihuZXh0U2libGluZ0RPTU5vZGUsIHNlbGVjdG9yKSkge1xuICAgIG5leHRTaWJsaW5nRWxlbWVudCA9IG5leHRTaWJsaW5nRE9NTm9kZS5fX2VsZW1lbnRfXyB8fCBudWxsO1xuICB9XG5cbiAgcmV0dXJuIG5leHRTaWJsaW5nRWxlbWVudDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFByZXZpb3VzU2libGluZ0VsZW1lbnQoc2VsZWN0b3IgPSBXSUxEQ0FSRCkge1xuICBsZXQgcHJldmlvdXNTaWJsaW5nRWxlbWVudCA9IG51bGw7XG5cbiAgY29uc3QgcHJldmlvdXNTaWJsaW5nRE9NTm9kZSA9IHRoaXMuZG9tRWxlbWVudC5wcmV2aW91c1NpYmxpbmc7ICAvLy9cblxuICBpZiAoKHByZXZpb3VzU2libGluZ0RPTU5vZGUgIT09IG51bGwpICYmIGRvbU5vZGVNYXRjaGVzU2VsZWN0b3IocHJldmlvdXNTaWJsaW5nRE9NTm9kZSwgc2VsZWN0b3IpKSB7XG4gICAgcHJldmlvdXNTaWJsaW5nRWxlbWVudCA9IHByZXZpb3VzU2libGluZ0RPTU5vZGUuX19lbGVtZW50X18gfHwgbnVsbDtcbiAgfVxuXG4gIHJldHVybiBwcmV2aW91c1NpYmxpbmdFbGVtZW50O1xufVxuXG5jb25zdCBlbGVtZW50TWl4aW5zID0ge1xuICBnZXRQYXJlbnRFbGVtZW50LFxuICBnZXRDaGlsZEVsZW1lbnRzLFxuICBnZXRBc2NlbmRhbnRFbGVtZW50cyxcbiAgZ2V0RGVzY2VuZGFudEVsZW1lbnRzLFxuICBnZXROZXh0U2libGluZ0VsZW1lbnQsXG4gIGdldFByZXZpb3VzU2libGluZ0VsZW1lbnRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGVsZW1lbnRNaXhpbnM7XG4iXSwibmFtZXMiOlsiZ2V0QXNjZW5kYW50RWxlbWVudHMiLCJnZXRDaGlsZEVsZW1lbnRzIiwiZ2V0RGVzY2VuZGFudEVsZW1lbnRzIiwiZ2V0TmV4dFNpYmxpbmdFbGVtZW50IiwiZ2V0UGFyZW50RWxlbWVudCIsImdldFByZXZpb3VzU2libGluZ0VsZW1lbnQiLCJzZWxlY3RvciIsIldJTERDQVJEIiwicGFyZW50RWxlbWVudCIsInBhcmVudERPTUVsZW1lbnQiLCJkb21FbGVtZW50IiwibWF0Y2hlcyIsInBhcmVudERPTUVsZW1lbnRzIiwicGFyZW50RWxlbWVudHMiLCJlbGVtZW50c0Zyb21ET01FbGVtZW50cyIsImZpcnN0UGFyZW50RWxlbWVudCIsImZpcnN0IiwiY2hpbGRET01Ob2RlcyIsImNoaWxkTm9kZXMiLCJjaGlsZERPTUVsZW1lbnRzIiwiZmlsdGVyRE9NTm9kZXNCeVNlbGVjdG9yIiwiY2hpbGRFbGVtZW50cyIsIm1heGltdW1IZWlnaHQiLCJJbmZpbml0eSIsImhlaWdodCIsImRvbU5vZGUiLCJhc2NlbmRhbnRET01Ob2RlcyIsImFzY2VuZGFudERPTU5vZGVzRnJvbURPTU5vZGUiLCJhc2NlbmRhbnRET01FbGVtZW50cyIsImFzY2VuZGFudEVsZW1lbnRzIiwibWF4aW11bURlcHRoIiwiZGVwdGgiLCJkZXNjZW5kYW50RE9NTm9kZXMiLCJkZXNjZW5kYW50RE9NTm9kZXNGcm9tRE9NTm9kZSIsImRlc2NlbmRhbnRET01FbGVtZW50cyIsImRlc2NlbmRhbnRFbGVtZW50cyIsIm5leHRTaWJsaW5nRWxlbWVudCIsIm5leHRTaWJsaW5nRE9NTm9kZSIsIm5leHRTaWJsaW5nIiwiZG9tTm9kZU1hdGNoZXNTZWxlY3RvciIsIl9fZWxlbWVudF9fIiwicHJldmlvdXNTaWJsaW5nRWxlbWVudCIsInByZXZpb3VzU2libGluZ0RPTU5vZGUiLCJwcmV2aW91c1NpYmxpbmciLCJlbGVtZW50TWl4aW5zIl0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7UUF1RkE7ZUFBQTs7UUFyRGdCQTtlQUFBQTs7UUFSQUM7ZUFBQUE7O1FBa0JBQztlQUFBQTs7UUFVQUM7ZUFBQUE7O1FBaERBQztlQUFBQTs7UUE0REFDO2VBQUFBOzs7dUJBaEVNOzJCQUNHO3FCQUM4SDtBQUVoSixTQUFTRCxpQkFBaUJFLFdBQVdDLG1CQUFRO0lBQ2xELElBQUlDLGdCQUFnQjtJQUVwQixNQUFNQyxtQkFBbUIsSUFBSSxDQUFDQyxVQUFVLENBQUNGLGFBQWEsRUFBRSxHQUFHO0lBRTNELElBQUlDLHFCQUFxQixNQUFNO1FBQzdCLElBQUlBLGlCQUFpQkUsT0FBTyxDQUFDTCxXQUFXO1lBQ3RDLE1BQU1NLG9CQUFvQjtnQkFDbEJIO2FBQ0QsRUFDREksaUJBQWlCQyxJQUFBQSw0QkFBdUIsRUFBQ0Ysb0JBQ3pDRyxxQkFBcUJDLElBQUFBLFlBQUssRUFBQ0g7WUFFakNMLGdCQUFnQk8sc0JBQXNCO1FBQ3hDO0lBQ0Y7SUFFQSxPQUFPUDtBQUNUO0FBRU8sU0FBU1AsaUJBQWlCSyxXQUFXQyxtQkFBUTtJQUNsRCxNQUFNVSxnQkFBZ0IsSUFBSSxDQUFDUCxVQUFVLENBQUNRLFVBQVUsRUFDMUNDLG1CQUFtQkMsSUFBQUEsNkJBQXdCLEVBQUNILGVBQWVYLFdBQzNEZSxnQkFBZ0JQLElBQUFBLDRCQUF1QixFQUFDSztJQUU5QyxPQUFPRTtBQUNUO0FBRU8sU0FBU3JCLHFCQUFxQk0sV0FBV0MsbUJBQVEsRUFBRWUsZ0JBQWdCQyxRQUFRO0lBQ2hGLE1BQU1DLFNBQVNGLGVBQ1RHLFVBQVUsSUFBSSxDQUFDZixVQUFVLEVBQ3pCZ0Isb0JBQW9CQyxJQUFBQSxpQ0FBNEIsRUFBQ0YsU0FBU0QsU0FDMURJLHVCQUF1QlIsSUFBQUEsNkJBQXdCLEVBQUNNLG1CQUFtQnBCLFdBQ25FdUIsb0JBQW9CZixJQUFBQSw0QkFBdUIsRUFBQ2M7SUFFbEQsT0FBT0M7QUFDVDtBQUVPLFNBQVMzQixzQkFBc0JJLFdBQVdDLG1CQUFRLEVBQUV1QixlQUFlUCxRQUFRO0lBQ2hGLE1BQU1RLFFBQVFELGNBQ1JMLFVBQVUsSUFBSSxDQUFDZixVQUFVLEVBQ3pCc0IscUJBQXFCQyxJQUFBQSxrQ0FBNkIsRUFBQ1IsU0FBU00sUUFDNURHLHdCQUF3QmQsSUFBQUEsNkJBQXdCLEVBQUNZLG9CQUFvQjFCLFdBQ3JFNkIscUJBQXFCckIsSUFBQUEsNEJBQXVCLEVBQUNvQjtJQUVuRCxPQUFPQztBQUNUO0FBRU8sU0FBU2hDLHNCQUFzQkcsV0FBV0MsbUJBQVE7SUFDdkQsSUFBSTZCLHFCQUFxQjtJQUV6QixNQUFNQyxxQkFBcUIsSUFBSSxDQUFDM0IsVUFBVSxDQUFDNEIsV0FBVyxFQUFFLEdBQUc7SUFFM0QsSUFBSSxBQUFDRCx1QkFBdUIsUUFBU0UsSUFBQUEsMkJBQXNCLEVBQUNGLG9CQUFvQi9CLFdBQVc7UUFDekY4QixxQkFBcUJDLG1CQUFtQkcsV0FBVyxJQUFJO0lBQ3pEO0lBRUEsT0FBT0o7QUFDVDtBQUVPLFNBQVMvQiwwQkFBMEJDLFdBQVdDLG1CQUFRO0lBQzNELElBQUlrQyx5QkFBeUI7SUFFN0IsTUFBTUMseUJBQXlCLElBQUksQ0FBQ2hDLFVBQVUsQ0FBQ2lDLGVBQWUsRUFBRyxHQUFHO0lBRXBFLElBQUksQUFBQ0QsMkJBQTJCLFFBQVNILElBQUFBLDJCQUFzQixFQUFDRyx3QkFBd0JwQyxXQUFXO1FBQ2pHbUMseUJBQXlCQyx1QkFBdUJGLFdBQVcsSUFBSTtJQUNqRTtJQUVBLE9BQU9DO0FBQ1Q7QUFFQSxNQUFNRyxnQkFBZ0I7SUFDcEJ4QztJQUNBSDtJQUNBRDtJQUNBRTtJQUNBQztJQUNBRTtBQUNGO01BRUEsV0FBZXVDIn0=
|
package/lib/mixins/event.js
CHANGED
|
@@ -8,52 +8,48 @@ Object.defineProperty(exports, "default", {
|
|
|
8
8
|
return _default;
|
|
9
9
|
}
|
|
10
10
|
});
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
function onEvent(eventTypes, handler) {
|
|
14
|
-
var _this = this;
|
|
15
|
-
var element = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this;
|
|
11
|
+
const _constants = require("../constants");
|
|
12
|
+
const _eventTypes = require("../eventTypes");
|
|
13
|
+
function onEvent(eventTypes, handler, element = this) {
|
|
16
14
|
eventTypes = eventTypes.split(_constants.SPACE); ///
|
|
17
|
-
eventTypes.forEach(
|
|
15
|
+
eventTypes.forEach((eventType)=>{
|
|
18
16
|
if (eventType === _eventTypes.RESIZE_EVENT_TYPE) {
|
|
19
|
-
|
|
17
|
+
const resizeEventListeners = this.findEventListeners(_eventTypes.RESIZE_EVENT_TYPE), resizeEventListenersLength = resizeEventListeners.length;
|
|
20
18
|
if (resizeEventListenersLength === 0) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
resizeEventListeners.forEach(
|
|
24
|
-
|
|
19
|
+
this.resizeObserver = new ResizeObserver((entries)=>{
|
|
20
|
+
const resizeEventListeners = this.findEventListeners(_eventTypes.RESIZE_EVENT_TYPE);
|
|
21
|
+
resizeEventListeners.forEach((resizeEventListener)=>{
|
|
22
|
+
const event = null;
|
|
25
23
|
resizeEventListener(event);
|
|
26
24
|
});
|
|
27
25
|
});
|
|
28
|
-
|
|
26
|
+
this.resizeObserver.observe(this.domElement);
|
|
29
27
|
}
|
|
30
|
-
|
|
28
|
+
this.addEventListener(eventType, handler, element);
|
|
31
29
|
} else {
|
|
32
|
-
|
|
33
|
-
|
|
30
|
+
const eventListener = this.addEventListener(eventType, handler, element);
|
|
31
|
+
this.domElement.addEventListener(eventType, eventListener);
|
|
34
32
|
}
|
|
35
33
|
});
|
|
36
34
|
}
|
|
37
|
-
function offEvent(eventTypes, handler) {
|
|
38
|
-
var _this = this;
|
|
39
|
-
var element = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : this;
|
|
35
|
+
function offEvent(eventTypes, handler, element = this) {
|
|
40
36
|
eventTypes = eventTypes.split(_constants.SPACE); ///
|
|
41
|
-
eventTypes.forEach(
|
|
37
|
+
eventTypes.forEach((eventType)=>{
|
|
42
38
|
if (eventType === _eventTypes.RESIZE_EVENT_TYPE) {
|
|
43
|
-
|
|
44
|
-
|
|
39
|
+
this.removeEventListener(eventType, handler, element);
|
|
40
|
+
const resizeEventListeners = this.findEventListeners(_eventTypes.RESIZE_EVENT_TYPE), resizeEventListenersLength = resizeEventListeners.length;
|
|
45
41
|
if (resizeEventListenersLength === 0) {
|
|
46
|
-
|
|
47
|
-
delete
|
|
42
|
+
this.resizeObserver.unobserve(this.domElement);
|
|
43
|
+
delete this.resizeObserver;
|
|
48
44
|
}
|
|
49
45
|
} else {
|
|
50
|
-
|
|
51
|
-
|
|
46
|
+
const eventListener = this.removeEventListener(eventType, handler, element);
|
|
47
|
+
this.domElement.removeEventListener(eventType, eventListener);
|
|
52
48
|
}
|
|
53
49
|
});
|
|
54
50
|
}
|
|
55
51
|
function addEventListener(eventType, handler, element) {
|
|
56
|
-
|
|
52
|
+
const eventListener = this.createEventListener(eventType, handler, element);
|
|
57
53
|
if (!this.eventListeners) {
|
|
58
54
|
this.eventListeners = [];
|
|
59
55
|
}
|
|
@@ -61,7 +57,7 @@ function addEventListener(eventType, handler, element) {
|
|
|
61
57
|
return eventListener;
|
|
62
58
|
}
|
|
63
59
|
function removeEventListener(eventType, handler, element) {
|
|
64
|
-
|
|
60
|
+
const eventListener = this.findEventListener(eventType, handler, element), index = this.eventListeners.indexOf(eventListener), start = index, deleteCount = 1;
|
|
65
61
|
this.eventListeners.splice(start, deleteCount);
|
|
66
62
|
if (this.eventListeners.length === 0) {
|
|
67
63
|
delete this.eventListeners;
|
|
@@ -69,7 +65,7 @@ function removeEventListener(eventType, handler, element) {
|
|
|
69
65
|
return eventListener;
|
|
70
66
|
}
|
|
71
67
|
function findEventListener(eventType, handler, element) {
|
|
72
|
-
|
|
68
|
+
const eventListener = this.eventListeners.find((eventListener)=>{
|
|
73
69
|
if (eventListener.element === element && eventListener.handler === handler && eventListener.eventType === eventType) {
|
|
74
70
|
return true;
|
|
75
71
|
}
|
|
@@ -77,10 +73,10 @@ function findEventListener(eventType, handler, element) {
|
|
|
77
73
|
return eventListener;
|
|
78
74
|
}
|
|
79
75
|
function findEventListeners(eventType) {
|
|
80
|
-
|
|
76
|
+
const eventListeners = [];
|
|
81
77
|
if (this.eventListeners) {
|
|
82
|
-
this.eventListeners.forEach(
|
|
83
|
-
|
|
78
|
+
this.eventListeners.forEach((eventListener)=>{
|
|
79
|
+
const found = eventListener.eventType === eventType;
|
|
84
80
|
if (found) {
|
|
85
81
|
eventListeners.push(eventListener);
|
|
86
82
|
}
|
|
@@ -89,29 +85,28 @@ function findEventListeners(eventType) {
|
|
|
89
85
|
return eventListeners;
|
|
90
86
|
}
|
|
91
87
|
function createEventListener(eventType, handler, element) {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
handler.call(handlerElement, event, _$element);
|
|
88
|
+
let eventListener;
|
|
89
|
+
const handlerElement = element; ///
|
|
90
|
+
eventListener = (event)=>{
|
|
91
|
+
const element = this; ///
|
|
92
|
+
handler.call(handlerElement, event, element);
|
|
98
93
|
};
|
|
99
94
|
Object.assign(eventListener, {
|
|
100
|
-
element
|
|
101
|
-
handler
|
|
102
|
-
eventType
|
|
95
|
+
element,
|
|
96
|
+
handler,
|
|
97
|
+
eventType
|
|
103
98
|
});
|
|
104
99
|
return eventListener;
|
|
105
100
|
}
|
|
106
|
-
|
|
107
|
-
onEvent
|
|
108
|
-
offEvent
|
|
109
|
-
addEventListener
|
|
110
|
-
removeEventListener
|
|
111
|
-
findEventListener
|
|
112
|
-
findEventListeners
|
|
113
|
-
createEventListener
|
|
101
|
+
const eventMixins = {
|
|
102
|
+
onEvent,
|
|
103
|
+
offEvent,
|
|
104
|
+
addEventListener,
|
|
105
|
+
removeEventListener,
|
|
106
|
+
findEventListener,
|
|
107
|
+
findEventListeners,
|
|
108
|
+
createEventListener
|
|
114
109
|
};
|
|
115
|
-
|
|
110
|
+
const _default = eventMixins;
|
|
116
111
|
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZXZlbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFNQQUNFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgUkVTSVpFX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi4vZXZlbnRUeXBlc1wiO1xuXG5mdW5jdGlvbiBvbkV2ZW50KGV2ZW50VHlwZXMsIGhhbmRsZXIsIGVsZW1lbnQgPSB0aGlzKSB7XG4gIGV2ZW50VHlwZXMgPSBldmVudFR5cGVzLnNwbGl0KFNQQUNFKTsgLy8vXG5cbiAgZXZlbnRUeXBlcy5mb3JFYWNoKChldmVudFR5cGUpID0+IHtcbiAgICBpZiAoZXZlbnRUeXBlID09PSBSRVNJWkVfRVZFTlRfVFlQRSkge1xuICAgICAgY29uc3QgcmVzaXplRXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhSRVNJWkVfRVZFTlRfVFlQRSksXG4gICAgICAgICAgICByZXNpemVFdmVudExpc3RlbmVyc0xlbmd0aCA9IHJlc2l6ZUV2ZW50TGlzdGVuZXJzLmxlbmd0aDtcblxuICAgICAgaWYgKHJlc2l6ZUV2ZW50TGlzdGVuZXJzTGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNpemVFdmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKFJFU0laRV9FVkVOVF9UWVBFKTtcblxuICAgICAgICAgIHJlc2l6ZUV2ZW50TGlzdGVuZXJzLmZvckVhY2goKHJlc2l6ZUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbnVsbDtcblxuICAgICAgICAgICAgcmVzaXplRXZlbnRMaXN0ZW5lcihldmVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmRvbUVsZW1lbnQpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBldmVudExpc3RlbmVyID0gdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG5cbiAgICAgIHRoaXMuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgZXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gb2ZmRXZlbnQoZXZlbnRUeXBlcywgaGFuZGxlciwgZWxlbWVudCA9IHRoaXMpIHtcbiAgZXZlbnRUeXBlcyA9IGV2ZW50VHlwZXMuc3BsaXQoU1BBQ0UpOyAvLy9cblxuICBldmVudFR5cGVzLmZvckVhY2goKGV2ZW50VHlwZSkgPT4ge1xuICAgIGlmIChldmVudFR5cGUgPT09IFJFU0laRV9FVkVOVF9UWVBFKSB7XG4gICAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcblxuICAgICAgY29uc3QgcmVzaXplRXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhSRVNJWkVfRVZFTlRfVFlQRSksXG4gICAgICAgICAgICByZXNpemVFdmVudExpc3RlbmVyc0xlbmd0aCA9IHJlc2l6ZUV2ZW50TGlzdGVuZXJzLmxlbmd0aDtcblxuICAgICAgaWYgKHJlc2l6ZUV2ZW50TGlzdGVuZXJzTGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuZG9tRWxlbWVudCk7XG5cbiAgICAgICAgZGVsZXRlIHRoaXMucmVzaXplT2JzZXJ2ZXI7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGV2ZW50TGlzdGVuZXIgPSB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcblxuICAgICAgdGhpcy5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBldmVudExpc3RlbmVyKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudExpc3RlbmVyID0gdGhpcy5jcmVhdGVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG5cbiAgaWYgKCF0aGlzLmV2ZW50TGlzdGVuZXJzKSB7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycyA9IFtdO1xuICB9XG5cbiAgdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKGV2ZW50TGlzdGVuZXIpO1xuXG4gIHJldHVybiBldmVudExpc3RlbmVyO1xufVxuXG5mdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudExpc3RlbmVyID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpLFxuICAgICAgICBpbmRleCA9IHRoaXMuZXZlbnRMaXN0ZW5lcnMuaW5kZXhPZihldmVudExpc3RlbmVyKSxcbiAgICAgICAgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgdGhpcy5ldmVudExpc3RlbmVycy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcblxuICBpZiAodGhpcy5ldmVudExpc3RlbmVycy5sZW5ndGggPT09IDApIHtcbiAgICBkZWxldGUgdGhpcy5ldmVudExpc3RlbmVycztcbiAgfVxuXG4gIHJldHVybiBldmVudExpc3RlbmVyO1xufVxuXG5mdW5jdGlvbiBmaW5kRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lciA9IHRoaXMuZXZlbnRMaXN0ZW5lcnMuZmluZCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGlmICgoZXZlbnRMaXN0ZW5lci5lbGVtZW50ID09PSBlbGVtZW50KSAmJiAoZXZlbnRMaXN0ZW5lci5oYW5kbGVyID09PSBoYW5kbGVyKSAmJiAoZXZlbnRMaXN0ZW5lci5ldmVudFR5cGUgPT09IGV2ZW50VHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGV2ZW50TGlzdGVuZXI7XG59XG5cbmZ1bmN0aW9uIGZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSBbXTtcblxuICBpZiAodGhpcy5ldmVudExpc3RlbmVycykge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSAoZXZlbnRMaXN0ZW5lci5ldmVudFR5cGUgPT09IGV2ZW50VHlwZSk7XG5cbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBldmVudExpc3RlbmVycy5wdXNoKGV2ZW50TGlzdGVuZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGV2ZW50TGlzdGVuZXJzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCkge1xuICBsZXQgZXZlbnRMaXN0ZW5lcjtcblxuICBjb25zdCBoYW5kbGVyRWxlbWVudCA9IGVsZW1lbnQ7IC8vL1xuXG4gIGV2ZW50TGlzdGVuZXIgPSAoZXZlbnQpID0+
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9taXhpbnMvZXZlbnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IFNQQUNFIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgUkVTSVpFX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi4vZXZlbnRUeXBlc1wiO1xuXG5mdW5jdGlvbiBvbkV2ZW50KGV2ZW50VHlwZXMsIGhhbmRsZXIsIGVsZW1lbnQgPSB0aGlzKSB7XG4gIGV2ZW50VHlwZXMgPSBldmVudFR5cGVzLnNwbGl0KFNQQUNFKTsgLy8vXG5cbiAgZXZlbnRUeXBlcy5mb3JFYWNoKChldmVudFR5cGUpID0+IHtcbiAgICBpZiAoZXZlbnRUeXBlID09PSBSRVNJWkVfRVZFTlRfVFlQRSkge1xuICAgICAgY29uc3QgcmVzaXplRXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhSRVNJWkVfRVZFTlRfVFlQRSksXG4gICAgICAgICAgICByZXNpemVFdmVudExpc3RlbmVyc0xlbmd0aCA9IHJlc2l6ZUV2ZW50TGlzdGVuZXJzLmxlbmd0aDtcblxuICAgICAgaWYgKHJlc2l6ZUV2ZW50TGlzdGVuZXJzTGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcbiAgICAgICAgICBjb25zdCByZXNpemVFdmVudExpc3RlbmVycyA9IHRoaXMuZmluZEV2ZW50TGlzdGVuZXJzKFJFU0laRV9FVkVOVF9UWVBFKTtcblxuICAgICAgICAgIHJlc2l6ZUV2ZW50TGlzdGVuZXJzLmZvckVhY2goKHJlc2l6ZUV2ZW50TGlzdGVuZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbnVsbDtcblxuICAgICAgICAgICAgcmVzaXplRXZlbnRMaXN0ZW5lcihldmVudCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmRvbUVsZW1lbnQpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBldmVudExpc3RlbmVyID0gdGhpcy5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG5cbiAgICAgIHRoaXMuZG9tRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgZXZlbnRMaXN0ZW5lcik7XG4gICAgfVxuICB9KTtcbn1cblxuZnVuY3Rpb24gb2ZmRXZlbnQoZXZlbnRUeXBlcywgaGFuZGxlciwgZWxlbWVudCA9IHRoaXMpIHtcbiAgZXZlbnRUeXBlcyA9IGV2ZW50VHlwZXMuc3BsaXQoU1BBQ0UpOyAvLy9cblxuICBldmVudFR5cGVzLmZvckVhY2goKGV2ZW50VHlwZSkgPT4ge1xuICAgIGlmIChldmVudFR5cGUgPT09IFJFU0laRV9FVkVOVF9UWVBFKSB7XG4gICAgICB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcblxuICAgICAgY29uc3QgcmVzaXplRXZlbnRMaXN0ZW5lcnMgPSB0aGlzLmZpbmRFdmVudExpc3RlbmVycyhSRVNJWkVfRVZFTlRfVFlQRSksXG4gICAgICAgICAgICByZXNpemVFdmVudExpc3RlbmVyc0xlbmd0aCA9IHJlc2l6ZUV2ZW50TGlzdGVuZXJzLmxlbmd0aDtcblxuICAgICAgaWYgKHJlc2l6ZUV2ZW50TGlzdGVuZXJzTGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIudW5vYnNlcnZlKHRoaXMuZG9tRWxlbWVudCk7XG5cbiAgICAgICAgZGVsZXRlIHRoaXMucmVzaXplT2JzZXJ2ZXI7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGV2ZW50TGlzdGVuZXIgPSB0aGlzLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBoYW5kbGVyLCBlbGVtZW50KTtcblxuICAgICAgdGhpcy5kb21FbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnRUeXBlLCBldmVudExpc3RlbmVyKTtcbiAgICB9XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBhZGRFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudExpc3RlbmVyID0gdGhpcy5jcmVhdGVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCk7XG5cbiAgaWYgKCF0aGlzLmV2ZW50TGlzdGVuZXJzKSB7XG4gICAgdGhpcy5ldmVudExpc3RlbmVycyA9IFtdO1xuICB9XG5cbiAgdGhpcy5ldmVudExpc3RlbmVycy5wdXNoKGV2ZW50TGlzdGVuZXIpO1xuXG4gIHJldHVybiBldmVudExpc3RlbmVyO1xufVxuXG5mdW5jdGlvbiByZW1vdmVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCkge1xuICBjb25zdCBldmVudExpc3RlbmVyID0gdGhpcy5maW5kRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpLFxuICAgICAgICBpbmRleCA9IHRoaXMuZXZlbnRMaXN0ZW5lcnMuaW5kZXhPZihldmVudExpc3RlbmVyKSxcbiAgICAgICAgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICBkZWxldGVDb3VudCA9IDE7XG5cbiAgdGhpcy5ldmVudExpc3RlbmVycy5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KTtcblxuICBpZiAodGhpcy5ldmVudExpc3RlbmVycy5sZW5ndGggPT09IDApIHtcbiAgICBkZWxldGUgdGhpcy5ldmVudExpc3RlbmVycztcbiAgfVxuXG4gIHJldHVybiBldmVudExpc3RlbmVyO1xufVxuXG5mdW5jdGlvbiBmaW5kRXZlbnRMaXN0ZW5lcihldmVudFR5cGUsIGhhbmRsZXIsIGVsZW1lbnQpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lciA9IHRoaXMuZXZlbnRMaXN0ZW5lcnMuZmluZCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgIGlmICgoZXZlbnRMaXN0ZW5lci5lbGVtZW50ID09PSBlbGVtZW50KSAmJiAoZXZlbnRMaXN0ZW5lci5oYW5kbGVyID09PSBoYW5kbGVyKSAmJiAoZXZlbnRMaXN0ZW5lci5ldmVudFR5cGUgPT09IGV2ZW50VHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIGV2ZW50TGlzdGVuZXI7XG59XG5cbmZ1bmN0aW9uIGZpbmRFdmVudExpc3RlbmVycyhldmVudFR5cGUpIHtcbiAgY29uc3QgZXZlbnRMaXN0ZW5lcnMgPSBbXTtcblxuICBpZiAodGhpcy5ldmVudExpc3RlbmVycykge1xuICAgIHRoaXMuZXZlbnRMaXN0ZW5lcnMuZm9yRWFjaCgoZXZlbnRMaXN0ZW5lcikgPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSAoZXZlbnRMaXN0ZW5lci5ldmVudFR5cGUgPT09IGV2ZW50VHlwZSk7XG5cbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBldmVudExpc3RlbmVycy5wdXNoKGV2ZW50TGlzdGVuZXIpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIGV2ZW50TGlzdGVuZXJzO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVFdmVudExpc3RlbmVyKGV2ZW50VHlwZSwgaGFuZGxlciwgZWxlbWVudCkge1xuICBsZXQgZXZlbnRMaXN0ZW5lcjtcblxuICBjb25zdCBoYW5kbGVyRWxlbWVudCA9IGVsZW1lbnQ7IC8vL1xuXG4gIGV2ZW50TGlzdGVuZXIgPSAoZXZlbnQpID0+IHtcbiAgICBjb25zdCBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBoYW5kbGVyLmNhbGwoaGFuZGxlckVsZW1lbnQsIGV2ZW50LCBlbGVtZW50KTtcbiAgfTtcblxuICBPYmplY3QuYXNzaWduKGV2ZW50TGlzdGVuZXIsIHtcbiAgICBlbGVtZW50LFxuICAgIGhhbmRsZXIsXG4gICAgZXZlbnRUeXBlXG4gIH0pO1xuXG4gIHJldHVybiBldmVudExpc3RlbmVyO1xufVxuXG5jb25zdCBldmVudE1peGlucyA9IHtcbiAgb25FdmVudCxcbiAgb2ZmRXZlbnQsXG4gIGFkZEV2ZW50TGlzdGVuZXIsXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIsXG4gIGZpbmRFdmVudExpc3RlbmVyLFxuICBmaW5kRXZlbnRMaXN0ZW5lcnMsXG4gIGNyZWF0ZUV2ZW50TGlzdGVuZXJcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGV2ZW50TWl4aW5zO1xuIl0sIm5hbWVzIjpbIm9uRXZlbnQiLCJldmVudFR5cGVzIiwiaGFuZGxlciIsImVsZW1lbnQiLCJzcGxpdCIsIlNQQUNFIiwiZm9yRWFjaCIsImV2ZW50VHlwZSIsIlJFU0laRV9FVkVOVF9UWVBFIiwicmVzaXplRXZlbnRMaXN0ZW5lcnMiLCJmaW5kRXZlbnRMaXN0ZW5lcnMiLCJyZXNpemVFdmVudExpc3RlbmVyc0xlbmd0aCIsImxlbmd0aCIsInJlc2l6ZU9ic2VydmVyIiwiUmVzaXplT2JzZXJ2ZXIiLCJlbnRyaWVzIiwicmVzaXplRXZlbnRMaXN0ZW5lciIsImV2ZW50Iiwib2JzZXJ2ZSIsImRvbUVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiZXZlbnRMaXN0ZW5lciIsIm9mZkV2ZW50IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsInVub2JzZXJ2ZSIsImNyZWF0ZUV2ZW50TGlzdGVuZXIiLCJldmVudExpc3RlbmVycyIsInB1c2giLCJmaW5kRXZlbnRMaXN0ZW5lciIsImluZGV4IiwiaW5kZXhPZiIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJzcGxpY2UiLCJmaW5kIiwiZm91bmQiLCJoYW5kbGVyRWxlbWVudCIsImNhbGwiLCJPYmplY3QiLCJhc3NpZ24iLCJldmVudE1peGlucyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7K0JBOElBOzs7ZUFBQTs7OzJCQTVJc0I7NEJBQ1k7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
|