@elliemae/ds-utilities 1.60.0 → 2.0.0-alpha.12

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 (165) hide show
  1. package/cjs/capitalize.js +7 -0
  2. package/cjs/compose.js +8 -8
  3. package/cjs/getComponentFromProps.js +13 -7
  4. package/cjs/hooks/index.js +33 -51
  5. package/cjs/hooks/useCancellableDelayedCallback.js +6 -8
  6. package/cjs/hooks/useDerivedStateFromProps.js +28 -35
  7. package/cjs/hooks/useExecutionTimer.js +7 -11
  8. package/cjs/hooks/useExpandState.js +53 -59
  9. package/cjs/hooks/useHotkeys.js +11 -12
  10. package/cjs/hooks/useHoverHandlersDelay.js +10 -11
  11. package/cjs/hooks/useOnElementResize.js +11 -26
  12. package/cjs/hooks/useParentElement.js +4 -13
  13. package/cjs/hooks/usePrevious.js +2 -3
  14. package/cjs/hooks/useResizeObserver.js +11 -21
  15. package/cjs/hooks/useSetRef.js +3 -4
  16. package/cjs/hooks/useShouldRecalculate.js +1 -2
  17. package/cjs/hooks/useWindowScrollerList.js +17 -16
  18. package/cjs/hooks/useWindowSize.js +4 -13
  19. package/cjs/index.js +73 -162
  20. package/cjs/onClickHandlerForNonInteractiveElements.js +13 -14
  21. package/cjs/operators.js +19 -56
  22. package/cjs/platform.js +2 -3
  23. package/cjs/reactTypesUtility.js +1 -2
  24. package/cjs/scrollingTimer.js +3 -4
  25. package/cjs/system.js +11 -5
  26. package/cjs/timeUtils.js +15 -15
  27. package/cjs/utils.js +70 -149
  28. package/cjs/validations.js +17 -17
  29. package/esm/capitalize.js +3 -0
  30. package/esm/compose.js +8 -8
  31. package/esm/getComponentFromProps.js +12 -5
  32. package/esm/hooks/index.js +1 -10
  33. package/esm/hooks/useCancellableDelayedCallback.js +6 -8
  34. package/esm/hooks/useDerivedStateFromProps.js +29 -32
  35. package/esm/hooks/useExecutionTimer.js +7 -11
  36. package/esm/hooks/useExpandState.js +51 -56
  37. package/esm/hooks/useHotkeys.js +10 -11
  38. package/esm/hooks/useHoverHandlersDelay.js +10 -11
  39. package/esm/hooks/useOnElementResize.js +11 -22
  40. package/esm/hooks/useParentElement.js +4 -9
  41. package/esm/hooks/usePrevious.js +2 -3
  42. package/esm/hooks/useResizeObserver.js +11 -20
  43. package/esm/hooks/useSetRef.js +3 -4
  44. package/esm/hooks/useShouldRecalculate.js +1 -2
  45. package/esm/hooks/useWindowScrollerList.js +18 -17
  46. package/esm/hooks/useWindowSize.js +4 -9
  47. package/esm/index.js +2 -9
  48. package/esm/onClickHandlerForNonInteractiveElements.js +13 -14
  49. package/esm/operators.js +19 -52
  50. package/esm/platform.js +2 -3
  51. package/esm/reactTypesUtility.js +0 -1
  52. package/esm/scrollingTimer.js +3 -4
  53. package/esm/system.js +11 -5
  54. package/esm/timeUtils.js +15 -15
  55. package/esm/utils.js +31 -35
  56. package/esm/validations.js +17 -17
  57. package/package.json +135 -10
  58. package/types/capitalize.d.ts +1 -0
  59. package/types/compose.d.ts +11 -0
  60. package/types/getComponentFromProps.d.ts +2 -0
  61. package/types/hooks/index.d.ts +18 -0
  62. package/types/hooks/useCancellableDelayedCallback.d.ts +1 -0
  63. package/types/hooks/useDerivedStateFromProps.d.ts +1 -0
  64. package/types/hooks/useExecutionTimer.d.ts +1 -0
  65. package/types/hooks/useExpandState.d.ts +22 -0
  66. package/types/hooks/useHotkeys.d.ts +5 -0
  67. package/types/hooks/useHoverHandlersDelay.d.ts +9 -0
  68. package/types/hooks/useOnElementResize.d.ts +2 -0
  69. package/types/hooks/useParentElement.d.ts +1 -0
  70. package/types/hooks/usePrevious.d.ts +2 -0
  71. package/types/hooks/useResizeObserver.d.ts +2 -0
  72. package/types/hooks/useSetRef.d.ts +2 -0
  73. package/types/hooks/useShouldRecalculate.d.ts +1 -0
  74. package/types/hooks/useWindowScrollerList.d.ts +4 -0
  75. package/types/hooks/useWindowSize.d.ts +1 -0
  76. package/types/index.d.ts +13 -0
  77. package/types/onClickHandlerForNonInteractiveElements.d.ts +12 -0
  78. package/types/operators.d.ts +31 -0
  79. package/types/platform.d.ts +2 -0
  80. package/types/reactTypesUtility.d.ts +6 -0
  81. package/types/scrollingTimer.d.ts +1 -0
  82. package/types/system.d.ts +3 -0
  83. package/types/timeUtils.d.ts +7 -0
  84. package/types/utils.d.ts +23 -0
  85. package/types/validations.d.ts +23 -0
  86. package/cjs/compose.js.map +0 -1
  87. package/cjs/getComponentFromProps.js.map +0 -1
  88. package/cjs/hooks/index.js.map +0 -1
  89. package/cjs/hooks/useCancellableDelayedCallback.js.map +0 -1
  90. package/cjs/hooks/useDerivedStateFromProps.js.map +0 -1
  91. package/cjs/hooks/useExecutionTimer.js.map +0 -1
  92. package/cjs/hooks/useExpandState.js.map +0 -1
  93. package/cjs/hooks/useHotkeys.js.map +0 -1
  94. package/cjs/hooks/useHoverHandlersDelay.js.map +0 -1
  95. package/cjs/hooks/useOnElementResize.js.map +0 -1
  96. package/cjs/hooks/useParentElement.js.map +0 -1
  97. package/cjs/hooks/usePrevious.js.map +0 -1
  98. package/cjs/hooks/useResizeObserver.js.map +0 -1
  99. package/cjs/hooks/useSetRef.js.map +0 -1
  100. package/cjs/hooks/useShouldRecalculate.js.map +0 -1
  101. package/cjs/hooks/useWindowScrollerList.js.map +0 -1
  102. package/cjs/hooks/useWindowSize.js.map +0 -1
  103. package/cjs/index.js.map +0 -1
  104. package/cjs/onClickHandlerForNonInteractiveElements.js.map +0 -1
  105. package/cjs/operators.js.map +0 -1
  106. package/cjs/platform.js.map +0 -1
  107. package/cjs/reactTypesUtility.js.map +0 -1
  108. package/cjs/scrollingTimer.js.map +0 -1
  109. package/cjs/system.js.map +0 -1
  110. package/cjs/timeUtils.js.map +0 -1
  111. package/cjs/utils.js.map +0 -1
  112. package/cjs/validations.js.map +0 -1
  113. package/compose/package.json +0 -10
  114. package/esm/compose.js.map +0 -1
  115. package/esm/getComponentFromProps.js.map +0 -1
  116. package/esm/hooks/index.js.map +0 -1
  117. package/esm/hooks/useCancellableDelayedCallback.js.map +0 -1
  118. package/esm/hooks/useDerivedStateFromProps.js.map +0 -1
  119. package/esm/hooks/useExecutionTimer.js.map +0 -1
  120. package/esm/hooks/useExpandState.js.map +0 -1
  121. package/esm/hooks/useHotkeys.js.map +0 -1
  122. package/esm/hooks/useHoverHandlersDelay.js.map +0 -1
  123. package/esm/hooks/useOnElementResize.js.map +0 -1
  124. package/esm/hooks/useParentElement.js.map +0 -1
  125. package/esm/hooks/usePrevious.js.map +0 -1
  126. package/esm/hooks/useResizeObserver.js.map +0 -1
  127. package/esm/hooks/useSetRef.js.map +0 -1
  128. package/esm/hooks/useShouldRecalculate.js.map +0 -1
  129. package/esm/hooks/useWindowScrollerList.js.map +0 -1
  130. package/esm/hooks/useWindowSize.js.map +0 -1
  131. package/esm/index.js.map +0 -1
  132. package/esm/onClickHandlerForNonInteractiveElements.js.map +0 -1
  133. package/esm/operators.js.map +0 -1
  134. package/esm/platform.js.map +0 -1
  135. package/esm/reactTypesUtility.js.map +0 -1
  136. package/esm/scrollingTimer.js.map +0 -1
  137. package/esm/system.js.map +0 -1
  138. package/esm/timeUtils.js.map +0 -1
  139. package/esm/utils.js.map +0 -1
  140. package/esm/validations.js.map +0 -1
  141. package/getComponentFromProps/package.json +0 -10
  142. package/hooks/package.json +0 -10
  143. package/hooks/useCancellableDelayedCallback/package.json +0 -10
  144. package/hooks/useDerivedStateFromProps/package.json +0 -10
  145. package/hooks/useExecutionTimer/package.json +0 -10
  146. package/hooks/useExpandState/package.json +0 -10
  147. package/hooks/useHotkeys/package.json +0 -10
  148. package/hooks/useHoverHandlersDelay/package.json +0 -10
  149. package/hooks/useOnElementResize/package.json +0 -10
  150. package/hooks/useParentElement/package.json +0 -10
  151. package/hooks/usePrevious/package.json +0 -10
  152. package/hooks/useResizeObserver/package.json +0 -10
  153. package/hooks/useSetRef/package.json +0 -10
  154. package/hooks/useShouldRecalculate/package.json +0 -10
  155. package/hooks/useWindowScrollerList/package.json +0 -10
  156. package/hooks/useWindowSize/package.json +0 -10
  157. package/onClickHandlerForNonInteractiveElements/package.json +0 -10
  158. package/operators/package.json +0 -10
  159. package/platform/package.json +0 -10
  160. package/reactTypesUtility/package.json +0 -10
  161. package/scrollingTimer/package.json +0 -10
  162. package/system/package.json +0 -10
  163. package/timeUtils/package.json +0 -10
  164. package/utils/package.json +0 -10
  165. package/validations/package.json +0 -10
@@ -2,30 +2,18 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
6
  var React = require('react');
7
7
 
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
11
-
12
8
  // Taken and modified from https://stackoverflow.com/a/60218754
13
9
 
14
- var useOnElementResize = function useOnElementResize(targetRef) {
10
+ const useOnElementResize = targetRef => {
15
11
  var _targetRef$current, _targetRef$current2;
16
12
 
17
- var _useState = React.useState(targetRef.current ? (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.offsetWidth : 0),
18
- _useState2 = _slicedToArray__default['default'](_useState, 2),
19
- width = _useState2[0],
20
- setWidth = _useState2[1];
21
-
22
- var _useState3 = React.useState(targetRef.current ? (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.offsetWidth : 0),
23
- _useState4 = _slicedToArray__default['default'](_useState3, 2),
24
- height = _useState4[0],
25
- setHeight = _useState4[1];
26
-
27
- var observer = React.useRef(null);
28
- React.useEffect(function () {
13
+ const [width, setWidth] = React.useState(targetRef.current ? (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.offsetWidth : 0);
14
+ const [height, setHeight] = React.useState(targetRef.current ? (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.offsetWidth : 0);
15
+ const observer = React.useRef(null);
16
+ React.useEffect(() => {
29
17
  function outputsize() {
30
18
  var _targetRef$current3, _targetRef$current4;
31
19
 
@@ -34,19 +22,16 @@ var useOnElementResize = function useOnElementResize(targetRef) {
34
22
  }
35
23
 
36
24
  observer.current = new ResizeObserver(outputsize).observe(targetRef.current);
37
- return function () {
25
+ return () => {
38
26
  var _observer$current;
39
27
 
40
28
  (_observer$current = observer.current) === null || _observer$current === void 0 ? void 0 : _observer$current.disconnect();
41
29
  };
42
30
  }, [targetRef]);
43
- return React.useMemo(function () {
44
- return {
45
- width: width,
46
- height: height
47
- };
48
- }, [width, height]);
31
+ return React.useMemo(() => ({
32
+ width,
33
+ height
34
+ }), [width, height]);
49
35
  };
50
36
 
51
37
  exports.useOnElementResize = useOnElementResize;
52
- //# sourceMappingURL=useOnElementResize.js.map
@@ -2,24 +2,15 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
6
  var React = require('react');
7
7
 
8
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
-
10
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
11
-
12
- var useParentElement = function useParentElement(ref) {
13
- var _useState = React.useState(ref.current),
14
- _useState2 = _slicedToArray__default['default'](_useState, 2),
15
- parent = _useState2[0],
16
- setParent = _useState2[1];
17
-
18
- React.useEffect(function () {
8
+ const useParentElement = ref => {
9
+ const [parent, setParent] = React.useState(ref.current);
10
+ React.useEffect(() => {
19
11
  if (ref.current) setParent(ref.current.parentNode);
20
12
  });
21
13
  return parent;
22
14
  };
23
15
 
24
16
  exports.useParentElement = useParentElement;
25
- //# sourceMappingURL=useParentElement.js.map
@@ -3,12 +3,11 @@
3
3
  var React = require('react');
4
4
 
5
5
  function usePrevious(value) {
6
- var ref = React.useRef();
7
- React.useEffect(function () {
6
+ const ref = React.useRef();
7
+ React.useEffect(() => {
8
8
  ref.current = value;
9
9
  }, [value]);
10
10
  return ref.current;
11
11
  }
12
12
 
13
13
  module.exports = usePrevious;
14
- //# sourceMappingURL=usePrevious.js.map
@@ -1,43 +1,33 @@
1
1
  'use strict';
2
2
 
3
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
3
+ require('core-js/modules/web.dom-collections.iterator.js');
4
4
  var React = require('react');
5
5
  var raf = require('raf');
6
6
  var ResizeObserver = require('resize-observer-polyfill');
7
7
 
8
8
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
9
 
10
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
11
10
  var raf__default = /*#__PURE__*/_interopDefaultLegacy(raf);
12
11
  var ResizeObserver__default = /*#__PURE__*/_interopDefaultLegacy(ResizeObserver);
13
12
 
14
13
  function useResizeObserver(handler, el) {
15
- var _useState = React.useState(el),
16
- _useState2 = _slicedToArray__default['default'](_useState, 2),
17
- node = _useState2[0],
18
- setRef = _useState2[1];
19
-
20
- var resizeObserver = new ResizeObserver__default['default'](function (entries) {
14
+ const [node, setRef] = React.useState(el);
15
+ const resizeObserver = new ResizeObserver__default["default"](entries => {
21
16
  if (!Array.isArray(entries)) return;
22
17
  if (!entries.length) return;
23
- var entry = entries[0]; // execute on the next animation frame
18
+ const entry = entries[0]; // execute on the next animation frame
24
19
 
25
- raf__default['default'](function () {
26
- return handler({
27
- width: entry.target.offsetWidth,
28
- height: entry.target.offsetHeight
29
- }, entry.target);
30
- });
20
+ raf__default["default"](() => handler({
21
+ width: entry.target.offsetWidth,
22
+ height: entry.target.offsetHeight
23
+ }, entry.target));
31
24
  });
32
- var htmlEl = el || node;
33
- React.useEffect(function () {
25
+ const htmlEl = el || node;
26
+ React.useEffect(() => {
34
27
  if (htmlEl) resizeObserver.observe(htmlEl);
35
- return function () {
36
- return htmlEl && resizeObserver.unobserve(htmlEl);
37
- };
28
+ return () => htmlEl && resizeObserver.unobserve(htmlEl);
38
29
  }, [htmlEl]);
39
30
  return [setRef];
40
31
  }
41
32
 
42
33
  module.exports = useResizeObserver;
43
- //# sourceMappingURL=useResizeObserver.js.map
@@ -4,13 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var React = require('react');
6
6
 
7
- var useSetRef = function useSetRef(initial) {
8
- var ref = React.useRef(initial);
9
- var setRef = React.useCallback(function (node) {
7
+ const useSetRef = initial => {
8
+ const ref = React.useRef(initial);
9
+ const setRef = React.useCallback(node => {
10
10
  ref.current = node;
11
11
  }, []);
12
12
  return [ref, setRef];
13
13
  };
14
14
 
15
15
  exports.useSetRef = useSetRef;
16
- //# sourceMappingURL=useSetRef.js.map
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
 
5
5
  function useShouldRecalculate(bool) {
6
- var prevValueRef = React.useRef(0);
6
+ const prevValueRef = React.useRef(0);
7
7
 
8
8
  if (!bool) {
9
9
  // If we need to recalculate, change the value we return
@@ -15,4 +15,3 @@ function useShouldRecalculate(bool) {
15
15
  }
16
16
 
17
17
  module.exports = useShouldRecalculate;
18
- //# sourceMappingURL=useShouldRecalculate.js.map
@@ -3,7 +3,7 @@
3
3
  var React = require('react');
4
4
 
5
5
  function getScrollOffset() {
6
- var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
6
+ let element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
7
7
  scrollTop: 0,
8
8
  scrollLeft: 0
9
9
  };
@@ -14,9 +14,9 @@ function getScrollOffset() {
14
14
  }
15
15
 
16
16
  function getPositionOffset(listEl, scrollableEl) {
17
- var scrollOffset = getScrollOffset(scrollableEl);
18
- var elementRect = listEl.getBoundingClientRect();
19
- var containerRect = scrollableEl.getBoundingClientRect();
17
+ const scrollOffset = getScrollOffset(scrollableEl);
18
+ const elementRect = listEl.getBoundingClientRect();
19
+ const containerRect = scrollableEl.getBoundingClientRect();
20
20
  return {
21
21
  top: elementRect.top + scrollOffset.top - containerRect.top,
22
22
  left: elementRect.left + scrollOffset.top - containerRect.left
@@ -28,32 +28,34 @@ function isParent(parentNode, childNode) {
28
28
  }
29
29
 
30
30
  function useWindowScrollerList(_ref) {
31
- var listInstance = _ref.listInstance,
32
- outerListRef = _ref.outerListRef;
33
- var scrollableParent = React.useRef();
34
- var listOffset = React.useRef();
31
+ let {
32
+ listInstance,
33
+ outerListRef
34
+ } = _ref;
35
+ const scrollableParent = React.useRef();
36
+ const listOffset = React.useRef();
35
37
 
36
- var getElementOffset = function getElementOffset() {
38
+ const getElementOffset = () => {
37
39
  listOffset.current = getPositionOffset(outerListRef.current, scrollableParent.current);
38
40
  };
39
41
 
40
- var handleScroll = function handleScroll(e) {
42
+ const handleScroll = e => {
41
43
  if (!scrollableParent.current) {
42
- var containerTarget = e.target === document ? document.body : e.target;
44
+ const containerTarget = e.target === document ? document.body : e.target;
43
45
  scrollableParent.current = isParent(containerTarget, outerListRef.current) && containerTarget;
44
46
  }
45
47
 
46
48
  if (!scrollableParent.current) return;
47
49
  getElementOffset();
48
- var scrollOffset = getScrollOffset(scrollableParent.current);
49
- var scrollTop = Math.max(0, scrollOffset.top - listOffset.current.top);
50
+ const scrollOffset = getScrollOffset(scrollableParent.current);
51
+ const scrollTop = Math.max(0, scrollOffset.top - listOffset.current.top);
50
52
  if (listInstance.current) listInstance.current.scrollTo(scrollTop);
51
53
  };
52
54
 
53
- React.useEffect(function () {
55
+ React.useEffect(() => {
54
56
  window.addEventListener('scroll', handleScroll, true);
55
57
  window.addEventListener('resize', getElementOffset, true);
56
- return function () {
58
+ return () => {
57
59
  window.removeEventListener('scroll', handleScroll, true);
58
60
  window.removeEventListener('resize', getElementOffset, true);
59
61
  };
@@ -61,4 +63,3 @@ function useWindowScrollerList(_ref) {
61
63
  }
62
64
 
63
65
  module.exports = useWindowScrollerList;
64
- //# sourceMappingURL=useWindowScrollerList.js.map
@@ -1,19 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
3
+ require('core-js/modules/web.dom-collections.iterator.js');
4
4
  var React = require('react');
5
5
 
6
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
7
-
8
- var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
9
-
10
6
  function useWindowSize() {
11
- var _useState = React.useState([0, 0]),
12
- _useState2 = _slicedToArray__default['default'](_useState, 2),
13
- size = _useState2[0],
14
- setSize = _useState2[1];
15
-
16
- React.useLayoutEffect(function () {
7
+ const [size, setSize] = React.useState([0, 0]);
8
+ React.useLayoutEffect(() => {
17
9
  if (!window) return false;
18
10
 
19
11
  function updateSize() {
@@ -23,7 +15,7 @@ function useWindowSize() {
23
15
  window.addEventListener('resize', updateSize);
24
16
  window.addEventListener('orientationchange', updateSize);
25
17
  updateSize();
26
- return function () {
18
+ return () => {
27
19
  window.removeEventListener('resize', updateSize);
28
20
  window.removeEventListener('orientationchange', updateSize);
29
21
  };
@@ -33,4 +25,3 @@ function useWindowSize() {
33
25
  }
34
26
 
35
27
  module.exports = useWindowSize;
36
- //# sourceMappingURL=useWindowSize.js.map