easy-richtextarea 4.0.201 → 4.0.203

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.
@@ -194,31 +194,16 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
194
194
  _class_call_check(this, RichTextarea);
195
195
  var _this;
196
196
  _this = _super.apply(this, arguments);
197
- _define_property(_assert_this_initialized(_this), "blurHandler", function(event, element) {
197
+ _define_property(_assert_this_initialized(_this), "selectionChangeHandler", function(event, element) {
198
198
  var active = _this.isActive();
199
199
  if (!active) {
200
200
  return;
201
201
  }
202
- var customEventType = _customEventTypes.BLUR_CUSTOM_EVENT_TYPE, forced = true;
203
- _this.customHandler(customEventType, event, element, forced);
204
- });
205
- _define_property(_assert_this_initialized(_this), "focusHandler", function(event, element) {
206
- defer(function() {
207
- var active = _this.isActive();
208
- if (!active) {
209
- _this.addClass("active");
210
- var customEventType = _customEventTypes.ACTIVATE_CUSTOM_EVENT_TYPE, _$event = null, _$element = _assert_this_initialized(_this), forced = true;
211
- _this.customHandler(customEventType, _$event, _$element, forced);
212
- }
213
- var customEventType1 = _customEventTypes.FOCUS_CUSTOM_EVENT_TYPE, forced1 = true;
214
- _this.customHandler(customEventType1, event, element, forced1);
215
- });
216
- });
217
- _define_property(_assert_this_initialized(_this), "inputHandler", function(event, element) {
218
- var active = _this.isActive();
219
- if (!active) {
202
+ var currentTarget = event.currentTarget, activeElement = currentTarget.activeElement, domElement = _this.getDOMElement();
203
+ if (activeElement !== domElement) {
220
204
  return;
221
205
  }
206
+ element = _assert_this_initialized(_this); ///
222
207
  var customEventType = _customEventTypes.CHANGE_CUSTOM_EVENT_TYPE;
223
208
  _this.customHandler(customEventType, event, element);
224
209
  });
@@ -230,19 +215,34 @@ var RichTextarea = /*#__PURE__*/ function(Element) {
230
215
  var customEventType = _customEventTypes.SCROLL_CUSTOM_EVENT_TYPE, forced = true;
231
216
  _this.customHandler(customEventType, event, element, forced);
232
217
  });
233
- _define_property(_assert_this_initialized(_this), "selectionChangeHandler", function(event, element) {
218
+ _define_property(_assert_this_initialized(_this), "inputHandler", function(event, element) {
234
219
  var active = _this.isActive();
235
220
  if (!active) {
236
221
  return;
237
222
  }
238
- var currentTarget = event.currentTarget, activeElement = currentTarget.activeElement, domElement = _this.getDOMElement();
239
- if (activeElement !== domElement) {
240
- return;
241
- }
242
- element = _assert_this_initialized(_this); ///
243
223
  var customEventType = _customEventTypes.CHANGE_CUSTOM_EVENT_TYPE;
244
224
  _this.customHandler(customEventType, event, element);
245
225
  });
226
+ _define_property(_assert_this_initialized(_this), "focusHandler", function(event, element) {
227
+ defer(function() {
228
+ var active = _this.isActive();
229
+ if (!active) {
230
+ _this.addClass("active");
231
+ var customEventType = _customEventTypes.ACTIVATE_CUSTOM_EVENT_TYPE, _$event = null, _$element = _assert_this_initialized(_this), forced = true;
232
+ _this.customHandler(customEventType, _$event, _$element, forced);
233
+ }
234
+ var customEventType1 = _customEventTypes.FOCUS_CUSTOM_EVENT_TYPE, forced1 = true;
235
+ _this.customHandler(customEventType1, event, element, forced1);
236
+ });
237
+ });
238
+ _define_property(_assert_this_initialized(_this), "blurHandler", function(event, element) {
239
+ var active = _this.isActive();
240
+ if (!active) {
241
+ return;
242
+ }
243
+ var customEventType = _customEventTypes.BLUR_CUSTOM_EVENT_TYPE, forced = true;
244
+ _this.customHandler(customEventType, event, element, forced);
245
+ });
246
246
  _define_property(_assert_this_initialized(_this), "customHandler", function(customEventType, event, element) {
247
247
  var forced = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : false;
248
248
  var content = _this.getContent(), selection = _this.getSelection(), contentChanged = _this.hasContentChanged(), selectionChanged = _this.hasSelectionChanged();
@@ -451,4 +451,4 @@ function defer(func) {
451
451
  setTimeout(func, 0);
452
452
  }
453
453
 
454
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yaWNoVGV4dGFyZWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBFbGVtZW50LCBkb2N1bWVudCwgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XHJcblxyXG5pbXBvcnQgU2VsZWN0aW9uIGZyb20gXCIuL3NlbGVjdGlvblwiXHJcbmltcG9ydCBjdXN0b21FdmVudE1peGlucyBmcm9tIFwiLi9taXhpbnMvY3VzdG9tRXZlbnRcIjtcclxuXHJcbmltcG9ydCB7IEJMVVJfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgIEZPQ1VTX0NVU1RPTV9FVkVOVF9UWVBFLFxyXG4gICAgICAgICBTQ1JPTExfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgIENIQU5HRV9DVVNUT01fRVZFTlRfVFlQRSxcclxuICAgICAgICAgQUNUSVZBVEVfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgIERFQUNUSVZBVEVfQ1VTVE9NX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi9jdXN0b21FdmVudFR5cGVzXCI7XHJcblxyXG5jb25zdCB7IEJMVVJfRVZFTlRfVFlQRSwgRk9DVVNfRVZFTlRfVFlQRSwgSU5QVVRfRVZFTlRfVFlQRSwgU0NST0xMX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXM7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSaWNoVGV4dGFyZWEgZXh0ZW5kcyBFbGVtZW50IHtcclxuICBibHVySGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG5cclxuICAgIGlmICghYWN0aXZlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBCTFVSX0NVU1RPTV9FVkVOVF9UWVBFLFxyXG4gICAgICAgICAgZm9yY2VkID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmN1c3RvbUhhbmRsZXIoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCwgZm9yY2VkKTtcclxuICB9XHJcblxyXG4gIGZvY3VzSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgZGVmZXIoKCkgPT4ge1xyXG4gICAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmlzQWN0aXZlKCk7XHJcblxyXG4gICAgICBpZiAoIWFjdGl2ZSkge1xyXG4gICAgICAgIHRoaXMuYWRkQ2xhc3MoXCJhY3RpdmVcIik7XHJcblxyXG4gICAgICAgIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IEFDVElWQVRFX0NVU1RPTV9FVkVOVF9UWVBFLFxyXG4gICAgICAgICAgICAgIGV2ZW50ID0gbnVsbCxcclxuICAgICAgICAgICAgICBlbGVtZW50ID0gdGhpcyxcclxuICAgICAgICAgICAgICBmb3JjZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLmN1c3RvbUhhbmRsZXIoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCwgZm9yY2VkKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gRk9DVVNfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgICAgIGZvcmNlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLmN1c3RvbUhhbmRsZXIoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCwgZm9yY2VkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaW5wdXRIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmlzQWN0aXZlKCk7XHJcblxyXG4gICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IENIQU5HRV9DVVNUT01fRVZFTlRfVFlQRTtcclxuXHJcbiAgICB0aGlzLmN1c3RvbUhhbmRsZXIoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBzY3JvbGxIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmlzQWN0aXZlKCk7XHJcblxyXG4gICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IFNDUk9MTF9DVVNUT01fRVZFTlRfVFlQRSxcclxuICAgICAgICAgIGZvcmNlZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5jdXN0b21IYW5kbGVyKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQsIGZvcmNlZCk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3Rpb25DaGFuZ2VIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmlzQWN0aXZlKCk7XHJcblxyXG4gICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgY3VycmVudFRhcmdldCB9ID0gZXZlbnQsXHJcbiAgICAgICAgICB7IGFjdGl2ZUVsZW1lbnQgfSA9IGN1cnJlbnRUYXJnZXQsXHJcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQgIT09IGRvbUVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cclxuXHJcbiAgICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBDSEFOR0VfQ1VTVE9NX0VWRU5UX1RZUEU7XHJcblxyXG4gICAgdGhpcy5jdXN0b21IYW5kbGVyKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgY3VzdG9tSGFuZGxlciA9IChjdXN0b21FdmVudFR5cGUsIGV2ZW50LCBlbGVtZW50LCBmb3JjZWQgPSBmYWxzZSkgPT4ge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gdGhpcy5oYXNDb250ZW50Q2hhbmdlZCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uQ2hhbmdlZCA9IHRoaXMuaGFzU2VsZWN0aW9uQ2hhbmdlZCgpO1xyXG5cclxuICAgIGlmIChmb3JjZWQgfHwgY29udGVudENoYW5nZWQgfHwgc2VsZWN0aW9uQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLmNhbGxDdXN0b21IYW5kbGVycyhjdXN0b21FdmVudFR5cGUsIGV2ZW50LCBlbGVtZW50KTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwcmV2aW91c0NvbnRlbnQgPSBjb250ZW50LCAgLy8vXHJcbiAgICAgICAgICBwcmV2aW91c1NlbGVjdGlvbiA9IHNlbGVjdGlvbjsgIC8vL1xyXG5cclxuICAgIHRoaXMuc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCk7XHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbik7XHJcbiAgfVxyXG5cclxuICBpc1JlYWRPbmx5KCkge1xyXG4gICAgY29uc3QgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpLFxyXG4gICAgICAgICAgeyByZWFkT25seSB9ID0gZG9tRWxlbWVudDtcclxuXHJcbiAgICByZXR1cm4gcmVhZE9ubHk7XHJcbiAgfVxyXG5cclxuICBpc0FjdGl2ZSgpIHtcclxuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuaGFzQ2xhc3MoXCJhY3RpdmVcIik7XHJcblxyXG4gICAgcmV0dXJuIGFjdGl2ZTtcclxuICB9XHJcblxyXG4gIGdldENvbnRlbnQoKSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXHJcbiAgICAgICAgICB7IHZhbHVlIH0gPSBkb21FbGVtZW50LFxyXG4gICAgICAgICAgY29udGVudCA9IHZhbHVlOyAgLy8vXHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3Rpb24oKSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXHJcbiAgICAgICAgICBzZWxlY3Rpb24gPSBTZWxlY3Rpb24uZnJvbURPTUVsZW1lbnQoZG9tRWxlbWVudCk7XHJcblxyXG4gICAgcmV0dXJuIHNlbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIGhhc0NvbnRlbnRDaGFuZ2VkKCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgcHJldmlvdXNDb250ZW50ID0gdGhpcy5nZXRQcmV2aW91c0NvbnRlbnQoKSxcclxuICAgICAgICAgIGNvbnRlbnRQcmV2aW91c0NvbnRlbnQgPSAoY29udGVudCA9PT0gcHJldmlvdXNDb250ZW50KSxcclxuICAgICAgICAgIGNvbnRlbnRDaGFuZ2VkID0gIWNvbnRlbnRQcmV2aW91c0NvbnRlbnQ7XHJcblxyXG4gICAgcmV0dXJuIGNvbnRlbnRDaGFuZ2VkO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0aW9uQ2hhbmdlZCgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksXHJcbiAgICAgICAgICBwcmV2aW91c1NlbGVjdGlvbiA9IHRoaXMuZ2V0UHJldmlvdXNTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uLmlzRXF1YWxUbyhwcmV2aW91c1NlbGVjdGlvbiksXHJcbiAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gIXNlbGVjdGlvblByZXZpb3VzU2VsZWN0aW9uOyAvLy9cclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uQ2hhbmdlZDtcclxuICB9XHJcblxyXG4gIHNldFJlYWRPbmx5KHJlYWRPbmx5KSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XHJcbiAgICAgIHJlYWRPbmx5XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldENvbnRlbnQoY29udGVudCwgc2V0UHJldmlvdXNDb250ZW50ID0gdHJ1ZSkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250ZW50LCAgLy8vXHJcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgT2JqZWN0LmFzc2lnbihkb21FbGVtZW50LCB7XHJcbiAgICAgIHZhbHVlXHJcbiAgICB9KTtcclxuXHJcbiAgICBpZiAoc2V0UHJldmlvdXNDb250ZW50KSB7XHJcbiAgICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQ7ICAvLy9cclxuXHJcbiAgICAgIHRoaXMuc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3Rpb24oc2VsZWN0aW9uLCBzZXRQcmV2aW91c1NlbGVjdGlvbiA9IHRydWUpIHtcclxuICAgIGNvbnN0IHNlbGVjdGlvblN0YXJ0UG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0U3RhcnRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kUG9zaXRpb24gPSBzZWxlY3Rpb24uZ2V0RW5kUG9zaXRpb24oKSxcclxuICAgICAgICAgIHNlbGVjdGlvblN0YXJ0ID0gc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgc2VsZWN0aW9uRW5kID0gc2VsZWN0aW9uRW5kUG9zaXRpb24sICAvLy9cclxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBkb21FbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHNlbGVjdGlvblN0YXJ0LCBzZWxlY3Rpb25FbmQpO1xyXG5cclxuICAgIGlmIChzZXRQcmV2aW91c1NlbGVjdGlvbikge1xyXG4gICAgICBjb25zdCBwcmV2aW91c1NlbGVjdGlvbiA9IHNlbGVjdGlvbjsgIC8vL1xyXG5cclxuICAgICAgdGhpcy5zZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbik7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhY3RpdmF0ZSgpIHtcclxuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuaXNBY3RpdmUoKTtcclxuXHJcbiAgICBpZiAoYWN0aXZlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvY3VzKCk7XHJcbiAgfVxyXG5cclxuICBkZWFjdGl2YXRlKCkge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG5cclxuICAgIGlmICghYWN0aXZlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbW92ZUNsYXNzKFwiYWN0aXZlXCIpO1xyXG5cclxuICAgIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IERFQUNUSVZBVEVfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgICBldmVudCA9IG51bGwsXHJcbiAgICAgICAgICBlbGVtZW50ID0gdGhpcyxcclxuICAgICAgICAgIGZvcmNlZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5jdXN0b21IYW5kbGVyKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQsIGZvcmNlZCk7XHJcbiAgfVxyXG5cclxuICBnZXRQcmV2aW91c0NvbnRlbnQoKSB7XHJcbiAgICBjb25zdCB7IHByZXZpb3VzQ29udGVudCB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xyXG5cclxuICAgIHJldHVybiBwcmV2aW91c0NvbnRlbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRQcmV2aW91c1NlbGVjdGlvbigpIHtcclxuICAgIGNvbnN0IHsgcHJldmlvdXNTZWxlY3Rpb24gfSA9IHRoaXMuZ2V0U3RhdGUoKTtcclxuXHJcbiAgICByZXR1cm4gcHJldmlvdXNTZWxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBzZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KSB7XHJcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcclxuICAgICAgcHJldmlvdXNDb250ZW50XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKSB7XHJcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKHtcclxuICAgICAgcHJldmlvdXNTZWxlY3Rpb25cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5pdGlhbFN0YXRlKCkge1xyXG4gICAgY29uc3QgcHJldmlvdXNDb250ZW50ID0gbnVsbCxcclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLnNldFN0YXRlKHtcclxuICAgICAgcHJldmlvdXNDb250ZW50LFxyXG4gICAgICBwcmV2aW91c1NlbGVjdGlvblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBkaWRNb3VudCgpIHtcclxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmdldENvbnRlbnQoKSxcclxuICAgICAgICAgIHNlbGVjdGlvbiA9IHRoaXMuZ2V0U2VsZWN0aW9uKCksXHJcbiAgICAgICAgICBwcmV2aW91c0NvbnRlbnQgPSBjb250ZW50LCAgLy8vXHJcbiAgICAgICAgICBwcmV2aW91c1NlbGVjdGlvbiA9IHNlbGVjdGlvbjsgIC8vL1xyXG5cclxuICAgIHRoaXMuc2V0UHJldmlvdXNDb250ZW50KHByZXZpb3VzQ29udGVudCk7XHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c1NlbGVjdGlvbihwcmV2aW91c1NlbGVjdGlvbik7XHJcblxyXG4gICAgdGhpcy5vbkV2ZW50KEJMVVJfRVZFTlRfVFlQRSwgdGhpcy5ibHVySGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vbkV2ZW50KEZPQ1VTX0VWRU5UX1RZUEUsIHRoaXMuZm9jdXNIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uRXZlbnQoSU5QVVRfRVZFTlRfVFlQRSwgdGhpcy5pbnB1dEhhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub25FdmVudChTQ1JPTExfRVZFTlRfVFlQRSwgdGhpcy5zY3JvbGxIYW5kbGVyKTtcclxuXHJcbiAgICBkb2N1bWVudC5vblNlbGVjdGlvbkNoYW5nZSh0aGlzLnNlbGVjdGlvbkNoYW5nZUhhbmRsZXIsIHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgd2lsbFVubW91bnQoKSB7XHJcbiAgICB0aGlzLm9mZkV2ZW50KEJMVVJfRVZFTlRfVFlQRSwgdGhpcy5ibHVySGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmZFdmVudChGT0NVU19FVkVOVF9UWVBFLCB0aGlzLmZvY3VzSGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmZFdmVudChJTlBVVF9FVkVOVF9UWVBFLCB0aGlzLmlucHV0SGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vZmZFdmVudChTQ1JPTExfRVZFTlRfVFlQRSwgdGhpcy5zY3JvbGxIYW5kbGVyKTtcclxuXHJcbiAgICBkb2N1bWVudC5vZmZTZWxlY3Rpb25DaGFuZ2UodGhpcy5zZWxlY3Rpb25DaGFuZ2VIYW5kbGVyLCB0aGlzKTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpc2UoKSB7XHJcbiAgICB0aGlzLnNldEluaXRpYWxTdGF0ZSgpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHRhZ05hbWUgPSBcInRleHRhcmVhXCI7XHJcblxyXG4gIHN0YXRpYyBkZWZhdWx0UHJvcGVydGllcyA9IHtcclxuICAgIGNsYXNzTmFtZTogXCJyaWNoXCJcclxuICB9O1xyXG5cclxuICBzdGF0aWMgZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcclxuICAgIGNvbnN0IHJpY2hUZXh0YXJlYSA9IEVsZW1lbnQuZnJvbUNsYXNzKENsYXNzLCBwcm9wZXJ0aWVzLCAuLi5yZW1haW5pbmdBcmd1bWVudHMpO1xyXG5cclxuICAgIHJldHVybiByaWNoVGV4dGFyZWE7XHJcbiAgfVxyXG59XHJcblxyXG5PYmplY3QuYXNzaWduKFJpY2hUZXh0YXJlYS5wcm90b3R5cGUsIGN1c3RvbUV2ZW50TWl4aW5zKTtcclxuXHJcbmZ1bmN0aW9uIGRlZmVyKGZ1bmMpIHtcclxuICBzZXRUaW1lb3V0KGZ1bmMsIDApO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJSaWNoVGV4dGFyZWEiLCJCTFVSX0VWRU5UX1RZUEUiLCJldmVudFR5cGVzIiwiRk9DVVNfRVZFTlRfVFlQRSIsIklOUFVUX0VWRU5UX1RZUEUiLCJTQ1JPTExfRVZFTlRfVFlQRSIsImJsdXJIYW5kbGVyIiwiZXZlbnQiLCJlbGVtZW50IiwiYWN0aXZlIiwiaXNBY3RpdmUiLCJjdXN0b21FdmVudFR5cGUiLCJCTFVSX0NVU1RPTV9FVkVOVF9UWVBFIiwiZm9yY2VkIiwiY3VzdG9tSGFuZGxlciIsImZvY3VzSGFuZGxlciIsImRlZmVyIiwiYWRkQ2xhc3MiLCJBQ1RJVkFURV9DVVNUT01fRVZFTlRfVFlQRSIsIkZPQ1VTX0NVU1RPTV9FVkVOVF9UWVBFIiwiaW5wdXRIYW5kbGVyIiwiQ0hBTkdFX0NVU1RPTV9FVkVOVF9UWVBFIiwic2Nyb2xsSGFuZGxlciIsIlNDUk9MTF9DVVNUT01fRVZFTlRfVFlQRSIsInNlbGVjdGlvbkNoYW5nZUhhbmRsZXIiLCJjdXJyZW50VGFyZ2V0IiwiYWN0aXZlRWxlbWVudCIsImRvbUVsZW1lbnQiLCJnZXRET01FbGVtZW50IiwiY29udGVudCIsImdldENvbnRlbnQiLCJzZWxlY3Rpb24iLCJnZXRTZWxlY3Rpb24iLCJjb250ZW50Q2hhbmdlZCIsImhhc0NvbnRlbnRDaGFuZ2VkIiwic2VsZWN0aW9uQ2hhbmdlZCIsImhhc1NlbGVjdGlvbkNoYW5nZWQiLCJjYWxsQ3VzdG9tSGFuZGxlcnMiLCJwcmV2aW91c0NvbnRlbnQiLCJwcmV2aW91c1NlbGVjdGlvbiIsInNldFByZXZpb3VzQ29udGVudCIsInNldFByZXZpb3VzU2VsZWN0aW9uIiwiaXNSZWFkT25seSIsInJlYWRPbmx5IiwiaGFzQ2xhc3MiLCJ2YWx1ZSIsIlNlbGVjdGlvbiIsImZyb21ET01FbGVtZW50IiwiZ2V0UHJldmlvdXNDb250ZW50IiwiY29udGVudFByZXZpb3VzQ29udGVudCIsImdldFByZXZpb3VzU2VsZWN0aW9uIiwic2VsZWN0aW9uUHJldmlvdXNTZWxlY3Rpb24iLCJpc0VxdWFsVG8iLCJzZXRSZWFkT25seSIsIk9iamVjdCIsImFzc2lnbiIsInNldENvbnRlbnQiLCJzZXRTZWxlY3Rpb24iLCJzZWxlY3Rpb25TdGFydFBvc2l0aW9uIiwiZ2V0U3RhcnRQb3NpdGlvbiIsInNlbGVjdGlvbkVuZFBvc2l0aW9uIiwiZ2V0RW5kUG9zaXRpb24iLCJzZWxlY3Rpb25TdGFydCIsInNlbGVjdGlvbkVuZCIsInNldFNlbGVjdGlvblJhbmdlIiwiYWN0aXZhdGUiLCJmb2N1cyIsImRlYWN0aXZhdGUiLCJyZW1vdmVDbGFzcyIsIkRFQUNUSVZBVEVfQ1VTVE9NX0VWRU5UX1RZUEUiLCJnZXRTdGF0ZSIsInVwZGF0ZVN0YXRlIiwic2V0SW5pdGlhbFN0YXRlIiwic2V0U3RhdGUiLCJkaWRNb3VudCIsIm9uRXZlbnQiLCJkb2N1bWVudCIsIm9uU2VsZWN0aW9uQ2hhbmdlIiwid2lsbFVubW91bnQiLCJvZmZFdmVudCIsIm9mZlNlbGVjdGlvbkNoYW5nZSIsImluaXRpYWxpc2UiLCJmcm9tQ2xhc3MiLCJDbGFzcyIsInByb3BlcnRpZXMiLCJyZW1haW5pbmdBcmd1bWVudHMiLCJFbGVtZW50IiwicmljaFRleHRhcmVhIiwidGFnTmFtZSIsImRlZmF1bHRQcm9wZXJ0aWVzIiwiY2xhc3NOYW1lIiwicHJvdG90eXBlIiwiY3VzdG9tRXZlbnRNaXhpbnMiLCJmdW5jIiwi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
454
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9yaWNoVGV4dGFyZWEuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcblxyXG5pbXBvcnQgeyBFbGVtZW50LCBkb2N1bWVudCwgZXZlbnRUeXBlcyB9IGZyb20gXCJlYXN5XCI7XHJcblxyXG5pbXBvcnQgU2VsZWN0aW9uIGZyb20gXCIuL3NlbGVjdGlvblwiXHJcbmltcG9ydCBjdXN0b21FdmVudE1peGlucyBmcm9tIFwiLi9taXhpbnMvY3VzdG9tRXZlbnRcIjtcclxuXHJcbmltcG9ydCB7IEJMVVJfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgIEZPQ1VTX0NVU1RPTV9FVkVOVF9UWVBFLFxyXG4gICAgICAgICBTQ1JPTExfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgIENIQU5HRV9DVVNUT01fRVZFTlRfVFlQRSxcclxuICAgICAgICAgQUNUSVZBVEVfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgIERFQUNUSVZBVEVfQ1VTVE9NX0VWRU5UX1RZUEUgfSBmcm9tIFwiLi9jdXN0b21FdmVudFR5cGVzXCI7XHJcblxyXG5jb25zdCB7IEJMVVJfRVZFTlRfVFlQRSwgRk9DVVNfRVZFTlRfVFlQRSwgSU5QVVRfRVZFTlRfVFlQRSwgU0NST0xMX0VWRU5UX1RZUEUgfSA9IGV2ZW50VHlwZXM7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSaWNoVGV4dGFyZWEgZXh0ZW5kcyBFbGVtZW50IHtcclxuICBzZWxlY3Rpb25DaGFuZ2VIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmlzQWN0aXZlKCk7XHJcblxyXG4gICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHsgY3VycmVudFRhcmdldCB9ID0gZXZlbnQsXHJcbiAgICAgICAgICB7IGFjdGl2ZUVsZW1lbnQgfSA9IGN1cnJlbnRUYXJnZXQsXHJcbiAgICAgICAgICBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCk7XHJcblxyXG4gICAgaWYgKGFjdGl2ZUVsZW1lbnQgIT09IGRvbUVsZW1lbnQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGVsZW1lbnQgPSB0aGlzOyAvLy9cclxuXHJcbiAgICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBDSEFOR0VfQ1VTVE9NX0VWRU5UX1RZUEU7XHJcblxyXG4gICAgdGhpcy5jdXN0b21IYW5kbGVyKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gIH1cclxuXHJcbiAgc2Nyb2xsSGFuZGxlciA9IChldmVudCwgZWxlbWVudCkgPT4ge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG5cclxuICAgIGlmICghYWN0aXZlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBTQ1JPTExfQ1VTVE9NX0VWRU5UX1RZUEUsXHJcbiAgICAgICAgICBmb3JjZWQgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuY3VzdG9tSGFuZGxlcihjdXN0b21FdmVudFR5cGUsIGV2ZW50LCBlbGVtZW50LCBmb3JjZWQpO1xyXG4gIH1cclxuXHJcbiAgaW5wdXRIYW5kbGVyID0gKGV2ZW50LCBlbGVtZW50KSA9PiB7XHJcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmlzQWN0aXZlKCk7XHJcblxyXG4gICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IENIQU5HRV9DVVNUT01fRVZFTlRfVFlQRTtcclxuXHJcbiAgICB0aGlzLmN1c3RvbUhhbmRsZXIoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBmb2N1c0hhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIGRlZmVyKCgpID0+IHtcclxuICAgICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG5cclxuICAgICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgICB0aGlzLmFkZENsYXNzKFwiYWN0aXZlXCIpO1xyXG5cclxuICAgICAgICBjb25zdCBjdXN0b21FdmVudFR5cGUgPSBBQ1RJVkFURV9DVVNUT01fRVZFTlRfVFlQRSxcclxuICAgICAgICAgICAgICBldmVudCA9IG51bGwsXHJcbiAgICAgICAgICAgICAgZWxlbWVudCA9IHRoaXMsXHJcbiAgICAgICAgICAgICAgZm9yY2VkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgdGhpcy5jdXN0b21IYW5kbGVyKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQsIGZvcmNlZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGN1c3RvbUV2ZW50VHlwZSA9IEZPQ1VTX0NVU1RPTV9FVkVOVF9UWVBFLFxyXG4gICAgICAgIGZvcmNlZCA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLmN1c3RvbUhhbmRsZXIoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCwgZm9yY2VkKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgYmx1ckhhbmRsZXIgPSAoZXZlbnQsIGVsZW1lbnQpID0+IHtcclxuICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuaXNBY3RpdmUoKTtcclxuXHJcbiAgICBpZiAoIWFjdGl2ZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gQkxVUl9DVVNUT01fRVZFTlRfVFlQRSxcclxuICAgICAgICAgIGZvcmNlZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5jdXN0b21IYW5kbGVyKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQsIGZvcmNlZCk7XHJcbiAgfVxyXG5cclxuICBjdXN0b21IYW5kbGVyID0gKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQsIGZvcmNlZCA9IGZhbHNlKSA9PiB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXHJcbiAgICAgICAgICBzZWxlY3Rpb24gPSB0aGlzLmdldFNlbGVjdGlvbigpLFxyXG4gICAgICAgICAgY29udGVudENoYW5nZWQgPSB0aGlzLmhhc0NvbnRlbnRDaGFuZ2VkKCksXHJcbiAgICAgICAgICBzZWxlY3Rpb25DaGFuZ2VkID0gdGhpcy5oYXNTZWxlY3Rpb25DaGFuZ2VkKCk7XHJcblxyXG4gICAgaWYgKGZvcmNlZCB8fCBjb250ZW50Q2hhbmdlZCB8fCBzZWxlY3Rpb25DaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuY2FsbEN1c3RvbUhhbmRsZXJzKGN1c3RvbUV2ZW50VHlwZSwgZXZlbnQsIGVsZW1lbnQpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQsICAvLy9cclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uOyAgLy8vXHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KTtcclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKTtcclxuICB9XHJcblxyXG4gIGlzUmVhZE9ubHkoKSB7XHJcbiAgICBjb25zdCBkb21FbGVtZW50ID0gdGhpcy5nZXRET01FbGVtZW50KCksXHJcbiAgICAgICAgICB7IHJlYWRPbmx5IH0gPSBkb21FbGVtZW50O1xyXG5cclxuICAgIHJldHVybiByZWFkT25seTtcclxuICB9XHJcblxyXG4gIGlzQWN0aXZlKCkge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5oYXNDbGFzcyhcImFjdGl2ZVwiKTtcclxuXHJcbiAgICByZXR1cm4gYWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29udGVudCgpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcclxuICAgICAgICAgIHsgdmFsdWUgfSA9IGRvbUVsZW1lbnQsXHJcbiAgICAgICAgICBjb250ZW50ID0gdmFsdWU7ICAvLy9cclxuXHJcbiAgICByZXR1cm4gY29udGVudDtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGlvbigpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKSxcclxuICAgICAgICAgIHNlbGVjdGlvbiA9IFNlbGVjdGlvbi5mcm9tRE9NRWxlbWVudChkb21FbGVtZW50KTtcclxuXHJcbiAgICByZXR1cm4gc2VsZWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgaGFzQ29udGVudENoYW5nZWQoKSB7XHJcbiAgICBjb25zdCBjb250ZW50ID0gdGhpcy5nZXRDb250ZW50KCksXHJcbiAgICAgICAgICBwcmV2aW91c0NvbnRlbnQgPSB0aGlzLmdldFByZXZpb3VzQ29udGVudCgpLFxyXG4gICAgICAgICAgY29udGVudFByZXZpb3VzQ29udGVudCA9IChjb250ZW50ID09PSBwcmV2aW91c0NvbnRlbnQpLFxyXG4gICAgICAgICAgY29udGVudENoYW5nZWQgPSAhY29udGVudFByZXZpb3VzQ29udGVudDtcclxuXHJcbiAgICByZXR1cm4gY29udGVudENoYW5nZWQ7XHJcbiAgfVxyXG5cclxuICBoYXNTZWxlY3Rpb25DaGFuZ2VkKCkge1xyXG4gICAgY29uc3Qgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gdGhpcy5nZXRQcmV2aW91c1NlbGVjdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uUHJldmlvdXNTZWxlY3Rpb24gPSBzZWxlY3Rpb24uaXNFcXVhbFRvKHByZXZpb3VzU2VsZWN0aW9uKSxcclxuICAgICAgICAgIHNlbGVjdGlvbkNoYW5nZWQgPSAhc2VsZWN0aW9uUHJldmlvdXNTZWxlY3Rpb247IC8vL1xyXG5cclxuICAgIHJldHVybiBzZWxlY3Rpb25DaGFuZ2VkO1xyXG4gIH1cclxuXHJcbiAgc2V0UmVhZE9ubHkocmVhZE9ubHkpIHtcclxuICAgIGNvbnN0IGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBPYmplY3QuYXNzaWduKGRvbUVsZW1lbnQsIHtcclxuICAgICAgcmVhZE9ubHlcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0Q29udGVudChjb250ZW50LCBzZXRQcmV2aW91c0NvbnRlbnQgPSB0cnVlKSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRlbnQsICAvLy9cclxuICAgICAgICAgIGRvbUVsZW1lbnQgPSB0aGlzLmdldERPTUVsZW1lbnQoKTtcclxuXHJcbiAgICBPYmplY3QuYXNzaWduKGRvbUVsZW1lbnQsIHtcclxuICAgICAgdmFsdWVcclxuICAgIH0pO1xyXG5cclxuICAgIGlmIChzZXRQcmV2aW91c0NvbnRlbnQpIHtcclxuICAgICAgY29uc3QgcHJldmlvdXNDb250ZW50ID0gY29udGVudDsgIC8vL1xyXG5cclxuICAgICAgdGhpcy5zZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFNlbGVjdGlvbihzZWxlY3Rpb24sIHNldFByZXZpb3VzU2VsZWN0aW9uID0gdHJ1ZSkge1xyXG4gICAgY29uc3Qgc2VsZWN0aW9uU3RhcnRQb3NpdGlvbiA9IHNlbGVjdGlvbi5nZXRTdGFydFBvc2l0aW9uKCksXHJcbiAgICAgICAgICBzZWxlY3Rpb25FbmRQb3NpdGlvbiA9IHNlbGVjdGlvbi5nZXRFbmRQb3NpdGlvbigpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uU3RhcnQgPSBzZWxlY3Rpb25TdGFydFBvc2l0aW9uLCAgLy8vXHJcbiAgICAgICAgICBzZWxlY3Rpb25FbmQgPSBzZWxlY3Rpb25FbmRQb3NpdGlvbiwgIC8vL1xyXG4gICAgICAgICAgZG9tRWxlbWVudCA9IHRoaXMuZ2V0RE9NRWxlbWVudCgpO1xyXG5cclxuICAgIGRvbUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2Uoc2VsZWN0aW9uU3RhcnQsIHNlbGVjdGlvbkVuZCk7XHJcblxyXG4gICAgaWYgKHNldFByZXZpb3VzU2VsZWN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IHByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uOyAgLy8vXHJcblxyXG4gICAgICB0aGlzLnNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGl2YXRlKCkge1xyXG4gICAgY29uc3QgYWN0aXZlID0gdGhpcy5pc0FjdGl2ZSgpO1xyXG5cclxuICAgIGlmIChhY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIGRlYWN0aXZhdGUoKSB7XHJcbiAgICBjb25zdCBhY3RpdmUgPSB0aGlzLmlzQWN0aXZlKCk7XHJcblxyXG4gICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVtb3ZlQ2xhc3MoXCJhY3RpdmVcIik7XHJcblxyXG4gICAgY29uc3QgY3VzdG9tRXZlbnRUeXBlID0gREVBQ1RJVkFURV9DVVNUT01fRVZFTlRfVFlQRSxcclxuICAgICAgICAgIGV2ZW50ID0gbnVsbCxcclxuICAgICAgICAgIGVsZW1lbnQgPSB0aGlzLFxyXG4gICAgICAgICAgZm9yY2VkID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmN1c3RvbUhhbmRsZXIoY3VzdG9tRXZlbnRUeXBlLCBldmVudCwgZWxlbWVudCwgZm9yY2VkKTtcclxuICB9XHJcblxyXG4gIGdldFByZXZpb3VzQ29udGVudCgpIHtcclxuICAgIGNvbnN0IHsgcHJldmlvdXNDb250ZW50IH0gPSB0aGlzLmdldFN0YXRlKCk7XHJcblxyXG4gICAgcmV0dXJuIHByZXZpb3VzQ29udGVudDtcclxuICB9XHJcblxyXG4gIGdldFByZXZpb3VzU2VsZWN0aW9uKCkge1xyXG4gICAgY29uc3QgeyBwcmV2aW91c1NlbGVjdGlvbiB9ID0gdGhpcy5nZXRTdGF0ZSgpO1xyXG5cclxuICAgIHJldHVybiBwcmV2aW91c1NlbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIHNldFByZXZpb3VzQ29udGVudChwcmV2aW91c0NvbnRlbnQpIHtcclxuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xyXG4gICAgICBwcmV2aW91c0NvbnRlbnRcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0UHJldmlvdXNTZWxlY3Rpb24ocHJldmlvdXNTZWxlY3Rpb24pIHtcclxuICAgIHRoaXMudXBkYXRlU3RhdGUoe1xyXG4gICAgICBwcmV2aW91c1NlbGVjdGlvblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRJbml0aWFsU3RhdGUoKSB7XHJcbiAgICBjb25zdCBwcmV2aW91c0NvbnRlbnQgPSBudWxsLFxyXG4gICAgICAgICAgcHJldmlvdXNTZWxlY3Rpb24gPSBudWxsO1xyXG5cclxuICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICBwcmV2aW91c0NvbnRlbnQsXHJcbiAgICAgIHByZXZpb3VzU2VsZWN0aW9uXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGRpZE1vdW50KCkge1xyXG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuZ2V0Q29udGVudCgpLFxyXG4gICAgICAgICAgc2VsZWN0aW9uID0gdGhpcy5nZXRTZWxlY3Rpb24oKSxcclxuICAgICAgICAgIHByZXZpb3VzQ29udGVudCA9IGNvbnRlbnQsICAvLy9cclxuICAgICAgICAgIHByZXZpb3VzU2VsZWN0aW9uID0gc2VsZWN0aW9uOyAgLy8vXHJcblxyXG4gICAgdGhpcy5zZXRQcmV2aW91c0NvbnRlbnQocHJldmlvdXNDb250ZW50KTtcclxuXHJcbiAgICB0aGlzLnNldFByZXZpb3VzU2VsZWN0aW9uKHByZXZpb3VzU2VsZWN0aW9uKTtcclxuXHJcbiAgICB0aGlzLm9uRXZlbnQoQkxVUl9FVkVOVF9UWVBFLCB0aGlzLmJsdXJIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9uRXZlbnQoRk9DVVNfRVZFTlRfVFlQRSwgdGhpcy5mb2N1c0hhbmRsZXIpO1xyXG5cclxuICAgIHRoaXMub25FdmVudChJTlBVVF9FVkVOVF9UWVBFLCB0aGlzLmlucHV0SGFuZGxlcik7XHJcblxyXG4gICAgdGhpcy5vbkV2ZW50KFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9uU2VsZWN0aW9uQ2hhbmdlKHRoaXMuc2VsZWN0aW9uQ2hhbmdlSGFuZGxlciwgdGhpcyk7XHJcbiAgfVxyXG5cclxuICB3aWxsVW5tb3VudCgpIHtcclxuICAgIHRoaXMub2ZmRXZlbnQoQkxVUl9FVkVOVF9UWVBFLCB0aGlzLmJsdXJIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9mZkV2ZW50KEZPQ1VTX0VWRU5UX1RZUEUsIHRoaXMuZm9jdXNIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9mZkV2ZW50KElOUFVUX0VWRU5UX1RZUEUsIHRoaXMuaW5wdXRIYW5kbGVyKTtcclxuXHJcbiAgICB0aGlzLm9mZkV2ZW50KFNDUk9MTF9FVkVOVF9UWVBFLCB0aGlzLnNjcm9sbEhhbmRsZXIpO1xyXG5cclxuICAgIGRvY3VtZW50Lm9mZlNlbGVjdGlvbkNoYW5nZSh0aGlzLnNlbGVjdGlvbkNoYW5nZUhhbmRsZXIsIHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgaW5pdGlhbGlzZSgpIHtcclxuICAgIHRoaXMuc2V0SW5pdGlhbFN0YXRlKCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgdGFnTmFtZSA9IFwidGV4dGFyZWFcIjtcclxuXHJcbiAgc3RhdGljIGRlZmF1bHRQcm9wZXJ0aWVzID0ge1xyXG4gICAgY2xhc3NOYW1lOiBcInJpY2hcIlxyXG4gIH07XHJcblxyXG4gIHN0YXRpYyBmcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cykge1xyXG4gICAgY29uc3QgcmljaFRleHRhcmVhID0gRWxlbWVudC5mcm9tQ2xhc3MoQ2xhc3MsIHByb3BlcnRpZXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cyk7XHJcblxyXG4gICAgcmV0dXJuIHJpY2hUZXh0YXJlYTtcclxuICB9XHJcbn1cclxuXHJcbk9iamVjdC5hc3NpZ24oUmljaFRleHRhcmVhLnByb3RvdHlwZSwgY3VzdG9tRXZlbnRNaXhpbnMpO1xyXG5cclxuZnVuY3Rpb24gZGVmZXIoZnVuYykge1xyXG4gIHNldFRpbWVvdXQoZnVuYywgMCk7XHJcbn1cclxuIl0sIm5hbWVzIjpbIlJpY2hUZXh0YXJlYSIsIkJMVVJfRVZFTlRfVFlQRSIsImV2ZW50VHlwZXMiLCJGT0NVU19FVkVOVF9UWVBFIiwiSU5QVVRfRVZFTlRfVFlQRSIsIlNDUk9MTF9FVkVOVF9UWVBFIiwic2VsZWN0aW9uQ2hhbmdlSGFuZGxlciIsImV2ZW50IiwiZWxlbWVudCIsImFjdGl2ZSIsImlzQWN0aXZlIiwiY3VycmVudFRhcmdldCIsImFjdGl2ZUVsZW1lbnQiLCJkb21FbGVtZW50IiwiZ2V0RE9NRWxlbWVudCIsImN1c3RvbUV2ZW50VHlwZSIsIkNIQU5HRV9DVVNUT01fRVZFTlRfVFlQRSIsImN1c3RvbUhhbmRsZXIiLCJzY3JvbGxIYW5kbGVyIiwiU0NST0xMX0NVU1RPTV9FVkVOVF9UWVBFIiwiZm9yY2VkIiwiaW5wdXRIYW5kbGVyIiwiZm9jdXNIYW5kbGVyIiwiZGVmZXIiLCJhZGRDbGFzcyIsIkFDVElWQVRFX0NVU1RPTV9FVkVOVF9UWVBFIiwiRk9DVVNfQ1VTVE9NX0VWRU5UX1RZUEUiLCJibHVySGFuZGxlciIsIkJMVVJfQ1VTVE9NX0VWRU5UX1RZUEUiLCJjb250ZW50IiwiZ2V0Q29udGVudCIsInNlbGVjdGlvbiIsImdldFNlbGVjdGlvbiIsImNvbnRlbnRDaGFuZ2VkIiwiaGFzQ29udGVudENoYW5nZWQiLCJzZWxlY3Rpb25DaGFuZ2VkIiwiaGFzU2VsZWN0aW9uQ2hhbmdlZCIsImNhbGxDdXN0b21IYW5kbGVycyIsInByZXZpb3VzQ29udGVudCIsInByZXZpb3VzU2VsZWN0aW9uIiwic2V0UHJldmlvdXNDb250ZW50Iiwic2V0UHJldmlvdXNTZWxlY3Rpb24iLCJpc1JlYWRPbmx5IiwicmVhZE9ubHkiLCJoYXNDbGFzcyIsInZhbHVlIiwiU2VsZWN0aW9uIiwiZnJvbURPTUVsZW1lbnQiLCJnZXRQcmV2aW91c0NvbnRlbnQiLCJjb250ZW50UHJldmlvdXNDb250ZW50IiwiZ2V0UHJldmlvdXNTZWxlY3Rpb24iLCJzZWxlY3Rpb25QcmV2aW91c1NlbGVjdGlvbiIsImlzRXF1YWxUbyIsInNldFJlYWRPbmx5IiwiT2JqZWN0IiwiYXNzaWduIiwic2V0Q29udGVudCIsInNldFNlbGVjdGlvbiIsInNlbGVjdGlvblN0YXJ0UG9zaXRpb24iLCJnZXRTdGFydFBvc2l0aW9uIiwic2VsZWN0aW9uRW5kUG9zaXRpb24iLCJnZXRFbmRQb3NpdGlvbiIsInNlbGVjdGlvblN0YXJ0Iiwic2VsZWN0aW9uRW5kIiwic2V0U2VsZWN0aW9uUmFuZ2UiLCJhY3RpdmF0ZSIsImZvY3VzIiwiZGVhY3RpdmF0ZSIsInJlbW92ZUNsYXNzIiwiREVBQ1RJVkFURV9DVVNUT01fRVZFTlRfVFlQRSIsImdldFN0YXRlIiwidXBkYXRlU3RhdGUiLCJzZXRJbml0aWFsU3RhdGUiLCJzZXRTdGF0ZSIsImRpZE1vdW50Iiwib25FdmVudCIsImRvY3VtZW50Iiwib25TZWxlY3Rpb25DaGFuZ2UiLCJ3aWxsVW5tb3VudCIsIm9mZkV2ZW50Iiwib2ZmU2VsZWN0aW9uQ2hhbmdlIiwiaW5pdGlhbGlzZSIsImZyb21DbGFzcyIsIkNsYXNzIiwicHJvcGVydGllcyIsInJlbWFpbmluZ0FyZ3VtZW50cyIsIkVsZW1lbnQiLCJyaWNoVGV4dGFyZWEiLCJ0YWdOYW1lIiwiZGVmYXVsdFByb3BlcnRpZXMiLCJjbGFzc05hbWUiLCJwcm90b3R5cGUiLCJjdXN0b21FdmVudE1peGlucyIsImZ1bmMiLCJzZXRU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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "easy-richtextarea",
3
3
  "author": "James Smith",
4
- "version": "4.0.201",
4
+ "version": "4.0.203",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/easy-richtextarea",
7
7
  "description": "A textarea element that handles and hands off events well.",
@@ -15,19 +15,53 @@ import { BLUR_CUSTOM_EVENT_TYPE,
15
15
  const { BLUR_EVENT_TYPE, FOCUS_EVENT_TYPE, INPUT_EVENT_TYPE, SCROLL_EVENT_TYPE } = eventTypes;
16
16
 
17
17
  export default class RichTextarea extends Element {
18
- blurHandler = (event, element) => {
18
+ selectionChangeHandler = (event, element) => {
19
19
  const active = this.isActive();
20
20
 
21
21
  if (!active) {
22
22
  return;
23
23
  }
24
24
 
25
- const customEventType = BLUR_CUSTOM_EVENT_TYPE,
25
+ const { currentTarget } = event,
26
+ { activeElement } = currentTarget,
27
+ domElement = this.getDOMElement();
28
+
29
+ if (activeElement !== domElement) {
30
+ return;
31
+ }
32
+
33
+ element = this; ///
34
+
35
+ const customEventType = CHANGE_CUSTOM_EVENT_TYPE;
36
+
37
+ this.customHandler(customEventType, event, element);
38
+ }
39
+
40
+ scrollHandler = (event, element) => {
41
+ const active = this.isActive();
42
+
43
+ if (!active) {
44
+ return;
45
+ }
46
+
47
+ const customEventType = SCROLL_CUSTOM_EVENT_TYPE,
26
48
  forced = true;
27
49
 
28
50
  this.customHandler(customEventType, event, element, forced);
29
51
  }
30
52
 
53
+ inputHandler = (event, element) => {
54
+ const active = this.isActive();
55
+
56
+ if (!active) {
57
+ return;
58
+ }
59
+
60
+ const customEventType = CHANGE_CUSTOM_EVENT_TYPE;
61
+
62
+ this.customHandler(customEventType, event, element);
63
+ }
64
+
31
65
  focusHandler = (event, element) => {
32
66
  defer(() => {
33
67
  const active = this.isActive();
@@ -44,59 +78,25 @@ export default class RichTextarea extends Element {
44
78
  }
45
79
 
46
80
  const customEventType = FOCUS_CUSTOM_EVENT_TYPE,
47
- forced = true;
81
+ forced = true;
48
82
 
49
83
  this.customHandler(customEventType, event, element, forced);
50
84
  });
51
85
  }
52
86
 
53
- inputHandler = (event, element) => {
54
- const active = this.isActive();
55
-
56
- if (!active) {
57
- return;
58
- }
59
-
60
- const customEventType = CHANGE_CUSTOM_EVENT_TYPE;
61
-
62
- this.customHandler(customEventType, event, element);
63
- }
64
-
65
- scrollHandler = (event, element) => {
87
+ blurHandler = (event, element) => {
66
88
  const active = this.isActive();
67
89
 
68
90
  if (!active) {
69
91
  return;
70
92
  }
71
93
 
72
- const customEventType = SCROLL_CUSTOM_EVENT_TYPE,
94
+ const customEventType = BLUR_CUSTOM_EVENT_TYPE,
73
95
  forced = true;
74
96
 
75
97
  this.customHandler(customEventType, event, element, forced);
76
98
  }
77
99
 
78
- selectionChangeHandler = (event, element) => {
79
- const active = this.isActive();
80
-
81
- if (!active) {
82
- return;
83
- }
84
-
85
- const { currentTarget } = event,
86
- { activeElement } = currentTarget,
87
- domElement = this.getDOMElement();
88
-
89
- if (activeElement !== domElement) {
90
- return;
91
- }
92
-
93
- element = this; ///
94
-
95
- const customEventType = CHANGE_CUSTOM_EVENT_TYPE;
96
-
97
- this.customHandler(customEventType, event, element);
98
- }
99
-
100
100
  customHandler = (customEventType, event, element, forced = false) => {
101
101
  const content = this.getContent(),
102
102
  selection = this.getSelection(),