@pushwoosh/kit-helpers 3.2.0 → 4.0.5
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/expand.js +81 -0
- package/expand.js.map +1 -0
- package/grid.d.ts +49 -0
- package/grid.js +33 -0
- package/grid.js.map +1 -0
- package/hooks/types.js +2 -0
- package/hooks/types.js.map +1 -0
- package/hooks/useAsync.js +12 -0
- package/hooks/useAsync.js.map +1 -0
- package/hooks/useAsyncFn.js +28 -0
- package/hooks/useAsyncFn.js.map +1 -0
- package/hooks/useClickAway.js +29 -0
- package/hooks/useClickAway.js.map +1 -0
- package/hooks/useDebounce.js +15 -0
- package/hooks/useDebounce.js.map +1 -0
- package/hooks/useEffectOnce.js +7 -0
- package/hooks/useEffectOnce.js.map +1 -0
- package/hooks/useMount.js +8 -0
- package/hooks/useMount.js.map +1 -0
- package/hooks/useMountedState.js +13 -0
- package/hooks/useMountedState.js.map +1 -0
- package/hooks/usePersistentFunction.js +7 -0
- package/hooks/usePersistentFunction.js.map +1 -0
- package/hooks/useUnmount.js +10 -0
- package/hooks/useUnmount.js.map +1 -0
- package/index.js +12 -0
- package/index.js.map +1 -0
- package/package.json +8 -7
- package/README.md +0 -31
- package/lib/grid.d.ts +0 -39
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
- /package/{lib/expand.d.ts → expand.d.ts} +0 -0
- /package/{lib/hooks → hooks}/types.d.ts +0 -0
- /package/{lib/hooks → hooks}/useAsync.d.ts +0 -0
- /package/{lib/hooks → hooks}/useAsyncFn.d.ts +0 -0
- /package/{lib/hooks → hooks}/useClickAway.d.ts +0 -0
- /package/{lib/hooks → hooks}/useDebounce.d.ts +0 -0
- /package/{lib/hooks → hooks}/useEffectOnce.d.ts +0 -0
- /package/{lib/hooks → hooks}/useMount.d.ts +0 -0
- /package/{lib/hooks → hooks}/useMountedState.d.ts +0 -0
- /package/{lib/hooks → hooks}/usePersistentFunction.d.ts +0 -0
- /package/{lib/hooks → hooks}/useUnmount.d.ts +0 -0
- /package/{lib/index.d.ts → index.d.ts} +0 -0
package/expand.js
ADDED
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/* eslint-disable react/require-default-props, react/jsx-no-bind */
|
|
2
|
+
import React, { useEffect, useRef, useState, } from 'react';
|
|
3
|
+
import { CSSTransition, TransitionGroup } from 'react-transition-group';
|
|
4
|
+
import styled, { css } from 'styled-components';
|
|
5
|
+
const ExpandTransitionComp = ({ className, externalClassName, internalClassName, timeout = 100, children, ...rest }) => {
|
|
6
|
+
const refExternal = useRef(null);
|
|
7
|
+
const refInternal = useRef(null);
|
|
8
|
+
const [externalStyle, setExternalStyle] = useState();
|
|
9
|
+
function updateStyle() {
|
|
10
|
+
const rect = refInternal.current.getBoundingClientRect();
|
|
11
|
+
setExternalStyle({
|
|
12
|
+
'--timeout': `${timeout}ms`,
|
|
13
|
+
'--width': `${rect.width}px`,
|
|
14
|
+
'--height': `${rect.height}px`,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
useEffect(updateStyle, [timeout]);
|
|
18
|
+
return (React.createElement(CSSTransition, { ...rest, timeout: timeout, classNames: className, onEnter: updateStyle, onExit: updateStyle, nodeRef: refExternal },
|
|
19
|
+
React.createElement("div", { ref: refExternal, className: externalClassName ? `${className} ${externalClassName}` : className, style: externalStyle },
|
|
20
|
+
React.createElement("div", { ref: refInternal, className: internalClassName }, children))));
|
|
21
|
+
};
|
|
22
|
+
const CollapseTransition = styled(ExpandTransitionComp) `
|
|
23
|
+
transition: height var(--timeout) linear, opacity var(--timeout) linear;
|
|
24
|
+
|
|
25
|
+
&-enter {
|
|
26
|
+
overflow: hidden;
|
|
27
|
+
opacity: 0;
|
|
28
|
+
height: 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&-enter-active, &-exit {
|
|
32
|
+
overflow: hidden;
|
|
33
|
+
opacity: 1;
|
|
34
|
+
height: var(--height);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&-exit-active {
|
|
38
|
+
overflow: hidden;
|
|
39
|
+
opacity: 0;
|
|
40
|
+
height: 0;
|
|
41
|
+
}
|
|
42
|
+
`;
|
|
43
|
+
const enterExpandCss = css `
|
|
44
|
+
overflow: hidden;
|
|
45
|
+
position: relative;
|
|
46
|
+
width: 1px;
|
|
47
|
+
height: 1px;
|
|
48
|
+
|
|
49
|
+
& > * {
|
|
50
|
+
position: absolute;
|
|
51
|
+
top: calc(var(--height) / -2);
|
|
52
|
+
left: calc(var(--width) / -2);
|
|
53
|
+
}
|
|
54
|
+
`;
|
|
55
|
+
const exitExpandCss = css `
|
|
56
|
+
overflow: hidden;
|
|
57
|
+
position: relative;
|
|
58
|
+
width: var(--width);
|
|
59
|
+
height: var(--height);
|
|
60
|
+
|
|
61
|
+
& > * {
|
|
62
|
+
position: absolute;
|
|
63
|
+
top: 0;
|
|
64
|
+
left: 0;
|
|
65
|
+
}
|
|
66
|
+
`;
|
|
67
|
+
export const ExpandTransition = styled(ExpandTransitionComp) `
|
|
68
|
+
transition: all var(--timeout) ease-out;
|
|
69
|
+
|
|
70
|
+
& > * {
|
|
71
|
+
transition: all var(--timeout) ease-out;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
&-enter { ${enterExpandCss} }
|
|
75
|
+
|
|
76
|
+
&-enter-active, &-exit { ${exitExpandCss} }
|
|
77
|
+
|
|
78
|
+
&-exit-active { ${enterExpandCss} }
|
|
79
|
+
`;
|
|
80
|
+
export const Collapse = ({ expanded, children, className, ...rest }) => (React.createElement(TransitionGroup, { component: null }, expanded && (React.createElement(CollapseTransition, { ...rest, externalClassName: className, key: 0 }, typeof children === 'function' ? children() : children))));
|
|
81
|
+
//# sourceMappingURL=expand.js.map
|
package/expand.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expand.js","sourceRoot":"","sources":["../src/expand.tsx"],"names":[],"mappings":"AAAA,mEAAmE;AAEnE,OAAO,KAAK,EAAE,EAEZ,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAQhD,MAAM,oBAAoB,GAA8B,CAAC,EACvD,SAAS,EACT,iBAAiB,EACjB,iBAAiB,EACjB,OAAO,GAAG,GAAG,EACb,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACjD,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAA0B,CAAC;IAE7E,SAAS,WAAW;QAClB,MAAM,IAAI,GAAG,WAAW,CAAC,OAAQ,CAAC,qBAAqB,EAAE,CAAC;QAC1D,gBAAgB,CAAC;YACf,WAAW,EAAE,GAAG,OAAO,IAAI;YAC3B,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,IAAI;YAC5B,UAAU,EAAE,GAAG,IAAI,CAAC,MAAM,IAAI;SAC/B,CAAC,CAAC;IACL,CAAC;IACD,SAAS,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAElC,OAAO,CACL,oBAAC,aAAa,OACR,IAAI,EACR,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,SAAS,EACrB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,WAAW;QAEpB,6BACE,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,iBAAiB,EAAE,CAAC,CAAC,CAAC,SAAS,EAC9E,KAAK,EAAE,aAAa;YAEpB,6BACE,GAAG,EAAE,WAAW,EAChB,SAAS,EAAE,iBAAiB,IAE3B,QAAQ,CACL,CACF,CACQ,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;;;;;;;;;;;;;;;;;;;;CAoBtD,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;CAWzB,CAAC;AAEF,MAAM,aAAa,GAAG,GAAG,CAAA;;;;;;;;;;;CAWxB,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,oBAAoB,CAAC,CAAA;;;;;;;cAO9C,cAAc;;6BAEC,aAAa;;oBAEtB,cAAc;CACjC,CAAC;AAQF,MAAM,CAAC,MAAM,QAAQ,GAAsB,CAAC,EAC1C,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,EAAE,EAAE,CAAC,CACJ,oBAAC,eAAe,IAAC,SAAS,EAAE,IAAI,IAC7B,QAAQ,IAAI,CACX,oBAAC,kBAAkB,OACb,IAAI,EACR,iBAAiB,EAAE,SAAS,EAC5B,GAAG,EAAE,CAAC,IAEL,OAAO,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CACpC,CACtB,CACe,CACnB,CAAC"}
|
package/grid.d.ts
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
export declare const GridContainer: import("styled-components").StyledComponent<"div", any, {
|
|
2
|
+
$gap?: string | number | undefined;
|
|
3
|
+
$padding?: string | number | undefined;
|
|
4
|
+
$margin?: string | number | undefined;
|
|
5
|
+
$justifyContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
6
|
+
$justifyItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
7
|
+
$alignContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
8
|
+
$alignItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
9
|
+
}, never>;
|
|
10
|
+
export declare const Columns: import("styled-components").StyledComponent<"div", any, {
|
|
11
|
+
$gap?: string | number | undefined;
|
|
12
|
+
$padding?: string | number | undefined;
|
|
13
|
+
$margin?: string | number | undefined;
|
|
14
|
+
$justifyContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
15
|
+
$justifyItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
16
|
+
$alignContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
17
|
+
$alignItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
18
|
+
} & {
|
|
19
|
+
$sizes: number | string;
|
|
20
|
+
}, never>;
|
|
21
|
+
export declare const Rows: import("styled-components").StyledComponent<"div", any, {
|
|
22
|
+
$gap?: string | number | undefined;
|
|
23
|
+
$padding?: string | number | undefined;
|
|
24
|
+
$margin?: string | number | undefined;
|
|
25
|
+
$justifyContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
26
|
+
$justifyItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
27
|
+
$alignContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
28
|
+
$alignItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
29
|
+
} & {
|
|
30
|
+
$sizes: number | string;
|
|
31
|
+
}, never>;
|
|
32
|
+
export declare const Horizontal: import("styled-components").StyledComponent<"div", any, {
|
|
33
|
+
$gap?: string | number | undefined;
|
|
34
|
+
$padding?: string | number | undefined;
|
|
35
|
+
$margin?: string | number | undefined;
|
|
36
|
+
$justifyContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
37
|
+
$justifyItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
38
|
+
$alignContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
39
|
+
$alignItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
40
|
+
}, never>;
|
|
41
|
+
export declare const Vertical: import("styled-components").StyledComponent<"div", any, {
|
|
42
|
+
$gap?: string | number | undefined;
|
|
43
|
+
$padding?: string | number | undefined;
|
|
44
|
+
$margin?: string | number | undefined;
|
|
45
|
+
$justifyContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
46
|
+
$justifyItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
47
|
+
$alignContent?: "center" | "end" | "start" | "space-around" | "space-between" | "space-evenly" | "stretch" | undefined;
|
|
48
|
+
$alignItems?: "center" | "end" | "start" | "stretch" | "baseline" | undefined;
|
|
49
|
+
}, never>;
|
package/grid.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import styled from 'styled-components';
|
|
2
|
+
const isNumber = (value) => typeof value === 'number';
|
|
3
|
+
const toCssValue = (value) => (isNumber(value) ? `${value}px` : value);
|
|
4
|
+
const gridTemplate = (value) => (isNumber(value) ? `repeat(${value}, 1fr)` : value);
|
|
5
|
+
const createCssDeclaration = (property, value, valueConvert) => {
|
|
6
|
+
if (value !== undefined) {
|
|
7
|
+
return `${property}: ${valueConvert ? valueConvert(value) : value};`;
|
|
8
|
+
}
|
|
9
|
+
return undefined;
|
|
10
|
+
};
|
|
11
|
+
export const GridContainer = styled.div `
|
|
12
|
+
display: grid;
|
|
13
|
+
${(props) => createCssDeclaration('gap', props.$gap, toCssValue)}
|
|
14
|
+
${(props) => createCssDeclaration('padding', props.$padding, toCssValue)}
|
|
15
|
+
${(props) => createCssDeclaration('margin', props.$margin, toCssValue)}
|
|
16
|
+
${(props) => createCssDeclaration('justify-content', props.$justifyContent)}
|
|
17
|
+
${(props) => createCssDeclaration('justify-items', props.$justifyItems)}
|
|
18
|
+
${(props) => createCssDeclaration('align-content', props.$alignContent)}
|
|
19
|
+
${(props) => createCssDeclaration('align-items', props.$alignItems)}
|
|
20
|
+
`;
|
|
21
|
+
export const Columns = styled(GridContainer) `
|
|
22
|
+
grid-template-columns: ${(props) => gridTemplate(props.$sizes)};
|
|
23
|
+
`;
|
|
24
|
+
export const Rows = styled(GridContainer) `
|
|
25
|
+
grid-template-rows: ${(props) => gridTemplate(props.$sizes)};
|
|
26
|
+
`;
|
|
27
|
+
export const Horizontal = styled(GridContainer) `
|
|
28
|
+
grid-auto-flow: column;
|
|
29
|
+
`;
|
|
30
|
+
export const Vertical = styled(GridContainer) `
|
|
31
|
+
grid-auto-flow: row;
|
|
32
|
+
`;
|
|
33
|
+
//# sourceMappingURL=grid.js.map
|
package/grid.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.js","sourceRoot":"","sources":["../src/grid.tsx"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAEvC,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAmB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC;AAChF,MAAM,UAAU,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAChG,MAAM,YAAY,GAAG,CAAC,KAAsB,EAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7G,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAE,KAAU,EAAE,YAA8B,EAAE,EAAE;IAC5F,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,OAAO,GAAG,QAAQ,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;KACtE;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,CAQrC;;IAEE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC;IAC9D,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,UAAU,CAAC;IACtE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,UAAU,CAAC;IACpE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,KAAK,CAAC,eAAe,CAAC;IACzE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;IACrE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,eAAe,EAAE,KAAK,CAAC,aAAa,CAAC;IACrE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC;CACpE,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAE1C;2BACyB,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;CAC/D,CAAC;AAEF,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,CAEvC;wBACsB,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;CAC5D,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;;CAE9C,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;;CAE5C,CAAC"}
|
package/hooks/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/hooks/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import useAsyncFn from './useAsyncFn';
|
|
3
|
+
export default function useAsync(fn, deps = []) {
|
|
4
|
+
const [state, callback] = useAsyncFn(fn, deps, {
|
|
5
|
+
loading: true,
|
|
6
|
+
});
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
callback();
|
|
9
|
+
}, [callback]);
|
|
10
|
+
return state;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=useAsync.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAsync.js","sourceRoot":"","sources":["../../src/hooks/useAsync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,UAAU,MAAM,cAAc,CAAC;AAKtC,MAAM,CAAC,OAAO,UAAU,QAAQ,CAC9B,EAAK,EACL,OAAuB,EAAE;IAEzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE;QAC7C,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,EAAE,CAAC;IACb,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useCallback, useRef, useState, } from 'react';
|
|
2
|
+
import useMountedState from './useMountedState';
|
|
3
|
+
export default function useAsyncFn(fn, deps = [], initialState = { loading: false }) {
|
|
4
|
+
const lastCallId = useRef(0);
|
|
5
|
+
const isMounted = useMountedState();
|
|
6
|
+
const [state, set] = useState(initialState);
|
|
7
|
+
const callback = useCallback((...args) => {
|
|
8
|
+
// eslint-disable-next-line no-plusplus
|
|
9
|
+
const callId = ++lastCallId.current;
|
|
10
|
+
const canSet = () => isMounted() && callId === lastCallId.current;
|
|
11
|
+
if (!state.loading && canSet()) {
|
|
12
|
+
set((prevState) => ({ ...prevState, loading: true }));
|
|
13
|
+
}
|
|
14
|
+
return fn(...args).then((value) => {
|
|
15
|
+
if (canSet()) {
|
|
16
|
+
set({ value, loading: false });
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}, (error) => {
|
|
20
|
+
if (canSet()) {
|
|
21
|
+
set({ error, loading: false });
|
|
22
|
+
}
|
|
23
|
+
throw error;
|
|
24
|
+
});
|
|
25
|
+
}, deps); // eslint-disable-line
|
|
26
|
+
return [state, callback];
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=useAsyncFn.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useAsyncFn.js","sourceRoot":"","sources":["../../src/hooks/useAsyncFn.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,WAAW,EACX,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AACf,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAgBhD,MAAM,CAAC,OAAO,UAAU,UAAU,CAChC,EAAK,EACL,OAAuB,EAAE,EACzB,eAAqD,EAAE,OAAO,EAAE,KAAK,EAAE;IAEvE,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAC7B,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC;IACpC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,QAAQ,CAAuC,YAAY,CAAC,CAAC;IAElF,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,GAAG,IAAmB,EAAiB,EAAE;QACrE,uCAAuC;QACvC,MAAM,MAAM,GAAG,EAAE,UAAU,CAAC,OAAO,CAAC;QACpC,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,SAAS,EAAE,IAAI,MAAM,KAAK,UAAU,CAAC,OAAO,CAAC;QAElE,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,MAAM,EAAE,EAAE;YAC9B,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;SACvD;QAED,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CACrB,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,MAAM,EAAE,EAAE;gBACZ,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aAChC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,EACD,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,MAAM,EAAE,EAAE;gBACZ,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;aAChC;YAED,MAAM,KAAK,CAAC;QACd,CAAC,CACe,CAAC;IACrB,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,sBAAsB;IAEhC,OAAO,CAAC,KAAK,EAAE,QAAwB,CAAC,CAAC;AAC3C,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useEffect } from 'react';
|
|
2
|
+
import usePersistentFunction from './usePersistentFunction';
|
|
3
|
+
export function elementAddListener(element, eventNames, listener) {
|
|
4
|
+
const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];
|
|
5
|
+
eventNamesArray.forEach((eventName) => {
|
|
6
|
+
element.addEventListener(eventName, listener);
|
|
7
|
+
});
|
|
8
|
+
return () => {
|
|
9
|
+
eventNamesArray.forEach((eventName) => {
|
|
10
|
+
element.removeEventListener(eventName, listener);
|
|
11
|
+
});
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export function subscribeClickAway(element, callback) {
|
|
15
|
+
return elementAddListener(document, ['mousedown', 'touchstart'], (event) => {
|
|
16
|
+
if (element && !element.contains(event.target)) {
|
|
17
|
+
callback(event);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
export function useClickAway(use, ref, cb) {
|
|
22
|
+
const mcb = usePersistentFunction(cb);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (use) {
|
|
25
|
+
return subscribeClickAway(ref.current, mcb);
|
|
26
|
+
}
|
|
27
|
+
}, [use, ref, mcb]);
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=useClickAway.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useClickAway.js","sourceRoot":"","sources":["../../src/hooks/useClickAway.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,qBAAqB,MAAM,yBAAyB,CAAC;AAE5D,MAAM,UAAU,kBAAkB,CAChC,OAAU,EACV,UAAmB,EACnB,QAAiE;IAEjE,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC9E,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;QACpC,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IACH,OAAO,GAAS,EAAE;QAChB,eAAe,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACpC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAwB,OAAU,EAAE,QAAuB;IAC3F,OAAO,kBAAkB,CAAC,QAAe,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE;QAChF,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAa,CAAC,EAAE;YACrD,QAAQ,CAAC,KAAK,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY,EAAE,GAAQ,EAAE,EAAiB;IACpE,MAAM,GAAG,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,EAAE;YACP,OAAO,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAQ,CAAC;SACpD;IACH,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AACtB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { useState, useEffect } from 'react';
|
|
2
|
+
const useDebounce = (value, delay) => {
|
|
3
|
+
const [debouncedValue, setDebouncedValue] = useState(value);
|
|
4
|
+
useEffect(() => {
|
|
5
|
+
const handler = setTimeout(() => {
|
|
6
|
+
setDebouncedValue(value);
|
|
7
|
+
}, delay);
|
|
8
|
+
return () => {
|
|
9
|
+
clearTimeout(handler);
|
|
10
|
+
};
|
|
11
|
+
}, [value, delay]);
|
|
12
|
+
return debouncedValue;
|
|
13
|
+
};
|
|
14
|
+
export default useDebounce;
|
|
15
|
+
//# sourceMappingURL=useDebounce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDebounce.js","sourceRoot":"","sources":["../../src/hooks/useDebounce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,WAAW,GAAG,CAAI,KAAQ,EAAE,KAAa,EAAK,EAAE;IACpD,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE5D,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;YAC9B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;IAEnB,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useEffectOnce.js","sourceRoot":"","sources":["../../src/hooks/useEffectOnce.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,aAAa,GAAG,CAAC,MAAsB,EAAE,EAAE;IAC/C,2BAA2B;IAC3B,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMount.js","sourceRoot":"","sources":["../../src/hooks/useMount.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,QAAQ,GAAG,CAAC,EAAc,EAAE,EAAE;IAClC,aAAa,CAAC,GAAG,EAAE;QACjB,EAAE,EAAE,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
2
|
+
export default function useMountedState() {
|
|
3
|
+
const mountedRef = useRef(false);
|
|
4
|
+
const get = useCallback(() => mountedRef.current, []);
|
|
5
|
+
useEffect(() => {
|
|
6
|
+
mountedRef.current = true;
|
|
7
|
+
return () => {
|
|
8
|
+
mountedRef.current = false;
|
|
9
|
+
};
|
|
10
|
+
}, []);
|
|
11
|
+
return get;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=useMountedState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMountedState.js","sourceRoot":"","sources":["../../src/hooks/useMountedState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAEvD,MAAM,CAAC,OAAO,UAAU,eAAe;IACrC,MAAM,UAAU,GAAG,MAAM,CAAU,KAAK,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEtD,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAE1B,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { useCallback, useRef } from 'react';
|
|
2
|
+
export default function usePersistentFunction(callback) {
|
|
3
|
+
const ref = useRef(callback);
|
|
4
|
+
ref.current = callback;
|
|
5
|
+
return useCallback((...args) => ref.current(...args), []);
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=usePersistentFunction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePersistentFunction.js","sourceRoot":"","sources":["../../src/hooks/usePersistentFunction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE5C,MAAM,CAAC,OAAO,UAAU,qBAAqB,CAAoC,QAAW;IAC1F,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC7B,GAAG,CAAC,OAAO,GAAG,QAAQ,CAAC;IACvB,OAAO,WAAW,CAAC,CAAC,GAAG,IAAS,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,EAAE,CAAM,CAAC;AACtE,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { useRef } from 'react';
|
|
2
|
+
import useEffectOnce from './useEffectOnce';
|
|
3
|
+
const useUnmount = (fn) => {
|
|
4
|
+
const fnRef = useRef(fn);
|
|
5
|
+
// update the ref each render so if it change the newest callback will be invoked
|
|
6
|
+
fnRef.current = fn;
|
|
7
|
+
useEffectOnce(() => () => fnRef.current());
|
|
8
|
+
};
|
|
9
|
+
export default useUnmount;
|
|
10
|
+
//# sourceMappingURL=useUnmount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useUnmount.js","sourceRoot":"","sources":["../../src/hooks/useUnmount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAC/B,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAE5C,MAAM,UAAU,GAAG,CAAC,EAAa,EAAQ,EAAE;IACzC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAEzB,iFAAiF;IACjF,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC;IAEnB,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
package/index.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * from './grid';
|
|
2
|
+
export * from './expand';
|
|
3
|
+
export * from './hooks/useClickAway';
|
|
4
|
+
export { default as usePersistentFunction } from './hooks/usePersistentFunction';
|
|
5
|
+
export { default as useEffectOnce } from './hooks/useEffectOnce';
|
|
6
|
+
export { default as useMountedState } from './hooks/useMountedState';
|
|
7
|
+
export { default as useMount } from './hooks/useMount';
|
|
8
|
+
export { default as useUnmount } from './hooks/useUnmount';
|
|
9
|
+
export { default as useAsync } from './hooks/useAsync';
|
|
10
|
+
export { default as useAsyncFn } from './hooks/useAsyncFn';
|
|
11
|
+
export { default as useDebounce } from './hooks/useDebounce';
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
package/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pushwoosh/kit-helpers",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.5",
|
|
4
4
|
"description": "React component for build Pushwoosh products",
|
|
5
|
-
"main": "
|
|
6
|
-
"
|
|
7
|
-
"
|
|
8
|
-
"lib"
|
|
9
|
-
],
|
|
5
|
+
"main": "index.js",
|
|
6
|
+
"module": "index.js",
|
|
7
|
+
"types": "index.d.ts",
|
|
10
8
|
"scripts": {
|
|
11
9
|
"start": "cross-env NODE_ENV=development webpack-dev-server --config webpack.playground.config.js",
|
|
12
|
-
"
|
|
10
|
+
"build_webpack": "cross-env NODE_ENV=production webpack --config webpack.production.config.js",
|
|
11
|
+
"build": "npm run build:esm && npm run copy:pckg",
|
|
13
12
|
"dev": "cross-env NODE_ENV=development webpack --config webpack.development.config.js",
|
|
13
|
+
"build:esm": "tsc -p ./tsconfig.library.json",
|
|
14
|
+
"copy:pckg": "cp package.json lib/package.json && cp .npmrc lib/.npmrc",
|
|
14
15
|
"check": "npm run check:lint && npm run check:types",
|
|
15
16
|
"check:lint": "echo \"Run check:lint\" && eslint .",
|
|
16
17
|
"check:types": "echo \"Run check:types\" && tsc --project tsconfig.json --noEmit"
|
package/README.md
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# Pushwoosh / Design System / Tabs
|
|
2
|
-
Этот пакет является частью [Pushwoosh Design System](https://www.figma.com/file/ECBEieS5VRuVJSBDYH1TBh/Console-Design-System)
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
## Установка
|
|
6
|
-
0. Установить переменную окружения "NPM_TOKEN" в терминале (токен можно получить у администраторов)
|
|
7
|
-
1. Выполнить `npm ci` для установки зависимостей
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
## Запуск режима песочницы
|
|
11
|
-
Режим необходим при разработке самой библиотеки в режиме песочницы
|
|
12
|
-
|
|
13
|
-
Как начать:
|
|
14
|
-
<br />
|
|
15
|
-
Выполнить `npm start`
|
|
16
|
-
|
|
17
|
-
Что будет:
|
|
18
|
-
<br />
|
|
19
|
-
Поднимется сервер `http://localhost:8080`, с песочницей проекта
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
## Запуск разработки
|
|
23
|
-
Необходима при разработке других библиотек, связанных с текущей библиотекой
|
|
24
|
-
|
|
25
|
-
Как начать:
|
|
26
|
-
<br />
|
|
27
|
-
Выполнить `npm run dev`
|
|
28
|
-
|
|
29
|
-
Что будет:
|
|
30
|
-
<br />
|
|
31
|
-
Будут компилироваться файлы библиотеки, чтобы использовать библиотеку при разработке других решений.
|
package/lib/grid.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export declare const GridContainer: import("styled-components").StyledComponent<"div", any, {
|
|
2
|
-
$gap?: string | number | undefined;
|
|
3
|
-
$padding?: string | number | undefined;
|
|
4
|
-
$margin?: string | number | undefined;
|
|
5
|
-
$justify?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
6
|
-
$alignItems?: "center" | "start" | "end" | "stretch" | "baseline" | undefined;
|
|
7
|
-
}, never>;
|
|
8
|
-
export declare const Columns: import("styled-components").StyledComponent<"div", any, {
|
|
9
|
-
$gap?: string | number | undefined;
|
|
10
|
-
$padding?: string | number | undefined;
|
|
11
|
-
$margin?: string | number | undefined;
|
|
12
|
-
$justify?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
13
|
-
$alignItems?: "center" | "start" | "end" | "stretch" | "baseline" | undefined;
|
|
14
|
-
} & {
|
|
15
|
-
$sizes: number | string;
|
|
16
|
-
}, never>;
|
|
17
|
-
export declare const Rows: import("styled-components").StyledComponent<"div", any, {
|
|
18
|
-
$gap?: string | number | undefined;
|
|
19
|
-
$padding?: string | number | undefined;
|
|
20
|
-
$margin?: string | number | undefined;
|
|
21
|
-
$justify?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
22
|
-
$alignItems?: "center" | "start" | "end" | "stretch" | "baseline" | undefined;
|
|
23
|
-
} & {
|
|
24
|
-
$sizes: number | string;
|
|
25
|
-
}, never>;
|
|
26
|
-
export declare const Horizontal: import("styled-components").StyledComponent<"div", any, {
|
|
27
|
-
$gap?: string | number | undefined;
|
|
28
|
-
$padding?: string | number | undefined;
|
|
29
|
-
$margin?: string | number | undefined;
|
|
30
|
-
$justify?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
31
|
-
$alignItems?: "center" | "start" | "end" | "stretch" | "baseline" | undefined;
|
|
32
|
-
}, never>;
|
|
33
|
-
export declare const Vertical: import("styled-components").StyledComponent<"div", any, {
|
|
34
|
-
$gap?: string | number | undefined;
|
|
35
|
-
$padding?: string | number | undefined;
|
|
36
|
-
$margin?: string | number | undefined;
|
|
37
|
-
$justify?: "center" | "start" | "end" | "space-between" | "space-around" | "space-evenly" | "stretch" | undefined;
|
|
38
|
-
$alignItems?: "center" | "start" | "end" | "stretch" | "baseline" | undefined;
|
|
39
|
-
}, never>;
|
package/lib/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var t={n:e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return t.d(r,{a:r}),r},d:(e,r)=>{for(var n in r)t.o(r,n)&&!t.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:r[n]})},o:(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r:t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},e={};t.r(e),t.d(e,{Collapse:()=>N,Columns:()=>l,ExpandTransition:()=>I,GridContainer:()=>c,Horizontal:()=>s,Rows:()=>f,Vertical:()=>y,elementAddListener:()=>M,subscribeClickAway:()=>$,useAsync:()=>K,useAsyncFn:()=>V,useClickAway:()=>R,useDebounce:()=>X,useEffectOnce:()=>k,useMount:()=>q,useMountedState:()=>D,usePersistentFunction:()=>T,useUnmount:()=>_});const r=require("styled-components");var n=t.n(r),o=function(t){return"number"==typeof t},i=function(t){return o(t)?"".concat(t,"px"):t},u=function(t){return o(t)?"repeat(".concat(t,", 1fr)"):t},a=function(t,e,r){if(void 0!==e)return"".concat(t,": ").concat(r?r(e):e,";")},c=n().div.withConfig({displayName:"GridContainer",componentId:"sc-td6pqh-0"})(["display:grid;"," "," "," "," ",""],(function(t){return a("gap",t.$gap,i)}),(function(t){return a("padding",t.$padding,i)}),(function(t){return a("margin",t.$margin,i)}),(function(t){return a("justify-content",t.$justify)}),(function(t){return a("align-items",t.$alignItems)})),l=n()(c).withConfig({displayName:"Columns",componentId:"sc-td6pqh-1"})(["grid-template-columns:",";"],(function(t){return u(t.$sizes)})),f=n()(c).withConfig({displayName:"Rows",componentId:"sc-td6pqh-2"})(["grid-template-rows:",";"],(function(t){return u(t.$sizes)})),s=n()(c).withConfig({displayName:"Horizontal",componentId:"sc-td6pqh-3"})(["grid-auto-flow:column;"]),y=n()(c).withConfig({displayName:"Vertical",componentId:"sc-td6pqh-4"})(["grid-auto-flow:row;"]);const p=require("react");var m=t.n(p);const d=require("react-transition-group");function b(t){return b="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},b(t)}var v=["className","externalClassName","internalClassName","timeout","children"],h=["expanded","children","className"];function g(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function O(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?g(Object(r),!0).forEach((function(e){w(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):g(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function w(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==b(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!==b(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===b(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function j(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,u,a=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(l)throw o}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return S(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return S(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function S(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function A(t,e){if(null==t)return{};var r,n,o=function(t,e){if(null==t)return{};var r,n,o={},i=Object.keys(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||(o[r]=t[r]);return o}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)r=i[n],e.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(o[r]=t[r])}return o}var E=function(t){var e=t.className,r=t.externalClassName,n=t.internalClassName,o=t.timeout,i=void 0===o?100:o,u=t.children,a=A(t,v),c=(0,p.useRef)(null),l=(0,p.useRef)(null),f=j((0,p.useState)(),2),s=f[0],y=f[1];function b(){var t=l.current.getBoundingClientRect();y({"--timeout":"".concat(i,"ms"),"--width":"".concat(t.width,"px"),"--height":"".concat(t.height,"px")})}return(0,p.useEffect)(b,[i]),m().createElement(d.CSSTransition,O(O({},a),{},{timeout:i,classNames:e,onEnter:b,onExit:b,nodeRef:c}),m().createElement("div",{ref:c,className:r?"".concat(e," ").concat(r):e,style:s},m().createElement("div",{ref:l,className:n},u)))},P=n()(E).withConfig({displayName:"CollapseTransition",componentId:"sc-7jjhp8-0"})(["transition:height var(--timeout) linear,opacity var(--timeout) linear;&-enter{overflow:hidden;opacity:0;height:0;}&-enter-active,&-exit{overflow:hidden;opacity:1;height:var(--height);}&-exit-active{overflow:hidden;opacity:0;height:0;}"]),C=(0,r.css)(["overflow:hidden;position:relative;width:1px;height:1px;& > *{position:absolute;top:calc(var(--height) / -2);left:calc(var(--width) / -2);}"]),x=(0,r.css)(["overflow:hidden;position:relative;width:var(--width);height:var(--height);& > *{position:absolute;top:0;left:0;}"]),I=n()(E).withConfig({displayName:"ExpandTransition",componentId:"sc-7jjhp8-1"})(["transition:all var(--timeout) ease-out;& > *{transition:all var(--timeout) ease-out;}&-enter{","}&-enter-active,&-exit{","}&-exit-active{","}"],C,x,C),N=function(t){var e=t.expanded,r=t.children,n=t.className,o=A(t,h);return m().createElement(d.TransitionGroup,{component:null},e&&m().createElement(P,O(O({},o),{},{externalClassName:n,key:0}),"function"==typeof r?r():r))};function T(t){var e=(0,p.useRef)(t);return e.current=t,(0,p.useCallback)((function(){return e.current.apply(e,arguments)}),[])}function M(t,e,r){var n=Array.isArray(e)?e:[e];return n.forEach((function(e){t.addEventListener(e,r)})),function(){n.forEach((function(e){t.removeEventListener(e,r)}))}}function $(t,e){return M(document,["mousedown","touchstart"],(function(r){t&&!t.contains(r.target)&&e(r)}))}function R(t,e,r){var n=T(r);(0,p.useEffect)((function(){if(t)return $(e.current,n)}),[t,e,n])}const k=function(t){(0,p.useEffect)(t,[])};function D(){var t=(0,p.useRef)(!1),e=(0,p.useCallback)((function(){return t.current}),[]);return(0,p.useEffect)((function(){return t.current=!0,function(){t.current=!1}}),[]),e}const q=function(t){k((function(){t()}))};const _=function(t){var e=(0,p.useRef)(t);e.current=t,k((function(){return function(){return e.current()}}))};function U(t){return U="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},U(t)}function z(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function G(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?z(Object(r),!0).forEach((function(e){L(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):z(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}function L(t,e,r){return(e=function(t){var e=function(t,e){if("object"!==U(t)||null===t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,e||"default");if("object"!==U(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"===U(e)?e:String(e)}(e))in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function F(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,u,a=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(l)throw o}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return H(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return H(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function H(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function V(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{loading:!1},n=(0,p.useRef)(0),o=D(),i=F((0,p.useState)(r),2),u=i[0],a=i[1],c=(0,p.useCallback)((function(){var e=++n.current,r=function(){return o()&&e===n.current};return!u.loading&&r()&&a((function(t){return G(G({},t),{},{loading:!0})})),t.apply(void 0,arguments).then((function(t){return r()&&a({value:t,loading:!1}),t}),(function(t){throw r()&&a({error:t,loading:!1}),t}))}),e);return[u,c]}function B(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,u,a=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(l)throw o}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return J(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return J(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function J(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}function K(t){var e=B(V(t,arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],{loading:!0}),2),r=e[0],n=e[1];return(0,p.useEffect)((function(){n()}),[n]),r}function Q(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var r=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=r){var n,o,i,u,a=[],c=!0,l=!1;try{if(i=(r=r.call(t)).next,0===e){if(Object(r)!==r)return;c=!1}else for(;!(c=(n=i.call(r)).done)&&(a.push(n.value),a.length!==e);c=!0);}catch(t){l=!0,o=t}finally{try{if(!c&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(l)throw o}}return a}}(t,e)||function(t,e){if(!t)return;if("string"==typeof t)return W(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return W(t,e)}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function W(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}const X=function(t,e){var r=Q((0,p.useState)(t),2),n=r[0],o=r[1];return(0,p.useEffect)((function(){var r=setTimeout((function(){o(t)}),e);return function(){clearTimeout(r)}}),[t,e]),n};var Y=exports;for(var Z in e)Y[Z]=e[Z];e.__esModule&&Object.defineProperty(Y,"__esModule",{value:!0})})();
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","mappings":"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","sources":["webpack://@pushwoosh/kit-helpers/webpack/bootstrap","webpack://@pushwoosh/kit-helpers/webpack/runtime/compat get default export","webpack://@pushwoosh/kit-helpers/webpack/runtime/define property getters","webpack://@pushwoosh/kit-helpers/webpack/runtime/hasOwnProperty shorthand","webpack://@pushwoosh/kit-helpers/webpack/runtime/make namespace object","webpack://@pushwoosh/kit-helpers/external commonjs \"styled-components\"","webpack://@pushwoosh/kit-helpers/./src/grid.tsx","webpack://@pushwoosh/kit-helpers/external commonjs \"react\"","webpack://@pushwoosh/kit-helpers/external commonjs \"react-transition-group\"","webpack://@pushwoosh/kit-helpers/./src/expand.tsx","webpack://@pushwoosh/kit-helpers/./src/hooks/usePersistentFunction.ts","webpack://@pushwoosh/kit-helpers/./src/hooks/useClickAway.ts","webpack://@pushwoosh/kit-helpers/./src/hooks/useEffectOnce.ts","webpack://@pushwoosh/kit-helpers/./src/hooks/useMountedState.ts","webpack://@pushwoosh/kit-helpers/./src/hooks/useMount.ts","webpack://@pushwoosh/kit-helpers/./src/hooks/useUnmount.ts","webpack://@pushwoosh/kit-helpers/./src/hooks/useAsyncFn.ts","webpack://@pushwoosh/kit-helpers/./src/hooks/useAsync.ts","webpack://@pushwoosh/kit-helpers/./src/hooks/useDebounce.ts"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"styled-components\");","import styled from 'styled-components';\n\nconst isNumber = (value: unknown): value is number => typeof value === 'number';\nconst toCssValue = (value: number | string): string => (isNumber(value) ? `${value}px` : value);\nconst gridTemplate = (value: number | string): string => (isNumber(value) ? `repeat(${value}, 1fr)` : value);\nconst createCssDeclaration = (property: string, value: any, valueConvert?: (v: any) => any) => {\n if (value !== undefined) {\n return `${property}: ${valueConvert ? valueConvert(value) : value};`;\n }\n return undefined;\n};\n\nexport const GridContainer = styled.div<{\n $gap?: number | string;\n $padding?: number | string;\n $margin?: number | string;\n $justify?: 'center' | 'start' | 'end' | 'space-between' | 'space-around' | 'space-evenly' | 'stretch';\n $alignItems?: 'center' | 'start' | 'end' | 'baseline' | 'stretch';\n}>`\n display: grid;\n ${(props) => createCssDeclaration('gap', props.$gap, toCssValue)}\n ${(props) => createCssDeclaration('padding', props.$padding, toCssValue)}\n ${(props) => createCssDeclaration('margin', props.$margin, toCssValue)}\n ${(props) => createCssDeclaration('justify-content', props.$justify)}\n ${(props) => createCssDeclaration('align-items', props.$alignItems)}\n`;\n\nexport const Columns = styled(GridContainer)<{\n $sizes: number | string;\n}>`\n grid-template-columns: ${(props) => gridTemplate(props.$sizes)};\n`;\n\nexport const Rows = styled(GridContainer)<{\n $sizes: number | string;\n}>`\n grid-template-rows: ${(props) => gridTemplate(props.$sizes)};\n`;\n\nexport const Horizontal = styled(GridContainer)`\n grid-auto-flow: column;\n`;\n\nexport const Vertical = styled(GridContainer)`\n grid-auto-flow: row;\n`;\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-transition-group\");","/* eslint-disable react/require-default-props, react/jsx-no-bind */\n\nimport React, {\n type FC,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport { CSSTransition, TransitionGroup } from 'react-transition-group';\nimport styled, { css } from 'styled-components';\n\ntype ExpandTransitionProps = {\n className?: string;\n timeout?: number;\n externalClassName?: string;\n internalClassName?: string;\n};\nconst ExpandTransitionComp: FC<ExpandTransitionProps> = ({\n className,\n externalClassName,\n internalClassName,\n timeout = 100,\n children,\n ...rest\n}) => {\n const refExternal = useRef<HTMLDivElement>(null);\n const refInternal = useRef<HTMLDivElement>(null);\n const [externalStyle, setExternalStyle] = useState<Record<string, string>>();\n\n function updateStyle(): void {\n const rect = refInternal.current!.getBoundingClientRect();\n setExternalStyle({\n '--timeout': `${timeout}ms`,\n '--width': `${rect.width}px`,\n '--height': `${rect.height}px`,\n });\n }\n useEffect(updateStyle, [timeout]);\n\n return (\n <CSSTransition\n {...rest}\n timeout={timeout}\n classNames={className}\n onEnter={updateStyle}\n onExit={updateStyle}\n nodeRef={refExternal}\n >\n <div\n ref={refExternal}\n className={externalClassName ? `${className} ${externalClassName}` : className}\n style={externalStyle}\n >\n <div\n ref={refInternal}\n className={internalClassName}\n >\n {children}\n </div>\n </div>\n </CSSTransition>\n );\n};\n\nconst CollapseTransition = styled(ExpandTransitionComp)`\n transition: height var(--timeout) linear, opacity var(--timeout) linear;\n\n &-enter {\n overflow: hidden;\n opacity: 0;\n height: 0;\n }\n\n &-enter-active, &-exit {\n overflow: hidden;\n opacity: 1;\n height: var(--height);\n }\n\n &-exit-active {\n overflow: hidden;\n opacity: 0;\n height: 0;\n }\n`;\n\nconst enterExpandCss = css`\n overflow: hidden;\n position: relative;\n width: 1px;\n height: 1px;\n\n & > * {\n position: absolute;\n top: calc(var(--height) / -2);\n left: calc(var(--width) / -2);\n }\n`;\n\nconst exitExpandCss = css`\n overflow: hidden;\n position: relative;\n width: var(--width);\n height: var(--height);\n\n & > * {\n position: absolute;\n top: 0;\n left: 0;\n }\n`;\n\nexport const ExpandTransition = styled(ExpandTransitionComp)`\n transition: all var(--timeout) ease-out;\n\n & > * {\n transition: all var(--timeout) ease-out;\n }\n\n &-enter { ${enterExpandCss} }\n\n &-enter-active, &-exit { ${exitExpandCss} }\n\n &-exit-active { ${enterExpandCss} }\n`;\n\ntype CollapseProps = {\n expanded: boolean;\n timeout?: number;\n className?: string;\n internalClassName?: string;\n};\nexport const Collapse: FC<CollapseProps> = ({\n expanded,\n children,\n className,\n ...rest\n}) => (\n <TransitionGroup component={null}>\n {expanded && (\n <CollapseTransition\n {...rest}\n externalClassName={className}\n key={0}\n >\n {typeof children === 'function' ? children() : children}\n </CollapseTransition>\n )}\n </TransitionGroup>\n);\n","import { useCallback, useRef } from 'react';\n\nexport default function usePersistentFunction<T extends (...args: any[]) => any>(callback: T): T {\n const ref = useRef(callback);\n ref.current = callback;\n return useCallback((...args: any) => ref.current(...args), []) as T;\n}\n","import { useEffect } from 'react';\nimport usePersistentFunction from './usePersistentFunction';\n\nexport function elementAddListener<K extends keyof HTMLElementEventMap, E extends HTMLElement>(\n element: E,\n eventNames: K | K[],\n listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => void,\n): () => void {\n const eventNamesArray = Array.isArray(eventNames) ? eventNames : [eventNames];\n eventNamesArray.forEach((eventName) => {\n element.addEventListener(eventName, listener);\n });\n return (): void => {\n eventNamesArray.forEach((eventName) => {\n element.removeEventListener(eventName, listener);\n });\n };\n}\n\nexport function subscribeClickAway<T extends HTMLElement>(element: T, callback: EventListener): () => void {\n return elementAddListener(document as any, ['mousedown', 'touchstart'], (event) => {\n if (element && !element.contains(event.target as any)) {\n callback(event);\n }\n });\n}\n\nexport function useClickAway(use: boolean, ref: any, cb: EventListener): void {\n const mcb = usePersistentFunction(cb);\n\n useEffect(() => { // eslint-disable-line consistent-return\n if (use) {\n return subscribeClickAway(ref.current, mcb) as any;\n }\n }, [use, ref, mcb]);\n}\n","import { type EffectCallback, useEffect } from 'react';\n\nconst useEffectOnce = (effect: EffectCallback) => {\n // eslint-disable-next-line\n useEffect(effect, []);\n};\n\nexport default useEffectOnce;\n","import { useCallback, useEffect, useRef } from 'react';\n\nexport default function useMountedState(): () => boolean {\n const mountedRef = useRef<boolean>(false);\n const get = useCallback(() => mountedRef.current, []);\n\n useEffect(() => {\n mountedRef.current = true;\n\n return () => {\n mountedRef.current = false;\n };\n }, []);\n\n return get;\n}\n","import useEffectOnce from './useEffectOnce';\n\nconst useMount = (fn: () => void) => {\n useEffectOnce(() => {\n fn();\n });\n};\n\nexport default useMount;\n","import { useRef } from 'react';\nimport useEffectOnce from './useEffectOnce';\n\nconst useUnmount = (fn: () => any): void => {\n const fnRef = useRef(fn);\n\n // update the ref each render so if it change the newest callback will be invoked\n fnRef.current = fn;\n\n useEffectOnce(() => () => fnRef.current());\n};\n\nexport default useUnmount;\n","import {\n type DependencyList,\n useCallback,\n useRef,\n useState,\n} from 'react';\nimport useMountedState from './useMountedState';\nimport type { FunctionReturningPromise, PromiseType } from './types';\n\nexport type AsyncState<T> =\n | { loading: boolean; error?: undefined; value?: undefined; }\n | { loading: true; error?: Error | undefined; value?: T; }\n | { loading: false; error: Error; value?: undefined; }\n | { loading: false; error?: undefined; value: T; };\n\ntype StateFromFunctionReturningPromise<T extends FunctionReturningPromise> = AsyncState<PromiseType<ReturnType<T>>>;\n\nexport type AsyncFnReturn<T extends FunctionReturningPromise = FunctionReturningPromise> = [\n StateFromFunctionReturningPromise<T>,\n T,\n];\n\nexport default function useAsyncFn<T extends FunctionReturningPromise>(\n fn: T,\n deps: DependencyList = [],\n initialState: StateFromFunctionReturningPromise<T> = { loading: false },\n): AsyncFnReturn<T> {\n const lastCallId = useRef(0);\n const isMounted = useMountedState();\n const [state, set] = useState<StateFromFunctionReturningPromise<T>>(initialState);\n\n const callback = useCallback((...args: Parameters<T>): ReturnType<T> => {\n // eslint-disable-next-line no-plusplus\n const callId = ++lastCallId.current;\n const canSet = () => isMounted() && callId === lastCallId.current;\n\n if (!state.loading && canSet()) {\n set((prevState) => ({ ...prevState, loading: true }));\n }\n\n return fn(...args).then(\n (value) => {\n if (canSet()) {\n set({ value, loading: false });\n }\n\n return value;\n },\n (error) => {\n if (canSet()) {\n set({ error, loading: false });\n }\n\n throw error;\n },\n ) as ReturnType<T>;\n }, deps); // eslint-disable-line\n\n return [state, callback as unknown as T];\n}\n","import { type DependencyList, useEffect } from 'react';\nimport useAsyncFn from './useAsyncFn';\nimport { type FunctionReturningPromise } from './types';\n\nexport type { AsyncState, AsyncFnReturn } from './useAsyncFn';\n\nexport default function useAsync<T extends FunctionReturningPromise>(\n fn: T,\n deps: DependencyList = [],\n) {\n const [state, callback] = useAsyncFn(fn, deps, {\n loading: true,\n });\n\n useEffect(() => {\n callback();\n }, [callback]);\n\n return state;\n}\n","import { useState, useEffect } from 'react';\n\nconst useDebounce = <T>(value: T, delay: number): T => {\n const [debouncedValue, setDebouncedValue] = useState(value);\n\n useEffect(() => {\n const handler = setTimeout(() => {\n setDebouncedValue(value);\n }, delay);\n\n return () => {\n clearTimeout(handler);\n };\n }, [value, delay]);\n\n return debouncedValue;\n};\n\nexport default useDebounce;\n"],"names":["__webpack_require__","module","getter","__esModule","d","a","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","require","isNumber","toCssValue","concat","gridTemplate","createCssDeclaration","property","valueConvert","undefined","GridContainer","styled","displayName","componentId","props","$gap","$padding","$margin","$justify","$alignItems","Columns","withConfig","$sizes","Rows","Horizontal","Vertical","ExpandTransitionComp","_ref","className","externalClassName","internalClassName","_ref$timeout","timeout","children","rest","_objectWithoutProperties","_excluded","refExternal","useRef","refInternal","_useState2","_slicedToArray","useState","externalStyle","setExternalStyle","updateStyle","rect","current","getBoundingClientRect","width","height","useEffect","React","CSSTransition","_objectSpread","classNames","onEnter","onExit","nodeRef","ref","style","CollapseTransition","enterExpandCss","css","exitExpandCss","ExpandTransition","Collapse","_ref2","expanded","_excluded2","TransitionGroup","component","usePersistentFunction","callback","useCallback","apply","arguments","elementAddListener","element","eventNames","listener","eventNamesArray","Array","isArray","forEach","eventName","addEventListener","removeEventListener","subscribeClickAway","document","event","contains","target","useClickAway","use","cb","mcb","effect","useMountedState","mountedRef","fn","useEffectOnce","fnRef","useAsyncFn","deps","length","initialState","loading","lastCallId","isMounted","state","set","callId","canSet","prevState","then","error","useAsync","_useAsyncFn2","delay","debouncedValue","setDebouncedValue","handler","setTimeout","clearTimeout"],"sourceRoot":""}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|