@instructure/ui-dom-utils 8.33.1 → 8.33.2-snapshot-5

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 (59) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/es/InputModeListener.js +1 -22
  3. package/es/addEventListener.js +1 -3
  4. package/es/addInputModeListener.js +1 -29
  5. package/es/addPositionChangeListener.js +1 -7
  6. package/es/addResizeListener.js +1 -8
  7. package/es/contains.js +2 -8
  8. package/es/containsActiveElement.js +1 -2
  9. package/es/elementMatches.js +3 -4
  10. package/es/findDOMNode.js +4 -11
  11. package/es/findFocusable.js +1 -12
  12. package/es/findTabbable.js +1 -3
  13. package/es/getActiveElement.js +4 -4
  14. package/es/getBoundingClientRect.js +1 -13
  15. package/es/getClassList.js +2 -7
  16. package/es/getComputedStyle.js +1 -5
  17. package/es/getFontSize.js +5 -8
  18. package/es/getOffsetParents.js +5 -11
  19. package/es/getScrollParents.js +8 -20
  20. package/es/handleMouseOverOut.js +2 -3
  21. package/es/isActiveElement.js +1 -2
  22. package/es/isDefinedCustomElement.js +0 -1
  23. package/es/isVisible.js +11 -18
  24. package/es/matchMedia.js +1 -4
  25. package/es/ownerDocument.js +1 -4
  26. package/es/ownerWindow.js +1 -2
  27. package/es/requestAnimationFrame.js +2 -5
  28. package/es/transformSelection.js +4 -10
  29. package/lib/InputModeListener.js +1 -26
  30. package/lib/addEventListener.js +0 -4
  31. package/lib/addInputModeListener.js +1 -32
  32. package/lib/addPositionChangeListener.js +0 -10
  33. package/lib/addResizeListener.js +0 -11
  34. package/lib/canUseDOM.js +0 -1
  35. package/lib/contains.js +1 -10
  36. package/lib/containsActiveElement.js +0 -5
  37. package/lib/elementMatches.js +2 -5
  38. package/lib/findDOMNode.js +4 -13
  39. package/lib/findFocusable.js +1 -13
  40. package/lib/findTabbable.js +1 -4
  41. package/lib/getActiveElement.js +2 -5
  42. package/lib/getBoundingClientRect.js +0 -17
  43. package/lib/getClassList.js +2 -9
  44. package/lib/getComputedStyle.js +0 -8
  45. package/lib/getFontSize.js +6 -12
  46. package/lib/getOffsetParents.js +4 -15
  47. package/lib/getScrollParents.js +7 -23
  48. package/lib/handleMouseOverOut.js +0 -4
  49. package/lib/index.js +0 -26
  50. package/lib/isActiveElement.js +0 -4
  51. package/lib/isDefinedCustomElement.js +0 -2
  52. package/lib/isVisible.js +10 -20
  53. package/lib/matchMedia.js +0 -7
  54. package/lib/ownerDocument.js +0 -5
  55. package/lib/ownerWindow.js +0 -4
  56. package/lib/requestAnimationFrame.js +1 -6
  57. package/lib/transformSelection.js +4 -11
  58. package/package.json +5 -5
  59. package/tsconfig.build.tsbuildinfo +1 -1
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.addInputModeListener = exports.MODES = void 0;
7
-
8
7
  var _addEventListener = require("./addEventListener");
9
-
10
8
  var _canUseDOM = require("./canUseDOM");
11
-
12
9
  /*
13
10
  * The MIT License (MIT)
14
11
  *
@@ -32,6 +29,7 @@ var _canUseDOM = require("./canUseDOM");
32
29
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
33
30
  * SOFTWARE.
34
31
  */
32
+
35
33
  const MODES = {
36
34
  keyboard: 'keyboard',
37
35
  pointer: 'pointer'
@@ -42,90 +40,63 @@ let _downListeners = [];
42
40
  let _mode = MODES.keyboard;
43
41
  let _registeredCount = 0;
44
42
  const _modeChangeHandlers = {};
45
-
46
43
  const handleInitialPointerMove = event => {
47
44
  // Work around a Safari quirk that fires a mousemove on <html> whenever the
48
45
  // window blurs, even if you're tabbing out of the page. ¯\_(ツ)_/¯
49
46
  if (event.target.nodeName.toLowerCase() === 'html') {
50
47
  return;
51
48
  }
52
-
53
49
  handleInputModeChange(_mode, MODES.pointer);
54
-
55
50
  _moveListeners.forEach(listener => listener.remove());
56
51
  };
57
-
58
52
  const handleInputModeChange = (currentMode, newMode) => {
59
53
  if (currentMode === newMode) return;
60
54
  _mode = newMode;
61
55
  Object.keys(_modeChangeHandlers).forEach(handlerId => _modeChangeHandlers[handlerId](currentMode, newMode));
62
56
  };
63
-
64
57
  const handleKeyDown = () => {
65
58
  handleInputModeChange(_mode, MODES.keyboard);
66
59
  };
67
-
68
60
  const handlePointerDown = () => {
69
61
  handleInputModeChange(_mode, MODES.pointer);
70
62
  };
71
-
72
63
  const addMoveListeners = () => {
73
64
  if (_moveListeners.length === 0) {
74
65
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'mousemove', handleInitialPointerMove, true));
75
-
76
66
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'mousedown', handleInitialPointerMove, true));
77
-
78
67
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'mouseup', handleInitialPointerMove, true));
79
-
80
68
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'pointermove', handleInitialPointerMove, true));
81
-
82
69
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'pointerdown', handleInitialPointerMove, true));
83
-
84
70
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'pointerup', handleInitialPointerMove, true));
85
-
86
71
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'touchmove', handleInitialPointerMove, true));
87
-
88
72
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'touchstart', handleInitialPointerMove, true));
89
-
90
73
  _moveListeners.push((0, _addEventListener.addEventListener)(document, 'touchend', handleInitialPointerMove, true));
91
74
  }
92
75
  };
93
-
94
76
  const addDownListeners = () => {
95
77
  if (_downListeners.length === 0) {
96
78
  _downListeners.push((0, _addEventListener.addEventListener)(document, 'keydown', handleKeyDown, true));
97
-
98
79
  _downListeners.push((0, _addEventListener.addEventListener)(document, 'mousedown', handlePointerDown, true));
99
-
100
80
  _downListeners.push((0, _addEventListener.addEventListener)(document, 'pointerdown', handlePointerDown, true));
101
-
102
81
  _downListeners.push((0, _addEventListener.addEventListener)(document, 'touchstart', handlePointerDown, true));
103
82
  }
104
83
  };
105
-
106
84
  const removeListeners = () => {
107
85
  _moveListeners.forEach(listener => listener.remove());
108
-
109
86
  _moveListeners = [];
110
-
111
87
  _downListeners.forEach(listener => listener.remove());
112
-
113
88
  _downListeners = [];
114
89
  };
115
-
116
90
  const addInputModeListener = handlerObject => {
117
91
  const onInputModeChange = handlerObject.onInputModeChange;
118
92
  const id = _registeredCount++;
119
-
120
93
  if (typeof onInputModeChange === 'function') {
121
94
  _modeChangeHandlers[id] = onInputModeChange;
122
95
  }
123
-
124
96
  if (_canUseDOM.canUseDOM) {
125
97
  addDownListeners();
126
98
  addMoveListeners();
127
99
  }
128
-
129
100
  return {
130
101
  isKeyboardMode: () => {
131
102
  return _mode === MODES.keyboard;
@@ -134,13 +105,11 @@ const addInputModeListener = handlerObject => {
134
105
  if (_registeredCount === 1) {
135
106
  removeListeners();
136
107
  }
137
-
138
108
  delete _modeChangeHandlers[id];
139
109
  _registeredCount--;
140
110
  }
141
111
  };
142
112
  };
143
-
144
113
  exports.addInputModeListener = addInputModeListener;
145
114
  var _default = addInputModeListener;
146
115
  exports.default = _default;
@@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.addPositionChangeListener = addPositionChangeListener;
7
7
  exports.default = void 0;
8
-
9
8
  var _findDOMNode = require("./findDOMNode");
10
-
11
9
  var _getBoundingClientRect = require("./getBoundingClientRect");
12
-
13
10
  var _requestAnimationFrame = require("./requestAnimationFrame");
14
-
15
11
  /*
16
12
  * The MIT License (MIT)
17
13
  *
@@ -52,30 +48,24 @@ function addPositionChangeListener(el, handler) {
52
48
  const raf = [];
53
49
  let coords = (0, _getBoundingClientRect.getBoundingClientRect)(node) || {};
54
50
  let cancelled = false;
55
-
56
51
  function checkPosition() {
57
52
  if (!cancelled) {
58
53
  const newCoords = (0, _getBoundingClientRect.getBoundingClientRect)(node) || {};
59
54
  const positionChanged = newCoords.top !== coords.top || newCoords.left !== coords.left || newCoords.right !== coords.right || newCoords.bottom !== coords.bottom || newCoords.width !== coords.width || newCoords.height !== coords.height;
60
-
61
55
  if (positionChanged && typeof handler === 'function') {
62
56
  handler(newCoords);
63
57
  }
64
-
65
58
  coords = newCoords;
66
59
  raf.push((0, _requestAnimationFrame.requestAnimationFrame)(checkPosition));
67
60
  }
68
61
  }
69
-
70
62
  checkPosition();
71
63
  return {
72
64
  remove() {
73
65
  cancelled = true;
74
66
  raf.forEach(req => req.cancel());
75
67
  }
76
-
77
68
  };
78
69
  }
79
-
80
70
  var _default = addPositionChangeListener;
81
71
  exports.default = _default;
@@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.addResizeListener = addResizeListener;
7
7
  exports.default = void 0;
8
-
9
8
  var _findDOMNode = require("./findDOMNode");
10
-
11
9
  var _getBoundingClientRect = require("./getBoundingClientRect");
12
-
13
10
  var _requestAnimationFrame = require("./requestAnimationFrame");
14
-
15
11
  /*
16
12
  * The MIT License (MIT)
17
13
  *
@@ -78,35 +74,28 @@ function addResizeListener(el, handler) {
78
74
  let origSize = (0, _getBoundingClientRect.getBoundingClientRect)(node);
79
75
  let cancelled = false;
80
76
  let raf;
81
-
82
77
  const checkDimensions = () => {
83
78
  if (cancelled) {
84
79
  return;
85
80
  }
86
-
87
81
  const boundingRect = (0, _getBoundingClientRect.getBoundingClientRect)(node);
88
82
  const size = {
89
83
  width: boundingRect.width,
90
84
  height: boundingRect.height
91
85
  };
92
-
93
86
  if (dimensions.some(dim => size[dim] != origSize[dim]) && typeof handler === 'function') {
94
87
  handler(size);
95
88
  }
96
-
97
89
  origSize = size;
98
90
  raf = (0, _requestAnimationFrame.requestAnimationFrame)(checkDimensions);
99
91
  };
100
-
101
92
  checkDimensions();
102
93
  return {
103
94
  remove() {
104
95
  cancelled = true;
105
96
  raf.cancel();
106
97
  }
107
-
108
98
  };
109
99
  }
110
-
111
100
  var _default = addResizeListener;
112
101
  exports.default = _default;
package/lib/canUseDOM.js CHANGED
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.canUseDOM = void 0;
7
-
8
7
  /*
9
8
  * The MIT License (MIT)
10
9
  *
package/lib/contains.js CHANGED
@@ -4,11 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = exports.contains = void 0;
7
-
8
7
  var _findDOMNode = require("./findDOMNode");
9
-
10
8
  var _canUseDOM = require("./canUseDOM");
11
-
12
9
  /*
13
10
  * The MIT License (MIT)
14
11
  *
@@ -47,7 +44,6 @@ var _canUseDOM = require("./canUseDOM");
47
44
  function containsWithDOM(context, el) {
48
45
  const container = context && (0, _findDOMNode.findDOMNode)(context);
49
46
  const node = el && (0, _findDOMNode.findDOMNode)(el);
50
-
51
47
  if (!container || !node) {
52
48
  return false;
53
49
  } else if (!(container instanceof Window) && !(node instanceof Window)) {
@@ -56,23 +52,18 @@ function containsWithDOM(context, el) {
56
52
  return containsFallback(container, node);
57
53
  }
58
54
  }
59
- /* istanbul ignore next */
60
-
61
55
 
56
+ /* istanbul ignore next */
62
57
  function containsFallback(context, el) {
63
58
  let node = el;
64
-
65
59
  while (node) {
66
60
  if (node === context) {
67
61
  return true;
68
62
  }
69
-
70
63
  node = node.parentNode;
71
64
  }
72
-
73
65
  return false;
74
66
  }
75
-
76
67
  const contains = _canUseDOM.canUseDOM ? containsWithDOM : containsFallback;
77
68
  exports.contains = contains;
78
69
  var _default = contains;
@@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.containsActiveElement = containsActiveElement;
7
7
  exports.default = void 0;
8
-
9
8
  var _findDOMNode = require("./findDOMNode");
10
-
11
9
  var _contains = require("./contains");
12
-
13
10
  var _getActiveElement = require("./getActiveElement");
14
-
15
11
  /*
16
12
  * The MIT License (MIT)
17
13
  *
@@ -51,6 +47,5 @@ function containsActiveElement(el) {
51
47
  const active = (0, _getActiveElement.getActiveElement)();
52
48
  return !!node && (active === node || (0, _contains.contains)(node, active));
53
49
  }
54
-
55
50
  var _default = containsActiveElement;
56
51
  exports.default = _default;
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.elementMatches = elementMatches;
8
-
9
8
  var _findDOMNode = require("./findDOMNode");
10
-
11
9
  /*
12
10
  * The MIT License (MIT)
13
11
  *
@@ -46,11 +44,10 @@ var _findDOMNode = require("./findDOMNode");
46
44
  */
47
45
  function elementMatches(el, selectorString) {
48
46
  const node = el && (0, _findDOMNode.findDOMNode)(el);
49
- if (!node) return false; // this cast is in a separate line to circumvent a react-docgen bug
50
-
47
+ if (!node) return false;
48
+ // this cast is in a separate line to circumvent a react-docgen bug
51
49
  const elem = node;
52
50
  return elem.matches(selectorString);
53
51
  }
54
-
55
52
  var _default = elementMatches;
56
53
  exports.default = _default;
@@ -1,15 +1,12 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = void 0;
9
8
  exports.findDOMNode = findDOMNode;
10
-
11
9
  var _reactDom = _interopRequireDefault(require("react-dom"));
12
-
13
10
  /*
14
11
  * The MIT License (MIT)
15
12
  *
@@ -33,10 +30,10 @@ var _reactDom = _interopRequireDefault(require("react-dom"));
33
30
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
34
31
  * SOFTWARE.
35
32
  */
33
+
36
34
  const isReactNodeWithRef = el => {
37
35
  return !!el && el.ref !== void 0;
38
36
  };
39
-
40
37
  const isRefObject = obj => {
41
38
  return !!obj && obj.current !== void 0;
42
39
  };
@@ -51,35 +48,29 @@ const isRefObject = obj => {
51
48
  * @param { Node | Window | React.ReactElement | React.Component | function } el - component, DOM node, or function returning a DOM node
52
49
  * @returns { Node | Window | null | undefined } The root node of this element
53
50
  */
54
-
55
-
56
51
  function findDOMNode(el) {
57
52
  const node = typeof el === 'function' ? el() : el;
58
-
59
53
  if (node === document) {
60
54
  return document.documentElement; // HTMLElement
61
55
  } else if (node instanceof Element || node === window || node && typeof node.nodeType !== 'undefined') {
62
56
  return node;
63
57
  } else if (node) {
64
58
  const reactNode = node;
65
-
66
59
  if (isReactNodeWithRef(reactNode)) {
67
60
  const refElement = isRefObject(reactNode.ref) ? reactNode.ref.current : reactNode.ref;
68
-
69
61
  if (!(refElement instanceof HTMLElement)) {
70
62
  return findDOMNode(refElement);
71
63
  }
72
-
73
64
  return refElement;
74
65
  } else {
75
- const elName = reactNode.constructor.componentId ? reactNode.constructor.componentId : reactNode.constructor.name; // eslint-disable-next-line no-console
66
+ const elName = reactNode.constructor.componentId ? reactNode.constructor.componentId : reactNode.constructor.name;
67
+
68
+ // eslint-disable-next-line no-console
76
69
 
77
70
  return _reactDom.default.findDOMNode(node);
78
71
  }
79
72
  }
80
-
81
73
  return void 0;
82
74
  }
83
-
84
75
  var _default = findDOMNode;
85
76
  exports.default = _default;
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.findFocusable = findFocusable;
8
-
9
8
  var _ = require("./");
10
-
11
9
  /*
12
10
  * The MIT License (MIT)
13
11
  *
@@ -43,20 +41,17 @@ var _ = require("./");
43
41
  *
44
42
  * http://api.jqueryui.com/category/ui-core/
45
43
  **/
44
+
46
45
  function findFocusable(el, filter, shouldSearchRootNode) {
47
46
  const element = el && (0, _.findDOMNode)(el);
48
-
49
47
  if (!element || typeof element.querySelectorAll !== 'function') {
50
48
  return [];
51
49
  }
52
-
53
50
  const focusableSelector = 'a[href],frame,iframe,object,input:not([type=hidden]),select,textarea,button,*[tabindex]';
54
51
  let matches = Array.from(element.querySelectorAll(focusableSelector));
55
-
56
52
  if (shouldSearchRootNode && (0, _.elementMatches)(element, focusableSelector)) {
57
53
  matches = [...matches, element];
58
54
  }
59
-
60
55
  return matches.filter(el => {
61
56
  if (typeof filter === 'function') {
62
57
  return filter(el) && focusable(el);
@@ -65,22 +60,18 @@ function findFocusable(el, filter, shouldSearchRootNode) {
65
60
  }
66
61
  });
67
62
  }
68
-
69
63
  function hidden(element) {
70
64
  const cs = (0, _.getComputedStyle)(element);
71
65
  return cs.display !== 'inline' && element.offsetWidth <= 0 && element.offsetHeight <= 0 || cs.display === 'none';
72
66
  }
73
-
74
67
  function positioned(element) {
75
68
  const POS = ['fixed', 'absolute'];
76
69
  if (POS.includes(element.style.position.toLowerCase())) return true;
77
70
  if (POS.includes((0, _.getComputedStyle)(element).getPropertyValue('position').toLowerCase())) return true;
78
71
  return false;
79
72
  }
80
-
81
73
  function visible(element) {
82
74
  let el = element;
83
-
84
75
  while (el) {
85
76
  if (el === document.body) break;
86
77
  if (el instanceof ShadowRoot) break;
@@ -88,13 +79,10 @@ function visible(element) {
88
79
  if (positioned(el)) break;
89
80
  el = el.parentNode;
90
81
  }
91
-
92
82
  return true;
93
83
  }
94
-
95
84
  function focusable(element) {
96
85
  return !element.disabled && visible(element);
97
86
  }
98
-
99
87
  var _default = findFocusable;
100
88
  exports.default = _default;
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.findTabbable = findTabbable;
8
-
9
8
  var _findFocusable = require("./findFocusable");
10
-
11
9
  /*
12
10
  * The MIT License (MIT)
13
11
  *
@@ -31,16 +29,15 @@ var _findFocusable = require("./findFocusable");
31
29
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32
30
  * SOFTWARE.
33
31
  */
32
+
34
33
  function findTabbable(el, shouldSearchRootNode) {
35
34
  return (0, _findFocusable.findFocusable)(el, element => {
36
35
  return !isInvalidTabIndex(element.getAttribute('tabindex'));
37
36
  }, shouldSearchRootNode);
38
37
  }
39
-
40
38
  function isInvalidTabIndex(tabIndex) {
41
39
  // TS wants it to be number to be valid, but this method in fact checks if the parameter is a valid positive number
42
40
  return !isNaN(tabIndex) && tabIndex < 0;
43
41
  }
44
-
45
42
  var _default = findTabbable;
46
43
  exports.default = _default;
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.getActiveElement = getActiveElement;
8
-
9
8
  var _isDefinedCustomElement = require("./isDefinedCustomElement");
10
-
11
9
  /*
12
10
  * The MIT License (MIT)
13
11
  *
@@ -43,14 +41,13 @@ var _isDefinedCustomElement = require("./isDefinedCustomElement");
43
41
  * @return { Element | null } the active element
44
42
  */
45
43
  function getActiveElement(doc) {
46
- const activeElement = (doc || document).activeElement; //check if activeElement is a custom element or not
44
+ const activeElement = (doc || document).activeElement;
47
45
 
46
+ //check if activeElement is a custom element or not
48
47
  if (activeElement && (0, _isDefinedCustomElement.isDefinedCustomElement)(activeElement)) {
49
48
  return activeElement.shadowRoot.activeElement;
50
49
  }
51
-
52
50
  return activeElement;
53
51
  }
54
-
55
52
  var _default = getActiveElement;
56
53
  exports.default = _default;
@@ -5,15 +5,10 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.getBoundingClientRect = getBoundingClientRect;
8
-
9
8
  var _findDOMNode = require("./findDOMNode");
10
-
11
9
  var _canUseDOM = require("./canUseDOM");
12
-
13
10
  var _contains = require("./contains");
14
-
15
11
  var _ownerDocument = require("./ownerDocument");
16
-
17
12
  /*
18
13
  * The MIT License (MIT)
19
14
  *
@@ -58,17 +53,13 @@ function getBoundingClientRect(el) {
58
53
  height: 0,
59
54
  width: 0
60
55
  };
61
-
62
56
  if (!_canUseDOM.canUseDOM) {
63
57
  return rect;
64
58
  }
65
-
66
59
  const node = el && (0, _findDOMNode.findDOMNode)(el);
67
-
68
60
  if (!node) {
69
61
  return rect;
70
62
  }
71
-
72
63
  if (node === window) {
73
64
  return {
74
65
  left: window.pageXOffset,
@@ -79,24 +70,18 @@ function getBoundingClientRect(el) {
79
70
  bottom: window.innerHeight + window.pageYOffset
80
71
  };
81
72
  }
82
-
83
73
  const doc = el === document ? document : (0, _ownerDocument.ownerDocument)(node);
84
74
  const docEl = doc && doc.documentElement;
85
-
86
75
  if (!docEl || !(0, _contains.contains)(docEl, node)) {
87
76
  return rect;
88
77
  }
89
-
90
78
  const boundingRect = node.getBoundingClientRect();
91
79
  let k;
92
-
93
80
  for (k in rect) {
94
81
  rect[k] = boundingRect[k];
95
82
  }
96
-
97
83
  if (doc !== document && doc.defaultView) {
98
84
  const frameElement = doc.defaultView.frameElement;
99
-
100
85
  if (frameElement) {
101
86
  const frameRect = getBoundingClientRect(frameElement);
102
87
  rect.top += frameRect.top;
@@ -105,7 +90,6 @@ function getBoundingClientRect(el) {
105
90
  rect.right += frameRect.left;
106
91
  }
107
92
  }
108
-
109
93
  return {
110
94
  top: rect.top + (window.pageYOffset || docEl.scrollTop) - (docEl.clientTop || 0),
111
95
  left: rect.left + (window.pageXOffset || docEl.scrollLeft) - (docEl.clientLeft || 0),
@@ -116,6 +100,5 @@ function getBoundingClientRect(el) {
116
100
  bottom: doc.body.clientHeight - rect.height - rect.top
117
101
  };
118
102
  }
119
-
120
103
  var _default = getBoundingClientRect;
121
104
  exports.default = _default;
@@ -5,9 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.getClassList = getClassList;
8
-
9
8
  var _findDOMNode = require("./findDOMNode");
10
-
11
9
  /*
12
10
  * The MIT License (MIT)
13
11
  *
@@ -31,12 +29,14 @@ var _findDOMNode = require("./findDOMNode");
31
29
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
32
30
  * SOFTWARE.
33
31
  */
32
+
34
33
  const apiForEmptyNode = {
35
34
  toArray: () => [],
36
35
  contains: () => false,
37
36
  add: () => {},
38
37
  remove: () => {}
39
38
  };
39
+
40
40
  /**
41
41
  * ---
42
42
  * category: utilities/DOM
@@ -51,7 +51,6 @@ const apiForEmptyNode = {
51
51
  * @param { Node | Window | React.ReactElement | React.Component | function } element - component or DOM node
52
52
  * @return {Object} object containing classList functions 'contains', 'add', and 'remove'
53
53
  */
54
-
55
54
  function getClassList(element) {
56
55
  const node = (0, _findDOMNode.findDOMNode)(element);
57
56
  if (!node) return apiForEmptyNode;
@@ -59,26 +58,20 @@ function getClassList(element) {
59
58
  toArray() {
60
59
  return [...node.classList];
61
60
  },
62
-
63
61
  contains: () => false,
64
62
  add: () => {},
65
63
  remove: () => {}
66
64
  };
67
-
68
65
  classListApi['add'] = className => {
69
66
  return node.classList.add(className);
70
67
  };
71
-
72
68
  classListApi['remove'] = className => {
73
69
  return node.classList.remove(className);
74
70
  };
75
-
76
71
  classListApi['contains'] = className => {
77
72
  return node.classList.contains(className);
78
73
  };
79
-
80
74
  return classListApi;
81
75
  }
82
-
83
76
  var _default = getClassList;
84
77
  exports.default = _default;
@@ -5,13 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.getComputedStyle = getComputedStyle;
8
-
9
8
  var _findDOMNode = require("./findDOMNode");
10
-
11
9
  var _ownerWindow = require("./ownerWindow");
12
-
13
10
  var _canUseDOM = require("./canUseDOM");
14
-
15
11
  /*
16
12
  * The MIT License (MIT)
17
13
  *
@@ -51,18 +47,14 @@ var _canUseDOM = require("./canUseDOM");
51
47
  */
52
48
  function getComputedStyle(el, pseudoElt) {
53
49
  let style = {};
54
-
55
50
  if (_canUseDOM.canUseDOM) {
56
51
  const node = el && (0, _findDOMNode.findDOMNode)(el);
57
-
58
52
  if (node) {
59
53
  const window = (0, _ownerWindow.ownerWindow)(el);
60
54
  style = window !== null ? window.getComputedStyle(node, pseudoElt) : {};
61
55
  }
62
56
  }
63
-
64
57
  return style;
65
58
  }
66
-
67
59
  var _default = getComputedStyle;
68
60
  exports.default = _default;