@elliemae/ds-utilities 2.3.1-rc.2 → 3.0.0-alpha.2
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/dist/cjs/capitalize.js +35 -0
- package/dist/cjs/capitalize.js.map +7 -0
- package/dist/cjs/compose.js +45 -0
- package/dist/cjs/compose.js.map +7 -0
- package/dist/cjs/getComponentFromProps.js +57 -0
- package/dist/cjs/getComponentFromProps.js.map +7 -0
- package/dist/cjs/hooks/index.js +71 -0
- package/dist/cjs/hooks/index.js.map +7 -0
- package/dist/cjs/hooks/useCancellableDelayedCallback.js +51 -0
- package/dist/cjs/hooks/useCancellableDelayedCallback.js.map +7 -0
- package/dist/cjs/hooks/useDerivedStateFromProps.js +67 -0
- package/dist/cjs/hooks/useDerivedStateFromProps.js.map +7 -0
- package/dist/cjs/hooks/useExecutionTimer.js +50 -0
- package/dist/cjs/hooks/useExecutionTimer.js.map +7 -0
- package/dist/cjs/hooks/useExpandState.js +137 -0
- package/dist/cjs/hooks/useExpandState.js.map +7 -0
- package/dist/cjs/hooks/useHotkeys.js +45 -0
- package/dist/cjs/hooks/useHotkeys.js.map +7 -0
- package/dist/cjs/hooks/useHoverHandlersDelay.js +58 -0
- package/dist/cjs/hooks/useHoverHandlersDelay.js.map +7 -0
- package/dist/cjs/hooks/useIsShowingEllipsis.js +58 -0
- package/dist/cjs/hooks/useIsShowingEllipsis.js.map +7 -0
- package/dist/cjs/hooks/useOnElementResize.js +55 -0
- package/dist/cjs/hooks/useOnElementResize.js.map +7 -0
- package/dist/cjs/hooks/useParentElement.js +43 -0
- package/dist/cjs/hooks/useParentElement.js.map +7 -0
- package/dist/cjs/hooks/usePrevious.js +44 -0
- package/dist/cjs/hooks/usePrevious.js.map +7 -0
- package/dist/cjs/hooks/useResizeObserver.js +60 -0
- package/dist/cjs/hooks/useResizeObserver.js.map +7 -0
- package/dist/cjs/hooks/useSetRef.js +42 -0
- package/dist/cjs/hooks/useSetRef.js.map +7 -0
- package/dist/cjs/hooks/useShouldRecalculate.js +44 -0
- package/dist/cjs/hooks/useShouldRecalculate.js.map +7 -0
- package/dist/cjs/hooks/useWindowScrollerList.js +83 -0
- package/dist/cjs/hooks/useWindowScrollerList.js.map +7 -0
- package/dist/cjs/hooks/useWindowSize.js +57 -0
- package/dist/cjs/hooks/useWindowSize.js.map +7 -0
- package/dist/cjs/index.js +146 -0
- package/dist/cjs/index.js.map +7 -0
- package/dist/cjs/onClickHandlerForNonInteractiveElements.js +49 -0
- package/dist/cjs/onClickHandlerForNonInteractiveElements.js.map +7 -0
- package/dist/cjs/operators.js +68 -0
- package/dist/cjs/operators.js.map +7 -0
- package/dist/cjs/platform.js +37 -0
- package/dist/cjs/platform.js.map +7 -0
- package/dist/cjs/reactTypesUtility.js +58 -0
- package/dist/cjs/reactTypesUtility.js.map +7 -0
- package/dist/cjs/scrollingTimer.js +46 -0
- package/dist/cjs/scrollingTimer.js.map +7 -0
- package/dist/cjs/system.js +60 -0
- package/dist/cjs/system.js.map +7 -0
- package/dist/cjs/timeUtils.js +43 -0
- package/dist/cjs/timeUtils.js.map +7 -0
- package/dist/cjs/utils.js +143 -0
- package/dist/cjs/utils.js.map +7 -0
- package/dist/cjs/validations.js +57 -0
- package/dist/cjs/validations.js.map +7 -0
- package/dist/esm/capitalize.js +6 -0
- package/dist/esm/capitalize.js.map +7 -0
- package/dist/esm/compose.js +16 -0
- package/dist/esm/compose.js.map +7 -0
- package/dist/esm/getComponentFromProps.js +30 -0
- package/dist/esm/getComponentFromProps.js.map +7 -0
- package/dist/esm/hooks/index.js +42 -0
- package/dist/esm/hooks/index.js.map +7 -0
- package/dist/esm/hooks/useCancellableDelayedCallback.js +22 -0
- package/dist/esm/hooks/useCancellableDelayedCallback.js.map +7 -0
- package/dist/esm/hooks/useDerivedStateFromProps.js +38 -0
- package/dist/esm/hooks/useDerivedStateFromProps.js.map +7 -0
- package/dist/esm/hooks/useExecutionTimer.js +21 -0
- package/dist/esm/hooks/useExecutionTimer.js.map +7 -0
- package/dist/esm/hooks/useExpandState.js +110 -0
- package/dist/esm/hooks/useExpandState.js.map +7 -0
- package/dist/esm/hooks/useHotkeys.js +16 -0
- package/dist/esm/hooks/useHotkeys.js.map +7 -0
- package/{esm → dist/esm}/hooks/useHoverHandlersDelay.js +15 -12
- package/dist/esm/hooks/useHoverHandlersDelay.js.map +7 -0
- package/{esm → dist/esm}/hooks/useIsShowingEllipsis.js +9 -12
- package/dist/esm/hooks/useIsShowingEllipsis.js.map +7 -0
- package/dist/esm/hooks/useOnElementResize.js +26 -0
- package/dist/esm/hooks/useOnElementResize.js.map +7 -0
- package/dist/esm/hooks/useParentElement.js +14 -0
- package/dist/esm/hooks/useParentElement.js.map +7 -0
- package/dist/esm/hooks/usePrevious.js +15 -0
- package/dist/esm/hooks/usePrevious.js.map +7 -0
- package/dist/esm/hooks/useResizeObserver.js +31 -0
- package/dist/esm/hooks/useResizeObserver.js.map +7 -0
- package/dist/esm/hooks/useSetRef.js +13 -0
- package/dist/esm/hooks/useSetRef.js.map +7 -0
- package/dist/esm/hooks/useShouldRecalculate.js +15 -0
- package/dist/esm/hooks/useShouldRecalculate.js.map +7 -0
- package/{esm → dist/esm}/hooks/useWindowScrollerList.js +20 -29
- package/dist/esm/hooks/useWindowScrollerList.js.map +7 -0
- package/dist/esm/hooks/useWindowSize.js +28 -0
- package/dist/esm/hooks/useWindowSize.js.map +7 -0
- package/dist/esm/index.js +206 -0
- package/dist/esm/index.js.map +7 -0
- package/dist/esm/onClickHandlerForNonInteractiveElements.js +20 -0
- package/dist/esm/onClickHandlerForNonInteractiveElements.js.map +7 -0
- package/dist/esm/operators.js +39 -0
- package/dist/esm/operators.js.map +7 -0
- package/dist/esm/platform.js +8 -0
- package/dist/esm/platform.js.map +7 -0
- package/dist/esm/reactTypesUtility.js +29 -0
- package/dist/esm/reactTypesUtility.js.map +7 -0
- package/dist/esm/scrollingTimer.js +17 -0
- package/dist/esm/scrollingTimer.js.map +7 -0
- package/dist/esm/system.js +31 -0
- package/dist/esm/system.js.map +7 -0
- package/dist/esm/timeUtils.js +14 -0
- package/dist/esm/timeUtils.js.map +7 -0
- package/dist/esm/utils.js +154 -0
- package/dist/esm/utils.js.map +7 -0
- package/dist/esm/validations.js +28 -0
- package/dist/esm/validations.js.map +7 -0
- package/package.json +80 -75
- package/cjs/capitalize.js +0 -7
- package/cjs/compose.js +0 -38
- package/cjs/getComponentFromProps.js +0 -30
- package/cjs/hooks/index.js +0 -65
- package/cjs/hooks/useCancellableDelayedCallback.js +0 -26
- package/cjs/hooks/useDerivedStateFromProps.js +0 -56
- package/cjs/hooks/useExecutionTimer.js +0 -31
- package/cjs/hooks/useExpandState.js +0 -133
- package/cjs/hooks/useFocusTrap.js +0 -31
- package/cjs/hooks/useHotkeys.js +0 -25
- package/cjs/hooks/useHoverHandlersDelay.js +0 -28
- package/cjs/hooks/useIsShowingEllipsis.js +0 -36
- package/cjs/hooks/useOnElementResize.js +0 -38
- package/cjs/hooks/useParentElement.js +0 -16
- package/cjs/hooks/usePrevious.js +0 -13
- package/cjs/hooks/useResizeObserver.js +0 -33
- package/cjs/hooks/useSetRef.js +0 -15
- package/cjs/hooks/useShouldRecalculate.js +0 -17
- package/cjs/hooks/useWindowScrollerList.js +0 -65
- package/cjs/hooks/useWindowSize.js +0 -27
- package/cjs/index.js +0 -270
- package/cjs/onClickHandlerForNonInteractiveElements.js +0 -22
- package/cjs/operators.js +0 -63
- package/cjs/platform.js +0 -9
- package/cjs/reactTypesUtility.js +0 -35
- package/cjs/scrollingTimer.js +0 -24
- package/cjs/system.js +0 -43
- package/cjs/timeUtils.js +0 -25
- package/cjs/utils.js +0 -263
- package/cjs/validations.js +0 -44
- package/esm/capitalize.js +0 -3
- package/esm/compose.js +0 -34
- package/esm/getComponentFromProps.js +0 -23
- package/esm/hooks/index.js +0 -20
- package/esm/hooks/useCancellableDelayedCallback.js +0 -24
- package/esm/hooks/useDerivedStateFromProps.js +0 -54
- package/esm/hooks/useExecutionTimer.js +0 -29
- package/esm/hooks/useExpandState.js +0 -127
- package/esm/hooks/useFocusTrap.js +0 -27
- package/esm/hooks/useHotkeys.js +0 -19
- package/esm/hooks/useOnElementResize.js +0 -34
- package/esm/hooks/useParentElement.js +0 -12
- package/esm/hooks/usePrevious.js +0 -11
- package/esm/hooks/useResizeObserver.js +0 -26
- package/esm/hooks/useSetRef.js +0 -11
- package/esm/hooks/useShouldRecalculate.js +0 -15
- package/esm/hooks/useWindowSize.js +0 -25
- package/esm/index.js +0 -33
- package/esm/onClickHandlerForNonInteractiveElements.js +0 -20
- package/esm/operators.js +0 -46
- package/esm/platform.js +0 -4
- package/esm/reactTypesUtility.js +0 -22
- package/esm/scrollingTimer.js +0 -20
- package/esm/system.js +0 -37
- package/esm/timeUtils.js +0 -20
- package/esm/utils.js +0 -99
- package/esm/validations.js +0 -38
- package/types/capitalize.d.ts +0 -1
- package/types/compose.d.ts +0 -11
- package/types/getComponentFromProps.d.ts +0 -2
- package/types/hooks/index.d.ts +0 -20
- package/types/hooks/useCancellableDelayedCallback.d.ts +0 -1
- package/types/hooks/useDerivedStateFromProps.d.ts +0 -1
- package/types/hooks/useExecutionTimer.d.ts +0 -1
- package/types/hooks/useExpandState.d.ts +0 -22
- package/types/hooks/useFocusTrap.d.ts +0 -8
- package/types/hooks/useHotkeys.d.ts +0 -5
- package/types/hooks/useHoverHandlersDelay.d.ts +0 -9
- package/types/hooks/useIsShowingEllipsis.d.ts +0 -5
- package/types/hooks/useOnElementResize.d.ts +0 -2
- package/types/hooks/useParentElement.d.ts +0 -1
- package/types/hooks/usePrevious.d.ts +0 -2
- package/types/hooks/useResizeObserver.d.ts +0 -2
- package/types/hooks/useSetRef.d.ts +0 -2
- package/types/hooks/useShouldRecalculate.d.ts +0 -1
- package/types/hooks/useWindowScrollerList.d.ts +0 -4
- package/types/hooks/useWindowSize.d.ts +0 -1
- package/types/index.d.ts +0 -13
- package/types/onClickHandlerForNonInteractiveElements.d.ts +0 -12
- package/types/operators.d.ts +0 -31
- package/types/platform.d.ts +0 -2
- package/types/reactTypesUtility.d.ts +0 -6
- package/types/scrollingTimer.d.ts +0 -1
- package/types/system.d.ts +0 -3
- package/types/timeUtils.d.ts +0 -7
- package/types/utils.d.ts +0 -23
- package/types/validations.d.ts +0 -23
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useExpandState.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useMemo } from 'react';\nimport { isFunction } from '../utils';\nimport { useDerivedStateFromProps } from './useDerivedStateFromProps';\n\nconst toggleStateInObject = (obj, key, value) => {\n const nextObj = { ...obj };\n if (nextObj[key]) {\n delete nextObj[key];\n } else {\n nextObj[key] = value;\n }\n return nextObj;\n};\n\nconst noop = () => null;\n\nexport const useExpandState = ({\n items = [],\n itemKey = 'id',\n expanded: expandedProp = {},\n onExpand,\n onExpandChange = noop,\n onExpandAll = noop,\n onToggleExpand,\n onCollapse,\n}) => {\n const [expanded, setExpanded] = useDerivedStateFromProps(expandedProp);\n\n const isExpandedAll = useMemo(\n () => Object.keys(expanded).length === items.length,\n [expanded, items],\n );\n\n const toggleExpandAll = (stateData = true) => {\n setExpanded(() => {\n const nextState = {};\n if (!isExpandedAll) {\n items.forEach(item => {\n nextState[item[itemKey]] = stateData;\n });\n }\n onExpandChange(nextState);\n onExpandAll(nextState);\n return nextState;\n });\n };\n\n const expand = (item, stateData = true) => {\n if (!item) return;\n if (isFunction(onExpand)) {\n onExpand(item);\n }\n setExpanded(prevState => {\n const key = item[itemKey];\n const nextState = { ...prevState, [key]: stateData };\n onExpandChange(nextState, item);\n return nextState;\n });\n };\n\n const toggleExpand = (item, stateData = true) => {\n if (isFunction(onToggleExpand)) {\n onToggleExpand(item);\n }\n setExpanded(prevState => {\n const key = item[itemKey];\n const nextState = toggleStateInObject(prevState, key, stateData);\n onExpandChange(nextState, item);\n return nextState;\n });\n };\n\n const collapse = item => {\n if (isFunction(onCollapse)) {\n onCollapse(item);\n }\n setExpanded(prevState => {\n const nextState = { ...prevState };\n delete nextState[item[itemKey]];\n onExpandChange(nextState, item);\n return nextState;\n });\n };\n\n return {\n state: { expanded, isExpandedAll },\n actions: {\n expand,\n toggleExpandAll,\n toggleExpand,\n collapse,\n },\n setExpanded,\n };\n};\n\nexport default useExpandState;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AAEA,MAAM,sBAAsB,CAAC,KAAK,KAAK,UAAU;AAC/C,QAAM,UAAU,mBAAK;AACrB,MAAI,QAAQ,MAAM;AAChB,WAAO,QAAQ;AAAA,SACV;AACL,YAAQ,OAAO;AAAA;AAEjB,SAAO;AAAA;AAGT,MAAM,OAAO,MAAM;AAEZ,MAAM,iBAAiB,CAAC;AAAA,EAC7B,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,UAAU,eAAe;AAAA,EACzB;AAAA,EACA,iBAAiB;AAAA,EACjB,cAAc;AAAA,EACd;AAAA,EACA;AAAA,MACI;AACJ,QAAM,CAAC,UAAU,eAAe,yBAAyB;AAEzD,QAAM,gBAAgB,QACpB,MAAM,OAAO,KAAK,UAAU,WAAW,MAAM,QAC7C,CAAC,UAAU;AAGb,QAAM,kBAAkB,CAAC,YAAY,SAAS;AAC5C,gBAAY,MAAM;AAChB,YAAM,YAAY;AAClB,UAAI,CAAC,eAAe;AAClB,cAAM,QAAQ,UAAQ;AACpB,oBAAU,KAAK,YAAY;AAAA;AAAA;AAG/B,qBAAe;AACf,kBAAY;AACZ,aAAO;AAAA;AAAA;AAIX,QAAM,SAAS,CAAC,MAAM,YAAY,SAAS;AACzC,QAAI,CAAC;AAAM;AACX,QAAI,WAAW,WAAW;AACxB,eAAS;AAAA;AAEX,gBAAY,eAAa;AACvB,YAAM,MAAM,KAAK;AACjB,YAAM,YAAY,iCAAK,YAAL,GAAiB,MAAM;AACzC,qBAAe,WAAW;AAC1B,aAAO;AAAA;AAAA;AAIX,QAAM,eAAe,CAAC,MAAM,YAAY,SAAS;AAC/C,QAAI,WAAW,iBAAiB;AAC9B,qBAAe;AAAA;AAEjB,gBAAY,eAAa;AACvB,YAAM,MAAM,KAAK;AACjB,YAAM,YAAY,oBAAoB,WAAW,KAAK;AACtD,qBAAe,WAAW;AAC1B,aAAO;AAAA;AAAA;AAIX,QAAM,WAAW,UAAQ;AACvB,QAAI,WAAW,aAAa;AAC1B,iBAAW;AAAA;AAEb,gBAAY,eAAa;AACvB,YAAM,YAAY,mBAAK;AACvB,aAAO,UAAU,KAAK;AACtB,qBAAe,WAAW;AAC1B,aAAO;AAAA;AAAA;AAIX,SAAO;AAAA,IACL,OAAO,EAAE,UAAU;AAAA,IACnB,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF;AAAA;AAAA;AAIJ,IAAO,yBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import hotkeys from "hotkeys-js";
|
|
3
|
+
import { useCallback, useEffect } from "react";
|
|
4
|
+
const useHotkeys = ({ keys, handler, options = {} }, deps = []) => {
|
|
5
|
+
const memoizedCallback = useCallback(handler, deps);
|
|
6
|
+
useEffect(() => {
|
|
7
|
+
hotkeys(keys, options, memoizedCallback);
|
|
8
|
+
return () => hotkeys.unbind(keys);
|
|
9
|
+
}, [memoizedCallback]);
|
|
10
|
+
};
|
|
11
|
+
var useHotkeys_default = useHotkeys;
|
|
12
|
+
export {
|
|
13
|
+
useHotkeys_default as default,
|
|
14
|
+
useHotkeys
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=useHotkeys.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useHotkeys.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import hotkeys from 'hotkeys-js';\nimport { useCallback, useEffect } from 'react';\n\nexport const useHotkeys = ({ keys, handler, options = {} }, deps = []) => {\n const memoizedCallback = useCallback(handler, deps);\n\n useEffect(() => {\n hotkeys(keys, options, memoizedCallback);\n\n return () => hotkeys.unbind(keys);\n }, [memoizedCallback]);\n};\n\nexport default useHotkeys;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AAEO,MAAM,aAAa,CAAC,EAAE,MAAM,SAAS,UAAU,MAAM,OAAO,OAAO;AACxE,QAAM,mBAAmB,YAAY,SAAS;AAE9C,YAAU,MAAM;AACd,YAAQ,MAAM,SAAS;AAEvB,WAAO,MAAM,QAAQ,OAAO;AAAA,KAC3B,CAAC;AAAA;AAGN,IAAO,qBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
} = _ref;
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useCallback, useRef } from "react";
|
|
3
|
+
const useHoverHandlersDelay = ({
|
|
4
|
+
onMouseOver,
|
|
5
|
+
onMouseLeave,
|
|
6
|
+
hideDelay = 300,
|
|
7
|
+
showDelay = 300
|
|
8
|
+
}) => {
|
|
10
9
|
const hideTimer = useRef();
|
|
11
10
|
const showTimer = useRef();
|
|
12
11
|
const delayedHide = useCallback(() => {
|
|
@@ -21,6 +20,10 @@ function useHoverHandlersDelay(_ref) {
|
|
|
21
20
|
onMouseOver: delayedShow,
|
|
22
21
|
onMouseLeave: delayedHide
|
|
23
22
|
};
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export {
|
|
23
|
+
};
|
|
24
|
+
var useHoverHandlersDelay_default = useHoverHandlersDelay;
|
|
25
|
+
export {
|
|
26
|
+
useHoverHandlersDelay_default as default,
|
|
27
|
+
useHoverHandlersDelay
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=useHoverHandlersDelay.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useHoverHandlersDelay.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback, useRef } from 'react';\n\nexport const useHoverHandlersDelay = ({\n onMouseOver,\n onMouseLeave,\n hideDelay = 300,\n showDelay = 300,\n}) => {\n const hideTimer = useRef();\n const showTimer = useRef();\n\n const delayedHide = useCallback(() => {\n clearTimeout(showTimer.current);\n hideTimer.current = setTimeout(onMouseLeave, hideDelay);\n }, []);\n\n const delayedShow = useCallback(() => {\n clearTimeout(hideTimer.current);\n showTimer.current = setTimeout(onMouseOver, showDelay);\n }, []);\n\n return {\n onMouseOver: delayedShow,\n onMouseLeave: delayedHide,\n };\n};\n\nexport default useHoverHandlersDelay;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEO,MAAM,wBAAwB,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,YAAY;AAAA,MACR;AACJ,QAAM,YAAY;AAClB,QAAM,YAAY;AAElB,QAAM,cAAc,YAAY,MAAM;AACpC,iBAAa,UAAU;AACvB,cAAU,UAAU,WAAW,cAAc;AAAA,KAC5C;AAEH,QAAM,cAAc,YAAY,MAAM;AACpC,iBAAa,UAAU;AACvB,cAAU,UAAU,WAAW,aAAa;AAAA,KAC3C;AAEH,SAAO;AAAA,IACL,aAAa;AAAA,IACb,cAAc;AAAA;AAAA;AAIlB,IAAO,gCAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { useState, useMemo
|
|
3
|
-
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useEffect, useState, useMemo } from "react";
|
|
4
3
|
const useIsShowingEllipsis = () => {
|
|
5
4
|
const [element, setElement] = useState();
|
|
6
5
|
const [isShowingEllipsis, setIsShowingEllipsis] = useState(false);
|
|
7
|
-
const resizeObserver = useMemo(() => new ResizeObserver(entries => {
|
|
6
|
+
const resizeObserver = useMemo(() => new ResizeObserver((entries) => {
|
|
8
7
|
if (entries.length) {
|
|
9
8
|
const [textWrapperEntry] = entries;
|
|
10
9
|
const el = textWrapperEntry.target;
|
|
11
|
-
setIsShowingEllipsis(
|
|
10
|
+
setIsShowingEllipsis(el?.scrollWidth > el?.clientWidth);
|
|
12
11
|
}
|
|
13
12
|
}), []);
|
|
14
13
|
useEffect(() => {
|
|
@@ -16,17 +15,15 @@ const useIsShowingEllipsis = () => {
|
|
|
16
15
|
setIsShowingEllipsis(element.scrollWidth > element.clientWidth);
|
|
17
16
|
resizeObserver.observe(element);
|
|
18
17
|
}
|
|
19
|
-
|
|
20
18
|
return () => {
|
|
21
19
|
if (element) {
|
|
22
20
|
resizeObserver.unobserve(element);
|
|
23
21
|
}
|
|
24
22
|
};
|
|
25
23
|
}, [resizeObserver, element]);
|
|
26
|
-
return {
|
|
27
|
-
setElement,
|
|
28
|
-
isShowingEllipsis
|
|
29
|
-
};
|
|
24
|
+
return { setElement, isShowingEllipsis };
|
|
30
25
|
};
|
|
31
|
-
|
|
32
|
-
|
|
26
|
+
export {
|
|
27
|
+
useIsShowingEllipsis
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=useIsShowingEllipsis.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useIsShowingEllipsis.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useState, useMemo } from 'react';\n\nexport const useIsShowingEllipsis = <T extends HTMLElement = HTMLSpanElement>() => {\n const [element, setElement] = useState<T>();\n\n const [isShowingEllipsis, setIsShowingEllipsis] = useState(false);\n\n const resizeObserver = useMemo(\n () =>\n new ResizeObserver((entries) => {\n if (entries.length) {\n const [textWrapperEntry] = entries;\n const el = textWrapperEntry.target;\n setIsShowingEllipsis(el?.scrollWidth > el?.clientWidth);\n }\n }),\n [],\n );\n\n useEffect(() => {\n if (element) {\n setIsShowingEllipsis(element.scrollWidth > element.clientWidth);\n resizeObserver.observe(element);\n }\n return () => {\n if (element) {\n resizeObserver.unobserve(element);\n }\n };\n }, [resizeObserver, element]);\n\n return { setElement, isShowingEllipsis };\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEO,MAAM,uBAAuB,MAA+C;AACjF,QAAM,CAAC,SAAS,cAAc;AAE9B,QAAM,CAAC,mBAAmB,wBAAwB,SAAS;AAE3D,QAAM,iBAAiB,QACrB,MACE,IAAI,eAAe,CAAC,YAAY;AAC9B,QAAI,QAAQ,QAAQ;AAClB,YAAM,CAAC,oBAAoB;AAC3B,YAAM,KAAK,iBAAiB;AAC5B,2BAAqB,IAAI,cAAc,IAAI;AAAA;AAAA,MAGjD;AAGF,YAAU,MAAM;AACd,QAAI,SAAS;AACX,2BAAqB,QAAQ,cAAc,QAAQ;AACnD,qBAAe,QAAQ;AAAA;AAEzB,WAAO,MAAM;AACX,UAAI,SAAS;AACX,uBAAe,UAAU;AAAA;AAAA;AAAA,KAG5B,CAAC,gBAAgB;AAEpB,SAAO,EAAE,YAAY;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useState, useEffect, useRef, useMemo } from "react";
|
|
3
|
+
const useOnElementResize = (targetRef) => {
|
|
4
|
+
const [width, setWidth] = useState(targetRef.current?.offsetWidth ?? 0);
|
|
5
|
+
const [height, setHeight] = useState(targetRef.current?.offsetHeight ?? 0);
|
|
6
|
+
const observer = useRef();
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
function outputsize() {
|
|
9
|
+
setWidth(targetRef.current?.offsetWidth ?? 0);
|
|
10
|
+
setHeight(targetRef.current?.offsetHeight ?? 0);
|
|
11
|
+
}
|
|
12
|
+
observer.current = new ResizeObserver(outputsize);
|
|
13
|
+
observer.current.observe(targetRef.current);
|
|
14
|
+
return () => {
|
|
15
|
+
observer.current?.disconnect();
|
|
16
|
+
};
|
|
17
|
+
}, [targetRef]);
|
|
18
|
+
return useMemo(() => ({
|
|
19
|
+
width,
|
|
20
|
+
height
|
|
21
|
+
}), [width, height]);
|
|
22
|
+
};
|
|
23
|
+
export {
|
|
24
|
+
useOnElementResize
|
|
25
|
+
};
|
|
26
|
+
//# sourceMappingURL=useOnElementResize.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useOnElementResize.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import React, { useState, useEffect, useRef, useMemo } from 'react';\n\n// Custom hook to track dimension of a component\n// Taken and modified from https://stackoverflow.com/a/60218754\nexport const useOnElementResize = <T extends HTMLElement>(\n targetRef: React.RefObject<T>,\n): Record<'width' | 'height', number> => {\n const [width, setWidth] = useState(targetRef.current?.offsetWidth ?? 0);\n const [height, setHeight] = useState(targetRef.current?.offsetHeight ?? 0);\n const observer = useRef<ResizeObserver>();\n\n useEffect(() => {\n function outputsize() {\n setWidth(targetRef.current?.offsetWidth ?? 0);\n setHeight(targetRef.current?.offsetHeight ?? 0);\n }\n\n observer.current = new ResizeObserver(outputsize);\n observer.current.observe(targetRef.current as Element);\n\n return () => {\n observer.current?.disconnect();\n };\n }, [targetRef]);\n\n return useMemo(\n () => ({\n width,\n height,\n }),\n [width, height],\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAIO,MAAM,qBAAqB,CAChC,cACuC;AACvC,QAAM,CAAC,OAAO,YAAY,SAAS,UAAU,SAAS,eAAe;AACrE,QAAM,CAAC,QAAQ,aAAa,SAAS,UAAU,SAAS,gBAAgB;AACxE,QAAM,WAAW;AAEjB,YAAU,MAAM;AACd,0BAAsB;AACpB,eAAS,UAAU,SAAS,eAAe;AAC3C,gBAAU,UAAU,SAAS,gBAAgB;AAAA;AAG/C,aAAS,UAAU,IAAI,eAAe;AACtC,aAAS,QAAQ,QAAQ,UAAU;AAEnC,WAAO,MAAM;AACX,eAAS,SAAS;AAAA;AAAA,KAEnB,CAAC;AAEJ,SAAO,QACL,MAAO;AAAA,IACL;AAAA,IACA;AAAA,MAEF,CAAC,OAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
const useParentElement = (ref) => {
|
|
4
|
+
const [parent, setParent] = useState(ref.current);
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
if (ref.current)
|
|
7
|
+
setParent(ref.current.parentNode);
|
|
8
|
+
});
|
|
9
|
+
return parent;
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
useParentElement
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=useParentElement.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useParentElement.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useState } from 'react';\n\nexport const useParentElement = (ref) => {\n const [parent, setParent] = useState(ref.current);\n\n useEffect(() => {\n if (ref.current) setParent(ref.current.parentNode);\n });\n return parent;\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEO,MAAM,mBAAmB,CAAC,QAAQ;AACvC,QAAM,CAAC,QAAQ,aAAa,SAAS,IAAI;AAEzC,YAAU,MAAM;AACd,QAAI,IAAI;AAAS,gBAAU,IAAI,QAAQ;AAAA;AAEzC,SAAO;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
const usePrevious = (value) => {
|
|
4
|
+
const ref = useRef();
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
ref.current = value;
|
|
7
|
+
}, [value]);
|
|
8
|
+
return ref.current;
|
|
9
|
+
};
|
|
10
|
+
var usePrevious_default = usePrevious;
|
|
11
|
+
export {
|
|
12
|
+
usePrevious_default as default,
|
|
13
|
+
usePrevious
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=usePrevious.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/usePrevious.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useRef } from 'react';\n\nexport const usePrevious = (value) => {\n const ref = useRef();\n\n useEffect(() => {\n ref.current = value;\n }, [value]);\n\n return ref.current;\n};\n\nexport default usePrevious;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEO,MAAM,cAAc,CAAC,UAAU;AACpC,QAAM,MAAM;AAEZ,YAAU,MAAM;AACd,QAAI,UAAU;AAAA,KACb,CAAC;AAEJ,SAAO,IAAI;AAAA;AAGb,IAAO,sBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
3
|
+
import raf from "raf";
|
|
4
|
+
import ResizeObserver from "resize-observer-polyfill";
|
|
5
|
+
const useResizeObserver = (handler, el) => {
|
|
6
|
+
const [node, setRef] = useState(el);
|
|
7
|
+
const resizeObserver = new ResizeObserver((entries) => {
|
|
8
|
+
if (!Array.isArray(entries))
|
|
9
|
+
return;
|
|
10
|
+
if (!entries.length)
|
|
11
|
+
return;
|
|
12
|
+
const entry = entries[0];
|
|
13
|
+
raf(() => handler({
|
|
14
|
+
width: entry.target.offsetWidth,
|
|
15
|
+
height: entry.target.offsetHeight
|
|
16
|
+
}, entry.target));
|
|
17
|
+
});
|
|
18
|
+
const htmlEl = el || node;
|
|
19
|
+
useEffect(() => {
|
|
20
|
+
if (htmlEl)
|
|
21
|
+
resizeObserver.observe(htmlEl);
|
|
22
|
+
return () => htmlEl && resizeObserver.unobserve(htmlEl);
|
|
23
|
+
}, [htmlEl]);
|
|
24
|
+
return [setRef];
|
|
25
|
+
};
|
|
26
|
+
var useResizeObserver_default = useResizeObserver;
|
|
27
|
+
export {
|
|
28
|
+
useResizeObserver_default as default,
|
|
29
|
+
useResizeObserver
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=useResizeObserver.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useResizeObserver.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useState } from 'react';\nimport raf from 'raf';\nimport ResizeObserver from 'resize-observer-polyfill';\n\nexport const useResizeObserver = (handler, el) => {\n const [node, setRef] = useState(el);\n\n const resizeObserver = new ResizeObserver(entries => {\n if (!Array.isArray(entries)) return;\n if (!entries.length) return;\n const entry = entries[0];\n\n // execute on the next animation frame\n raf(() =>\n handler(\n {\n width: entry.target.offsetWidth,\n height: entry.target.offsetHeight,\n },\n entry.target,\n ),\n );\n });\n\n const htmlEl = el || node;\n\n useEffect(() => {\n if (htmlEl) resizeObserver.observe(htmlEl);\n return () => htmlEl && resizeObserver.unobserve(htmlEl);\n }, [htmlEl]);\n\n return [setRef];\n};\n\nexport default useResizeObserver;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AACA;AACA;AAEO,MAAM,oBAAoB,CAAC,SAAS,OAAO;AAChD,QAAM,CAAC,MAAM,UAAU,SAAS;AAEhC,QAAM,iBAAiB,IAAI,eAAe,aAAW;AACnD,QAAI,CAAC,MAAM,QAAQ;AAAU;AAC7B,QAAI,CAAC,QAAQ;AAAQ;AACrB,UAAM,QAAQ,QAAQ;AAGtB,QAAI,MACF,QACE;AAAA,MACE,OAAO,MAAM,OAAO;AAAA,MACpB,QAAQ,MAAM,OAAO;AAAA,OAEvB,MAAM;AAAA;AAKZ,QAAM,SAAS,MAAM;AAErB,YAAU,MAAM;AACd,QAAI;AAAQ,qBAAe,QAAQ;AACnC,WAAO,MAAM,UAAU,eAAe,UAAU;AAAA,KAC/C,CAAC;AAEJ,SAAO,CAAC;AAAA;AAGV,IAAO,4BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useCallback, useRef } from "react";
|
|
3
|
+
const useSetRef = (initial) => {
|
|
4
|
+
const ref = useRef(initial);
|
|
5
|
+
const setRef = useCallback((node) => {
|
|
6
|
+
ref.current = node;
|
|
7
|
+
}, []);
|
|
8
|
+
return [ref, setRef];
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
useSetRef
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=useSetRef.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useSetRef.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useCallback, useRef } from 'react';\n\nexport const useSetRef = (initial) => {\n const ref = useRef(initial);\n const setRef = useCallback((node) => {\n ref.current = node;\n }, []);\n return [ref, setRef];\n};\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEO,MAAM,YAAY,CAAC,YAAY;AACpC,QAAM,MAAM,OAAO;AACnB,QAAM,SAAS,YAAY,CAAC,SAAS;AACnC,QAAI,UAAU;AAAA,KACb;AACH,SAAO,CAAC,KAAK;AAAA;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useRef } from "react";
|
|
3
|
+
const useShouldRecalculate = (bool) => {
|
|
4
|
+
const prevValueRef = useRef(0);
|
|
5
|
+
if (!bool) {
|
|
6
|
+
prevValueRef.current += 1;
|
|
7
|
+
}
|
|
8
|
+
return prevValueRef.current;
|
|
9
|
+
};
|
|
10
|
+
var useShouldRecalculate_default = useShouldRecalculate;
|
|
11
|
+
export {
|
|
12
|
+
useShouldRecalculate_default as default,
|
|
13
|
+
useShouldRecalculate
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=useShouldRecalculate.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useShouldRecalculate.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useRef } from 'react';\n\nexport const useShouldRecalculate = (bool) => {\n const prevValueRef = useRef(0);\n if (!bool) {\n // If we need to recalculate, change the value we return\n prevValueRef.current += 1;\n } // else we return the same value as the previous render, which won't trigger a recalculation\n return prevValueRef.current;\n};\n\nexport default useShouldRecalculate;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEO,MAAM,uBAAuB,CAAC,SAAS;AAC5C,QAAM,eAAe,OAAO;AAC5B,MAAI,CAAC,MAAM;AAET,iBAAa,WAAW;AAAA;AAE1B,SAAO,aAAa;AAAA;AAGtB,IAAO,+BAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,16 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
function getScrollOffset() {
|
|
4
|
-
let element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
5
|
-
scrollTop: 0,
|
|
6
|
-
scrollLeft: 0
|
|
7
|
-
};
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useEffect, useRef } from "react";
|
|
3
|
+
function getScrollOffset(element = { scrollTop: 0, scrollLeft: 0 }) {
|
|
8
4
|
return {
|
|
9
5
|
top: element.scrollTop,
|
|
10
6
|
left: element.scrollLeft
|
|
11
7
|
};
|
|
12
8
|
}
|
|
13
|
-
|
|
14
9
|
function getPositionOffset(listEl, scrollableEl) {
|
|
15
10
|
const scrollOffset = getScrollOffset(scrollableEl);
|
|
16
11
|
const elementRect = listEl.getBoundingClientRect();
|
|
@@ -20,44 +15,40 @@ function getPositionOffset(listEl, scrollableEl) {
|
|
|
20
15
|
left: elementRect.left + scrollOffset.top - containerRect.left
|
|
21
16
|
};
|
|
22
17
|
}
|
|
23
|
-
|
|
24
18
|
function isParent(parentNode, childNode) {
|
|
25
19
|
return childNode.parentNode === parentNode || childNode.parentNode && isParent(parentNode, childNode.parentNode);
|
|
26
20
|
}
|
|
27
|
-
|
|
28
|
-
function useWindowScrollerList(_ref) {
|
|
29
|
-
let {
|
|
30
|
-
listInstance,
|
|
31
|
-
outerListRef
|
|
32
|
-
} = _ref;
|
|
21
|
+
const useWindowScrollerList = ({ listInstance, outerListRef }) => {
|
|
33
22
|
const scrollableParent = useRef();
|
|
34
23
|
const listOffset = useRef();
|
|
35
|
-
|
|
36
24
|
const getElementOffset = () => {
|
|
37
25
|
listOffset.current = getPositionOffset(outerListRef.current, scrollableParent.current);
|
|
38
26
|
};
|
|
39
|
-
|
|
40
|
-
const handleScroll = e => {
|
|
27
|
+
const handleScroll = (e) => {
|
|
41
28
|
if (!scrollableParent.current) {
|
|
42
29
|
const containerTarget = e.target === document ? document.body : e.target;
|
|
43
30
|
scrollableParent.current = isParent(containerTarget, outerListRef.current) && containerTarget;
|
|
44
31
|
}
|
|
45
|
-
|
|
46
|
-
|
|
32
|
+
if (!scrollableParent.current)
|
|
33
|
+
return;
|
|
47
34
|
getElementOffset();
|
|
48
35
|
const scrollOffset = getScrollOffset(scrollableParent.current);
|
|
49
36
|
const scrollTop = Math.max(0, scrollOffset.top - listOffset.current.top);
|
|
50
|
-
if (listInstance.current)
|
|
37
|
+
if (listInstance.current)
|
|
38
|
+
listInstance.current.scrollTo(scrollTop);
|
|
51
39
|
};
|
|
52
|
-
|
|
53
40
|
useEffect(() => {
|
|
54
|
-
window.addEventListener(
|
|
55
|
-
window.addEventListener(
|
|
41
|
+
window.addEventListener("scroll", handleScroll, true);
|
|
42
|
+
window.addEventListener("resize", getElementOffset, true);
|
|
56
43
|
return () => {
|
|
57
|
-
window.removeEventListener(
|
|
58
|
-
window.removeEventListener(
|
|
44
|
+
window.removeEventListener("scroll", handleScroll, true);
|
|
45
|
+
window.removeEventListener("resize", getElementOffset, true);
|
|
59
46
|
};
|
|
60
47
|
}, []);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
export {
|
|
48
|
+
};
|
|
49
|
+
var useWindowScrollerList_default = useWindowScrollerList;
|
|
50
|
+
export {
|
|
51
|
+
useWindowScrollerList_default as default,
|
|
52
|
+
useWindowScrollerList
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=useWindowScrollerList.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useWindowScrollerList.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useEffect, useRef } from 'react';\n\nfunction getScrollOffset(element = { scrollTop: 0, scrollLeft: 0 }) {\n return {\n top: element.scrollTop,\n left: element.scrollLeft,\n };\n}\n\nfunction getPositionOffset(listEl, scrollableEl) {\n const scrollOffset = getScrollOffset(scrollableEl);\n const elementRect = listEl.getBoundingClientRect();\n const containerRect = scrollableEl.getBoundingClientRect();\n return {\n top: elementRect.top + scrollOffset.top - containerRect.top,\n left: elementRect.left + scrollOffset.top - containerRect.left,\n };\n}\n\nfunction isParent(parentNode, childNode) {\n return (\n childNode.parentNode === parentNode ||\n (childNode.parentNode && isParent(parentNode, childNode.parentNode))\n );\n}\n\nexport const useWindowScrollerList = ({ listInstance, outerListRef }) => {\n const scrollableParent = useRef();\n const listOffset = useRef();\n\n const getElementOffset = () => {\n listOffset.current = getPositionOffset(\n outerListRef.current,\n scrollableParent.current,\n );\n };\n\n const handleScroll = e => {\n if (!scrollableParent.current) {\n const containerTarget = e.target === document ? document.body : e.target;\n scrollableParent.current =\n isParent(containerTarget, outerListRef.current) && containerTarget;\n }\n\n if (!scrollableParent.current) return;\n\n getElementOffset();\n\n const scrollOffset = getScrollOffset(scrollableParent.current);\n const scrollTop = Math.max(0, scrollOffset.top - listOffset.current.top);\n if (listInstance.current) listInstance.current.scrollTo(scrollTop);\n };\n\n useEffect(() => {\n window.addEventListener('scroll', handleScroll, true);\n window.addEventListener('resize', getElementOffset, true);\n return () => {\n window.removeEventListener('scroll', handleScroll, true);\n window.removeEventListener('resize', getElementOffset, true);\n };\n }, []);\n};\n\nexport default useWindowScrollerList;"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEA,yBAAyB,UAAU,EAAE,WAAW,GAAG,YAAY,KAAK;AAClE,SAAO;AAAA,IACL,KAAK,QAAQ;AAAA,IACb,MAAM,QAAQ;AAAA;AAAA;AAIlB,2BAA2B,QAAQ,cAAc;AAC/C,QAAM,eAAe,gBAAgB;AACrC,QAAM,cAAc,OAAO;AAC3B,QAAM,gBAAgB,aAAa;AACnC,SAAO;AAAA,IACL,KAAK,YAAY,MAAM,aAAa,MAAM,cAAc;AAAA,IACxD,MAAM,YAAY,OAAO,aAAa,MAAM,cAAc;AAAA;AAAA;AAI9D,kBAAkB,YAAY,WAAW;AACvC,SACE,UAAU,eAAe,cACxB,UAAU,cAAc,SAAS,YAAY,UAAU;AAAA;AAIrD,MAAM,wBAAwB,CAAC,EAAE,cAAc,mBAAmB;AACvE,QAAM,mBAAmB;AACzB,QAAM,aAAa;AAEnB,QAAM,mBAAmB,MAAM;AAC7B,eAAW,UAAU,kBACnB,aAAa,SACb,iBAAiB;AAAA;AAIrB,QAAM,eAAe,OAAK;AACxB,QAAI,CAAC,iBAAiB,SAAS;AAC7B,YAAM,kBAAkB,EAAE,WAAW,WAAW,SAAS,OAAO,EAAE;AAClE,uBAAiB,UACf,SAAS,iBAAiB,aAAa,YAAY;AAAA;AAGvD,QAAI,CAAC,iBAAiB;AAAS;AAE/B;AAEA,UAAM,eAAe,gBAAgB,iBAAiB;AACtD,UAAM,YAAY,KAAK,IAAI,GAAG,aAAa,MAAM,WAAW,QAAQ;AACpE,QAAI,aAAa;AAAS,mBAAa,QAAQ,SAAS;AAAA;AAG1D,YAAU,MAAM;AACd,WAAO,iBAAiB,UAAU,cAAc;AAChD,WAAO,iBAAiB,UAAU,kBAAkB;AACpD,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU,cAAc;AACnD,aAAO,oBAAoB,UAAU,kBAAkB;AAAA;AAAA,KAExD;AAAA;AAGL,IAAO,gCAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { useLayoutEffect, useState } from "react";
|
|
3
|
+
const useWindowSize = () => {
|
|
4
|
+
const [size, setSize] = useState([0, 0]);
|
|
5
|
+
useLayoutEffect(() => {
|
|
6
|
+
if (!window)
|
|
7
|
+
return false;
|
|
8
|
+
function updateSize() {
|
|
9
|
+
setSize([window.innerWidth, window.innerHeight]);
|
|
10
|
+
}
|
|
11
|
+
window.addEventListener("resize", updateSize);
|
|
12
|
+
window.addEventListener("orientationchange", updateSize);
|
|
13
|
+
updateSize();
|
|
14
|
+
return () => {
|
|
15
|
+
window.removeEventListener("resize", updateSize);
|
|
16
|
+
window.removeEventListener("orientationchange", updateSize);
|
|
17
|
+
};
|
|
18
|
+
}, []);
|
|
19
|
+
if (!window)
|
|
20
|
+
return false;
|
|
21
|
+
return size;
|
|
22
|
+
};
|
|
23
|
+
var useWindowSize_default = useWindowSize;
|
|
24
|
+
export {
|
|
25
|
+
useWindowSize_default as default,
|
|
26
|
+
useWindowSize
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=useWindowSize.js.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../../scripts/build/transpile/react-shim.js", "../../../src/hooks/useWindowSize.tsx"],
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useLayoutEffect, useState } from 'react';\n\nexport const useWindowSize = () => {\n const [size, setSize] = useState([0, 0]);\n useLayoutEffect(() => {\n if (!window) return false;\n function updateSize() {\n setSize([window.innerWidth, window.innerHeight]);\n }\n window.addEventListener('resize', updateSize);\n window.addEventListener('orientationchange', updateSize);\n updateSize();\n return () => {\n window.removeEventListener('resize', updateSize);\n window.removeEventListener('orientationchange', updateSize);\n };\n }, []);\n if (!window) return false;\n return size;\n};\n\nexport default useWindowSize;\n"],
|
|
5
|
+
"mappings": "AAAA;ACAA;AAEO,MAAM,gBAAgB,MAAM;AACjC,QAAM,CAAC,MAAM,WAAW,SAAS,CAAC,GAAG;AACrC,kBAAgB,MAAM;AACpB,QAAI,CAAC;AAAQ,aAAO;AACpB,0BAAsB;AACpB,cAAQ,CAAC,OAAO,YAAY,OAAO;AAAA;AAErC,WAAO,iBAAiB,UAAU;AAClC,WAAO,iBAAiB,qBAAqB;AAC7C;AACA,WAAO,MAAM;AACX,aAAO,oBAAoB,UAAU;AACrC,aAAO,oBAAoB,qBAAqB;AAAA;AAAA,KAEjD;AACH,MAAI,CAAC;AAAQ,WAAO;AACpB,SAAO;AAAA;AAGT,IAAO,wBAAQ;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { default as default2 } from "./getComponentFromProps";
|
|
3
|
+
import { default as default3 } from "./onClickHandlerForNonInteractiveElements";
|
|
4
|
+
import { capitalize } from "./capitalize";
|
|
5
|
+
import {
|
|
6
|
+
checkNotEmpty,
|
|
7
|
+
checkEmpty,
|
|
8
|
+
greaterThan,
|
|
9
|
+
validDate,
|
|
10
|
+
equal,
|
|
11
|
+
notEqual,
|
|
12
|
+
isNull,
|
|
13
|
+
isNotNull,
|
|
14
|
+
isIn,
|
|
15
|
+
isNotIn,
|
|
16
|
+
greaterThanOrEquals,
|
|
17
|
+
lessThanOrEquals,
|
|
18
|
+
startsWith,
|
|
19
|
+
contains
|
|
20
|
+
} from "./operators";
|
|
21
|
+
import {
|
|
22
|
+
cx,
|
|
23
|
+
runAll,
|
|
24
|
+
hashArray,
|
|
25
|
+
safeCall,
|
|
26
|
+
removeUndefinedProperties,
|
|
27
|
+
isObject,
|
|
28
|
+
curry,
|
|
29
|
+
arrayMove,
|
|
30
|
+
uniq,
|
|
31
|
+
filter,
|
|
32
|
+
uniqBy,
|
|
33
|
+
groupBy,
|
|
34
|
+
property,
|
|
35
|
+
get,
|
|
36
|
+
set,
|
|
37
|
+
cloneDeep,
|
|
38
|
+
debounce,
|
|
39
|
+
findIndex,
|
|
40
|
+
isEmpty,
|
|
41
|
+
isString,
|
|
42
|
+
isEqual,
|
|
43
|
+
maxBy,
|
|
44
|
+
meanBy,
|
|
45
|
+
noop,
|
|
46
|
+
omit,
|
|
47
|
+
orderBy,
|
|
48
|
+
pull,
|
|
49
|
+
sortBy,
|
|
50
|
+
sumBy,
|
|
51
|
+
transform,
|
|
52
|
+
isFunction,
|
|
53
|
+
range,
|
|
54
|
+
parseInt,
|
|
55
|
+
padStart,
|
|
56
|
+
isNaN,
|
|
57
|
+
values,
|
|
58
|
+
throttle,
|
|
59
|
+
toggleInObject,
|
|
60
|
+
toggleInArray,
|
|
61
|
+
pick,
|
|
62
|
+
pickBy,
|
|
63
|
+
differenceBy,
|
|
64
|
+
differenceWith,
|
|
65
|
+
addOrRemove,
|
|
66
|
+
isEqualWith,
|
|
67
|
+
isBoolean
|
|
68
|
+
} from "./utils";
|
|
69
|
+
import { setRef, mergeRefs, logger } from "./system";
|
|
70
|
+
import {
|
|
71
|
+
useMeasure,
|
|
72
|
+
useForceUpdate,
|
|
73
|
+
useOnClickOutside,
|
|
74
|
+
useUncontrolled,
|
|
75
|
+
useExecutionTimer,
|
|
76
|
+
useExpandState,
|
|
77
|
+
useHotkeys,
|
|
78
|
+
useHoverHandlersDelay,
|
|
79
|
+
useResizeObserver,
|
|
80
|
+
useShouldRecalculate,
|
|
81
|
+
useWindowScrollerList,
|
|
82
|
+
useWindowSize,
|
|
83
|
+
usePrevious,
|
|
84
|
+
useCancellableDelayedCallback,
|
|
85
|
+
useDerivedStateFromProps,
|
|
86
|
+
useSetRef,
|
|
87
|
+
useParentElement,
|
|
88
|
+
useOnElementResize,
|
|
89
|
+
useIsShowingEllipsis
|
|
90
|
+
} from "./hooks";
|
|
91
|
+
import { getVisibleTimeByFormat, addLeadingZeros } from "./timeUtils";
|
|
92
|
+
import { compose } from "./compose";
|
|
93
|
+
import { DOCUMENT, WINDOW } from "./platform";
|
|
94
|
+
import {
|
|
95
|
+
isClassComponent,
|
|
96
|
+
isFunctionComponent,
|
|
97
|
+
isReactComponent,
|
|
98
|
+
isElement,
|
|
99
|
+
isDOMTypeElement,
|
|
100
|
+
isCompositeTypeElement
|
|
101
|
+
} from "./reactTypesUtility";
|
|
102
|
+
import { resetTimer } from "./scrollingTimer";
|
|
103
|
+
import { isRequired, isGreaterThan, isValidDate } from "./validations";
|
|
104
|
+
export {
|
|
105
|
+
DOCUMENT,
|
|
106
|
+
WINDOW,
|
|
107
|
+
addLeadingZeros,
|
|
108
|
+
addOrRemove,
|
|
109
|
+
arrayMove,
|
|
110
|
+
capitalize,
|
|
111
|
+
checkEmpty,
|
|
112
|
+
checkNotEmpty,
|
|
113
|
+
cloneDeep,
|
|
114
|
+
compose,
|
|
115
|
+
contains,
|
|
116
|
+
curry,
|
|
117
|
+
cx,
|
|
118
|
+
debounce,
|
|
119
|
+
differenceBy,
|
|
120
|
+
differenceWith,
|
|
121
|
+
equal,
|
|
122
|
+
filter,
|
|
123
|
+
findIndex,
|
|
124
|
+
get,
|
|
125
|
+
default2 as getComponentFromProps,
|
|
126
|
+
getVisibleTimeByFormat,
|
|
127
|
+
greaterThan,
|
|
128
|
+
greaterThanOrEquals,
|
|
129
|
+
groupBy,
|
|
130
|
+
hashArray,
|
|
131
|
+
isBoolean,
|
|
132
|
+
isClassComponent,
|
|
133
|
+
isCompositeTypeElement,
|
|
134
|
+
isDOMTypeElement,
|
|
135
|
+
isElement,
|
|
136
|
+
isEmpty,
|
|
137
|
+
isEqual,
|
|
138
|
+
isEqualWith,
|
|
139
|
+
isFunction,
|
|
140
|
+
isFunctionComponent,
|
|
141
|
+
isGreaterThan,
|
|
142
|
+
isIn,
|
|
143
|
+
isNaN,
|
|
144
|
+
isNotIn,
|
|
145
|
+
isNotNull,
|
|
146
|
+
isNull,
|
|
147
|
+
isObject,
|
|
148
|
+
isReactComponent,
|
|
149
|
+
isRequired,
|
|
150
|
+
isString,
|
|
151
|
+
isValidDate,
|
|
152
|
+
lessThanOrEquals,
|
|
153
|
+
logger,
|
|
154
|
+
maxBy,
|
|
155
|
+
meanBy,
|
|
156
|
+
mergeRefs,
|
|
157
|
+
noop,
|
|
158
|
+
notEqual,
|
|
159
|
+
omit,
|
|
160
|
+
default3 as onClickHandlerForNonInteractiveElements,
|
|
161
|
+
orderBy,
|
|
162
|
+
padStart,
|
|
163
|
+
parseInt,
|
|
164
|
+
pick,
|
|
165
|
+
pickBy,
|
|
166
|
+
property,
|
|
167
|
+
pull,
|
|
168
|
+
range,
|
|
169
|
+
removeUndefinedProperties,
|
|
170
|
+
resetTimer,
|
|
171
|
+
runAll,
|
|
172
|
+
safeCall,
|
|
173
|
+
set,
|
|
174
|
+
setRef,
|
|
175
|
+
sortBy,
|
|
176
|
+
startsWith,
|
|
177
|
+
sumBy,
|
|
178
|
+
throttle,
|
|
179
|
+
toggleInArray,
|
|
180
|
+
toggleInObject,
|
|
181
|
+
transform,
|
|
182
|
+
uniq,
|
|
183
|
+
uniqBy,
|
|
184
|
+
useCancellableDelayedCallback,
|
|
185
|
+
useDerivedStateFromProps,
|
|
186
|
+
useExecutionTimer,
|
|
187
|
+
useExpandState,
|
|
188
|
+
useForceUpdate,
|
|
189
|
+
useHotkeys,
|
|
190
|
+
useHoverHandlersDelay,
|
|
191
|
+
useIsShowingEllipsis,
|
|
192
|
+
useMeasure,
|
|
193
|
+
useOnClickOutside,
|
|
194
|
+
useOnElementResize,
|
|
195
|
+
useParentElement,
|
|
196
|
+
usePrevious,
|
|
197
|
+
useResizeObserver,
|
|
198
|
+
useSetRef,
|
|
199
|
+
useShouldRecalculate,
|
|
200
|
+
useUncontrolled,
|
|
201
|
+
useWindowScrollerList,
|
|
202
|
+
useWindowSize,
|
|
203
|
+
validDate,
|
|
204
|
+
values
|
|
205
|
+
};
|
|
206
|
+
//# sourceMappingURL=index.js.map
|