easy 12.1.17 → 13.0.4

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.
Files changed (47) hide show
  1. package/example.js +293 -146
  2. package/lib/bounds.js +1 -1
  3. package/lib/constants.js +2 -2
  4. package/lib/contentTypes.js +1 -1
  5. package/lib/document.js +8 -8
  6. package/lib/element/body.js +3 -3
  7. package/lib/element/button.js +3 -3
  8. package/lib/element/checkbox.js +3 -3
  9. package/lib/element/link.js +3 -3
  10. package/lib/element/select.js +5 -5
  11. package/lib/element.js +35 -34
  12. package/lib/eventTypes.js +2 -2
  13. package/lib/example/checkbox.js +80 -0
  14. package/lib/example/preamble.js +1 -1
  15. package/lib/example/view.js +12 -6
  16. package/lib/example.js +1 -1
  17. package/lib/index.js +23 -23
  18. package/lib/inputElement/input.js +1 -1
  19. package/lib/inputElement/textarea.js +1 -1
  20. package/lib/inputElement.js +5 -5
  21. package/lib/mixins/change.js +1 -1
  22. package/lib/mixins/click.js +1 -1
  23. package/lib/mixins/element.js +1 -1
  24. package/lib/mixins/event.js +21 -18
  25. package/lib/mixins/jsx.js +29 -32
  26. package/lib/mixins/key.js +1 -1
  27. package/lib/mixins/mouse.js +1 -1
  28. package/lib/mixins/resize.js +5 -4
  29. package/lib/mixins/scroll.js +1 -1
  30. package/lib/mixins/state.js +1 -1
  31. package/lib/mixins/window.js +1 -1
  32. package/lib/offset.js +1 -1
  33. package/lib/react.js +3 -3
  34. package/lib/textElement.js +1 -1
  35. package/lib/utilities/array.js +23 -4
  36. package/lib/utilities/dom.js +1 -1
  37. package/lib/utilities/elements.js +5 -5
  38. package/lib/utilities/name.js +1 -1
  39. package/lib/utilities/object.js +38 -2
  40. package/lib/window.js +21 -21
  41. package/package.json +1 -1
  42. package/src/element.js +4 -4
  43. package/src/example/checkbox.js +10 -0
  44. package/src/example/view.js +3 -1
  45. package/src/mixins/jsx.js +16 -19
  46. package/src/utilities/array.js +4 -0
  47. package/src/utilities/object.js +9 -1
@@ -4,21 +4,57 @@ Object.defineProperty(exports, "__esModule", {
4
4
  });
5
5
  exports.combine = combine;
6
6
  exports.prune = prune;
7
+ function _defineProperty(obj, key, value) {
8
+ if (key in obj) {
9
+ Object.defineProperty(obj, key, {
10
+ value: value,
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true
14
+ });
15
+ } else {
16
+ obj[key] = value;
17
+ }
18
+ return obj;
19
+ }
20
+ function _objectSpread(target) {
21
+ for(var i = 1; i < arguments.length; i++){
22
+ var source = arguments[i] != null ? arguments[i] : {
23
+ };
24
+ var ownKeys = Object.keys(source);
25
+ if (typeof Object.getOwnPropertySymbols === "function") {
26
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
27
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
28
+ }));
29
+ }
30
+ ownKeys.forEach(function(key) {
31
+ _defineProperty(target, key, source[key]);
32
+ });
33
+ }
34
+ return target;
35
+ }
7
36
  function combine(targetObject, param) {
8
37
  var sourceObject = param === void 0 ? {
9
38
  } : param;
39
+ targetObject = _objectSpread({
40
+ }, targetObject); ///
10
41
  var sourceKeys = Object.keys(sourceObject);
11
42
  sourceKeys.forEach(function(sourceKey) {
12
43
  var targetProperty = targetObject[sourceKey], sourceProperty = sourceObject[sourceKey];
13
44
  targetObject[sourceKey] = targetObject.hasOwnProperty(sourceKey) ? "".concat(targetProperty, " ").concat(sourceProperty) : sourceProperty;
14
45
  });
46
+ return targetObject;
15
47
  }
16
- function prune(targetObject, sourceKeys) {
48
+ function prune(targetObject, param) {
49
+ var sourceKeys = param === void 0 ? [] : param;
50
+ targetObject = _objectSpread({
51
+ }, targetObject); ///
17
52
  sourceKeys.forEach(function(sourceKey) {
18
53
  if (targetObject.hasOwnProperty(sourceKey)) {
19
54
  delete targetObject[sourceKey];
20
55
  }
21
56
  });
57
+ return targetObject;
22
58
  }
23
59
 
24
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZSh0YXJnZXRPYmplY3QsIHNvdXJjZU9iamVjdCA9IHt9KSB7XG4gIGNvbnN0IHNvdXJjZUtleXMgPSBPYmplY3Qua2V5cyhzb3VyY2VPYmplY3QpO1xuXG4gIHNvdXJjZUtleXMuZm9yRWFjaCgoc291cmNlS2V5KSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0UHJvcGVydHkgPSB0YXJnZXRPYmplY3Rbc291cmNlS2V5XSxcbiAgICAgICAgICBzb3VyY2VQcm9wZXJ0eSA9IHNvdXJjZU9iamVjdFtzb3VyY2VLZXldO1xuXG4gICAgdGFyZ2V0T2JqZWN0W3NvdXJjZUtleV0gPSB0YXJnZXRPYmplY3QuaGFzT3duUHJvcGVydHkoc291cmNlS2V5KSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCR7dGFyZ2V0UHJvcGVydHl9ICR7c291cmNlUHJvcGVydHl9YCA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlUHJvcGVydHk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJ1bmUodGFyZ2V0T2JqZWN0LCBzb3VyY2VLZXlzKSB7XG4gIHNvdXJjZUtleXMuZm9yRWFjaCgoc291cmNlS2V5KSA9PiB7XG4gICAgaWYgKHRhcmdldE9iamVjdC5oYXNPd25Qcm9wZXJ0eShzb3VyY2VLZXkpKSB7XG4gICAgICBkZWxldGUgdGFyZ2V0T2JqZWN0W3NvdXJjZUtleV07XG4gICAgfVxuICB9KTtcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7O1FBRUksT0FBTyxHQUFQLE9BQU87UUFhUCxLQUFLLEdBQUwsS0FBSztTQWJMLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBaUI7UUFBakIsWUFBWSxHQUFaLEtBQWlCO1FBQWpCLEtBQWlCO1FBQy9DLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVk7SUFFM0MsVUFBVSxDQUFDLE9BQU8sVUFBRSxTQUFTO1lBQ3JCLGNBQWMsR0FBRyxZQUFZLENBQUMsU0FBUyxHQUN2QyxjQUFjLEdBQUcsWUFBWSxDQUFDLFNBQVM7UUFFN0MsWUFBWSxDQUFDLFNBQVMsSUFBSSxZQUFZLENBQUMsY0FBYyxDQUFDLFNBQVMsT0FDZixNQUFjLENBQWhDLGNBQWMsR0FBQyxDQUFDLEdBQWlCLE1BQUEsQ0FBZixjQUFjLElBQ2hDLGNBQWM7OztTQUloQyxLQUFLLENBQUMsWUFBWSxFQUFFLFVBQVU7SUFDNUMsVUFBVSxDQUFDLE9BQU8sVUFBRSxTQUFTO1lBQ3ZCLFlBQVksQ0FBQyxjQUFjLENBQUMsU0FBUzttQkFDaEMsWUFBWSxDQUFDLFNBQVMifQ==
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvb2JqZWN0LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZSh0YXJnZXRPYmplY3QsIHNvdXJjZU9iamVjdCA9IHt9KSB7XG4gIHRhcmdldE9iamVjdCA9IHsgLi4udGFyZ2V0T2JqZWN0IH07ICAvLy9cblxuICBjb25zdCBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlT2JqZWN0KTtcblxuICBzb3VyY2VLZXlzLmZvckVhY2goKHNvdXJjZUtleSkgPT4ge1xuICAgIGNvbnN0IHRhcmdldFByb3BlcnR5ID0gdGFyZ2V0T2JqZWN0W3NvdXJjZUtleV0sXG4gICAgICAgICAgc291cmNlUHJvcGVydHkgPSBzb3VyY2VPYmplY3Rbc291cmNlS2V5XTtcblxuICAgIHRhcmdldE9iamVjdFtzb3VyY2VLZXldID0gdGFyZ2V0T2JqZWN0Lmhhc093blByb3BlcnR5KHNvdXJjZUtleSkgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAke3RhcmdldFByb3BlcnR5fSAke3NvdXJjZVByb3BlcnR5fWAgOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZVByb3BlcnR5O1xuICB9KTtcblxuICByZXR1cm4gdGFyZ2V0T2JqZWN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJ1bmUodGFyZ2V0T2JqZWN0LCBzb3VyY2VLZXlzID0gW10pIHtcbiAgdGFyZ2V0T2JqZWN0ID0geyAuLi50YXJnZXRPYmplY3QgfTsgIC8vL1xuXG4gIHNvdXJjZUtleXMuZm9yRWFjaCgoc291cmNlS2V5KSA9PiB7XG4gICAgaWYgKHRhcmdldE9iamVjdC5oYXNPd25Qcm9wZXJ0eShzb3VyY2VLZXkpKSB7XG4gICAgICBkZWxldGUgdGFyZ2V0T2JqZWN0W3NvdXJjZUtleV07XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gdGFyZ2V0T2JqZWN0O1xufVxuIl0sIm5hbWVzIjpbImNvbWJpbmUiLCJwcnVuZSIsInRhcmdldE9iamVjdCIsInNvdXJjZU9iamVjdCIsInNvdXJjZUtleXMiLCJPYmplY3QiLCJrZXlzIiwiZm9yRWFjaCIsInNvdXJjZUtleSIsInRhcmdldFByb3BlcnR5Iiwic291cmNlUHJvcGVydHkiLCJoYXNPd25Qcm9wZXJ0eSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQUVJQSxPQUFPLEdBQVBBLE9BQU87UUFpQlBDLEtBQUssR0FBTEEsS0FBSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O1NBakJMRCxPQUFPLENBQUNFLFlBQVksRUFBRUMsS0FBaUIsRUFBRSxDQUFDO1FBQXBCQSxZQUFZLEdBQVpBLEtBQWlCLGNBQUYsQ0FBQztJQUFBLENBQUMsR0FBakJBLEtBQWlCO0lBQ3JERCxZQUFZO09BQVFBLFlBQVksRUFBSyxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFFeEMsR0FBSyxDQUFDRSxVQUFVLEdBQUdDLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDSCxZQUFZO0lBRTNDQyxVQUFVLENBQUNHLE9BQU8sQ0FBQyxRQUFRLENBQVBDLFNBQVMsRUFBSyxDQUFDO1FBQ2pDLEdBQUssQ0FBQ0MsY0FBYyxHQUFHUCxZQUFZLENBQUNNLFNBQVMsR0FDdkNFLGNBQWMsR0FBR1AsWUFBWSxDQUFDSyxTQUFTO1FBRTdDTixZQUFZLENBQUNNLFNBQVMsSUFBSU4sWUFBWSxDQUFDUyxjQUFjLENBQUNILFNBQVMsSUFDbkMsQ0FBQSxFQUFvQkUsTUFBYyxDQUFoQ0QsY0FBYyxFQUFDLENBQUMsSUFBaUIsTUFBQSxDQUFmQyxjQUFjLElBQ2hDQSxjQUFjO0lBQzlDLENBQUM7SUFFRCxNQUFNLENBQUNSLFlBQVk7QUFDckIsQ0FBQztTQUVlRCxLQUFLLENBQUNDLFlBQVksRUFBRUUsS0FBZSxFQUFFLENBQUM7UUFBbEJBLFVBQVUsR0FBVkEsS0FBZSxjQUFGLENBQUMsQ0FBQyxHQUFmQSxLQUFlO0lBQ2pERixZQUFZO09BQVFBLFlBQVksRUFBSyxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7SUFFeENFLFVBQVUsQ0FBQ0csT0FBTyxDQUFDLFFBQVEsQ0FBUEMsU0FBUyxFQUFLLENBQUM7UUFDakMsRUFBRSxFQUFFTixZQUFZLENBQUNTLGNBQWMsQ0FBQ0gsU0FBUyxHQUFHLENBQUM7WUFDM0MsTUFBTSxDQUFDTixZQUFZLENBQUNNLFNBQVM7UUFDL0IsQ0FBQztJQUNILENBQUM7SUFFRCxNQUFNLENBQUNOLFlBQVk7QUFDckIsQ0FBQyJ9
package/lib/window.js CHANGED
@@ -53,19 +53,19 @@ function _toConsumableArray(arr) {
53
53
  var _typeof = function(obj) {
54
54
  return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
55
55
  };
56
- var _Object;
57
- var Window1 = /*#__PURE__*/ function() {
58
- function Window1() {
59
- _classCallCheck(this, Window1);
56
+ var Window = /*#__PURE__*/ function() {
57
+ function Window() {
58
+ _classCallCheck(this, Window);
60
59
  this.domElement = window; ///
61
60
  }
62
- _createClass(Window1, [
61
+ _createClass(Window, [
63
62
  {
64
63
  key: "assign",
65
64
  value: function assign() {
66
- for(var _len = arguments.length, sources = new Array(_len), _key1 = 0; _key1 < _len; _key1++){
67
- sources[_key1] = arguments[_key1];
65
+ for(var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++){
66
+ sources[_key] = arguments[_key];
68
67
  }
68
+ var _Object;
69
69
  var target = this.domElement; ///
70
70
  (_Object = Object).assign.apply(_Object, [
71
71
  target
@@ -75,46 +75,46 @@ var Window1 = /*#__PURE__*/ function() {
75
75
  {
76
76
  key: "addResizeObject",
77
77
  value: function addResizeObject() {
78
- }
78
+ } ///
79
79
  },
80
80
  {
81
81
  key: "removeResizeObject",
82
82
  value: function removeResizeObject() {
83
- }
83
+ } ///
84
84
  },
85
85
  {
86
86
  key: "getWidth",
87
87
  value: function getWidth() {
88
88
  return this.domElement.innerWidth;
89
- }
89
+ } ///
90
90
  },
91
91
  {
92
92
  key: "getHeight",
93
93
  value: function getHeight() {
94
94
  return this.domElement.innerHeight;
95
- }
95
+ } ///
96
96
  },
97
97
  {
98
98
  key: "getScrollTop",
99
99
  value: function getScrollTop() {
100
100
  return this.domElement.pageYOffset;
101
- }
101
+ } ///
102
102
  },
103
103
  {
104
104
  key: "getScrollLeft",
105
105
  value: function getScrollLeft() {
106
106
  return this.domElement.pageXOffset;
107
- }
107
+ } ///
108
108
  }
109
109
  ]);
110
- return Window1;
110
+ return Window;
111
111
  }();
112
- Object.assign(Window1.prototype, _key.default);
113
- Object.assign(Window1.prototype, _event.default);
114
- Object.assign(Window1.prototype, _mouse.default);
115
- Object.assign(Window1.prototype, _click.default);
116
- Object.assign(Window1.prototype, _window.default);
117
- var _default = _typeof(window) === _constants.UNDEFINED ? undefined : new Window1();
112
+ Object.assign(Window.prototype, _key.default);
113
+ Object.assign(Window.prototype, _event.default);
114
+ Object.assign(Window.prototype, _mouse.default);
115
+ Object.assign(Window.prototype, _click.default);
116
+ Object.assign(Window.prototype, _window.default);
117
+ var _default = (typeof window === "undefined" ? "undefined" : _typeof(window)) === _constants.UNDEFINED ? undefined : new Window();
118
118
  exports.default = _default;
119
119
 
120
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy93aW5kb3cuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBrZXlNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2tleVwiO1xuaW1wb3J0IGV2ZW50TWl4aW5zIGZyb20gXCIuL21peGlucy9ldmVudFwiO1xuaW1wb3J0IG1vdXNlTWl4aW5zIGZyb20gXCIuL21peGlucy9tb3VzZVwiO1xuaW1wb3J0IGNsaWNrTWl4aW5zIGZyb20gXCIuL21peGlucy9jbGlja1wiO1xuaW1wb3J0IHdpbmRvd01peGlucyBmcm9tIFwiLi9taXhpbnMvd2luZG93XCI7XG5cbmltcG9ydCB7IFVOREVGSU5FRCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBXaW5kb3cge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSB3aW5kb3c7IC8vL1xuICB9XG5cbiAgYXNzaWduKC4uLnNvdXJjZXMpIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmRvbUVsZW1lbnQ7IC8vL1xuXG4gICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIC4uLnNvdXJjZXMpO1xuICB9XG5cbiAgYWRkUmVzaXplT2JqZWN0KCkge30gLy8vXG5cbiAgcmVtb3ZlUmVzaXplT2JqZWN0KCkge30gLy8vXG5cbiAgZ2V0V2lkdGgoKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuaW5uZXJXaWR0aDsgfSAvLy9cbiAgXG4gIGdldEhlaWdodCgpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5pbm5lckhlaWdodDsgfSAvLy9cblxuICBnZXRTY3JvbGxUb3AoKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQucGFnZVlPZmZzZXQ7IH0gIC8vL1xuXG4gIGdldFNjcm9sbExlZnQoKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQucGFnZVhPZmZzZXQ7IH0gLy8vXG59XG5cbk9iamVjdC5hc3NpZ24oV2luZG93LnByb3RvdHlwZSwga2V5TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oV2luZG93LnByb3RvdHlwZSwgZXZlbnRNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihXaW5kb3cucHJvdG90eXBlLCBtb3VzZU1peGlucyk7XG5PYmplY3QuYXNzaWduKFdpbmRvdy5wcm90b3R5cGUsIGNsaWNrTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oV2luZG93LnByb3RvdHlwZSwgd2luZG93TWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgKHR5cGVvZiB3aW5kb3cgPT09IFVOREVGSU5FRCkgPyB1bmRlZmluZWQgOiBuZXcgV2luZG93KCk7ICAvLy9cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7OztJQUVVLElBQWM7SUFDWixNQUFnQjtJQUNoQixNQUFnQjtJQUNoQixNQUFnQjtJQUNmLE9BQWlCO0lBRWhCLFVBQWE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQVVuQyxPQUFNO0lBUkosT0FBTTthQUFOLE9BQU07OEJBQU4sT0FBTTthQUVILFVBQVUsR0FBRyxNQUFNLENBQUUsQ0FBRyxBQUFILEVBQUcsQUFBSCxDQUFHOztpQkFGM0IsT0FBTTs7WUFLVixHQUFNLEdBQU4sTUFBTTs0QkFBTixNQUFNO3dCQUFDLElBQVUsR0FBVixTQUFVLENBQVYsTUFBVSxFQUFQLE9BQU8sYUFBVixJQUFVLEdBQVYsS0FBVSxHQUFWLENBQVUsRUFBVixLQUFVLEdBQVYsSUFBVSxFQUFWLEtBQVU7b0JBQVAsT0FBTyxDQUFWLEtBQVUsSUFBVixTQUFVLENBQVYsS0FBVTs7b0JBQ1QsTUFBTSxRQUFRLFVBQVUsQ0FBRSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7aUJBRW5DLE9BQU0sR0FBTixNQUFNLEVBQUMsTUFBTSxDQUFiLEtBQWlDLENBQWpDLE9BQU07b0JBQVEsTUFBTTtrQkFBcEIsTUFBaUMsb0JBQVIsT0FBTzs7OztZQUdsQyxHQUFlLEdBQWYsZUFBZTs0QkFBZixlQUFlOzs7O1lBRWYsR0FBa0IsR0FBbEIsa0JBQWtCOzRCQUFsQixrQkFBa0I7Ozs7WUFFbEIsR0FBUSxHQUFSLFFBQVE7NEJBQVIsUUFBUTs0QkFBaUIsVUFBVSxDQUFDLFVBQVU7Ozs7WUFFOUMsR0FBUyxHQUFULFNBQVM7NEJBQVQsU0FBUzs0QkFBaUIsVUFBVSxDQUFDLFdBQVc7Ozs7WUFFaEQsR0FBWSxHQUFaLFlBQVk7NEJBQVosWUFBWTs0QkFBaUIsVUFBVSxDQUFDLFdBQVc7Ozs7WUFFbkQsR0FBYSxHQUFiLGFBQWE7NEJBQWIsYUFBYTs0QkFBaUIsVUFBVSxDQUFDLFdBQVc7Ozs7V0FyQmhELE9BQU07O0FBd0JaLE1BQU0sQ0FBQyxNQUFNLENBQUMsT0FBTSxDQUFDLFNBQVMsRUFoQ1IsSUFBYztBQWlDcEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFNLENBQUMsU0FBUyxFQWhDTixNQUFnQjtBQWlDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFNLENBQUMsU0FBUyxFQWhDTixNQUFnQjtBQWlDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFNLENBQUMsU0FBUyxFQWhDTixNQUFnQjtBQWlDeEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFNLENBQUMsU0FBUyxFQWhDTCxPQUFpQjtlQWtDMUIsT0FBYSxDQUFOLE1BQU0sTUFoQ0gsVUFBYSxhQWdDUSxTQUFTLE9BQU8sT0FBTSJ9
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy93aW5kb3cuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCBrZXlNaXhpbnMgZnJvbSBcIi4vbWl4aW5zL2tleVwiO1xuaW1wb3J0IGV2ZW50TWl4aW5zIGZyb20gXCIuL21peGlucy9ldmVudFwiO1xuaW1wb3J0IG1vdXNlTWl4aW5zIGZyb20gXCIuL21peGlucy9tb3VzZVwiO1xuaW1wb3J0IGNsaWNrTWl4aW5zIGZyb20gXCIuL21peGlucy9jbGlja1wiO1xuaW1wb3J0IHdpbmRvd01peGlucyBmcm9tIFwiLi9taXhpbnMvd2luZG93XCI7XG5cbmltcG9ydCB7IFVOREVGSU5FRCB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jbGFzcyBXaW5kb3cge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmRvbUVsZW1lbnQgPSB3aW5kb3c7IC8vL1xuICB9XG5cbiAgYXNzaWduKC4uLnNvdXJjZXMpIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLmRvbUVsZW1lbnQ7IC8vL1xuXG4gICAgT2JqZWN0LmFzc2lnbih0YXJnZXQsIC4uLnNvdXJjZXMpO1xuICB9XG5cbiAgYWRkUmVzaXplT2JqZWN0KCkge30gLy8vXG5cbiAgcmVtb3ZlUmVzaXplT2JqZWN0KCkge30gLy8vXG5cbiAgZ2V0V2lkdGgoKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQuaW5uZXJXaWR0aDsgfSAvLy9cbiAgXG4gIGdldEhlaWdodCgpIHsgcmV0dXJuIHRoaXMuZG9tRWxlbWVudC5pbm5lckhlaWdodDsgfSAvLy9cblxuICBnZXRTY3JvbGxUb3AoKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQucGFnZVlPZmZzZXQ7IH0gIC8vL1xuXG4gIGdldFNjcm9sbExlZnQoKSB7IHJldHVybiB0aGlzLmRvbUVsZW1lbnQucGFnZVhPZmZzZXQ7IH0gLy8vXG59XG5cbk9iamVjdC5hc3NpZ24oV2luZG93LnByb3RvdHlwZSwga2V5TWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oV2luZG93LnByb3RvdHlwZSwgZXZlbnRNaXhpbnMpO1xuT2JqZWN0LmFzc2lnbihXaW5kb3cucHJvdG90eXBlLCBtb3VzZU1peGlucyk7XG5PYmplY3QuYXNzaWduKFdpbmRvdy5wcm90b3R5cGUsIGNsaWNrTWl4aW5zKTtcbk9iamVjdC5hc3NpZ24oV2luZG93LnByb3RvdHlwZSwgd2luZG93TWl4aW5zKTtcblxuZXhwb3J0IGRlZmF1bHQgKHR5cGVvZiB3aW5kb3cgPT09IFVOREVGSU5FRCkgPyB1bmRlZmluZWQgOiBuZXcgV2luZG93KCk7ICAvLy9cbiJdLCJuYW1lcyI6WyJXaW5kb3ciLCJkb21FbGVtZW50Iiwid2luZG93IiwiYXNzaWduIiwic291cmNlcyIsIk9iamVjdCIsInRhcmdldCIsImFkZFJlc2l6ZU9iamVjdCIsInJlbW92ZVJlc2l6ZU9iamVjdCIsImdldFdpZHRoIiwiaW5uZXJXaWR0aCIsImdldEhlaWdodCIsImlubmVySGVpZ2h0IiwiZ2V0U2Nyb2xsVG9wIiwicGFnZVlPZmZzZXQiLCJnZXRTY3JvbGxMZWZ0IiwicGFnZVhPZmZzZXQiLCJwcm90b3R5cGUiLCJ1bmRlZmluZWQiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7O0FBRVUsR0FBYyxDQUFkLElBQWM7QUFDWixHQUFnQixDQUFoQixNQUFnQjtBQUNoQixHQUFnQixDQUFoQixNQUFnQjtBQUNoQixHQUFnQixDQUFoQixNQUFnQjtBQUNmLEdBQWlCLENBQWpCLE9BQWlCO0FBRWhCLEdBQWEsQ0FBYixVQUFhOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFFakNBLE1BQU0saUJBQVosUUFBUTthQUFGQSxNQUFNOzhCQUFOQSxNQUFNO1FBRVIsSUFBSSxDQUFDQyxVQUFVLEdBQUdDLE1BQU0sQ0FBRSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7O2lCQUYzQkYsTUFBTTs7WUFLVkcsR0FBTSxFQUFOQSxDQUFNO21CQUFOQSxRQUFRLENBQVJBLE1B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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "easy",
3
3
  "author": "James Smith",
4
- "version": "12.1.17",
4
+ "version": "13.0.4",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/easy",
7
7
  "description": "Elements that abstract away from the DOM.",
package/src/element.js CHANGED
@@ -346,13 +346,13 @@ function elementFromTagName(Class, tagName, ...remainingArguments) {
346
346
 
347
347
  function defaultPropertiesFromClass(Class, defaultProperties = {}) {
348
348
  if (Class.hasOwnProperty(DEFAULT_PROPERTIES)) {
349
- combine(defaultProperties, Class[DEFAULT_PROPERTIES]);
349
+ defaultProperties = combine(defaultProperties, Class[DEFAULT_PROPERTIES]);
350
350
  }
351
351
 
352
352
  const superClass = Object.getPrototypeOf(Class);
353
353
 
354
354
  if (superClass !== null) {
355
- defaultPropertiesFromClass(superClass, defaultProperties);
355
+ defaultProperties = defaultPropertiesFromClass(superClass, defaultProperties);
356
356
  }
357
357
 
358
358
  return defaultProperties;
@@ -360,13 +360,13 @@ function defaultPropertiesFromClass(Class, defaultProperties = {}) {
360
360
 
361
361
  function ignoredPropertiesFromClass(Class, ignoredProperties = []) {
362
362
  if (Class.hasOwnProperty(IGNORED_PROPERTIES)) {
363
- augment(ignoredProperties, Class[IGNORED_PROPERTIES], (ignoredProperty) => !ignoredProperties.includes(ignoredProperty));
363
+ ignoredProperties = augment(ignoredProperties, Class[IGNORED_PROPERTIES], (ignoredProperty) => !ignoredProperties.includes(ignoredProperty));
364
364
  }
365
365
 
366
366
  const superClass = Object.getPrototypeOf(Class);
367
367
 
368
368
  if (superClass !== null) {
369
- ignoredPropertiesFromClass(superClass, ignoredProperties);
369
+ ignoredProperties = ignoredPropertiesFromClass(superClass, ignoredProperties);
370
370
  }
371
371
 
372
372
  return ignoredProperties;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ import { Checkbox } from "../index"; ///
4
+
5
+ export default class extends Checkbox {
6
+ static defaultProperties = {
7
+ className: "example",
8
+ reference: "example"
9
+ }
10
+ }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
- import { Textarea, Checkbox, Button, constants, Element } from "../index"; ///
3
+ import { Textarea, Button, constants, Element } from "../index"; ///
4
+
5
+ import Checkbox from "./checkbox";
4
6
 
5
7
  const { LEFT_MOUSE_BUTTON } = constants;
6
8
 
package/src/mixins/jsx.js CHANGED
@@ -7,35 +7,32 @@ import { removeFalseyElements, replaceStringsWithTextElements } from "../utiliti
7
7
  import { FOR, CLASS, OBJECT, HTML_FOR, CLASS_NAME, BOOLEAN, FUNCTION, SVG_NAMESPACE_URI } from "../constants";
8
8
 
9
9
  function applyProperties(properties, defaultProperties, ignoredProperties) {
10
- this.properties = properties;
10
+ this.properties = combine(properties, defaultProperties);
11
11
 
12
- properties = Object.assign({}, properties); ///
13
-
14
- combine(properties, defaultProperties);
15
-
16
- const childElements = childElementsFromElement(this) || properties.childElements; ///
17
-
18
- prune(properties, ignoredProperties);
12
+ properties = prune(this.properties, ignoredProperties); ///
19
13
 
20
14
  const { namespaceURI } = this.domElement,
21
15
  svg = (namespaceURI === SVG_NAMESPACE_URI), ///
22
- names = Object.keys(properties); ///
16
+ propertiesKeys = Object.keys(properties),
17
+ names = propertiesKeys; ///
23
18
 
24
19
  names.forEach((name) => {
25
- const value = properties[name];
20
+ const value = properties[name],
21
+ nameHandlerName = isNameHandlerName(name);
26
22
 
27
- if (false) {
28
- ///
29
- } else if (isHandlerName(name)) {
23
+ if (nameHandlerName) {
30
24
  addHandler(this, name, value);
31
- } else if (isAttributeName(name, svg)) {
32
- addAttribute(this, name, value);
33
25
  } else {
34
- ///
26
+ const nameAttributeName = isNameAttributeName(name, svg);
27
+
28
+ if (nameAttributeName) {
29
+ addAttribute(this, name, value);
30
+ }
35
31
  }
36
32
  });
37
33
 
38
- const context = {};
34
+ const childElements = childElementsFromElement(this) || properties.childElements, ///
35
+ context = {};
39
36
 
40
37
  childElements.forEach((childElement) => {
41
38
  updateContext(childElement, context);
@@ -156,10 +153,10 @@ function addAttribute(element, name, value) {
156
153
  }
157
154
  }
158
155
 
159
- function isHandlerName(name) {
156
+ function isNameHandlerName(name) {
160
157
  return name.match(/^on/);
161
158
  }
162
159
 
163
- function isAttributeName(name, svg) {
160
+ function isNameAttributeName(name, svg) {
164
161
  return svg ? isSVGAttributeName(name) : isHTMLAttributeName(name)
165
162
  }
@@ -21,6 +21,8 @@ export function guarantee(arrayOrElement) {
21
21
  }
22
22
 
23
23
  export function augment(array1, array2, test) {
24
+ array1 = [ ...array1 ]; ///
25
+
24
26
  array2.forEach((element, index) => {
25
27
  const passed = test(element, index);
26
28
 
@@ -28,4 +30,6 @@ export function augment(array1, array2, test) {
28
30
  array1.push(element);
29
31
  }
30
32
  });
33
+
34
+ return array1;
31
35
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
3
  export function combine(targetObject, sourceObject = {}) {
4
+ targetObject = { ...targetObject }; ///
5
+
4
6
  const sourceKeys = Object.keys(sourceObject);
5
7
 
6
8
  sourceKeys.forEach((sourceKey) => {
@@ -11,12 +13,18 @@ export function combine(targetObject, sourceObject = {}) {
11
13
  `${targetProperty} ${sourceProperty}` :
12
14
  sourceProperty;
13
15
  });
16
+
17
+ return targetObject;
14
18
  }
15
19
 
16
- export function prune(targetObject, sourceKeys) {
20
+ export function prune(targetObject, sourceKeys = []) {
21
+ targetObject = { ...targetObject }; ///
22
+
17
23
  sourceKeys.forEach((sourceKey) => {
18
24
  if (targetObject.hasOwnProperty(sourceKey)) {
19
25
  delete targetObject[sourceKey];
20
26
  }
21
27
  });
28
+
29
+ return targetObject;
22
30
  }