@elliemae/ds-utilities 2.0.0-alpha.1 → 2.0.0-alpha.13
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.
- package/cjs/capitalize.js +7 -0
- package/cjs/compose.js +13 -2
- package/cjs/getComponentFromProps.js +10 -3
- package/cjs/hooks/index.js +31 -33
- package/cjs/hooks/useCancellableDelayedCallback.js +6 -1
- package/cjs/hooks/useDerivedStateFromProps.js +16 -6
- package/cjs/hooks/useExecutionTimer.js +11 -2
- package/cjs/hooks/useExpandState.js +31 -18
- package/cjs/hooks/useHotkeys.js +10 -7
- package/cjs/hooks/useHoverHandlersDelay.js +7 -6
- package/cjs/hooks/useOnElementResize.js +37 -0
- package/cjs/hooks/useParentElement.js +16 -0
- package/cjs/hooks/useResizeObserver.js +3 -2
- package/cjs/hooks/useSetRef.js +15 -0
- package/cjs/hooks/useWindowScrollerList.js +10 -8
- package/cjs/hooks/useWindowSize.js +1 -0
- package/cjs/index.js +236 -0
- package/cjs/operators.js +3 -0
- package/cjs/reactTypesUtility.js +1 -1
- package/cjs/scrollingTimer.js +5 -1
- package/cjs/system.js +14 -2
- package/cjs/timeUtils.js +8 -0
- package/cjs/utils.js +76 -122
- package/cjs/validations.js +24 -19
- package/esm/capitalize.js +3 -0
- package/esm/compose.js +13 -2
- package/esm/getComponentFromProps.js +8 -1
- package/esm/hooks/index.js +11 -18
- package/esm/hooks/useCancellableDelayedCallback.js +6 -1
- package/esm/hooks/useDerivedStateFromProps.js +16 -6
- package/esm/hooks/useExecutionTimer.js +11 -2
- package/esm/hooks/useExpandState.js +27 -14
- package/esm/hooks/useHotkeys.js +8 -5
- package/esm/hooks/useHoverHandlersDelay.js +7 -6
- package/esm/hooks/useOnElementResize.js +33 -0
- package/esm/hooks/useParentElement.js +12 -0
- package/esm/hooks/useResizeObserver.js +1 -0
- package/esm/hooks/useSetRef.js +11 -0
- package/esm/hooks/useWindowScrollerList.js +10 -8
- package/esm/hooks/useWindowSize.js +1 -0
- package/esm/index.js +27 -0
- package/esm/operators.js +3 -0
- package/esm/scrollingTimer.js +5 -1
- package/esm/system.js +14 -2
- package/esm/timeUtils.js +8 -0
- package/esm/utils.js +37 -8
- package/esm/validations.js +24 -19
- package/package.json +17 -1
- package/types/capitalize.d.ts +1 -0
- package/types/hooks/index.d.ts +11 -3
- package/types/hooks/useOnElementResize.d.ts +2 -0
- package/types/hooks/useParentElement.d.ts +1 -0
- package/types/hooks/useSetRef.d.ts +2 -0
- package/types/index.d.ts +9 -0
- package/types/utils.d.ts +1 -2
- package/cjs/package.json +0 -7
- package/esm/package.json +0 -7
package/cjs/compose.js
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
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
|
+
|
|
5
10
|
/**
|
|
6
11
|
* Composes single-argument functions from right to left. The rightmost
|
|
7
12
|
* function can take multiple arguments as it provides the signature for
|
|
@@ -12,7 +17,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
12
17
|
* from right to left. For example, compose(f, g, h) is identical to doing
|
|
13
18
|
* (...args) => f(g(h(...args))).
|
|
14
19
|
*/
|
|
15
|
-
function compose(
|
|
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
|
+
|
|
16
25
|
if (funcs.length === 0) {
|
|
17
26
|
return arg => arg;
|
|
18
27
|
}
|
|
@@ -21,7 +30,9 @@ function compose(...funcs) {
|
|
|
21
30
|
return funcs[0];
|
|
22
31
|
}
|
|
23
32
|
|
|
24
|
-
return funcs.reduce((a, b) => (
|
|
33
|
+
return funcs.reduce((a, b) => function () {
|
|
34
|
+
return a(b(...arguments));
|
|
35
|
+
});
|
|
25
36
|
}
|
|
26
37
|
|
|
27
38
|
exports.compose = compose;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
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');
|
|
4
10
|
var React = require('react');
|
|
5
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
12
|
|
|
@@ -11,13 +17,14 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
|
11
17
|
|
|
12
18
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
19
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
15
|
-
function getComponentFromProps(Component, props
|
|
20
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { 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] : [];
|
|
16
23
|
if (!Component) return null;
|
|
17
24
|
const componentChildren = Component.props ? Array.isArray(Component.props.children) ? Component.props.children : [Component.props.children] : null;
|
|
18
25
|
return typeof Component === 'function' ? /*#__PURE__*/jsxRuntime.jsx(Component, _objectSpread(_objectSpread({}, props), {}, {
|
|
19
26
|
children: children
|
|
20
|
-
})) : /*#__PURE__*/React__default[
|
|
27
|
+
})) : /*#__PURE__*/React__default["default"].cloneElement(Component, _objectSpread(_objectSpread({}, Component.props), props), componentChildren ? [...componentChildren, ...children] : [...children]);
|
|
21
28
|
}
|
|
22
29
|
|
|
23
30
|
module.exports = getComponentFromProps;
|
package/cjs/hooks/index.js
CHANGED
|
@@ -2,14 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var React = require('react');
|
|
6
5
|
var useMeasure = require('use-measure');
|
|
7
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');
|
|
8
14
|
var useForceUpdate = require('use-force-update');
|
|
9
15
|
var useOnclickoutside = require('use-onclickoutside');
|
|
10
16
|
var uncontrollable = require('uncontrollable');
|
|
11
17
|
var usePrevious = require('./usePrevious.js');
|
|
12
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');
|
|
13
23
|
|
|
14
24
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
15
25
|
|
|
@@ -17,47 +27,35 @@ var useMeasure__default = /*#__PURE__*/_interopDefaultLegacy(useMeasure);
|
|
|
17
27
|
var useForceUpdate__default = /*#__PURE__*/_interopDefaultLegacy(useForceUpdate);
|
|
18
28
|
var useOnclickoutside__default = /*#__PURE__*/_interopDefaultLegacy(useOnclickoutside);
|
|
19
29
|
|
|
20
|
-
|
|
21
|
-
const [parent, setParent] = React.useState(ref.current);
|
|
22
|
-
React.useEffect(() => {
|
|
23
|
-
if (ref.current) setParent(ref.current.parentNode);
|
|
24
|
-
});
|
|
25
|
-
return parent;
|
|
26
|
-
}
|
|
27
|
-
function useSetRef(initial) {
|
|
28
|
-
const ref = React.useRef(initial);
|
|
29
|
-
const setRef = React.useCallback(node => {
|
|
30
|
-
ref.current = node;
|
|
31
|
-
}, []);
|
|
32
|
-
return [ref, setRef];
|
|
33
|
-
}
|
|
30
|
+
|
|
34
31
|
|
|
35
32
|
Object.defineProperty(exports, 'useMeasure', {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
return useMeasure__default['default'];
|
|
39
|
-
}
|
|
33
|
+
enumerable: true,
|
|
34
|
+
get: function () { return useMeasure__default["default"]; }
|
|
40
35
|
});
|
|
41
36
|
exports.useExecutionTimer = useExecutionTimer;
|
|
37
|
+
exports.useExpandState = useExpandState;
|
|
38
|
+
exports.useHotkeys = useHotkeys;
|
|
39
|
+
exports.useHoverHandlersDelay = useHoverHandlersDelay;
|
|
40
|
+
exports.useResizeObserver = useResizeObserver;
|
|
41
|
+
exports.useShouldRecalculate = useShouldRecalculate;
|
|
42
|
+
exports.useWindowScrollerList = useWindowScrollerList;
|
|
43
|
+
exports.useWindowSize = useWindowSize;
|
|
42
44
|
Object.defineProperty(exports, 'useForceUpdate', {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return useForceUpdate__default['default'];
|
|
46
|
-
}
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () { return useForceUpdate__default["default"]; }
|
|
47
47
|
});
|
|
48
48
|
Object.defineProperty(exports, 'useOnClickOutside', {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
return useOnclickoutside__default['default'];
|
|
52
|
-
}
|
|
49
|
+
enumerable: true,
|
|
50
|
+
get: function () { return useOnclickoutside__default["default"]; }
|
|
53
51
|
});
|
|
54
52
|
Object.defineProperty(exports, 'useUncontrolled', {
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
return uncontrollable.useUncontrolled;
|
|
58
|
-
}
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () { return uncontrollable.useUncontrolled; }
|
|
59
55
|
});
|
|
60
56
|
exports.usePrevious = usePrevious;
|
|
61
57
|
exports.useCancellableDelayedCallback = useCancellableDelayedCallback;
|
|
62
|
-
exports.
|
|
63
|
-
exports.useSetRef = useSetRef;
|
|
58
|
+
exports.useDerivedStateFromProps = useDerivedStateFromProps;
|
|
59
|
+
exports.useSetRef = useSetRef.useSetRef;
|
|
60
|
+
exports.useParentElement = useParentElement.useParentElement;
|
|
61
|
+
exports.useOnElementResize = useOnElementResize.useOnElementResize;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
3
4
|
var React = require('react');
|
|
4
5
|
|
|
5
6
|
function useCancellableDelayedCallback(cb, delay) {
|
|
@@ -12,7 +13,11 @@ function useCancellableDelayedCallback(cb, delay) {
|
|
|
12
13
|
clearTimeout(timeoutId);
|
|
13
14
|
}
|
|
14
15
|
}, [timeoutRef]);
|
|
15
|
-
const delayedCb = React.useCallback((
|
|
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
|
+
|
|
16
21
|
timeoutRef.current = setTimeout(() => cb(...args), delay);
|
|
17
22
|
}, [cb, delay]);
|
|
18
23
|
return [delayedCb, cancel];
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
3
4
|
var React = require('react');
|
|
4
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');
|
|
5
13
|
var lodash = require('lodash');
|
|
6
14
|
|
|
7
15
|
const defaultPropUpdateOnChange = prop => prop;
|
|
8
16
|
|
|
9
|
-
function defaultShouldUpdate({
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
function defaultShouldUpdate(_ref) {
|
|
18
|
+
let {
|
|
19
|
+
prop,
|
|
20
|
+
prevProp,
|
|
21
|
+
stateValue
|
|
22
|
+
} = _ref;
|
|
14
23
|
return !lodash.isEqual(prop, prevProp) && !lodash.isEqual(prop, stateValue);
|
|
15
24
|
}
|
|
16
25
|
|
|
@@ -20,7 +29,8 @@ function setStateWithUpdate(onUpdate, setState) {
|
|
|
20
29
|
};
|
|
21
30
|
}
|
|
22
31
|
|
|
23
|
-
function useDerivedStateFromProp(prop
|
|
32
|
+
function useDerivedStateFromProp(prop) {
|
|
33
|
+
let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
24
34
|
const {
|
|
25
35
|
onUpdate = defaultPropUpdateOnChange,
|
|
26
36
|
shouldUpdate = defaultShouldUpdate,
|
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
3
4
|
var React = require('react');
|
|
4
5
|
|
|
5
6
|
function useExecutionDelay(startFn, cleanFn, delayTime) {
|
|
6
7
|
const startTimer = React.useRef();
|
|
7
8
|
const closeTimer = React.useRef();
|
|
8
9
|
|
|
9
|
-
const startFunction = (
|
|
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
|
+
|
|
10
15
|
clearTimeout(closeTimer.current);
|
|
11
16
|
startTimer.current = setTimeout(() => startFn(...args), delayTime);
|
|
12
17
|
};
|
|
13
18
|
|
|
14
|
-
const cleanFunction = (
|
|
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
|
+
|
|
15
24
|
clearTimeout(startTimer.current);
|
|
16
25
|
closeTimer.current = setTimeout(() => cleanFn(...args), 30);
|
|
17
26
|
};
|
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
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');
|
|
4
10
|
var React = require('react');
|
|
5
|
-
|
|
11
|
+
require('core-js/modules/esnext.async-iterator.reduce.js');
|
|
12
|
+
require('core-js/modules/esnext.iterator.reduce.js');
|
|
13
|
+
var lodash = require('lodash');
|
|
6
14
|
var useDerivedStateFromProps = require('./useDerivedStateFromProps.js');
|
|
7
15
|
|
|
8
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -11,7 +19,7 @@ var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_definePropert
|
|
|
11
19
|
|
|
12
20
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
13
21
|
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default[
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
15
23
|
|
|
16
24
|
const toggleStateInObject = (obj, key, value) => {
|
|
17
25
|
const nextObj = _objectSpread({}, obj);
|
|
@@ -27,20 +35,22 @@ const toggleStateInObject = (obj, key, value) => {
|
|
|
27
35
|
|
|
28
36
|
const noop = () => null;
|
|
29
37
|
|
|
30
|
-
function useExpandState({
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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;
|
|
40
49
|
const [expanded, setExpanded] = useDerivedStateFromProps(expandedProp);
|
|
41
50
|
const isExpandedAll = React.useMemo(() => Object.keys(expanded).length === items.length, [expanded, items]);
|
|
42
51
|
|
|
43
|
-
const toggleExpandAll = (
|
|
52
|
+
const toggleExpandAll = function () {
|
|
53
|
+
let stateData = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
|
44
54
|
setExpanded(() => {
|
|
45
55
|
const nextState = {};
|
|
46
56
|
|
|
@@ -56,10 +66,11 @@ function useExpandState({
|
|
|
56
66
|
});
|
|
57
67
|
};
|
|
58
68
|
|
|
59
|
-
const expand = (item
|
|
69
|
+
const expand = function (item) {
|
|
70
|
+
let stateData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
60
71
|
if (!item) return;
|
|
61
72
|
|
|
62
|
-
if (
|
|
73
|
+
if (lodash.isFunction(onExpand)) {
|
|
63
74
|
onExpand(item);
|
|
64
75
|
}
|
|
65
76
|
|
|
@@ -75,8 +86,10 @@ function useExpandState({
|
|
|
75
86
|
});
|
|
76
87
|
};
|
|
77
88
|
|
|
78
|
-
const toggleExpand = (item
|
|
79
|
-
|
|
89
|
+
const toggleExpand = function (item) {
|
|
90
|
+
let stateData = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
|
|
91
|
+
|
|
92
|
+
if (lodash.isFunction(onToggleExpand)) {
|
|
80
93
|
onToggleExpand(item);
|
|
81
94
|
}
|
|
82
95
|
|
|
@@ -89,7 +102,7 @@ function useExpandState({
|
|
|
89
102
|
};
|
|
90
103
|
|
|
91
104
|
const collapse = item => {
|
|
92
|
-
if (
|
|
105
|
+
if (lodash.isFunction(onCollapse)) {
|
|
93
106
|
onCollapse(item);
|
|
94
107
|
}
|
|
95
108
|
|
package/cjs/hooks/useHotkeys.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
3
4
|
var hotkeys = require('hotkeys-js');
|
|
4
5
|
var React = require('react');
|
|
5
6
|
|
|
@@ -7,15 +8,17 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
|
|
|
7
8
|
|
|
8
9
|
var hotkeys__default = /*#__PURE__*/_interopDefaultLegacy(hotkeys);
|
|
9
10
|
|
|
10
|
-
function useHotkeys({
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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] : [];
|
|
15
18
|
const memoizedCallback = React.useCallback(handler, deps);
|
|
16
19
|
React.useEffect(() => {
|
|
17
|
-
hotkeys__default[
|
|
18
|
-
return () => hotkeys__default[
|
|
20
|
+
hotkeys__default["default"](keys, options, memoizedCallback);
|
|
21
|
+
return () => hotkeys__default["default"].unbind(keys);
|
|
19
22
|
}, [memoizedCallback]);
|
|
20
23
|
}
|
|
21
24
|
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
|
|
5
|
-
function useHoverHandlersDelay({
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
function useHoverHandlersDelay(_ref) {
|
|
6
|
+
let {
|
|
7
|
+
onMouseOver,
|
|
8
|
+
onMouseLeave,
|
|
9
|
+
hideDelay = 300,
|
|
10
|
+
showDelay = 300
|
|
11
|
+
} = _ref;
|
|
11
12
|
const hideTimer = React.useRef();
|
|
12
13
|
const showTimer = React.useRef();
|
|
13
14
|
const delayedHide = React.useCallback(() => {
|
|
@@ -0,0 +1,37 @@
|
|
|
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, _targetRef$current2;
|
|
12
|
+
|
|
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(() => {
|
|
17
|
+
function outputsize() {
|
|
18
|
+
var _targetRef$current3, _targetRef$current4;
|
|
19
|
+
|
|
20
|
+
setWidth((_targetRef$current3 = targetRef.current) === null || _targetRef$current3 === void 0 ? void 0 : _targetRef$current3.offsetWidth);
|
|
21
|
+
setHeight((_targetRef$current4 = targetRef.current) === null || _targetRef$current4 === void 0 ? void 0 : _targetRef$current4.offsetHeight);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
observer.current = new ResizeObserver(outputsize).observe(targetRef.current);
|
|
25
|
+
return () => {
|
|
26
|
+
var _observer$current;
|
|
27
|
+
|
|
28
|
+
(_observer$current = observer.current) === null || _observer$current === void 0 ? void 0 : _observer$current.disconnect();
|
|
29
|
+
};
|
|
30
|
+
}, [targetRef]);
|
|
31
|
+
return React.useMemo(() => ({
|
|
32
|
+
width,
|
|
33
|
+
height
|
|
34
|
+
}), [width, height]);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
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;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
require('core-js/modules/web.dom-collections.iterator.js');
|
|
3
4
|
var React = require('react');
|
|
4
5
|
var raf = require('raf');
|
|
5
6
|
var ResizeObserver = require('resize-observer-polyfill');
|
|
@@ -11,12 +12,12 @@ var ResizeObserver__default = /*#__PURE__*/_interopDefaultLegacy(ResizeObserver)
|
|
|
11
12
|
|
|
12
13
|
function useResizeObserver(handler, el) {
|
|
13
14
|
const [node, setRef] = React.useState(el);
|
|
14
|
-
const resizeObserver = new ResizeObserver__default[
|
|
15
|
+
const resizeObserver = new ResizeObserver__default["default"](entries => {
|
|
15
16
|
if (!Array.isArray(entries)) return;
|
|
16
17
|
if (!entries.length) return;
|
|
17
18
|
const entry = entries[0]; // execute on the next animation frame
|
|
18
19
|
|
|
19
|
-
raf__default[
|
|
20
|
+
raf__default["default"](() => handler({
|
|
20
21
|
width: entry.target.offsetWidth,
|
|
21
22
|
height: entry.target.offsetHeight
|
|
22
23
|
}, entry.target));
|
|
@@ -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;
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
|
|
5
|
-
function getScrollOffset(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
function getScrollOffset() {
|
|
6
|
+
let element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
7
|
+
scrollTop: 0,
|
|
8
|
+
scrollLeft: 0
|
|
9
|
+
};
|
|
9
10
|
return {
|
|
10
11
|
top: element.scrollTop,
|
|
11
12
|
left: element.scrollLeft
|
|
@@ -26,10 +27,11 @@ function isParent(parentNode, childNode) {
|
|
|
26
27
|
return childNode.parentNode === parentNode || childNode.parentNode && isParent(parentNode, childNode.parentNode);
|
|
27
28
|
}
|
|
28
29
|
|
|
29
|
-
function useWindowScrollerList({
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
30
|
+
function useWindowScrollerList(_ref) {
|
|
31
|
+
let {
|
|
32
|
+
listInstance,
|
|
33
|
+
outerListRef
|
|
34
|
+
} = _ref;
|
|
33
35
|
const scrollableParent = React.useRef();
|
|
34
36
|
const listOffset = React.useRef();
|
|
35
37
|
|