@elliemae/ds-utilities 2.3.0-alpha.9 → 2.3.0-next.0
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 +38 -0
- package/cjs/getComponentFromProps.js +30 -0
- package/cjs/hooks/index.js +63 -0
- package/cjs/hooks/useCancellableDelayedCallback.js +26 -0
- package/cjs/hooks/useDerivedStateFromProps.js +56 -0
- package/cjs/hooks/useExecutionTimer.js +31 -0
- package/cjs/hooks/useExpandState.js +133 -0
- package/cjs/hooks/useHotkeys.js +25 -0
- package/cjs/hooks/useHoverHandlersDelay.js +28 -0
- package/cjs/hooks/useIsShowingEllipsis.js +36 -0
- package/cjs/hooks/useOnElementResize.js +38 -0
- package/cjs/hooks/useParentElement.js +16 -0
- package/cjs/hooks/usePrevious.js +13 -0
- package/cjs/hooks/useResizeObserver.js +33 -0
- package/cjs/hooks/useSetRef.js +15 -0
- package/cjs/hooks/useShouldRecalculate.js +17 -0
- package/cjs/hooks/useWindowScrollerList.js +65 -0
- package/cjs/hooks/useWindowSize.js +27 -0
- package/cjs/index.js +268 -0
- package/cjs/onClickHandlerForNonInteractiveElements.js +22 -0
- package/cjs/operators.js +63 -0
- package/cjs/platform.js +9 -0
- package/cjs/reactTypesUtility.js +35 -0
- package/cjs/scrollingTimer.js +24 -0
- package/cjs/system.js +43 -0
- package/cjs/timeUtils.js +25 -0
- package/cjs/utils.js +263 -0
- package/cjs/validations.js +44 -0
- package/esm/capitalize.js +3 -0
- package/esm/compose.js +34 -0
- package/esm/getComponentFromProps.js +23 -0
- package/esm/hooks/index.js +19 -0
- package/esm/hooks/useCancellableDelayedCallback.js +24 -0
- package/esm/hooks/useDerivedStateFromProps.js +54 -0
- package/esm/hooks/useExecutionTimer.js +29 -0
- package/esm/hooks/useExpandState.js +127 -0
- package/esm/hooks/useHotkeys.js +19 -0
- package/{dist/esm → esm}/hooks/useHoverHandlersDelay.js +12 -15
- package/{dist/esm → esm}/hooks/useIsShowingEllipsis.js +12 -9
- package/esm/hooks/useOnElementResize.js +34 -0
- package/esm/hooks/useParentElement.js +12 -0
- package/esm/hooks/usePrevious.js +11 -0
- package/esm/hooks/useResizeObserver.js +26 -0
- package/esm/hooks/useSetRef.js +11 -0
- package/esm/hooks/useShouldRecalculate.js +15 -0
- package/{dist/esm → esm}/hooks/useWindowScrollerList.js +29 -20
- package/esm/hooks/useWindowSize.js +25 -0
- package/esm/index.js +32 -0
- package/esm/onClickHandlerForNonInteractiveElements.js +20 -0
- package/esm/operators.js +46 -0
- package/esm/platform.js +4 -0
- package/esm/reactTypesUtility.js +22 -0
- package/esm/scrollingTimer.js +20 -0
- package/esm/system.js +37 -0
- package/esm/timeUtils.js +20 -0
- package/esm/utils.js +99 -0
- package/esm/validations.js +38 -0
- package/package.json +72 -74
- package/{dist/types → types}/capitalize.d.ts +0 -0
- package/{dist/types → types}/compose.d.ts +1 -2
- package/types/getComponentFromProps.d.ts +2 -0
- package/types/hooks/index.d.ts +19 -0
- package/types/hooks/useCancellableDelayedCallback.d.ts +1 -0
- package/types/hooks/useDerivedStateFromProps.d.ts +1 -0
- package/types/hooks/useExecutionTimer.d.ts +1 -0
- package/{dist/types → types}/hooks/useExpandState.d.ts +2 -3
- package/types/hooks/useHotkeys.d.ts +5 -0
- package/{dist/types → types}/hooks/useHoverHandlersDelay.d.ts +2 -3
- package/{dist/types → types}/hooks/useIsShowingEllipsis.d.ts +0 -0
- package/types/hooks/useOnElementResize.d.ts +2 -0
- package/{dist/types → types}/hooks/useParentElement.d.ts +0 -0
- package/types/hooks/usePrevious.d.ts +2 -0
- package/types/hooks/useResizeObserver.d.ts +2 -0
- package/{dist/types → types}/hooks/useSetRef.d.ts +0 -0
- package/types/hooks/useShouldRecalculate.d.ts +1 -0
- package/types/hooks/useWindowScrollerList.d.ts +4 -0
- package/types/hooks/useWindowSize.d.ts +1 -0
- package/types/index.d.ts +13 -0
- package/{dist/types → types}/onClickHandlerForNonInteractiveElements.d.ts +7 -7
- package/{dist/types → types}/operators.d.ts +0 -0
- package/{dist/types → types}/platform.d.ts +0 -0
- package/{dist/types → types}/reactTypesUtility.d.ts +0 -0
- package/types/scrollingTimer.d.ts +1 -0
- package/{dist/types → types}/system.d.ts +0 -0
- package/{dist/types → types}/timeUtils.d.ts +0 -0
- package/{dist/types → types}/utils.d.ts +0 -0
- package/{dist/types → types}/validations.d.ts +0 -0
- package/dist/cjs/capitalize.js +0 -35
- package/dist/cjs/capitalize.js.map +0 -7
- package/dist/cjs/compose.js +0 -45
- package/dist/cjs/compose.js.map +0 -7
- package/dist/cjs/getComponentFromProps.js +0 -48
- package/dist/cjs/getComponentFromProps.js.map +0 -7
- package/dist/cjs/hooks/index.js +0 -71
- package/dist/cjs/hooks/index.js.map +0 -7
- package/dist/cjs/hooks/useCancellableDelayedCallback.js +0 -51
- package/dist/cjs/hooks/useCancellableDelayedCallback.js.map +0 -7
- package/dist/cjs/hooks/useDerivedStateFromProps.js +0 -67
- package/dist/cjs/hooks/useDerivedStateFromProps.js.map +0 -7
- package/dist/cjs/hooks/useExecutionTimer.js +0 -50
- package/dist/cjs/hooks/useExecutionTimer.js.map +0 -7
- package/dist/cjs/hooks/useExpandState.js +0 -120
- package/dist/cjs/hooks/useExpandState.js.map +0 -7
- package/dist/cjs/hooks/useHotkeys.js +0 -45
- package/dist/cjs/hooks/useHotkeys.js.map +0 -7
- package/dist/cjs/hooks/useHoverHandlersDelay.js +0 -58
- package/dist/cjs/hooks/useHoverHandlersDelay.js.map +0 -7
- package/dist/cjs/hooks/useIsShowingEllipsis.js +0 -58
- package/dist/cjs/hooks/useIsShowingEllipsis.js.map +0 -7
- package/dist/cjs/hooks/useOnElementResize.js +0 -54
- package/dist/cjs/hooks/useOnElementResize.js.map +0 -7
- package/dist/cjs/hooks/useParentElement.js +0 -43
- package/dist/cjs/hooks/useParentElement.js.map +0 -7
- package/dist/cjs/hooks/usePrevious.js +0 -44
- package/dist/cjs/hooks/usePrevious.js.map +0 -7
- package/dist/cjs/hooks/useResizeObserver.js +0 -60
- package/dist/cjs/hooks/useResizeObserver.js.map +0 -7
- package/dist/cjs/hooks/useSetRef.js +0 -42
- package/dist/cjs/hooks/useSetRef.js.map +0 -7
- package/dist/cjs/hooks/useShouldRecalculate.js +0 -44
- package/dist/cjs/hooks/useShouldRecalculate.js.map +0 -7
- package/dist/cjs/hooks/useWindowScrollerList.js +0 -83
- package/dist/cjs/hooks/useWindowScrollerList.js.map +0 -7
- package/dist/cjs/hooks/useWindowSize.js +0 -57
- package/dist/cjs/hooks/useWindowSize.js.map +0 -7
- package/dist/cjs/index.js +0 -146
- package/dist/cjs/index.js.map +0 -7
- package/dist/cjs/onClickHandlerForNonInteractiveElements.js +0 -49
- package/dist/cjs/onClickHandlerForNonInteractiveElements.js.map +0 -7
- package/dist/cjs/operators.js +0 -68
- package/dist/cjs/operators.js.map +0 -7
- package/dist/cjs/platform.js +0 -37
- package/dist/cjs/platform.js.map +0 -7
- package/dist/cjs/reactTypesUtility.js +0 -58
- package/dist/cjs/reactTypesUtility.js.map +0 -7
- package/dist/cjs/scrollingTimer.js +0 -46
- package/dist/cjs/scrollingTimer.js.map +0 -7
- package/dist/cjs/system.js +0 -60
- package/dist/cjs/system.js.map +0 -7
- package/dist/cjs/timeUtils.js +0 -43
- package/dist/cjs/timeUtils.js.map +0 -7
- package/dist/cjs/utils.js +0 -127
- package/dist/cjs/utils.js.map +0 -7
- package/dist/cjs/validations.js +0 -57
- package/dist/cjs/validations.js.map +0 -7
- package/dist/esm/capitalize.js +0 -6
- package/dist/esm/capitalize.js.map +0 -7
- package/dist/esm/compose.js +0 -16
- package/dist/esm/compose.js.map +0 -7
- package/dist/esm/getComponentFromProps.js +0 -19
- package/dist/esm/getComponentFromProps.js.map +0 -7
- package/dist/esm/hooks/index.js +0 -42
- package/dist/esm/hooks/index.js.map +0 -7
- package/dist/esm/hooks/useCancellableDelayedCallback.js +0 -22
- package/dist/esm/hooks/useCancellableDelayedCallback.js.map +0 -7
- package/dist/esm/hooks/useDerivedStateFromProps.js +0 -38
- package/dist/esm/hooks/useDerivedStateFromProps.js.map +0 -7
- package/dist/esm/hooks/useExecutionTimer.js +0 -21
- package/dist/esm/hooks/useExecutionTimer.js.map +0 -7
- package/dist/esm/hooks/useExpandState.js +0 -91
- package/dist/esm/hooks/useExpandState.js.map +0 -7
- package/dist/esm/hooks/useHotkeys.js +0 -16
- package/dist/esm/hooks/useHotkeys.js.map +0 -7
- package/dist/esm/hooks/useHoverHandlersDelay.js.map +0 -7
- package/dist/esm/hooks/useIsShowingEllipsis.js.map +0 -7
- package/dist/esm/hooks/useOnElementResize.js +0 -25
- package/dist/esm/hooks/useOnElementResize.js.map +0 -7
- package/dist/esm/hooks/useParentElement.js +0 -14
- package/dist/esm/hooks/useParentElement.js.map +0 -7
- package/dist/esm/hooks/usePrevious.js +0 -15
- package/dist/esm/hooks/usePrevious.js.map +0 -7
- package/dist/esm/hooks/useResizeObserver.js +0 -31
- package/dist/esm/hooks/useResizeObserver.js.map +0 -7
- package/dist/esm/hooks/useSetRef.js +0 -13
- package/dist/esm/hooks/useSetRef.js.map +0 -7
- package/dist/esm/hooks/useShouldRecalculate.js +0 -15
- package/dist/esm/hooks/useShouldRecalculate.js.map +0 -7
- package/dist/esm/hooks/useWindowScrollerList.js.map +0 -7
- package/dist/esm/hooks/useWindowSize.js +0 -28
- package/dist/esm/hooks/useWindowSize.js.map +0 -7
- package/dist/esm/index.js +0 -206
- package/dist/esm/index.js.map +0 -7
- package/dist/esm/onClickHandlerForNonInteractiveElements.js +0 -20
- package/dist/esm/onClickHandlerForNonInteractiveElements.js.map +0 -7
- package/dist/esm/operators.js +0 -39
- package/dist/esm/operators.js.map +0 -7
- package/dist/esm/platform.js +0 -8
- package/dist/esm/platform.js.map +0 -7
- package/dist/esm/reactTypesUtility.js +0 -29
- package/dist/esm/reactTypesUtility.js.map +0 -7
- package/dist/esm/scrollingTimer.js +0 -17
- package/dist/esm/scrollingTimer.js.map +0 -7
- package/dist/esm/system.js +0 -31
- package/dist/esm/system.js.map +0 -7
- package/dist/esm/timeUtils.js +0 -14
- package/dist/esm/timeUtils.js.map +0 -7
- package/dist/esm/utils.js +0 -136
- package/dist/esm/utils.js.map +0 -7
- package/dist/esm/validations.js +0 -28
- package/dist/esm/validations.js.map +0 -7
- package/dist/types/getComponentFromProps.d.ts +0 -3
- package/dist/types/hooks/index.d.ts +0 -19
- package/dist/types/hooks/useCancellableDelayedCallback.d.ts +0 -2
- package/dist/types/hooks/useDerivedStateFromProps.d.ts +0 -2
- package/dist/types/hooks/useExecutionTimer.d.ts +0 -2
- package/dist/types/hooks/useHotkeys.d.ts +0 -6
- package/dist/types/hooks/useOnElementResize.d.ts +0 -2
- package/dist/types/hooks/usePrevious.d.ts +0 -2
- package/dist/types/hooks/useResizeObserver.d.ts +0 -3
- package/dist/types/hooks/useShouldRecalculate.d.ts +0 -2
- package/dist/types/hooks/useWindowScrollerList.d.ts +0 -5
- package/dist/types/hooks/useWindowSize.d.ts +0 -2
- package/dist/types/index.d.ts +0 -13
- package/dist/types/scrollingTimer.d.ts +0 -1
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,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;
|