@elliemae/ds-utilities 2.3.0-alpha.9 → 2.3.0-next.3

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 (215) hide show
  1. package/cjs/capitalize.js +7 -0
  2. package/cjs/compose.js +38 -0
  3. package/cjs/getComponentFromProps.js +30 -0
  4. package/cjs/hooks/index.js +63 -0
  5. package/cjs/hooks/useCancellableDelayedCallback.js +26 -0
  6. package/cjs/hooks/useDerivedStateFromProps.js +56 -0
  7. package/cjs/hooks/useExecutionTimer.js +31 -0
  8. package/cjs/hooks/useExpandState.js +133 -0
  9. package/cjs/hooks/useHotkeys.js +25 -0
  10. package/cjs/hooks/useHoverHandlersDelay.js +28 -0
  11. package/cjs/hooks/useIsShowingEllipsis.js +36 -0
  12. package/cjs/hooks/useOnElementResize.js +38 -0
  13. package/cjs/hooks/useParentElement.js +16 -0
  14. package/cjs/hooks/usePrevious.js +13 -0
  15. package/cjs/hooks/useResizeObserver.js +33 -0
  16. package/cjs/hooks/useSetRef.js +15 -0
  17. package/cjs/hooks/useShouldRecalculate.js +17 -0
  18. package/cjs/hooks/useWindowScrollerList.js +65 -0
  19. package/cjs/hooks/useWindowSize.js +27 -0
  20. package/cjs/index.js +268 -0
  21. package/cjs/onClickHandlerForNonInteractiveElements.js +22 -0
  22. package/cjs/operators.js +63 -0
  23. package/cjs/platform.js +9 -0
  24. package/cjs/reactTypesUtility.js +35 -0
  25. package/cjs/scrollingTimer.js +24 -0
  26. package/cjs/system.js +43 -0
  27. package/cjs/timeUtils.js +25 -0
  28. package/cjs/utils.js +263 -0
  29. package/cjs/validations.js +44 -0
  30. package/esm/capitalize.js +3 -0
  31. package/esm/compose.js +34 -0
  32. package/esm/getComponentFromProps.js +23 -0
  33. package/esm/hooks/index.js +19 -0
  34. package/esm/hooks/useCancellableDelayedCallback.js +24 -0
  35. package/esm/hooks/useDerivedStateFromProps.js +54 -0
  36. package/esm/hooks/useExecutionTimer.js +29 -0
  37. package/esm/hooks/useExpandState.js +127 -0
  38. package/esm/hooks/useHotkeys.js +19 -0
  39. package/{dist/esm → esm}/hooks/useHoverHandlersDelay.js +12 -15
  40. package/{dist/esm → esm}/hooks/useIsShowingEllipsis.js +12 -9
  41. package/esm/hooks/useOnElementResize.js +34 -0
  42. package/esm/hooks/useParentElement.js +12 -0
  43. package/esm/hooks/usePrevious.js +11 -0
  44. package/esm/hooks/useResizeObserver.js +26 -0
  45. package/esm/hooks/useSetRef.js +11 -0
  46. package/esm/hooks/useShouldRecalculate.js +15 -0
  47. package/{dist/esm → esm}/hooks/useWindowScrollerList.js +29 -20
  48. package/esm/hooks/useWindowSize.js +25 -0
  49. package/esm/index.js +32 -0
  50. package/esm/onClickHandlerForNonInteractiveElements.js +20 -0
  51. package/esm/operators.js +46 -0
  52. package/esm/platform.js +4 -0
  53. package/esm/reactTypesUtility.js +22 -0
  54. package/esm/scrollingTimer.js +20 -0
  55. package/esm/system.js +37 -0
  56. package/esm/timeUtils.js +20 -0
  57. package/esm/utils.js +99 -0
  58. package/esm/validations.js +38 -0
  59. package/package.json +72 -74
  60. package/{dist/types → types}/capitalize.d.ts +0 -0
  61. package/{dist/types → types}/compose.d.ts +1 -2
  62. package/types/getComponentFromProps.d.ts +2 -0
  63. package/types/hooks/index.d.ts +19 -0
  64. package/types/hooks/useCancellableDelayedCallback.d.ts +1 -0
  65. package/types/hooks/useDerivedStateFromProps.d.ts +1 -0
  66. package/types/hooks/useExecutionTimer.d.ts +1 -0
  67. package/{dist/types → types}/hooks/useExpandState.d.ts +2 -3
  68. package/types/hooks/useHotkeys.d.ts +5 -0
  69. package/{dist/types → types}/hooks/useHoverHandlersDelay.d.ts +2 -3
  70. package/{dist/types → types}/hooks/useIsShowingEllipsis.d.ts +0 -0
  71. package/types/hooks/useOnElementResize.d.ts +2 -0
  72. package/{dist/types → types}/hooks/useParentElement.d.ts +0 -0
  73. package/types/hooks/usePrevious.d.ts +2 -0
  74. package/types/hooks/useResizeObserver.d.ts +2 -0
  75. package/{dist/types → types}/hooks/useSetRef.d.ts +0 -0
  76. package/types/hooks/useShouldRecalculate.d.ts +1 -0
  77. package/types/hooks/useWindowScrollerList.d.ts +4 -0
  78. package/types/hooks/useWindowSize.d.ts +1 -0
  79. package/types/index.d.ts +13 -0
  80. package/{dist/types → types}/onClickHandlerForNonInteractiveElements.d.ts +7 -7
  81. package/{dist/types → types}/operators.d.ts +0 -0
  82. package/{dist/types → types}/platform.d.ts +0 -0
  83. package/{dist/types → types}/reactTypesUtility.d.ts +0 -0
  84. package/types/scrollingTimer.d.ts +1 -0
  85. package/{dist/types → types}/system.d.ts +0 -0
  86. package/{dist/types → types}/timeUtils.d.ts +0 -0
  87. package/{dist/types → types}/utils.d.ts +0 -0
  88. package/{dist/types → types}/validations.d.ts +0 -0
  89. package/dist/cjs/capitalize.js +0 -35
  90. package/dist/cjs/capitalize.js.map +0 -7
  91. package/dist/cjs/compose.js +0 -45
  92. package/dist/cjs/compose.js.map +0 -7
  93. package/dist/cjs/getComponentFromProps.js +0 -48
  94. package/dist/cjs/getComponentFromProps.js.map +0 -7
  95. package/dist/cjs/hooks/index.js +0 -71
  96. package/dist/cjs/hooks/index.js.map +0 -7
  97. package/dist/cjs/hooks/useCancellableDelayedCallback.js +0 -51
  98. package/dist/cjs/hooks/useCancellableDelayedCallback.js.map +0 -7
  99. package/dist/cjs/hooks/useDerivedStateFromProps.js +0 -67
  100. package/dist/cjs/hooks/useDerivedStateFromProps.js.map +0 -7
  101. package/dist/cjs/hooks/useExecutionTimer.js +0 -50
  102. package/dist/cjs/hooks/useExecutionTimer.js.map +0 -7
  103. package/dist/cjs/hooks/useExpandState.js +0 -120
  104. package/dist/cjs/hooks/useExpandState.js.map +0 -7
  105. package/dist/cjs/hooks/useHotkeys.js +0 -45
  106. package/dist/cjs/hooks/useHotkeys.js.map +0 -7
  107. package/dist/cjs/hooks/useHoverHandlersDelay.js +0 -58
  108. package/dist/cjs/hooks/useHoverHandlersDelay.js.map +0 -7
  109. package/dist/cjs/hooks/useIsShowingEllipsis.js +0 -58
  110. package/dist/cjs/hooks/useIsShowingEllipsis.js.map +0 -7
  111. package/dist/cjs/hooks/useOnElementResize.js +0 -54
  112. package/dist/cjs/hooks/useOnElementResize.js.map +0 -7
  113. package/dist/cjs/hooks/useParentElement.js +0 -43
  114. package/dist/cjs/hooks/useParentElement.js.map +0 -7
  115. package/dist/cjs/hooks/usePrevious.js +0 -44
  116. package/dist/cjs/hooks/usePrevious.js.map +0 -7
  117. package/dist/cjs/hooks/useResizeObserver.js +0 -60
  118. package/dist/cjs/hooks/useResizeObserver.js.map +0 -7
  119. package/dist/cjs/hooks/useSetRef.js +0 -42
  120. package/dist/cjs/hooks/useSetRef.js.map +0 -7
  121. package/dist/cjs/hooks/useShouldRecalculate.js +0 -44
  122. package/dist/cjs/hooks/useShouldRecalculate.js.map +0 -7
  123. package/dist/cjs/hooks/useWindowScrollerList.js +0 -83
  124. package/dist/cjs/hooks/useWindowScrollerList.js.map +0 -7
  125. package/dist/cjs/hooks/useWindowSize.js +0 -57
  126. package/dist/cjs/hooks/useWindowSize.js.map +0 -7
  127. package/dist/cjs/index.js +0 -146
  128. package/dist/cjs/index.js.map +0 -7
  129. package/dist/cjs/onClickHandlerForNonInteractiveElements.js +0 -49
  130. package/dist/cjs/onClickHandlerForNonInteractiveElements.js.map +0 -7
  131. package/dist/cjs/operators.js +0 -68
  132. package/dist/cjs/operators.js.map +0 -7
  133. package/dist/cjs/platform.js +0 -37
  134. package/dist/cjs/platform.js.map +0 -7
  135. package/dist/cjs/reactTypesUtility.js +0 -58
  136. package/dist/cjs/reactTypesUtility.js.map +0 -7
  137. package/dist/cjs/scrollingTimer.js +0 -46
  138. package/dist/cjs/scrollingTimer.js.map +0 -7
  139. package/dist/cjs/system.js +0 -60
  140. package/dist/cjs/system.js.map +0 -7
  141. package/dist/cjs/timeUtils.js +0 -43
  142. package/dist/cjs/timeUtils.js.map +0 -7
  143. package/dist/cjs/utils.js +0 -127
  144. package/dist/cjs/utils.js.map +0 -7
  145. package/dist/cjs/validations.js +0 -57
  146. package/dist/cjs/validations.js.map +0 -7
  147. package/dist/esm/capitalize.js +0 -6
  148. package/dist/esm/capitalize.js.map +0 -7
  149. package/dist/esm/compose.js +0 -16
  150. package/dist/esm/compose.js.map +0 -7
  151. package/dist/esm/getComponentFromProps.js +0 -19
  152. package/dist/esm/getComponentFromProps.js.map +0 -7
  153. package/dist/esm/hooks/index.js +0 -42
  154. package/dist/esm/hooks/index.js.map +0 -7
  155. package/dist/esm/hooks/useCancellableDelayedCallback.js +0 -22
  156. package/dist/esm/hooks/useCancellableDelayedCallback.js.map +0 -7
  157. package/dist/esm/hooks/useDerivedStateFromProps.js +0 -38
  158. package/dist/esm/hooks/useDerivedStateFromProps.js.map +0 -7
  159. package/dist/esm/hooks/useExecutionTimer.js +0 -21
  160. package/dist/esm/hooks/useExecutionTimer.js.map +0 -7
  161. package/dist/esm/hooks/useExpandState.js +0 -91
  162. package/dist/esm/hooks/useExpandState.js.map +0 -7
  163. package/dist/esm/hooks/useHotkeys.js +0 -16
  164. package/dist/esm/hooks/useHotkeys.js.map +0 -7
  165. package/dist/esm/hooks/useHoverHandlersDelay.js.map +0 -7
  166. package/dist/esm/hooks/useIsShowingEllipsis.js.map +0 -7
  167. package/dist/esm/hooks/useOnElementResize.js +0 -25
  168. package/dist/esm/hooks/useOnElementResize.js.map +0 -7
  169. package/dist/esm/hooks/useParentElement.js +0 -14
  170. package/dist/esm/hooks/useParentElement.js.map +0 -7
  171. package/dist/esm/hooks/usePrevious.js +0 -15
  172. package/dist/esm/hooks/usePrevious.js.map +0 -7
  173. package/dist/esm/hooks/useResizeObserver.js +0 -31
  174. package/dist/esm/hooks/useResizeObserver.js.map +0 -7
  175. package/dist/esm/hooks/useSetRef.js +0 -13
  176. package/dist/esm/hooks/useSetRef.js.map +0 -7
  177. package/dist/esm/hooks/useShouldRecalculate.js +0 -15
  178. package/dist/esm/hooks/useShouldRecalculate.js.map +0 -7
  179. package/dist/esm/hooks/useWindowScrollerList.js.map +0 -7
  180. package/dist/esm/hooks/useWindowSize.js +0 -28
  181. package/dist/esm/hooks/useWindowSize.js.map +0 -7
  182. package/dist/esm/index.js +0 -206
  183. package/dist/esm/index.js.map +0 -7
  184. package/dist/esm/onClickHandlerForNonInteractiveElements.js +0 -20
  185. package/dist/esm/onClickHandlerForNonInteractiveElements.js.map +0 -7
  186. package/dist/esm/operators.js +0 -39
  187. package/dist/esm/operators.js.map +0 -7
  188. package/dist/esm/platform.js +0 -8
  189. package/dist/esm/platform.js.map +0 -7
  190. package/dist/esm/reactTypesUtility.js +0 -29
  191. package/dist/esm/reactTypesUtility.js.map +0 -7
  192. package/dist/esm/scrollingTimer.js +0 -17
  193. package/dist/esm/scrollingTimer.js.map +0 -7
  194. package/dist/esm/system.js +0 -31
  195. package/dist/esm/system.js.map +0 -7
  196. package/dist/esm/timeUtils.js +0 -14
  197. package/dist/esm/timeUtils.js.map +0 -7
  198. package/dist/esm/utils.js +0 -136
  199. package/dist/esm/utils.js.map +0 -7
  200. package/dist/esm/validations.js +0 -28
  201. package/dist/esm/validations.js.map +0 -7
  202. package/dist/types/getComponentFromProps.d.ts +0 -3
  203. package/dist/types/hooks/index.d.ts +0 -19
  204. package/dist/types/hooks/useCancellableDelayedCallback.d.ts +0 -2
  205. package/dist/types/hooks/useDerivedStateFromProps.d.ts +0 -2
  206. package/dist/types/hooks/useExecutionTimer.d.ts +0 -2
  207. package/dist/types/hooks/useHotkeys.d.ts +0 -6
  208. package/dist/types/hooks/useOnElementResize.d.ts +0 -2
  209. package/dist/types/hooks/usePrevious.d.ts +0 -2
  210. package/dist/types/hooks/useResizeObserver.d.ts +0 -3
  211. package/dist/types/hooks/useShouldRecalculate.d.ts +0 -2
  212. package/dist/types/hooks/useWindowScrollerList.d.ts +0 -5
  213. package/dist/types/hooks/useWindowSize.d.ts +0 -2
  214. package/dist/types/index.d.ts +0 -13
  215. package/dist/types/scrollingTimer.d.ts +0 -1
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const capitalize = string => string.charAt(0).toUpperCase() + string.slice(1);
6
+
7
+ exports.capitalize = capitalize;
package/cjs/compose.js ADDED
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/esnext.async-iterator.reduce.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.reduce.js');
8
+ require('core-js/modules/web.dom-collections.iterator.js');
9
+
10
+ /**
11
+ * Composes single-argument functions from right to left. The rightmost
12
+ * function can take multiple arguments as it provides the signature for
13
+ * the resulting composite function. [From redux v4.0.5]
14
+ *
15
+ * @param {...Function} funcs The functions to compose.
16
+ * @returns {Function} A function obtained by composing the argument functions
17
+ * from right to left. For example, compose(f, g, h) is identical to doing
18
+ * (...args) => f(g(h(...args))).
19
+ */
20
+ function compose() {
21
+ for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {
22
+ funcs[_key] = arguments[_key];
23
+ }
24
+
25
+ if (funcs.length === 0) {
26
+ return arg => arg;
27
+ }
28
+
29
+ if (funcs.length === 1) {
30
+ return funcs[0];
31
+ }
32
+
33
+ return funcs.reduce((a, b) => function () {
34
+ return a(b(...arguments));
35
+ });
36
+ }
37
+
38
+ exports.compose = compose;
@@ -0,0 +1,30 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ require('core-js/modules/web.dom-collections.iterator.js');
5
+ require('core-js/modules/esnext.async-iterator.filter.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.filter.js');
8
+ require('core-js/modules/esnext.async-iterator.for-each.js');
9
+ require('core-js/modules/esnext.iterator.for-each.js');
10
+ var React = require('react');
11
+ var jsxRuntime = require('react/jsx-runtime');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
16
+ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
17
+
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+ function getComponentFromProps(Component, props) {
22
+ let children = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
23
+ if (!Component) return null;
24
+ const componentChildren = Component.props ? Array.isArray(Component.props.children) ? Component.props.children : [Component.props.children] : null;
25
+ return typeof Component === 'function' ? /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread(_objectSpread({}, props), {}, {
26
+ children: children
27
+ })) : /*#__PURE__*/React__default["default"].cloneElement(Component, _objectSpread(_objectSpread({}, Component.props), props), componentChildren ? [...componentChildren, ...children] : [...children]);
28
+ }
29
+
30
+ module.exports = getComponentFromProps;
@@ -0,0 +1,63 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var useMeasure = require('use-measure');
6
+ var useExecutionTimer = require('./useExecutionTimer.js');
7
+ var useExpandState = require('./useExpandState.js');
8
+ var useHotkeys = require('./useHotkeys.js');
9
+ var useHoverHandlersDelay = require('./useHoverHandlersDelay.js');
10
+ var useResizeObserver = require('./useResizeObserver.js');
11
+ var useShouldRecalculate = require('./useShouldRecalculate.js');
12
+ var useWindowScrollerList = require('./useWindowScrollerList.js');
13
+ var useWindowSize = require('./useWindowSize.js');
14
+ var useForceUpdate = require('use-force-update');
15
+ var useOnclickoutside = require('use-onclickoutside');
16
+ var uncontrollable = require('uncontrollable');
17
+ var usePrevious = require('./usePrevious.js');
18
+ var useCancellableDelayedCallback = require('./useCancellableDelayedCallback.js');
19
+ var useDerivedStateFromProps = require('./useDerivedStateFromProps.js');
20
+ var useSetRef = require('./useSetRef.js');
21
+ var useParentElement = require('./useParentElement.js');
22
+ var useOnElementResize = require('./useOnElementResize.js');
23
+ var useIsShowingEllipsis = require('./useIsShowingEllipsis.js');
24
+
25
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
26
+
27
+ var useMeasure__default = /*#__PURE__*/_interopDefaultLegacy(useMeasure);
28
+ var useForceUpdate__default = /*#__PURE__*/_interopDefaultLegacy(useForceUpdate);
29
+ var useOnclickoutside__default = /*#__PURE__*/_interopDefaultLegacy(useOnclickoutside);
30
+
31
+
32
+
33
+ Object.defineProperty(exports, 'useMeasure', {
34
+ enumerable: true,
35
+ get: function () { return useMeasure__default["default"]; }
36
+ });
37
+ exports.useExecutionTimer = useExecutionTimer;
38
+ exports.useExpandState = useExpandState;
39
+ exports.useHotkeys = useHotkeys;
40
+ exports.useHoverHandlersDelay = useHoverHandlersDelay;
41
+ exports.useResizeObserver = useResizeObserver;
42
+ exports.useShouldRecalculate = useShouldRecalculate;
43
+ exports.useWindowScrollerList = useWindowScrollerList;
44
+ exports.useWindowSize = useWindowSize;
45
+ Object.defineProperty(exports, 'useForceUpdate', {
46
+ enumerable: true,
47
+ get: function () { return useForceUpdate__default["default"]; }
48
+ });
49
+ Object.defineProperty(exports, 'useOnClickOutside', {
50
+ enumerable: true,
51
+ get: function () { return useOnclickoutside__default["default"]; }
52
+ });
53
+ Object.defineProperty(exports, 'useUncontrolled', {
54
+ enumerable: true,
55
+ get: function () { return uncontrollable.useUncontrolled; }
56
+ });
57
+ exports.usePrevious = usePrevious;
58
+ exports.useCancellableDelayedCallback = useCancellableDelayedCallback;
59
+ exports.useDerivedStateFromProps = useDerivedStateFromProps;
60
+ exports.useSetRef = useSetRef.useSetRef;
61
+ exports.useParentElement = useParentElement.useParentElement;
62
+ exports.useOnElementResize = useOnElementResize.useOnElementResize;
63
+ exports.useIsShowingEllipsis = useIsShowingEllipsis.useIsShowingEllipsis;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/web.dom-collections.iterator.js');
4
+ var React = require('react');
5
+
6
+ function useCancellableDelayedCallback(cb, delay) {
7
+ const timeoutRef = React.useRef();
8
+ const cancel = React.useCallback(() => {
9
+ const timeoutId = timeoutRef.current;
10
+
11
+ if (timeoutId) {
12
+ timeoutRef.current = undefined;
13
+ clearTimeout(timeoutId);
14
+ }
15
+ }, [timeoutRef]);
16
+ const delayedCb = React.useCallback(function () {
17
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18
+ args[_key] = arguments[_key];
19
+ }
20
+
21
+ timeoutRef.current = setTimeout(() => cb(...args), delay);
22
+ }, [cb, delay]);
23
+ return [delayedCb, cancel];
24
+ }
25
+
26
+ module.exports = useCancellableDelayedCallback;
@@ -0,0 +1,56 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/web.dom-collections.iterator.js');
4
+ var React = require('react');
5
+ require('@babel/runtime/helpers/defineProperty');
6
+ require('core-js/modules/esnext.async-iterator.reduce.js');
7
+ require('core-js/modules/esnext.iterator.constructor.js');
8
+ require('core-js/modules/esnext.iterator.reduce.js');
9
+ require('core-js/modules/esnext.async-iterator.for-each.js');
10
+ require('core-js/modules/esnext.iterator.for-each.js');
11
+ require('core-js/modules/esnext.async-iterator.filter.js');
12
+ require('core-js/modules/esnext.iterator.filter.js');
13
+ var lodash = require('lodash');
14
+
15
+ const defaultPropUpdateOnChange = prop => prop;
16
+
17
+ function defaultShouldUpdate(_ref) {
18
+ let {
19
+ prop,
20
+ prevProp,
21
+ stateValue
22
+ } = _ref;
23
+ return !lodash.isEqual(prop, prevProp) && !lodash.isEqual(prop, stateValue);
24
+ }
25
+
26
+ function setStateWithUpdate(onUpdate, setState) {
27
+ return state => {
28
+ setState(prevState => onUpdate(lodash.isFunction(state) ? state(prevState) : state, prevState));
29
+ };
30
+ }
31
+
32
+ function useDerivedStateFromProp(prop) {
33
+ let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
34
+ const {
35
+ onUpdate = defaultPropUpdateOnChange,
36
+ shouldUpdate = defaultShouldUpdate,
37
+ updateOnStateChange = false
38
+ } = options;
39
+ const [stateValue, setState] = React.useState(onUpdate(prop, {}));
40
+ const handleSetState = updateOnStateChange ? setStateWithUpdate(onUpdate, setState) : setState;
41
+ const prevProp = React.useRef(prop);
42
+
43
+ if (shouldUpdate({
44
+ prop,
45
+ prevProp: prevProp.current,
46
+ stateValue
47
+ })) {
48
+ const nextProp = onUpdate(prop, prevProp.current);
49
+ setState(nextProp);
50
+ }
51
+
52
+ prevProp.current = prop;
53
+ return [stateValue, handleSetState];
54
+ }
55
+
56
+ module.exports = useDerivedStateFromProp;
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/web.dom-collections.iterator.js');
4
+ var React = require('react');
5
+
6
+ function useExecutionDelay(startFn, cleanFn, delayTime) {
7
+ const startTimer = React.useRef();
8
+ const closeTimer = React.useRef();
9
+
10
+ const startFunction = function () {
11
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
12
+ args[_key] = arguments[_key];
13
+ }
14
+
15
+ clearTimeout(closeTimer.current);
16
+ startTimer.current = setTimeout(() => startFn(...args), delayTime);
17
+ };
18
+
19
+ const cleanFunction = function () {
20
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
21
+ args[_key2] = arguments[_key2];
22
+ }
23
+
24
+ clearTimeout(startTimer.current);
25
+ closeTimer.current = setTimeout(() => cleanFn(...args), 30);
26
+ };
27
+
28
+ return [startFunction, cleanFunction];
29
+ }
30
+
31
+ module.exports = useExecutionDelay;
@@ -0,0 +1,133 @@
1
+ 'use strict';
2
+
3
+ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
4
+ require('core-js/modules/web.dom-collections.iterator.js');
5
+ require('core-js/modules/esnext.async-iterator.for-each.js');
6
+ require('core-js/modules/esnext.iterator.constructor.js');
7
+ require('core-js/modules/esnext.iterator.for-each.js');
8
+ require('core-js/modules/esnext.async-iterator.filter.js');
9
+ require('core-js/modules/esnext.iterator.filter.js');
10
+ var React = require('react');
11
+ require('core-js/modules/esnext.async-iterator.reduce.js');
12
+ require('core-js/modules/esnext.iterator.reduce.js');
13
+ var lodash = require('lodash');
14
+ var useDerivedStateFromProps = require('./useDerivedStateFromProps.js');
15
+
16
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
17
+
18
+ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
19
+
20
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
21
+
22
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
23
+
24
+ const toggleStateInObject = (obj, key, value) => {
25
+ const nextObj = _objectSpread({}, obj);
26
+
27
+ if (nextObj[key]) {
28
+ delete nextObj[key];
29
+ } else {
30
+ nextObj[key] = value;
31
+ }
32
+
33
+ return nextObj;
34
+ };
35
+
36
+ const noop = () => null;
37
+
38
+ function useExpandState(_ref) {
39
+ let {
40
+ items = [],
41
+ itemKey = 'id',
42
+ expanded: expandedProp = {},
43
+ onExpand,
44
+ onExpandChange = noop,
45
+ onExpandAll = noop,
46
+ onToggleExpand,
47
+ onCollapse
48
+ } = _ref;
49
+ const [expanded, setExpanded] = useDerivedStateFromProps(expandedProp);
50
+ const isExpandedAll = React.useMemo(() => Object.keys(expanded).length === items.length, [expanded, items]);
51
+
52
+ const toggleExpandAll = function () {
53
+ let stateData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
54
+ setExpanded(() => {
55
+ const nextState = {};
56
+
57
+ if (!isExpandedAll) {
58
+ items.forEach(item => {
59
+ nextState[item[itemKey]] = stateData;
60
+ });
61
+ }
62
+
63
+ onExpandChange(nextState);
64
+ onExpandAll(nextState);
65
+ return nextState;
66
+ });
67
+ };
68
+
69
+ const expand = function (item) {
70
+ let stateData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
71
+ if (!item) return;
72
+
73
+ if (lodash.isFunction(onExpand)) {
74
+ onExpand(item);
75
+ }
76
+
77
+ setExpanded(prevState => {
78
+ const key = item[itemKey];
79
+
80
+ const nextState = _objectSpread(_objectSpread({}, prevState), {}, {
81
+ [key]: stateData
82
+ });
83
+
84
+ onExpandChange(nextState, item);
85
+ return nextState;
86
+ });
87
+ };
88
+
89
+ const toggleExpand = function (item) {
90
+ let stateData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
91
+
92
+ if (lodash.isFunction(onToggleExpand)) {
93
+ onToggleExpand(item);
94
+ }
95
+
96
+ setExpanded(prevState => {
97
+ const key = item[itemKey];
98
+ const nextState = toggleStateInObject(prevState, key, stateData);
99
+ onExpandChange(nextState, item);
100
+ return nextState;
101
+ });
102
+ };
103
+
104
+ const collapse = item => {
105
+ if (lodash.isFunction(onCollapse)) {
106
+ onCollapse(item);
107
+ }
108
+
109
+ setExpanded(prevState => {
110
+ const nextState = _objectSpread({}, prevState);
111
+
112
+ delete nextState[item[itemKey]];
113
+ onExpandChange(nextState, item);
114
+ return nextState;
115
+ });
116
+ };
117
+
118
+ return {
119
+ state: {
120
+ expanded,
121
+ isExpandedAll
122
+ },
123
+ actions: {
124
+ expand,
125
+ toggleExpandAll,
126
+ toggleExpand,
127
+ collapse
128
+ },
129
+ setExpanded
130
+ };
131
+ }
132
+
133
+ module.exports = useExpandState;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/web.dom-collections.iterator.js');
4
+ var hotkeys = require('hotkeys-js');
5
+ var React = require('react');
6
+
7
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
8
+
9
+ var hotkeys__default = /*#__PURE__*/_interopDefaultLegacy(hotkeys);
10
+
11
+ function useHotkeys(_ref) {
12
+ let {
13
+ keys,
14
+ handler,
15
+ options = {}
16
+ } = _ref;
17
+ let deps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
18
+ const memoizedCallback = React.useCallback(handler, deps);
19
+ React.useEffect(() => {
20
+ hotkeys__default["default"](keys, options, memoizedCallback);
21
+ return () => hotkeys__default["default"].unbind(keys);
22
+ }, [memoizedCallback]);
23
+ }
24
+
25
+ module.exports = useHotkeys;
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function useHoverHandlersDelay(_ref) {
6
+ let {
7
+ onMouseOver,
8
+ onMouseLeave,
9
+ hideDelay = 300,
10
+ showDelay = 300
11
+ } = _ref;
12
+ const hideTimer = React.useRef();
13
+ const showTimer = React.useRef();
14
+ const delayedHide = React.useCallback(() => {
15
+ clearTimeout(showTimer.current);
16
+ hideTimer.current = setTimeout(onMouseLeave, hideDelay);
17
+ }, []);
18
+ const delayedShow = React.useCallback(() => {
19
+ clearTimeout(hideTimer.current);
20
+ showTimer.current = setTimeout(onMouseOver, showDelay);
21
+ }, []);
22
+ return {
23
+ onMouseOver: delayedShow,
24
+ onMouseLeave: delayedHide
25
+ };
26
+ }
27
+
28
+ module.exports = useHoverHandlersDelay;
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
+ var React = require('react');
7
+
8
+ const useIsShowingEllipsis = () => {
9
+ const [element, setElement] = React.useState();
10
+ const [isShowingEllipsis, setIsShowingEllipsis] = React.useState(false);
11
+ const resizeObserver = React.useMemo(() => new ResizeObserver(entries => {
12
+ if (entries.length) {
13
+ const [textWrapperEntry] = entries;
14
+ const el = textWrapperEntry.target;
15
+ setIsShowingEllipsis((el === null || el === void 0 ? void 0 : el.scrollWidth) > (el === null || el === void 0 ? void 0 : el.clientWidth));
16
+ }
17
+ }), []);
18
+ React.useEffect(() => {
19
+ if (element) {
20
+ setIsShowingEllipsis(element.scrollWidth > element.clientWidth);
21
+ resizeObserver.observe(element);
22
+ }
23
+
24
+ return () => {
25
+ if (element) {
26
+ resizeObserver.unobserve(element);
27
+ }
28
+ };
29
+ }, [resizeObserver, element]);
30
+ return {
31
+ setElement,
32
+ isShowingEllipsis
33
+ };
34
+ };
35
+
36
+ exports.useIsShowingEllipsis = useIsShowingEllipsis;
@@ -0,0 +1,38 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
+ var React = require('react');
7
+
8
+ // Taken and modified from https://stackoverflow.com/a/60218754
9
+
10
+ const useOnElementResize = targetRef => {
11
+ var _targetRef$current$of, _targetRef$current, _targetRef$current$of2, _targetRef$current2;
12
+
13
+ const [width, setWidth] = React.useState((_targetRef$current$of = (_targetRef$current = targetRef.current) === null || _targetRef$current === void 0 ? void 0 : _targetRef$current.offsetWidth) !== null && _targetRef$current$of !== void 0 ? _targetRef$current$of : 0);
14
+ const [height, setHeight] = React.useState((_targetRef$current$of2 = (_targetRef$current2 = targetRef.current) === null || _targetRef$current2 === void 0 ? void 0 : _targetRef$current2.offsetHeight) !== null && _targetRef$current$of2 !== void 0 ? _targetRef$current$of2 : 0);
15
+ const observer = React.useRef();
16
+ React.useEffect(() => {
17
+ function outputsize() {
18
+ var _targetRef$current$of3, _targetRef$current3, _targetRef$current$of4, _targetRef$current4;
19
+
20
+ setWidth((_targetRef$current$of3 = (_targetRef$current3 = targetRef.current) === null || _targetRef$current3 === void 0 ? void 0 : _targetRef$current3.offsetWidth) !== null && _targetRef$current$of3 !== void 0 ? _targetRef$current$of3 : 0);
21
+ setHeight((_targetRef$current$of4 = (_targetRef$current4 = targetRef.current) === null || _targetRef$current4 === void 0 ? void 0 : _targetRef$current4.offsetHeight) !== null && _targetRef$current$of4 !== void 0 ? _targetRef$current$of4 : 0);
22
+ }
23
+
24
+ observer.current = new ResizeObserver(outputsize);
25
+ observer.current.observe(targetRef.current);
26
+ return () => {
27
+ var _observer$current;
28
+
29
+ (_observer$current = observer.current) === null || _observer$current === void 0 ? void 0 : _observer$current.disconnect();
30
+ };
31
+ }, [targetRef]);
32
+ return React.useMemo(() => ({
33
+ width,
34
+ height
35
+ }), [width, height]);
36
+ };
37
+
38
+ exports.useOnElementResize = useOnElementResize;
@@ -0,0 +1,16 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('core-js/modules/web.dom-collections.iterator.js');
6
+ var React = require('react');
7
+
8
+ const useParentElement = ref => {
9
+ const [parent, setParent] = React.useState(ref.current);
10
+ React.useEffect(() => {
11
+ if (ref.current) setParent(ref.current.parentNode);
12
+ });
13
+ return parent;
14
+ };
15
+
16
+ exports.useParentElement = useParentElement;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function usePrevious(value) {
6
+ const ref = React.useRef();
7
+ React.useEffect(() => {
8
+ ref.current = value;
9
+ }, [value]);
10
+ return ref.current;
11
+ }
12
+
13
+ module.exports = usePrevious;
@@ -0,0 +1,33 @@
1
+ 'use strict';
2
+
3
+ require('core-js/modules/web.dom-collections.iterator.js');
4
+ var React = require('react');
5
+ var raf = require('raf');
6
+ var ResizeObserver = require('resize-observer-polyfill');
7
+
8
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
9
+
10
+ var raf__default = /*#__PURE__*/_interopDefaultLegacy(raf);
11
+ var ResizeObserver__default = /*#__PURE__*/_interopDefaultLegacy(ResizeObserver);
12
+
13
+ function useResizeObserver(handler, el) {
14
+ const [node, setRef] = React.useState(el);
15
+ const resizeObserver = new ResizeObserver__default["default"](entries => {
16
+ if (!Array.isArray(entries)) return;
17
+ if (!entries.length) return;
18
+ const entry = entries[0]; // execute on the next animation frame
19
+
20
+ raf__default["default"](() => handler({
21
+ width: entry.target.offsetWidth,
22
+ height: entry.target.offsetHeight
23
+ }, entry.target));
24
+ });
25
+ const htmlEl = el || node;
26
+ React.useEffect(() => {
27
+ if (htmlEl) resizeObserver.observe(htmlEl);
28
+ return () => htmlEl && resizeObserver.unobserve(htmlEl);
29
+ }, [htmlEl]);
30
+ return [setRef];
31
+ }
32
+
33
+ module.exports = useResizeObserver;
@@ -0,0 +1,15 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var React = require('react');
6
+
7
+ const useSetRef = initial => {
8
+ const ref = React.useRef(initial);
9
+ const setRef = React.useCallback(node => {
10
+ ref.current = node;
11
+ }, []);
12
+ return [ref, setRef];
13
+ };
14
+
15
+ exports.useSetRef = useSetRef;
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function useShouldRecalculate(bool) {
6
+ const prevValueRef = React.useRef(0);
7
+
8
+ if (!bool) {
9
+ // If we need to recalculate, change the value we return
10
+ prevValueRef.current += 1;
11
+ } // else we return the same value as the previous render, which won't trigger a recalculation
12
+
13
+
14
+ return prevValueRef.current;
15
+ }
16
+
17
+ module.exports = useShouldRecalculate;