easy 21.0.3 → 21.0.6
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/example.js +103 -100
- package/lib/element.js +52 -53
- package/lib/index.js +5 -1
- package/package.json +1 -1
- package/src/element.js +50 -43
- package/src/index.js +1 -0
package/lib/element.js
CHANGED
|
@@ -16,7 +16,6 @@ var _state = /*#__PURE__*/ _interop_require_default(require("./mixins/state"));
|
|
|
16
16
|
var _event = /*#__PURE__*/ _interop_require_default(require("./mixins/event"));
|
|
17
17
|
var _mouse = /*#__PURE__*/ _interop_require_default(require("./mixins/mouse"));
|
|
18
18
|
var _click = /*#__PURE__*/ _interop_require_default(require("./mixins/click"));
|
|
19
|
-
var _focus = /*#__PURE__*/ _interop_require_default(require("./mixins/focus"));
|
|
20
19
|
var _touch = /*#__PURE__*/ _interop_require_default(require("./mixins/touch"));
|
|
21
20
|
var _scroll = /*#__PURE__*/ _interop_require_default(require("./mixins/scroll"));
|
|
22
21
|
var _resize = /*#__PURE__*/ _interop_require_default(require("./mixins/resize"));
|
|
@@ -84,10 +83,7 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
84
83
|
var Element = /*#__PURE__*/ function() {
|
|
85
84
|
function Element(selector) {
|
|
86
85
|
_class_call_check(this, Element);
|
|
87
|
-
|
|
88
|
-
this.domElement = document.querySelector(selector);
|
|
89
|
-
this.domElement.__element__ = this; ///
|
|
90
|
-
}
|
|
86
|
+
this.domElement = document.querySelector(selector);
|
|
91
87
|
}
|
|
92
88
|
_create_class(Element, [
|
|
93
89
|
{
|
|
@@ -213,9 +209,9 @@ var Element = /*#__PURE__*/ function() {
|
|
|
213
209
|
}
|
|
214
210
|
},
|
|
215
211
|
{
|
|
216
|
-
key: "
|
|
217
|
-
value: function
|
|
218
|
-
parentElement.
|
|
212
|
+
key: "addTo",
|
|
213
|
+
value: function addTo(parentElement) {
|
|
214
|
+
parentElement.add(this);
|
|
219
215
|
}
|
|
220
216
|
},
|
|
221
217
|
{
|
|
@@ -225,9 +221,9 @@ var Element = /*#__PURE__*/ function() {
|
|
|
225
221
|
}
|
|
226
222
|
},
|
|
227
223
|
{
|
|
228
|
-
key: "
|
|
229
|
-
value: function
|
|
230
|
-
parentElement.
|
|
224
|
+
key: "prependTo",
|
|
225
|
+
value: function prependTo(parentElement) {
|
|
226
|
+
parentElement.prepend(this);
|
|
231
227
|
}
|
|
232
228
|
},
|
|
233
229
|
{
|
|
@@ -237,54 +233,72 @@ var Element = /*#__PURE__*/ function() {
|
|
|
237
233
|
}
|
|
238
234
|
},
|
|
239
235
|
{
|
|
240
|
-
key: "
|
|
241
|
-
value: function
|
|
242
|
-
|
|
243
|
-
parentDOMNode.insertBefore(this.domElement, siblingDOMElement);
|
|
236
|
+
key: "insert",
|
|
237
|
+
value: function insert(element) {
|
|
238
|
+
this.append(element);
|
|
244
239
|
}
|
|
245
240
|
},
|
|
246
241
|
{
|
|
247
|
-
key: "
|
|
248
|
-
value: function
|
|
249
|
-
|
|
250
|
-
|
|
242
|
+
key: "add",
|
|
243
|
+
value: function add(element) {
|
|
244
|
+
this.append(element);
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
{
|
|
248
|
+
key: "remove",
|
|
249
|
+
value: function remove(element) {
|
|
250
|
+
if (element) {
|
|
251
|
+
element.remove();
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
delete this.domElement.__element__;
|
|
255
|
+
this.domElement.remove();
|
|
251
256
|
}
|
|
252
257
|
},
|
|
253
258
|
{
|
|
254
259
|
key: "prepend",
|
|
255
260
|
value: function prepend(element) {
|
|
256
|
-
var domElement = element.domElement,
|
|
257
|
-
this.domElement.insertBefore(domElement,
|
|
261
|
+
var domElement = element.domElement, referenceDOMElement = this.domElement.firstChild; ///
|
|
262
|
+
this.domElement.insertBefore(domElement, referenceDOMElement);
|
|
263
|
+
domElement.__element__ = element;
|
|
258
264
|
}
|
|
259
265
|
},
|
|
260
266
|
{
|
|
261
267
|
key: "append",
|
|
262
268
|
value: function append(element) {
|
|
263
|
-
var domElement = element.domElement;
|
|
264
|
-
this.domElement.insertBefore(domElement,
|
|
269
|
+
var domElement = element.domElement, referenceDOMElement = null; ///
|
|
270
|
+
this.domElement.insertBefore(domElement, referenceDOMElement);
|
|
271
|
+
domElement.__element__ = element;
|
|
265
272
|
}
|
|
266
273
|
},
|
|
267
274
|
{
|
|
268
|
-
key: "
|
|
269
|
-
value: function
|
|
270
|
-
this.
|
|
275
|
+
key: "insertBefore",
|
|
276
|
+
value: function insertBefore(siblingElement) {
|
|
277
|
+
var element = this, parentDOMNode = siblingElement.domElement.parentNode, referenceDOMElement = siblingElement.domElement; ///
|
|
278
|
+
parentDOMNode.insertBefore(this.domElement, referenceDOMElement);
|
|
279
|
+
this.domElement.__element__ = element;
|
|
271
280
|
}
|
|
272
281
|
},
|
|
273
282
|
{
|
|
274
|
-
key: "
|
|
275
|
-
value: function
|
|
276
|
-
this.
|
|
283
|
+
key: "insertAfter",
|
|
284
|
+
value: function insertAfter(siblingElement) {
|
|
285
|
+
var element = this, parentDOMNode = siblingElement.domElement.parentNode, referenceDOMElement = siblingElement.domElement.nextSibling; ///
|
|
286
|
+
parentDOMNode.insertBefore(this.domElement, referenceDOMElement);
|
|
287
|
+
this.domElement.__element__ = element;
|
|
277
288
|
}
|
|
278
289
|
},
|
|
279
290
|
{
|
|
280
|
-
key: "
|
|
281
|
-
value: function
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
291
|
+
key: "mount",
|
|
292
|
+
value: function mount(element) {
|
|
293
|
+
this.add(element);
|
|
294
|
+
(0, _element1.mountElement)(element);
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
key: "unmount",
|
|
299
|
+
value: function unmount(element) {
|
|
300
|
+
(0, _element1.unmountElement)(element);
|
|
301
|
+
this.remove(element);
|
|
288
302
|
}
|
|
289
303
|
},
|
|
290
304
|
{
|
|
@@ -303,20 +317,6 @@ var Element = /*#__PURE__*/ function() {
|
|
|
303
317
|
(0, _element1.mountElement)(element);
|
|
304
318
|
}
|
|
305
319
|
},
|
|
306
|
-
{
|
|
307
|
-
key: "mount",
|
|
308
|
-
value: function mount(element) {
|
|
309
|
-
this.add(element);
|
|
310
|
-
(0, _element1.mountElement)(element);
|
|
311
|
-
}
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
key: "unmount",
|
|
315
|
-
value: function unmount(element) {
|
|
316
|
-
(0, _element1.unmountElement)(element);
|
|
317
|
-
this.remove(element);
|
|
318
|
-
}
|
|
319
|
-
},
|
|
320
320
|
{
|
|
321
321
|
key: "show",
|
|
322
322
|
value: function show() {
|
|
@@ -475,7 +475,6 @@ Object.assign(Element.prototype, _mouse.default);
|
|
|
475
475
|
Object.assign(Element.prototype, _click.default);
|
|
476
476
|
Object.assign(Element.prototype, _state.default);
|
|
477
477
|
Object.assign(Element.prototype, _event.default);
|
|
478
|
-
Object.assign(Element.prototype, _focus.default);
|
|
479
478
|
Object.assign(Element.prototype, _touch.default);
|
|
480
479
|
Object.assign(Element.prototype, _scroll.default);
|
|
481
480
|
Object.assign(Element.prototype, _resize.default);
|
|
@@ -523,4 +522,4 @@ function ignoredPropertiesFromClass(Class) {
|
|
|
523
522
|
return ignoredProperties;
|
|
524
523
|
}
|
|
525
524
|
|
|
526
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgT2Zmc2V0IGZyb20gXCIuL29mZnNldFwiO1xuaW1wb3J0IEJvdW5kcyBmcm9tIFwiLi9ib3VuZHNcIjtcbmltcG9ydCBqc3hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2pzeFwiO1xuaW1wb3J0IGtleU1peGlucyBmcm9tIFwiLi9taXhpbnMva2V5XCI7XG5pbXBvcnQgc3RhdGVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3N0YXRlXCI7XG5pbXBvcnQgZXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2V2ZW50XCI7XG5pbXBvcnQgbW91c2VNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21vdXNlXCI7XG5pbXBvcnQgY2xpY2tNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2NsaWNrXCI7XG5pbXBvcnQgZm9jdXNNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2ZvY3VzXCI7XG5pbXBvcnQgdG91Y2hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3RvdWNoXCI7XG5pbXBvcnQgc2Nyb2xsTWl4aW5zIGZyb20gXCIuL21peGlucy9zY3JvbGxcIjtcbmltcG9ydCByZXNpemVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3Jlc2l6ZVwiO1xuaW1wb3J0IGVsZW1lbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2VsZW1lbnRcIjtcbmltcG9ydCBmdWxsU2NyZWVuTWl4aW5zIGZyb20gXCIuL21peGlucy9mdWxsU2NyZWVuXCI7XG5pbXBvcnQgY3VzdG9tRXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2N1c3RvbUV2ZW50XCI7XG5cbmltcG9ydCB7IGNvbWJpbmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvb2JqZWN0XCI7XG5pbXBvcnQgeyBpc1NWR1RhZ05hbWUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbmFtZVwiO1xuaW1wb3J0IHsgZmlyc3QsIGF1Z21lbnQgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG1vdW50RWxlbWVudCwgdW5tb3VudEVsZW1lbnQgfSBmcm9tIFwiLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgTk9ORSxcbiAgICAgICAgIEJMT0NLLFxuICAgICAgICAgV0lEVEgsXG4gICAgICAgICBTVFJJTkcsXG4gICAgICAgICBIRUlHSFQsXG4gICAgICAgICBESVNQTEFZLFxuICAgICAgICAgRElTQUJMRUQsXG4gICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICBTVkdfTkFNRVNQQUNFX1VSSSxcbiAgICAgICAgIERFRkFVTFRfUFJPUEVSVElFUyxcbiAgICAgICAgIElHTk9SRURfUFJPUEVSVElFUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IpIHtcbiAgICBpZiAoc2VsZWN0b3IpIHtcbiAgICAgIHRoaXMuZG9tRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpO1xuXG4gICAgICB0aGlzLmRvbUVsZW1lbnQuX19lbGVtZW50X18gPSB0aGlzOyAvLy9cbiAgICB9XG4gIH1cblxuICBnZXRET01FbGVtZW50KCkge1xuICAgIHJldHVybiB0aGlzLmRvbUVsZW1lbnQ7XG4gIH1cblxuICBnZXRPZmZzZXQoKSB7XG4gICAgY29uc3QgdG9wID0gdGhpcy5kb21FbGVtZW50Lm9mZnNldFRvcCwgIC8vL1xuICAgICAgICAgIGxlZnQgPSB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0TGVmdCwgIC8vL1xuICAgICAgICAgIG9mZnNldCA9IG5ldyBPZmZzZXQodG9wLCBsZWZ0KTtcblxuICAgIHJldHVybiBvZmZzZXQ7XG4gIH1cblxuICBnZXRCb3VuZHMoKSB7XG4gICAgY29uc3QgYm91bmRpbmdDbGllbnRSZWN0ID0gdGhpcy5kb21FbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLFxuICAgICAgICAgIGJvdW5kcyA9IEJvdW5kcy5mcm9tQm91bmRpbmdDbGllbnRSZWN0KGJvdW5kaW5nQ2xpZW50UmVjdCk7XG5cbiAgICByZXR1cm4gYm91bmRzO1xuICB9XG5cbiAgZ2V0V2lkdGgoaW5jbHVkZUJvcmRlciA9IHRydWUpIHtcbiAgICBjb25zdCB3aWR0aCA9IGluY2x1ZGVCb3JkZXIgP1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0V2lkdGggOlxuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5jbGllbnRXaWR0aDtcblxuICAgIHJldHVybiB3aWR0aDtcbiAgfVxuXG4gIHNldFdpZHRoKHdpZHRoKSB7XG4gICAgd2lkdGggPSBgJHt3aWR0aH1weGA7IC8vL1xuXG4gICAgdGhpcy5zdHlsZShXSURUSCwgd2lkdGgpO1xuICB9XG5cbiAgZ2V0SGVpZ2h0KGluY2x1ZGVCb3JkZXIgPSB0cnVlKSB7XG4gICAgY29uc3QgaGVpZ2h0ID0gaW5jbHVkZUJvcmRlciA/XG4gICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0SGVpZ2h0IDpcbiAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50LmNsaWVudEhlaWdodDtcblxuICAgIHJldHVybiBoZWlnaHQ7XG4gIH1cblxuICBzZXRIZWlnaHQoaGVpZ2h0KSB7XG4gICAgaGVpZ2h0ID0gYCR7aGVpZ2h0fXB4YDsgLy8vXG5cbiAgICB0aGlzLnN0eWxlKEhFSUdIVCwgaGVpZ2h0KTtcbiAgfVxuXG4gIGhhc0F0dHJpYnV0ZShuYW1lKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuaGFzQXR0cmlidXRlKG5hbWUpOyB9XG5cbiAgZ2V0QXR0cmlidXRlKG5hbWUpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5nZXRBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBzZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHsgdGhpcy5kb21FbGVtZW50LnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7IH1cblxuICBjbGVhckF0dHJpYnV0ZShuYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBhZGRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHsgdGhpcy5zZXRBdHRyaWJ1dGUobmFtZSwgdmFsdWUpOyB9XG5cbiAgcmVtb3ZlQXR0cmlidXRlKG5hbWUpIHsgdGhpcy5jbGVhckF0dHJpYnV0ZShuYW1lKTsgfVxuXG4gIGhhc0NsYXNzKGNsYXNzTmFtZSkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50LmNsYXNzTGlzdC5jb250YWlucyhjbGFzc05hbWUpOyB9XG5cbiAgc2V0Q2xhc3MoY2xhc3NOYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc05hbWUgPSBjbGFzc05hbWU7IH1cblxuICBhZGRDbGFzcyhjbGFzc05hbWUpIHsgdGhpcy5kb21FbGVtZW50LmNsYXNzTGlzdC5hZGQoY2xhc3NOYW1lKTsgfVxuXG4gIHJlbW92ZUNsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShjbGFzc05hbWUpOyB9XG5cbiAgdG9nZ2xlQ2xhc3MoY2xhc3NOYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKGNsYXNzTmFtZSk7IH1cblxuICByZW1vdmVBbGxDbGFzc2VzKCkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NOYW1lID0gRU1QVFlfU1RSSU5HOyB9XG5cbiAgcHJlcGVuZFRvKHBhcmVudEVsZW1lbnQpIHsgcGFyZW50RWxlbWVudC5wcmVwZW5kKHRoaXMpOyB9XG5cbiAgYXBwZW5kVG8ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LmFwcGVuZCh0aGlzKTsgfVxuXG4gIGFkZFRvKHBhcmVudEVsZW1lbnQpIHsgcGFyZW50RWxlbWVudC5hZGQodGhpcyk7IH1cblxuICByZW1vdmVGcm9tKHBhcmVudEVsZW1lbnQpIHsgcGFyZW50RWxlbWVudC5yZW1vdmUodGhpcyk7IH1cblxuICBpbnNlcnRCZWZvcmUoc2libGluZ0VsZW1lbnQpIHtcbiAgICBjb25zdCBwYXJlbnRET01Ob2RlID0gc2libGluZ0VsZW1lbnQuZG9tRWxlbWVudC5wYXJlbnROb2RlLCAvLy9cbiAgICAgICAgICBzaWJsaW5nRE9NRWxlbWVudCA9IHNpYmxpbmdFbGVtZW50LmRvbUVsZW1lbnQ7ICAvLy9cblxuICAgIHBhcmVudERPTU5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuZG9tRWxlbWVudCwgc2libGluZ0RPTUVsZW1lbnQpO1xuICB9XG5cbiAgaW5zZXJ0QWZ0ZXIoc2libGluZ0VsZW1lbnQpIHtcbiAgICBjb25zdCBwYXJlbnRET01Ob2RlID0gc2libGluZ0VsZW1lbnQuZG9tRWxlbWVudC5wYXJlbnROb2RlLCAvLy9cbiAgICAgICAgICBzaWJsaW5nRE9NRWxlbWVudCA9IHNpYmxpbmdFbGVtZW50LmRvbUVsZW1lbnQ7ICAvLy9cblxuICAgIHBhcmVudERPTU5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuZG9tRWxlbWVudCwgc2libGluZ0RPTUVsZW1lbnQubmV4dFNpYmxpbmcpOyAgLy8vXG4gIH1cblxuICBwcmVwZW5kKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gZWxlbWVudC5kb21FbGVtZW50LFxuICAgICAgICAgIGZpcnN0Q2hpbGRET01FbGVtZW50ID0gdGhpcy5kb21FbGVtZW50LmZpcnN0Q2hpbGQ7ICAvLy9cblxuICAgIHRoaXMuZG9tRWxlbWVudC5pbnNlcnRCZWZvcmUoZG9tRWxlbWVudCwgZmlyc3RDaGlsZERPTUVsZW1lbnQpO1xuICB9XG5cbiAgYXBwZW5kKGVsZW1lbnQpIHtcbiAgICBjb25zdCBkb21FbGVtZW50ID0gZWxlbWVudC5kb21FbGVtZW50O1xuXG4gICAgdGhpcy5kb21FbGVtZW50Lmluc2VydEJlZm9yZShkb21FbGVtZW50LCBudWxsKTsgLy8vXG4gIH1cblxuICBpbnNlcnQoZWxlbWVudCkgeyB0aGlzLmFwcGVuZChlbGVtZW50KTsgfVxuXG4gIGFkZChlbGVtZW50KSB7IHRoaXMuYXBwZW5kKGVsZW1lbnQpOyB9XG5cbiAgcmVtb3ZlKGVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudCkge1xuICAgICAgY29uc3QgZG9tRWxlbWVudCA9IGVsZW1lbnQuZG9tRWxlbWVudDtcblxuICAgICAgdGhpcy5kb21FbGVtZW50LnJlbW92ZUNoaWxkKGRvbUVsZW1lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRvbUVsZW1lbnQucmVtb3ZlKCk7XG4gICAgfVxuICB9XG5cbiAgbW91bnRCZWZvcmUoc2libGluZ0VsZW1lbnQpIHtcbiAgICB0aGlzLmluc2VydEJlZm9yZShzaWJsaW5nRWxlbWVudCk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBtb3VudEVsZW1lbnQoZWxlbWVudCk7XG4gIH1cblxuICBtb3VudEFmdGVyKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgdGhpcy5pbnNlcnRCZWZvcmUoc2libGluZ0VsZW1lbnQpO1xuXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXM7IC8vL1xuXG4gICAgbW91bnRFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgbW91bnQoZWxlbWVudCkge1xuICAgIHRoaXMuYWRkKGVsZW1lbnQpO1xuXG4gICAgbW91bnRFbGVtZW50KGVsZW1lbnQpO1xuICB9XG5cbiAgdW5tb3VudChlbGVtZW50KSB7XG4gICAgdW5tb3VudEVsZW1lbnQoZWxlbWVudCk7XG5cbiAgICB0aGlzLnJlbW92ZShlbGVtZW50KTtcbiAgfVxuXG4gIHNob3coZGlzcGxheVN0eWxlID0gQkxPQ0spIHsgdGhpcy5kaXNwbGF5KGRpc3BsYXlTdHlsZSk7IH1cblxuICBoaWRlKCkgeyB0aGlzLnN0eWxlKERJU1BMQVksIE5PTkUpOyB9XG5cbiAgZGlzcGxheShkaXNwbGF5KSB7IHRoaXMuc3R5bGUoRElTUExBWSwgZGlzcGxheSk7IH1cblxuICBlbmFibGUoKSB7IHRoaXMuY2xlYXJBdHRyaWJ1dGUoRElTQUJMRUQpOyB9XG5cbiAgZGlzYWJsZSgpIHsgdGhpcy5zZXRBdHRyaWJ1dGUoRElTQUJMRUQsIERJU0FCTEVEKTsgfVxuXG4gIGlzRW5hYmxlZCgpIHtcbiAgICBjb25zdCBkaXNhYmxlZCA9IHRoaXMuaXNEaXNhYmxlZCgpLFxuICAgICAgICAgIGVuYWJsZWQgPSAhZGlzYWJsZWQ7XG5cbiAgICByZXR1cm4gZW5hYmxlZDtcbiAgfVxuXG4gIGlzRGlzYWJsZWQoKSB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmhhc0F0dHJpYnV0ZShESVNBQkxFRCk7XG5cbiAgICByZXR1cm4gZGlzYWJsZWQ7XG4gIH1cbiAgXG4gIGlzRGlzcGxheWVkKCkge1xuICAgIGNvbnN0IGRpc3BsYXkgPSB0aGlzLmNzcyhESVNQTEFZKSxcbiAgICAgICAgICBkaXNwbGF5ZWQgPSAoZGlzcGxheSAhPT0gTk9ORSk7XG4gICAgXG4gICAgcmV0dXJuIGRpc3BsYXllZDtcbiAgfVxuXG4gIGlzU2hvd2luZygpIHtcbiAgICBjb25zdCBkaXNwbGF5ZWQgPSB0aGlzLmlzRGlzcGxheWVkKCksXG4gICAgICAgICAgc2hvd2luZyA9IGRpc3BsYXllZDsgIC8vL1xuXG4gICAgcmV0dXJuIHNob3dpbmc7XG4gIH1cblxuICBpc0hpZGRlbigpIHtcbiAgICBjb25zdCBkaXNwbGF5ZWQgPSB0aGlzLmlzRGlzcGxheWVkKCksXG4gICAgICAgICAgaGlkZGVuID0gIWRpc3BsYXllZDtcblxuICAgIHJldHVybiBoaWRkZW47XG4gIH1cblxuICBzdHlsZShuYW1lLCB2YWx1ZSA9IG51bGwpIHtcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuZG9tRWxlbWVudC5zdHlsZVtuYW1lXSA9IHZhbHVlO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc3R5bGUgPSB0aGlzLmRvbUVsZW1lbnQuc3R5bGVbbmFtZV07XG5cbiAgICByZXR1cm4gc3R5bGU7XG4gIH1cblxuICBodG1sKGh0bWwgPSBudWxsKSB7XG4gICAgaWYgKGh0bWwgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGlubmVySFRNTCA9IGh0bWw7IC8vL1xuXG4gICAgICB0aGlzLmRvbUVsZW1lbnQuaW5uZXJIVE1MID0gaW5uZXJIVE1MXG5cbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBpbm5lckhUTUwgPSB0aGlzLmRvbUVsZW1lbnQuaW5uZXJIVE1MO1xuXG4gICAgaHRtbCA9IGlubmVySFRNTDsgLy8vXG5cbiAgICByZXR1cm4gaHRtbDtcbiAgfVxuXG4gIGNzcyhjc3MgPSBudWxsKSB7XG4gICAgaWYgKGNzcyA9PT0gbnVsbCkge1xuICAgICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGhpcy5kb21FbGVtZW50KSxcbiAgICAgICAgICAgIGNzcyA9IHt9O1xuXG4gICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY29tcHV0ZWRTdHlsZS5sZW5ndGg7IGluZGV4KyspIHtcbiAgICAgICAgY29uc3QgZmlyc3RDb21wdXRlZFN0eWxlID0gZmlyc3RbY29tcHV0ZWRTdHlsZV0sXG4gICAgICAgICAgICAgIG5hbWUgPSBmaXJzdENvbXB1dGVkU3R5bGUsICAvLy9cbiAgICAgICAgICAgICAgdmFsdWUgPSBjb21wdXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUobmFtZSk7IC8vL1xuXG4gICAgICAgIGNzc1tuYW1lXSA9IHZhbHVlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3NzO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgY3NzID09PSBTVFJJTkcpIHtcbiAgICAgIGxldCBuYW1lID0gY3NzOyAvLy9cblxuICAgICAgY29uc3QgY29tcHV0ZWRTdHlsZSA9IGdldENvbXB1dGVkU3R5bGUodGhpcy5kb21FbGVtZW50KSxcbiAgICAgICAgICAgIHZhbHVlID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpOyAvLy9cblxuICAgICAgY3NzID0gdmFsdWU7ICAvLy9cblxuICAgICAgcmV0dXJuIGNzcztcbiAgICB9XG5cbiAgICBjb25zdCBuYW1lcyA9IE9iamVjdC5rZXlzKGNzcyk7IC8vL1xuXG4gICAgbmFtZXMuZm9yRWFjaCgobmFtZSkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSBjc3NbbmFtZV07XG5cbiAgICAgIHRoaXMuc3R5bGUobmFtZSwgdmFsdWUpO1xuICAgIH0pO1xuICB9XG4gIFxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCB7IHRhZ05hbWUgfSA9IENsYXNzLFxuICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50RnJvbVRhZ05hbWUoQ2xhc3MsIHRhZ05hbWUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyksXG4gICAgICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSBkZWZhdWx0UHJvcGVydGllc0Zyb21DbGFzcyhDbGFzcyksXG4gICAgICAgICAgaWdub3JlZFByb3BlcnRpZXMgPSBpZ25vcmVkUHJvcGVydGllc0Zyb21DbGFzcyhDbGFzcyk7XG5cbiAgICBlbGVtZW50LmFwcGx5UHJvcGVydGllcyhwcm9wZXJ0aWVzLCBkZWZhdWx0UHJvcGVydGllcywgaWdub3JlZFByb3BlcnRpZXMpO1xuXG4gICAgZWxlbWVudC5pbml0aWFsaXNlICYmIGVsZW1lbnQuaW5pdGlhbGlzZSgpOyAvLy9cblxuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG5cbiAgc3RhdGljIGZyb21UYWdOYW1lKHRhZ05hbWUsIHByb3BlcnRpZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICAgIGNvbnN0IENsYXNzID0gRWxlbWVudCwgIC8vL1xuICAgICAgICAgIGVsZW1lbnQgPSBlbGVtZW50RnJvbVRhZ05hbWUoQ2xhc3MsIHRhZ05hbWUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyksXG4gICAgICAgICAgZGVmYXVsdFByb3BlcnRpZXMgPSB7fSwgLy8vXG4gICAgICAgICAgaWdub3JlZFByb3BlcnRpZXMgPSBbXTsgLy8vXG5cbiAgICBlbGVtZW50LmFwcGx5UHJvcGVydGllcyhwcm9wZXJ0aWVzLCBkZWZhdWx0UHJvcGVydGllcywgaWdub3JlZFByb3BlcnRpZXMpO1xuXG4gICAgZWxlbWVudC5pbml0aWFsaXNlICYmIGVsZW1lbnQuaW5pdGlhbGlzZSgpOyAvLy9cblxuICAgIHJldHVybiBlbGVtZW50O1xuICB9XG59XG5cbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGpzeE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBrZXlNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgbW91c2VNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgY2xpY2tNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgc3RhdGVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgZXZlbnRNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgZm9jdXNNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgdG91Y2hNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgc2Nyb2xsTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHJlc2l6ZU1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBlbGVtZW50TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGZ1bGxTY3JlZW5NaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgY3VzdG9tRXZlbnRNaXhpbnMpO1xuXG5mdW5jdGlvbiBlbGVtZW50RnJvbVRhZ05hbWUoQ2xhc3MsIHRhZ05hbWUsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xuICBjb25zdCBzZWxlY3RvciA9IG51bGwsXG4gICAgICAgIGVsZW1lbnQgPSBuZXcgKEZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kLmNhbGwoQ2xhc3MsIG51bGwsIHNlbGVjdG9yLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpKTtcblxuICBlbGVtZW50LmRvbUVsZW1lbnQgPSBpc1NWR1RhZ05hbWUodGFnTmFtZSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyhTVkdfTkFNRVNQQUNFX1VSSSwgdGFnTmFtZSkgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0YWdOYW1lKTtcblxuICBlbGVtZW50LmRvbUVsZW1lbnQuX19lbGVtZW50X18gPSBlbGVtZW50OyAvLy9cblxuICByZXR1cm4gZWxlbWVudDtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MsIGRlZmF1bHRQcm9wZXJ0aWVzID0ge30pIHtcbiAgaWYgKENsYXNzLmhhc093blByb3BlcnR5KERFRkFVTFRfUFJPUEVSVElFUykpIHtcbiAgICBkZWZhdWx0UHJvcGVydGllcyA9IGNvbWJpbmUoZGVmYXVsdFByb3BlcnRpZXMsIENsYXNzW0RFRkFVTFRfUFJPUEVSVElFU10pO1xuICB9XG5cbiAgY29uc3Qgc3VwZXJDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihDbGFzcyk7ICAvLy9cblxuICBpZiAoc3VwZXJDbGFzcyAhPT0gbnVsbCkge1xuICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0gZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3Moc3VwZXJDbGFzcywgZGVmYXVsdFByb3BlcnRpZXMpO1xuICB9XG5cbiAgcmV0dXJuIGRlZmF1bHRQcm9wZXJ0aWVzO1xufVxuXG5mdW5jdGlvbiBpZ25vcmVkUHJvcGVydGllc0Zyb21DbGFzcyhDbGFzcywgaWdub3JlZFByb3BlcnRpZXMgPSBbXSkge1xuICBpZiAoQ2xhc3MuaGFzT3duUHJvcGVydHkoSUdOT1JFRF9QUk9QRVJUSUVTKSkge1xuICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gYXVnbWVudChpZ25vcmVkUHJvcGVydGllcywgQ2xhc3NbSUdOT1JFRF9QUk9QRVJUSUVTXSwgKGlnbm9yZWRQcm9wZXJ0eSkgPT4ge1xuICAgICAgaWYgKCFpZ25vcmVkUHJvcGVydGllcy5pbmNsdWRlcyhpZ25vcmVkUHJvcGVydHkpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgY29uc3Qgc3VwZXJDbGFzcyA9IE9iamVjdC5nZXRQcm90b3R5cGVPZihDbGFzcyk7XG5cbiAgaWYgKHN1cGVyQ2xhc3MgIT09IG51bGwpIHtcbiAgICBpZ25vcmVkUHJvcGVydGllcyA9IGlnbm9yZWRQcm9wZXJ0aWVzRnJvbUNsYXNzKHN1cGVyQ2xhc3MsIGlnbm9yZWRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIHJldHVybiBpZ25vcmVkUHJvcGVydGllcztcbn1cbiJdLCJuYW1lcyI6WyJFbGVtZW50Iiwic2VsZWN0b3IiLCJkb21FbGVtZW50IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiX19lbGVtZW50X18iLCJnZXRET01FbGVtZW50IiwiZ2V0T2Zmc2V0IiwidG9wIiwib2Zmc2V0VG9wIiwibGVmdCIsIm9mZnNldExlZnQiLCJvZmZzZXQiLCJPZmZzZXQiLCJnZXRCb3VuZHMiLCJib3VuZGluZ0NsaWVudFJlY3QiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJib3VuZHMiLCJCb3VuZHMiLCJmcm9tQm91bmRpbmdDbGllbnRSZWN0IiwiZ2V0V2lkdGgiLCJpbmNsdWRlQm9yZGVyIiwid2lkdGgiLCJvZmZzZXRXaWR0aCIsImNsaWVudFdpZHRoIiwic2V0V2lkdGgiLCJzdHlsZSIsIldJRFRIIiwiZ2V0SGVpZ2h0IiwiaGVpZ2h0Iiwib2Zmc2V0SGVpZ2h0IiwiY2xpZW50SGVpZ2h0Iiwic2V0SGVpZ2h0IiwiSEVJR0hUIiwiaGFzQXR0cmlidXRlIiwibmFtZSIsImdldEF0dHJpYnV0ZSIsInNldEF0dHJpYnV0ZSIsInZhbHVlIiwiY2xlYXJBdHRyaWJ1dGUiLCJyZW1vdmVBdHRyaWJ1dGUiLCJhZGRBdHRyaWJ1dGUiLCJoYXNDbGFzcyIsImNsYXNzTmFtZSIsImNsYXNzTGlzdCIsImNvbnRhaW5zIiwic2V0Q2xhc3MiLCJhZGRDbGFzcyIsImFkZCIsInJlbW92ZUNsYXNzIiwicmVtb3ZlIiwidG9nZ2xlQ2xhc3MiLCJ0b2dnbGUiLCJyZW1vdmVBbGxDbGFzc2VzIiwiRU1QVFlfU1RSSU5HIiwicHJlcGVuZFRvIiwicGFyZW50RWxlbWVudCIsInByZXBlbmQiLCJhcHBlbmRUbyIsImFwcGVuZCIsImFkZFRvIiwicmVtb3ZlRnJvbSIsImluc2VydEJlZm9yZSIsInNpYmxpbmdFbGVtZW50IiwicGFyZW50RE9NTm9kZSIsInBhcmVudE5vZGUiLCJzaWJsaW5nRE9NRWxlbWVudCIsImluc2VydEFmdGVyIiwibmV4dFNpYmxpbmciLCJlbGVtZW50IiwiZmlyc3RDaGlsZERPTUVsZW1lbnQiLCJmaXJzdENoaWxkIiwiaW5zZXJ0IiwicmVtb3ZlQ2hpbGQiLCJtb3VudEJlZm9yZSIsIm1vdW50RWxlbWVudCIsIm1vdW50QWZ0ZXIiLCJtb3VudCIsInVubW91bnQiLCJ1bm1vdW50RWxlbWVudCIsInNob3ciLCJkaXNwbGF5U3R5bGUiLCJCTE9DSyIsImRpc3BsYXkiLCJoaWRlIiwiRElTUExBWSIsIk5PTkUiLCJlbmFibGUiLCJESVNBQkxFRCIsImRpc2FibGUiLCJpc0VuYWJsZWQiLCJkaXNhYmxlZCIsImlzRGlzYWJsZWQiLCJlbmFibGVkIiwiaXNEaXNwbGF5ZWQiLCJjc3MiLCJkaXNwbGF5ZWQiLCJpc1Nob3dpbmciLCJzaG93aW5nIiwiaXNIaWRkZW4iLCJoaWRkZW4iLCJodG1sIiwiaW5uZXJIVE1MIiwiY29tcHV0ZWRTdHlsZSIsImdldENvbXB1dGVkU3R5bGUiLCJpbmRleCIsImxlbmd0aCIsImZpcnN0Q29tcHV0ZWRTdHlsZSIsImZpcnN0IiwiZ2V0UHJvcGVydHlWYWx1ZSIsIlNUUklORyIsIm5hbWVzIiwiT2JqZWN0Iiwia2V5cyIsImZvckVhY2giLCJmcm9tQ2xhc3MiLCJDbGFzcyIsInByb3BlcnRpZXMiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJ0YWdOYW1lIiwiZWxlbWVudEZyb21UYWdOYW1lIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJkZWZhdWx0UHJvcGVydGllc0Zyb21DbGFzcyIsImlnbm9yZWRQcm9wZXJ0aWVzIiwiaWdub3JlZFByb3BlcnRpZXNGcm9tQ2xhc3MiLCJhcHBseVByb3BlcnRpZXMiLCJpbml0aWFsaXNlIiwiZnJvbVRhZ05hbWUiLCJhc3NpZ24iLCJwcm90b3R5cGUiLCJqc3hNaXhpbnMiLCJrZXlNaXhpbnMiLCJtb3VzZU1peGlucyIsImNsaWNrTWl4aW5zIiwic3RhdGVNaXhpbnMiLCJldmVudE1peGlucyIsImZvY3VzTWl4aW5zIiwidG91Y2hNaXhpbnMiLCJzY3JvbGxNaXhpbnMiLCJyZXNpemVNaXhpbnMiLCJlbGVtZW50TWl4aW5zIiwiZnVsbFNjcmVlbk1peGlucyIsImN1c3RvbUV2ZW50TWl4aW5zIiwiRnVuY3Rpb24iLCJiaW5kIiwiY2FsbCIsImlzU1ZHVGFnTmFtZSIsImNyZWF0ZUVsZW1lbnROUyIsIlNWR19OQU1FU1BBQ0VfVVJJIiwiY3JlYXRlRWxlbWVudCIsImhhc093blByb3BlcnR5IiwiREVGQVVMVF9QUk9QRVJUSUVTIiwiY29tYmluZSIsInN1cGVyQ2xhc3MiLCJnZXRQcm90b3R5cGVPZiIsIklHTk9SRURfUFJPUEVSVElFUyIsImF1Z21lbnQiLCJpZ25vcmVkUHJvcGVydHkiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFrQ3FCQTs7OzZEQWhDRjs2REFDQTswREFDRzswREFDQTs0REFDRTs0REFDQTs0REFDQTs0REFDQTs0REFDQTs0REFDQTs2REFDQzs2REFDQTs4REFDQztpRUFDRztrRUFDQztzQkFFTjtvQkFDSztxQkFDRTt3QkFDYzt5QkFXVjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
525
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9lbGVtZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgT2Zmc2V0IGZyb20gXCIuL29mZnNldFwiO1xuaW1wb3J0IEJvdW5kcyBmcm9tIFwiLi9ib3VuZHNcIjtcbmltcG9ydCBqc3hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2pzeFwiO1xuaW1wb3J0IGtleU1peGlucyBmcm9tIFwiLi9taXhpbnMva2V5XCI7XG5pbXBvcnQgc3RhdGVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3N0YXRlXCI7XG5pbXBvcnQgZXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2V2ZW50XCI7XG5pbXBvcnQgbW91c2VNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL21vdXNlXCI7XG5pbXBvcnQgY2xpY2tNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2NsaWNrXCI7XG5pbXBvcnQgdG91Y2hNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3RvdWNoXCI7XG5pbXBvcnQgc2Nyb2xsTWl4aW5zIGZyb20gXCIuL21peGlucy9zY3JvbGxcIjtcbmltcG9ydCByZXNpemVNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL3Jlc2l6ZVwiO1xuaW1wb3J0IGVsZW1lbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2VsZW1lbnRcIjtcbmltcG9ydCBmdWxsU2NyZWVuTWl4aW5zIGZyb20gXCIuL21peGlucy9mdWxsU2NyZWVuXCI7XG5pbXBvcnQgY3VzdG9tRXZlbnRNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2N1c3RvbUV2ZW50XCI7XG5cbmltcG9ydCB7IGNvbWJpbmUgfSBmcm9tIFwiLi91dGlsaXRpZXMvb2JqZWN0XCI7XG5pbXBvcnQgeyBpc1NWR1RhZ05hbWUgfSBmcm9tIFwiLi91dGlsaXRpZXMvbmFtZVwiO1xuaW1wb3J0IHsgZmlyc3QsIGF1Z21lbnQgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmltcG9ydCB7IG1vdW50RWxlbWVudCwgdW5tb3VudEVsZW1lbnQgfSBmcm9tIFwiLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuaW1wb3J0IHsgTk9ORSxcbiAgICAgICAgIEJMT0NLLFxuICAgICAgICAgV0lEVEgsXG4gICAgICAgICBTVFJJTkcsXG4gICAgICAgICBIRUlHSFQsXG4gICAgICAgICBESVNQTEFZLFxuICAgICAgICAgRElTQUJMRUQsXG4gICAgICAgICBFTVBUWV9TVFJJTkcsXG4gICAgICAgICBTVkdfTkFNRVNQQUNFX1VSSSxcbiAgICAgICAgIERFRkFVTFRfUFJPUEVSVElFUyxcbiAgICAgICAgIElHTk9SRURfUFJPUEVSVElFUyB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFbGVtZW50IHtcbiAgY29uc3RydWN0b3Ioc2VsZWN0b3IpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKHNlbGVjdG9yKTtcbiAgfVxuXG4gIGdldERPTUVsZW1lbnQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZG9tRWxlbWVudDtcbiAgfVxuXG4gIGdldE9mZnNldCgpIHtcbiAgICBjb25zdCB0b3AgPSB0aGlzLmRvbUVsZW1lbnQub2Zmc2V0VG9wLCAgLy8vXG4gICAgICAgICAgbGVmdCA9IHRoaXMuZG9tRWxlbWVudC5vZmZzZXRMZWZ0LCAgLy8vXG4gICAgICAgICAgb2Zmc2V0ID0gbmV3IE9mZnNldCh0b3AsIGxlZnQpO1xuXG4gICAgcmV0dXJuIG9mZnNldDtcbiAgfVxuXG4gIGdldEJvdW5kcygpIHtcbiAgICBjb25zdCBib3VuZGluZ0NsaWVudFJlY3QgPSB0aGlzLmRvbUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksXG4gICAgICAgICAgYm91bmRzID0gQm91bmRzLmZyb21Cb3VuZGluZ0NsaWVudFJlY3QoYm91bmRpbmdDbGllbnRSZWN0KTtcblxuICAgIHJldHVybiBib3VuZHM7XG4gIH1cblxuICBnZXRXaWR0aChpbmNsdWRlQm9yZGVyID0gdHJ1ZSkge1xuICAgIGNvbnN0IHdpZHRoID0gaW5jbHVkZUJvcmRlciA/XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5vZmZzZXRXaWR0aCA6XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5kb21FbGVtZW50LmNsaWVudFdpZHRoO1xuXG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgc2V0V2lkdGgod2lkdGgpIHtcbiAgICB3aWR0aCA9IGAke3dpZHRofXB4YDsgLy8vXG5cbiAgICB0aGlzLnN0eWxlKFdJRFRILCB3aWR0aCk7XG4gIH1cblxuICBnZXRIZWlnaHQoaW5jbHVkZUJvcmRlciA9IHRydWUpIHtcbiAgICBjb25zdCBoZWlnaHQgPSBpbmNsdWRlQm9yZGVyID9cbiAgICAgICAgICAgICAgICAgICAgIHRoaXMuZG9tRWxlbWVudC5vZmZzZXRIZWlnaHQgOlxuICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmRvbUVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuXG4gICAgcmV0dXJuIGhlaWdodDtcbiAgfVxuXG4gIHNldEhlaWdodChoZWlnaHQpIHtcbiAgICBoZWlnaHQgPSBgJHtoZWlnaHR9cHhgOyAvLy9cblxuICAgIHRoaXMuc3R5bGUoSEVJR0hULCBoZWlnaHQpO1xuICB9XG5cbiAgaGFzQXR0cmlidXRlKG5hbWUpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5oYXNBdHRyaWJ1dGUobmFtZSk7IH1cblxuICBnZXRBdHRyaWJ1dGUobmFtZSkgeyByZXR1cm4gdGhpcy5kb21FbGVtZW50LmdldEF0dHJpYnV0ZShuYW1lKTsgfVxuXG4gIHNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgeyB0aGlzLmRvbUVsZW1lbnQuc2V0QXR0cmlidXRlKG5hbWUsIHZhbHVlKTsgfVxuXG4gIGNsZWFyQXR0cmlidXRlKG5hbWUpIHsgdGhpcy5kb21FbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShuYW1lKTsgfVxuXG4gIGFkZEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkgeyB0aGlzLnNldEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7IH1cblxuICByZW1vdmVBdHRyaWJ1dGUobmFtZSkgeyB0aGlzLmNsZWFyQXR0cmlidXRlKG5hbWUpOyB9XG5cbiAgaGFzQ2xhc3MoY2xhc3NOYW1lKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKGNsYXNzTmFtZSk7IH1cblxuICBzZXRDbGFzcyhjbGFzc05hbWUpIHsgdGhpcy5kb21FbGVtZW50LmNsYXNzTmFtZSA9IGNsYXNzTmFtZTsgfVxuXG4gIGFkZENsYXNzKGNsYXNzTmFtZSkgeyB0aGlzLmRvbUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpOyB9XG5cbiAgcmVtb3ZlQ2xhc3MoY2xhc3NOYW1lKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKGNsYXNzTmFtZSk7IH1cblxuICB0b2dnbGVDbGFzcyhjbGFzc05hbWUpIHsgdGhpcy5kb21FbGVtZW50LmNsYXNzTGlzdC50b2dnbGUoY2xhc3NOYW1lKTsgfVxuXG4gIHJlbW92ZUFsbENsYXNzZXMoKSB7IHRoaXMuZG9tRWxlbWVudC5jbGFzc05hbWUgPSBFTVBUWV9TVFJJTkc7IH1cblxuICBhZGRUbyhwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQuYWRkKHRoaXMpOyB9XG5cbiAgYXBwZW5kVG8ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LmFwcGVuZCh0aGlzKTsgfVxuXG4gIHByZXBlbmRUbyhwYXJlbnRFbGVtZW50KSB7IHBhcmVudEVsZW1lbnQucHJlcGVuZCh0aGlzKTsgfVxuXG4gIHJlbW92ZUZyb20ocGFyZW50RWxlbWVudCkgeyBwYXJlbnRFbGVtZW50LnJlbW92ZSh0aGlzKTsgfVxuXG4gIGluc2VydChlbGVtZW50KSB7IHRoaXMuYXBwZW5kKGVsZW1lbnQpOyB9XG5cbiAgYWRkKGVsZW1lbnQpIHsgdGhpcy5hcHBlbmQoZWxlbWVudCk7IH1cblxuICByZW1vdmUoZWxlbWVudCkge1xuICAgIGlmIChlbGVtZW50KSB7XG4gICAgICBlbGVtZW50LnJlbW92ZSgpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgZGVsZXRlIHRoaXMuZG9tRWxlbWVudC5fX2VsZW1lbnRfXztcblxuICAgIHRoaXMuZG9tRWxlbWVudC5yZW1vdmUoKTtcbiAgfVxuXG4gIHByZXBlbmQoZWxlbWVudCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBlbGVtZW50LmRvbUVsZW1lbnQsXG4gICAgICAgICAgcmVmZXJlbmNlRE9NRWxlbWVudCA9IHRoaXMuZG9tRWxlbWVudC5maXJzdENoaWxkOyAgLy8vXG5cbiAgICB0aGlzLmRvbUVsZW1lbnQuaW5zZXJ0QmVmb3JlKGRvbUVsZW1lbnQsIHJlZmVyZW5jZURPTUVsZW1lbnQpO1xuXG4gICAgZG9tRWxlbWVudC5fX2VsZW1lbnRfXyA9IGVsZW1lbnQ7XG4gIH1cblxuICBhcHBlbmQoZWxlbWVudCkge1xuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSBlbGVtZW50LmRvbUVsZW1lbnQsXG4gICAgICAgICAgcmVmZXJlbmNlRE9NRWxlbWVudCA9IG51bGw7IC8vL1xuXG4gICAgdGhpcy5kb21FbGVtZW50Lmluc2VydEJlZm9yZShkb21FbGVtZW50LCByZWZlcmVuY2VET01FbGVtZW50KTtcblxuICAgIGRvbUVsZW1lbnQuX19lbGVtZW50X18gPSBlbGVtZW50O1xuICB9XG5cbiAgaW5zZXJ0QmVmb3JlKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMsIC8vL1xuICAgICAgICAgIHBhcmVudERPTU5vZGUgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50LnBhcmVudE5vZGUsIC8vL1xuICAgICAgICAgIHJlZmVyZW5jZURPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50OyAgLy8vXG5cbiAgICBwYXJlbnRET01Ob2RlLmluc2VydEJlZm9yZSh0aGlzLmRvbUVsZW1lbnQsIHJlZmVyZW5jZURPTUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50Ll9fZWxlbWVudF9fID0gZWxlbWVudDtcbiAgfVxuXG4gIGluc2VydEFmdGVyKHNpYmxpbmdFbGVtZW50KSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMsIC8vL1xuICAgICAgICAgIHBhcmVudERPTU5vZGUgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50LnBhcmVudE5vZGUsIC8vL1xuICAgICAgICAgIHJlZmVyZW5jZURPTUVsZW1lbnQgPSBzaWJsaW5nRWxlbWVudC5kb21FbGVtZW50Lm5leHRTaWJsaW5nOyAgLy8vXG5cbiAgICBwYXJlbnRET01Ob2RlLmluc2VydEJlZm9yZSh0aGlzLmRvbUVsZW1lbnQsIHJlZmVyZW5jZURPTUVsZW1lbnQpO1xuXG4gICAgdGhpcy5kb21FbGVtZW50Ll9fZWxlbWVudF9fID0gZWxlbWVudDtcbiAgfVxuXG4gIG1vdW50KGVsZW1lbnQpIHtcbiAgICB0aGlzLmFkZChlbGVtZW50KTtcblxuICAgIG1vdW50RWxlbWVudChlbGVtZW50KTtcbiAgfVxuXG4gIHVubW91bnQoZWxlbWVudCkge1xuICAgIHVubW91bnRFbGVtZW50KGVsZW1lbnQpO1xuXG4gICAgdGhpcy5yZW1vdmUoZWxlbWVudCk7XG4gIH1cblxuICBtb3VudEJlZm9yZShzaWJsaW5nRWxlbWVudCkge1xuICAgIHRoaXMuaW5zZXJ0QmVmb3JlKHNpYmxpbmdFbGVtZW50KTtcblxuICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzOyAvLy9cblxuICAgIG1vdW50RWxlbWVudChlbGVtZW50KTtcbiAgfVxuXG4gIG1vdW50QWZ0ZXIoc2libGluZ0VsZW1lbnQpIHtcbiAgICB0aGlzLmluc2VydEJlZm9yZShzaWJsaW5nRWxlbWVudCk7XG5cbiAgICBjb25zdCBlbGVtZW50ID0gdGhpczsgLy8vXG5cbiAgICBtb3VudEVsZW1lbnQoZWxlbWVudCk7XG4gIH1cblxuICBzaG93KGRpc3BsYXlTdHlsZSA9IEJMT0NLKSB7IHRoaXMuZGlzcGxheShkaXNwbGF5U3R5bGUpOyB9XG5cbiAgaGlkZSgpIHsgdGhpcy5zdHlsZShESVNQTEFZLCBOT05FKTsgfVxuXG4gIGRpc3BsYXkoZGlzcGxheSkgeyB0aGlzLnN0eWxlKERJU1BMQVksIGRpc3BsYXkpOyB9XG5cbiAgZW5hYmxlKCkgeyB0aGlzLmNsZWFyQXR0cmlidXRlKERJU0FCTEVEKTsgfVxuXG4gIGRpc2FibGUoKSB7IHRoaXMuc2V0QXR0cmlidXRlKERJU0FCTEVELCBESVNBQkxFRCk7IH1cblxuICBpc0VuYWJsZWQoKSB7XG4gICAgY29uc3QgZGlzYWJsZWQgPSB0aGlzLmlzRGlzYWJsZWQoKSxcbiAgICAgICAgICBlbmFibGVkID0gIWRpc2FibGVkO1xuXG4gICAgcmV0dXJuIGVuYWJsZWQ7XG4gIH1cblxuICBpc0Rpc2FibGVkKCkge1xuICAgIGNvbnN0IGRpc2FibGVkID0gdGhpcy5oYXNBdHRyaWJ1dGUoRElTQUJMRUQpO1xuXG4gICAgcmV0dXJuIGRpc2FibGVkO1xuICB9XG4gIFxuICBpc0Rpc3BsYXllZCgpIHtcbiAgICBjb25zdCBkaXNwbGF5ID0gdGhpcy5jc3MoRElTUExBWSksXG4gICAgICAgICAgZGlzcGxheWVkID0gKGRpc3BsYXkgIT09IE5PTkUpO1xuICAgIFxuICAgIHJldHVybiBkaXNwbGF5ZWQ7XG4gIH1cblxuICBpc1Nob3dpbmcoKSB7XG4gICAgY29uc3QgZGlzcGxheWVkID0gdGhpcy5pc0Rpc3BsYXllZCgpLFxuICAgICAgICAgIHNob3dpbmcgPSBkaXNwbGF5ZWQ7ICAvLy9cblxuICAgIHJldHVybiBzaG93aW5nO1xuICB9XG5cbiAgaXNIaWRkZW4oKSB7XG4gICAgY29uc3QgZGlzcGxheWVkID0gdGhpcy5pc0Rpc3BsYXllZCgpLFxuICAgICAgICAgIGhpZGRlbiA9ICFkaXNwbGF5ZWQ7XG5cbiAgICByZXR1cm4gaGlkZGVuO1xuICB9XG5cbiAgc3R5bGUobmFtZSwgdmFsdWUgPSBudWxsKSB7XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLmRvbUVsZW1lbnQuc3R5bGVbbmFtZV0gPSB2YWx1ZTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHN0eWxlID0gdGhpcy5kb21FbGVtZW50LnN0eWxlW25hbWVdO1xuXG4gICAgcmV0dXJuIHN0eWxlO1xuICB9XG5cbiAgaHRtbChodG1sID0gbnVsbCkge1xuICAgIGlmIChodG1sICE9PSBudWxsKSB7XG4gICAgICBjb25zdCBpbm5lckhUTUwgPSBodG1sOyAvLy9cblxuICAgICAgdGhpcy5kb21FbGVtZW50LmlubmVySFRNTCA9IGlubmVySFRNTFxuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5uZXJIVE1MID0gdGhpcy5kb21FbGVtZW50LmlubmVySFRNTDtcblxuICAgIGh0bWwgPSBpbm5lckhUTUw7IC8vL1xuXG4gICAgcmV0dXJuIGh0bWw7XG4gIH1cblxuICBjc3MoY3NzID0gbnVsbCkge1xuICAgIGlmIChjc3MgPT09IG51bGwpIHtcbiAgICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuZG9tRWxlbWVudCksXG4gICAgICAgICAgICBjc3MgPSB7fTtcblxuICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGNvbXB1dGVkU3R5bGUubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICAgIGNvbnN0IGZpcnN0Q29tcHV0ZWRTdHlsZSA9IGZpcnN0W2NvbXB1dGVkU3R5bGVdLFxuICAgICAgICAgICAgICBuYW1lID0gZmlyc3RDb21wdXRlZFN0eWxlLCAgLy8vXG4gICAgICAgICAgICAgIHZhbHVlID0gY29tcHV0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKG5hbWUpOyAvLy9cblxuICAgICAgICBjc3NbbmFtZV0gPSB2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGNzcztcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGNzcyA9PT0gU1RSSU5HKSB7XG4gICAgICBsZXQgbmFtZSA9IGNzczsgLy8vXG5cbiAgICAgIGNvbnN0IGNvbXB1dGVkU3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuZG9tRWxlbWVudCksXG4gICAgICAgICAgICB2YWx1ZSA9IGNvbXB1dGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShuYW1lKTsgLy8vXG5cbiAgICAgIGNzcyA9IHZhbHVlOyAgLy8vXG5cbiAgICAgIHJldHVybiBjc3M7XG4gICAgfVxuXG4gICAgY29uc3QgbmFtZXMgPSBPYmplY3Qua2V5cyhjc3MpOyAvLy9cblxuICAgIG5hbWVzLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGNvbnN0IHZhbHVlID0gY3NzW25hbWVdO1xuXG4gICAgICB0aGlzLnN0eWxlKG5hbWUsIHZhbHVlKTtcbiAgICB9KTtcbiAgfVxuICBcbiAgc3RhdGljIGZyb21DbGFzcyhDbGFzcywgcHJvcGVydGllcywgLi4ucmVtYWluaW5nQXJndW1lbnRzKSB7XG4gICAgY29uc3QgeyB0YWdOYW1lIH0gPSBDbGFzcyxcbiAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpLFxuICAgICAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0gZGVmYXVsdFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MpLFxuICAgICAgICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gaWdub3JlZFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MpO1xuXG4gICAgZWxlbWVudC5hcHBseVByb3BlcnRpZXMocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKTtcblxuICAgIGVsZW1lbnQuaW5pdGlhbGlzZSAmJiBlbGVtZW50LmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxuXG4gIHN0YXRpYyBmcm9tVGFnTmFtZSh0YWdOYW1lLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBDbGFzcyA9IEVsZW1lbnQsICAvLy9cbiAgICAgICAgICBlbGVtZW50ID0gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpLFxuICAgICAgICAgIGRlZmF1bHRQcm9wZXJ0aWVzID0ge30sIC8vL1xuICAgICAgICAgIGlnbm9yZWRQcm9wZXJ0aWVzID0gW107IC8vL1xuXG4gICAgZWxlbWVudC5hcHBseVByb3BlcnRpZXMocHJvcGVydGllcywgZGVmYXVsdFByb3BlcnRpZXMsIGlnbm9yZWRQcm9wZXJ0aWVzKTtcblxuICAgIGVsZW1lbnQuaW5pdGlhbGlzZSAmJiBlbGVtZW50LmluaXRpYWxpc2UoKTsgLy8vXG5cbiAgICByZXR1cm4gZWxlbWVudDtcbiAgfVxufVxuXG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBqc3hNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwga2V5TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIG1vdXNlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGNsaWNrTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHN0YXRlTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGV2ZW50TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHRvdWNoTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIHNjcm9sbE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCByZXNpemVNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihFbGVtZW50LnByb3RvdHlwZSwgZWxlbWVudE1peGlucyk7XG5PYmplY3QuYXNzaWduKEVsZW1lbnQucHJvdG90eXBlLCBmdWxsU2NyZWVuTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oRWxlbWVudC5wcm90b3R5cGUsIGN1c3RvbUV2ZW50TWl4aW5zKTtcblxuZnVuY3Rpb24gZWxlbWVudEZyb21UYWdOYW1lKENsYXNzLCB0YWdOYW1lLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgY29uc3Qgc2VsZWN0b3IgPSBudWxsLFxuICAgICAgICBlbGVtZW50ID0gbmV3IChGdW5jdGlvbi5wcm90b3R5cGUuYmluZC5jYWxsKENsYXNzLCBudWxsLCBzZWxlY3RvciwgLi4ucmVtYWluaW5nQXJndW1lbnRzKSk7XG5cbiAgZWxlbWVudC5kb21FbGVtZW50ID0gaXNTVkdUYWdOYW1lKHRhZ05hbWUpID9cbiAgICAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoU1ZHX05BTUVTUEFDRV9VUkksIHRhZ05hbWUpIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodGFnTmFtZSk7XG5cbiAgZWxlbWVudC5kb21FbGVtZW50Ll9fZWxlbWVudF9fID0gZWxlbWVudDsgLy8vXG5cbiAgcmV0dXJuIGVsZW1lbnQ7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRQcm9wZXJ0aWVzRnJvbUNsYXNzKENsYXNzLCBkZWZhdWx0UHJvcGVydGllcyA9IHt9KSB7XG4gIGlmIChDbGFzcy5oYXNPd25Qcm9wZXJ0eShERUZBVUxUX1BST1BFUlRJRVMpKSB7XG4gICAgZGVmYXVsdFByb3BlcnRpZXMgPSBjb21iaW5lKGRlZmF1bHRQcm9wZXJ0aWVzLCBDbGFzc1tERUZBVUxUX1BST1BFUlRJRVNdKTtcbiAgfVxuXG4gIGNvbnN0IHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoQ2xhc3MpOyAgLy8vXG5cbiAgaWYgKHN1cGVyQ2xhc3MgIT09IG51bGwpIHtcbiAgICBkZWZhdWx0UHJvcGVydGllcyA9IGRlZmF1bHRQcm9wZXJ0aWVzRnJvbUNsYXNzKHN1cGVyQ2xhc3MsIGRlZmF1bHRQcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIHJldHVybiBkZWZhdWx0UHJvcGVydGllcztcbn1cblxuZnVuY3Rpb24gaWdub3JlZFByb3BlcnRpZXNGcm9tQ2xhc3MoQ2xhc3MsIGlnbm9yZWRQcm9wZXJ0aWVzID0gW10pIHtcbiAgaWYgKENsYXNzLmhhc093blByb3BlcnR5KElHTk9SRURfUFJPUEVSVElFUykpIHtcbiAgICBpZ25vcmVkUHJvcGVydGllcyA9IGF1Z21lbnQoaWdub3JlZFByb3BlcnRpZXMsIENsYXNzW0lHTk9SRURfUFJPUEVSVElFU10sIChpZ25vcmVkUHJvcGVydHkpID0+IHtcbiAgICAgIGlmICghaWdub3JlZFByb3BlcnRpZXMuaW5jbHVkZXMoaWdub3JlZFByb3BlcnR5KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IHN1cGVyQ2xhc3MgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YoQ2xhc3MpO1xuXG4gIGlmIChzdXBlckNsYXNzICE9PSBudWxsKSB7XG4gICAgaWdub3JlZFByb3BlcnRpZXMgPSBpZ25vcmVkUHJvcGVydGllc0Zyb21DbGFzcyhzdXBlckNsYXNzLCBpZ25vcmVkUHJvcGVydGllcyk7XG4gIH1cblxuICByZXR1cm4gaWdub3JlZFByb3BlcnRpZXM7XG59XG4iXSwibmFtZXMiOlsiRWxlbWVudCIsInNlbGVjdG9yIiwiZG9tRWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImdldERPTUVsZW1lbnQiLCJnZXRPZmZzZXQiLCJ0b3AiLCJvZmZzZXRUb3AiLCJsZWZ0Iiwib2Zmc2V0TGVmdCIsIm9mZnNldCIsIk9mZnNldCIsImdldEJvdW5kcyIsImJvdW5kaW5nQ2xpZW50UmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsImJvdW5kcyIsIkJvdW5kcyIsImZyb21Cb3VuZGluZ0NsaWVudFJlY3QiLCJnZXRXaWR0aCIsImluY2x1ZGVCb3JkZXIiLCJ3aWR0aCIsIm9mZnNldFdpZHRoIiwiY2xpZW50V2lkdGgiLCJzZXRXaWR0aCIsInN0eWxlIiwiV0lEVEgiLCJnZXRIZWlnaHQiLCJoZWlnaHQiLCJvZmZzZXRIZWlnaHQiLCJjbGllbnRIZWlnaHQiLCJzZXRIZWlnaHQiLCJIRUlHSFQiLCJoYXNBdHRyaWJ1dGUiLCJuYW1lIiwiZ2V0QXR0cmlidXRlIiwic2V0QXR0cmlidXRlIiwidmFsdWUiLCJjbGVhckF0dHJpYnV0ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImFkZEF0dHJpYnV0ZSIsImhhc0NsYXNzIiwiY2xhc3NOYW1lIiwiY2xhc3NMaXN0IiwiY29udGFpbnMiLCJzZXRDbGFzcyIsImFkZENsYXNzIiwiYWRkIiwicmVtb3ZlQ2xhc3MiLCJyZW1vdmUiLCJ0b2dnbGVDbGFzcyIsInRvZ2dsZSIsInJlbW92ZUFsbENsYXNzZXMiLCJFTVBUWV9TVFJJTkciLCJhZGRUbyIsInBhcmVudEVsZW1lbnQiLCJhcHBlbmRUbyIsImFwcGVuZCIsInByZXBlbmRUbyIsInByZXBlbmQiLCJyZW1vdmVGcm9tIiwiaW5zZXJ0IiwiZWxlbWVudCIsIl9fZWxlbWVudF9fIiwicmVmZXJlbmNlRE9NRWxlbWVudCIsImZpcnN0Q2hpbGQiLCJpbnNlcnRCZWZvcmUiLCJzaWJsaW5nRWxlbWVudCIsInBhcmVudERPTU5vZGUiLCJwYXJlbnROb2RlIiwiaW5zZXJ0QWZ0ZXIiLCJuZXh0U2libGluZyIsIm1vdW50IiwibW91bnRFbGVtZW50IiwidW5tb3VudCIsInVubW91bnRFbGVtZW50IiwibW91bnRCZWZvcmUiLCJtb3VudEFmdGVyIiwic2hvdyIsImRpc3BsYXlTdHlsZSIsIkJMT0NLIiwiZGlzcGxheSIsImhpZGUiLCJESVNQTEFZIiwiTk9ORSIsImVuYWJsZSIsIkRJU0FCTEVEIiwiZGlzYWJsZSIsImlzRW5hYmxlZCIsImRpc2FibGVkIiwiaXNEaXNhYmxlZCIsImVuYWJsZWQiLCJpc0Rpc3BsYXllZCIsImNzcyIsImRpc3BsYXllZCIsImlzU2hvd2luZyIsInNob3dpbmciLCJpc0hpZGRlbiIsImhpZGRlbiIsImh0bWwiLCJpbm5lckhUTUwiLCJjb21wdXRlZFN0eWxlIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImluZGV4IiwibGVuZ3RoIiwiZmlyc3RDb21wdXRlZFN0eWxlIiwiZmlyc3QiLCJnZXRQcm9wZXJ0eVZhbHVlIiwiU1RSSU5HIiwibmFtZXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsImZyb21DbGFzcyIsIkNsYXNzIiwicHJvcGVydGllcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsInRhZ05hbWUiLCJlbGVtZW50RnJvbVRhZ05hbWUiLCJkZWZhdWx0UHJvcGVydGllcyIsImRlZmF1bHRQcm9wZXJ0aWVzRnJvbUNsYXNzIiwiaWdub3JlZFByb3BlcnRpZXMiLCJpZ25vcmVkUHJvcGVydGllc0Zyb21DbGFzcyIsImFwcGx5UHJvcGVydGllcyIsImluaXRpYWxpc2UiLCJmcm9tVGFnTmFtZSIsImFzc2lnbiIsInByb3RvdHlwZSIsImpzeE1peGlucyIsImtleU1peGlucyIsIm1vdXNlTWl4aW5zIiwiY2xpY2tNaXhpbnMiLCJzdGF0ZU1peGlucyIsImV2ZW50TWl4aW5zIiwidG91Y2hNaXhpbnMiLCJzY3JvbGxNaXhpbnMiLCJyZXNpemVNaXhpbnMiLCJlbGVtZW50TWl4aW5zIiwiZnVsbFNjcmVlbk1peGlucyIsImN1c3RvbUV2ZW50TWl4aW5zIiwiRnVuY3Rpb24iLCJiaW5kIiwiY2FsbCIsImlzU1ZHVGFnTmFtZSIsImNyZWF0ZUVsZW1lbnROUyIsIlNWR19OQU1FU1BBQ0VfVVJJIiwiY3JlYXRlRWxlbWVudCIsImhhc093blByb3BlcnR5IiwiREVGQVVMVF9QUk9QRVJUSUVTIiwiY29tYmluZSIsInN1cGVyQ2xhc3MiLCJnZXRQcm90b3R5cGVPZiIsIklHTk9SRURfUFJPUEVSVElFUyIsImF1Z21lbnQiLCJpZ25vcmVkUHJvcGVydHkiLCJpbmNsdWRlcyJdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7ZUFpQ3FCQTs7OzZEQS9CRjs2REFDQTswREFDRzswREFDQTs0REFDRTs0REFDQTs0REFDQTs0REFDQTs0REFDQTs2REFDQzs2REFDQTs4REFDQztpRUFDRztrRUFDQztzQkFFTjtvQkFDSztxQkFDRTt3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
|
package/lib/index.js
CHANGED
|
@@ -57,6 +57,9 @@ _export(exports, {
|
|
|
57
57
|
eventTypes: function() {
|
|
58
58
|
return _eventTypes.default;
|
|
59
59
|
},
|
|
60
|
+
focusMixins: function() {
|
|
61
|
+
return _focus.default;
|
|
62
|
+
},
|
|
60
63
|
inputMixins: function() {
|
|
61
64
|
return _input.default;
|
|
62
65
|
},
|
|
@@ -77,6 +80,7 @@ var _eventTypes = /*#__PURE__*/ _interop_require_default(require("./eventTypes")
|
|
|
77
80
|
var _mouseButtons = /*#__PURE__*/ _interop_require_default(require("./mouseButtons"));
|
|
78
81
|
var _element = /*#__PURE__*/ _interop_require_default(require("./utilities/element"));
|
|
79
82
|
var _input = /*#__PURE__*/ _interop_require_default(require("./mixins/input"));
|
|
83
|
+
var _focus = /*#__PURE__*/ _interop_require_default(require("./mixins/focus"));
|
|
80
84
|
var _selection = /*#__PURE__*/ _interop_require_default(require("./mixins/selection"));
|
|
81
85
|
var _customEvent = /*#__PURE__*/ _interop_require_default(require("./mixins/customEvent"));
|
|
82
86
|
var _element1 = /*#__PURE__*/ _interop_require_default(require("./element"));
|
|
@@ -96,4 +100,4 @@ function _interop_require_default(obj) {
|
|
|
96
100
|
};
|
|
97
101
|
}
|
|
98
102
|
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IHsgZGVmYXVsdCBhcyBSZWFjdCB9IGZyb20gXCIuL3JlYWN0XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEJvdW5kcyB9IGZyb20gXCIuL2JvdW5kc1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBPZmZzZXQgfSBmcm9tIFwiLi9vZmZzZXRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZXZlbnRUeXBlcyB9IGZyb20gXCIuL2V2ZW50VHlwZXNcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgbW91c2VCdXR0b25zIH0gZnJvbSBcIi4vbW91c2VCdXR0b25zXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGVsZW1lbnRVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvZWxlbWVudFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBpbnB1dE1peGlucyB9IGZyb20gXCIuL21peGlucy9pbnB1dFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmb2N1c01peGlucyB9IGZyb20gXCIuL21peGlucy9mb2N1c1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBzZWxlY3Rpb25NaXhpbnMgfSBmcm9tIFwiLi9taXhpbnMvc2VsZWN0aW9uXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGN1c3RvbUV2ZW50TWl4aW5zIH0gZnJvbSBcIi4vbWl4aW5zL2N1c3RvbUV2ZW50XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIEVsZW1lbnQgfSBmcm9tIFwiLi9lbGVtZW50XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIFRleHRFbGVtZW50IH0gZnJvbSBcIi4vdGV4dEVsZW1lbnRcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZG9jdW1lbnQgfSBmcm9tIFwiLi9kb2N1bWVudFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB3aW5kb3cgfSBmcm9tIFwiLi93aW5kb3dcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgQm9keSB9IGZyb20gXCIuL2VsZW1lbnQvYm9keVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBMaW5rIH0gZnJvbSBcIi4vZWxlbWVudC9saW5rXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIElucHV0IH0gZnJvbSBcIi4vZWxlbWVudC9pbnB1dFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBCdXR0b24gfSBmcm9tIFwiLi9lbGVtZW50L2J1dHRvblwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBTZWxlY3QgfSBmcm9tIFwiLi9lbGVtZW50L3NlbGVjdFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBDaGVja2JveCB9IGZyb20gXCIuL2VsZW1lbnQvY2hlY2tib3hcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgVGV4dGFyZWEgfSBmcm9tIFwiLi9lbGVtZW50L3RleHRhcmVhXCI7XG5cblxuIl0sIm5hbWVzIjpbIkJvZHkiLCJCb3VuZHMiLCJCdXR0b24iLCJDaGVja2JveCIsIkVsZW1lbnQiLCJJbnB1dCIsIkxpbmsiLCJPZmZzZXQiLCJSZWFjdCIsIlNlbGVjdCIsIlRleHRFbGVtZW50IiwiVGV4dGFyZWEiLCJjdXN0b21FdmVudE1peGlucyIsImRvY3VtZW50IiwiZWxlbWVudFV0aWxpdGllcyIsImV2ZW50VHlwZXMiLCJmb2N1c01peGlucyIsImlucHV0TWl4aW5zIiwibW91c2VCdXR0b25zIiwic2VsZWN0aW9uTWl4aW5zIiwid2luZG93Il0sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7SUFnQm9CQSxJQUFJO2VBQUpBLGFBQUk7O0lBYkpDLE1BQU07ZUFBTkEsZUFBTTs7SUFnQk5DLE1BQU07ZUFBTkEsZUFBTTs7SUFFTkMsUUFBUTtlQUFSQSxpQkFBUTs7SUFUUkMsT0FBTztlQUFQQSxpQkFBTzs7SUFNUEMsS0FBSztlQUFMQSxlQUFLOztJQURMQyxJQUFJO2VBQUpBLGFBQUk7O0lBYkpDLE1BQU07ZUFBTkEsZUFBTTs7SUFGTkMsS0FBSztlQUFMQSxjQUFLOztJQWtCTEMsTUFBTTtlQUFOQSxlQUFNOztJQVBOQyxXQUFXO2VBQVhBLG9CQUFXOztJQVNYQyxRQUFRO2VBQVJBLGlCQUFROztJQVhSQyxpQkFBaUI7ZUFBakJBLG9CQUFpQjs7SUFHakJDLFFBQVE7ZUFBUkEsaUJBQVE7O0lBUFJDLGdCQUFnQjtlQUFoQkEsZ0JBQWdCOztJQUZoQkMsVUFBVTtlQUFWQSxtQkFBVTs7SUFJVkMsV0FBVztlQUFYQSxjQUFXOztJQURYQyxXQUFXO2VBQVhBLGNBQVc7O0lBRlhDLFlBQVk7ZUFBWkEscUJBQVk7O0lBSVpDLGVBQWU7ZUFBZkEsa0JBQWU7O0lBS2ZDLE1BQU07ZUFBTkEsZUFBTTs7OzREQWJPOzZEQUNDOzZEQUNBO2lFQUNJO21FQUNFOzhEQUNJOzREQUNMOzREQUNBO2dFQUNJO2tFQUNFOytEQUNWO2tFQUNJOytEQUNIOzZEQUNGOzJEQUNGOzJEQUNBOzZEQUNDOzZEQUNDOzZEQUNBOytEQUNFOytEQUNBIn0=
|
package/package.json
CHANGED
package/src/element.js
CHANGED
|
@@ -8,7 +8,6 @@ import stateMixins from "./mixins/state";
|
|
|
8
8
|
import eventMixins from "./mixins/event";
|
|
9
9
|
import mouseMixins from "./mixins/mouse";
|
|
10
10
|
import clickMixins from "./mixins/click";
|
|
11
|
-
import focusMixins from "./mixins/focus";
|
|
12
11
|
import touchMixins from "./mixins/touch";
|
|
13
12
|
import scrollMixins from "./mixins/scroll";
|
|
14
13
|
import resizeMixins from "./mixins/resize";
|
|
@@ -34,11 +33,7 @@ import { NONE,
|
|
|
34
33
|
|
|
35
34
|
export default class Element {
|
|
36
35
|
constructor(selector) {
|
|
37
|
-
|
|
38
|
-
this.domElement = document.querySelector(selector);
|
|
39
|
-
|
|
40
|
-
this.domElement.__element__ = this; ///
|
|
41
|
-
}
|
|
36
|
+
this.domElement = document.querySelector(selector);
|
|
42
37
|
}
|
|
43
38
|
|
|
44
39
|
getDOMElement() {
|
|
@@ -112,69 +107,66 @@ export default class Element {
|
|
|
112
107
|
|
|
113
108
|
removeAllClasses() { this.domElement.className = EMPTY_STRING; }
|
|
114
109
|
|
|
115
|
-
|
|
110
|
+
addTo(parentElement) { parentElement.add(this); }
|
|
116
111
|
|
|
117
112
|
appendTo(parentElement) { parentElement.append(this); }
|
|
118
113
|
|
|
119
|
-
|
|
114
|
+
prependTo(parentElement) { parentElement.prepend(this); }
|
|
120
115
|
|
|
121
116
|
removeFrom(parentElement) { parentElement.remove(this); }
|
|
122
117
|
|
|
123
|
-
|
|
124
|
-
const parentDOMNode = siblingElement.domElement.parentNode, ///
|
|
125
|
-
siblingDOMElement = siblingElement.domElement; ///
|
|
118
|
+
insert(element) { this.append(element); }
|
|
126
119
|
|
|
127
|
-
|
|
128
|
-
}
|
|
120
|
+
add(element) { this.append(element); }
|
|
129
121
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
122
|
+
remove(element) {
|
|
123
|
+
if (element) {
|
|
124
|
+
element.remove();
|
|
133
125
|
|
|
134
|
-
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
delete this.domElement.__element__;
|
|
130
|
+
|
|
131
|
+
this.domElement.remove();
|
|
135
132
|
}
|
|
136
133
|
|
|
137
134
|
prepend(element) {
|
|
138
135
|
const domElement = element.domElement,
|
|
139
|
-
|
|
136
|
+
referenceDOMElement = this.domElement.firstChild; ///
|
|
140
137
|
|
|
141
|
-
this.domElement.insertBefore(domElement,
|
|
142
|
-
}
|
|
138
|
+
this.domElement.insertBefore(domElement, referenceDOMElement);
|
|
143
139
|
|
|
144
|
-
|
|
145
|
-
const domElement = element.domElement;
|
|
146
|
-
|
|
147
|
-
this.domElement.insertBefore(domElement, null); ///
|
|
140
|
+
domElement.__element__ = element;
|
|
148
141
|
}
|
|
149
142
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
143
|
+
append(element) {
|
|
144
|
+
const domElement = element.domElement,
|
|
145
|
+
referenceDOMElement = null; ///
|
|
153
146
|
|
|
154
|
-
|
|
155
|
-
if (element) {
|
|
156
|
-
const domElement = element.domElement;
|
|
147
|
+
this.domElement.insertBefore(domElement, referenceDOMElement);
|
|
157
148
|
|
|
158
|
-
|
|
159
|
-
} else {
|
|
160
|
-
this.domElement.remove();
|
|
161
|
-
}
|
|
149
|
+
domElement.__element__ = element;
|
|
162
150
|
}
|
|
163
151
|
|
|
164
|
-
|
|
165
|
-
this
|
|
152
|
+
insertBefore(siblingElement) {
|
|
153
|
+
const element = this, ///
|
|
154
|
+
parentDOMNode = siblingElement.domElement.parentNode, ///
|
|
155
|
+
referenceDOMElement = siblingElement.domElement; ///
|
|
166
156
|
|
|
167
|
-
|
|
157
|
+
parentDOMNode.insertBefore(this.domElement, referenceDOMElement);
|
|
168
158
|
|
|
169
|
-
|
|
159
|
+
this.domElement.__element__ = element;
|
|
170
160
|
}
|
|
171
161
|
|
|
172
|
-
|
|
173
|
-
this
|
|
162
|
+
insertAfter(siblingElement) {
|
|
163
|
+
const element = this, ///
|
|
164
|
+
parentDOMNode = siblingElement.domElement.parentNode, ///
|
|
165
|
+
referenceDOMElement = siblingElement.domElement.nextSibling; ///
|
|
174
166
|
|
|
175
|
-
|
|
167
|
+
parentDOMNode.insertBefore(this.domElement, referenceDOMElement);
|
|
176
168
|
|
|
177
|
-
|
|
169
|
+
this.domElement.__element__ = element;
|
|
178
170
|
}
|
|
179
171
|
|
|
180
172
|
mount(element) {
|
|
@@ -189,6 +181,22 @@ export default class Element {
|
|
|
189
181
|
this.remove(element);
|
|
190
182
|
}
|
|
191
183
|
|
|
184
|
+
mountBefore(siblingElement) {
|
|
185
|
+
this.insertBefore(siblingElement);
|
|
186
|
+
|
|
187
|
+
const element = this; ///
|
|
188
|
+
|
|
189
|
+
mountElement(element);
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
mountAfter(siblingElement) {
|
|
193
|
+
this.insertBefore(siblingElement);
|
|
194
|
+
|
|
195
|
+
const element = this; ///
|
|
196
|
+
|
|
197
|
+
mountElement(element);
|
|
198
|
+
}
|
|
199
|
+
|
|
192
200
|
show(displayStyle = BLOCK) { this.display(displayStyle); }
|
|
193
201
|
|
|
194
202
|
hide() { this.style(DISPLAY, NONE); }
|
|
@@ -330,7 +338,6 @@ Object.assign(Element.prototype, mouseMixins);
|
|
|
330
338
|
Object.assign(Element.prototype, clickMixins);
|
|
331
339
|
Object.assign(Element.prototype, stateMixins);
|
|
332
340
|
Object.assign(Element.prototype, eventMixins);
|
|
333
|
-
Object.assign(Element.prototype, focusMixins);
|
|
334
341
|
Object.assign(Element.prototype, touchMixins);
|
|
335
342
|
Object.assign(Element.prototype, scrollMixins);
|
|
336
343
|
Object.assign(Element.prototype, resizeMixins);
|
package/src/index.js
CHANGED
|
@@ -7,6 +7,7 @@ export { default as eventTypes } from "./eventTypes";
|
|
|
7
7
|
export { default as mouseButtons } from "./mouseButtons";
|
|
8
8
|
export { default as elementUtilities } from "./utilities/element";
|
|
9
9
|
export { default as inputMixins } from "./mixins/input";
|
|
10
|
+
export { default as focusMixins } from "./mixins/focus";
|
|
10
11
|
export { default as selectionMixins } from "./mixins/selection";
|
|
11
12
|
export { default as customEventMixins } from "./mixins/customEvent";
|
|
12
13
|
export { default as Element } from "./element";
|