@peculiar/react-components 0.3.12 → 0.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/Collapse/collapse.js +29 -18
- package/dist/cjs/Collapse/collapse.js.map +1 -1
- package/dist/esm/Collapse/collapse.js +29 -18
- package/dist/esm/Collapse/collapse.js.map +1 -1
- package/dist/esnext/Collapse/collapse.js +36 -16
- package/dist/esnext/Collapse/collapse.js.map +1 -1
- package/dist/types/Collapse/collapse.d.ts +4 -0
- package/package.json +2 -2
|
@@ -49,29 +49,35 @@ exports.Collapse = void 0;
|
|
|
49
49
|
var React = __importStar(require("react"));
|
|
50
50
|
var react_transition_group_1 = require("react-transition-group");
|
|
51
51
|
var styles_1 = require("../styles");
|
|
52
|
-
var stylesBase = function (timeout) { return (0, styles_1.css)({
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
52
|
+
var stylesBase = function (timeout, isHorizontal) { return (0, styles_1.css)(__assign({ label: 'Collapse', overflow: 'hidden', transition: "".concat(isHorizontal ? 'width' : 'height', " ").concat(timeout, "ms cubic-bezier(0.4, 0, 0.2, 1) 0ms") }, (isHorizontal ? {
|
|
53
|
+
height: 'auto',
|
|
54
|
+
width: 0,
|
|
55
|
+
} : {
|
|
56
56
|
height: 0,
|
|
57
|
-
}); };
|
|
58
|
-
var stylesEntered = function () { return (0, styles_1.css)({
|
|
59
|
-
|
|
57
|
+
}))); };
|
|
58
|
+
var stylesEntered = function (isHorizontal) { return (0, styles_1.css)(__assign({ label: 'entered', overflow: 'visible' }, (isHorizontal ? {
|
|
59
|
+
width: 'auto',
|
|
60
|
+
} : {
|
|
60
61
|
height: 'auto',
|
|
61
|
-
|
|
62
|
-
}); };
|
|
62
|
+
}))); };
|
|
63
63
|
var stylesHidden = function () { return (0, styles_1.css)({
|
|
64
64
|
label: 'hidden',
|
|
65
65
|
visibility: 'hidden',
|
|
66
66
|
}); };
|
|
67
67
|
var Collapse = function (props) {
|
|
68
|
-
var timeout = props.timeout, inProp = props.in, children = props.children, onEnter = props.onEnter, onEntered = props.onEntered, onEntering = props.onEntering, onExit = props.onExit, onExited = props.onExited, onExiting = props.onExiting, className = props.className, other = __rest(props, ["timeout", "in", "children", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "className"]);
|
|
68
|
+
var timeout = props.timeout, inProp = props.in, children = props.children, orientation = props.orientation, onEnter = props.onEnter, onEntered = props.onEntered, onEntering = props.onEntering, onExit = props.onExit, onExited = props.onExited, onExiting = props.onExiting, className = props.className, other = __rest(props, ["timeout", "in", "children", "orientation", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "className"]);
|
|
69
69
|
var wrapperRef = React.useRef(null);
|
|
70
70
|
var nodeRef = React.useRef(null);
|
|
71
|
-
var
|
|
71
|
+
var isHorizontal = orientation === 'horizontal';
|
|
72
|
+
var size = isHorizontal ? 'width' : 'height';
|
|
73
|
+
var getWrapperSize = function () { return (wrapperRef.current ? wrapperRef.current[isHorizontal ? 'clientWidth' : 'clientHeight'] : 0); };
|
|
72
74
|
var handleEnter = function (isAppearing) {
|
|
73
75
|
if (nodeRef.current) {
|
|
74
|
-
nodeRef.current.style
|
|
76
|
+
nodeRef.current.style[size] = '0px';
|
|
77
|
+
}
|
|
78
|
+
if (wrapperRef.current && isHorizontal) {
|
|
79
|
+
// Set absolute position to get the size of collapsed content
|
|
80
|
+
wrapperRef.current.style.position = 'absolute';
|
|
75
81
|
}
|
|
76
82
|
if (onEnter) {
|
|
77
83
|
onEnter(isAppearing);
|
|
@@ -79,7 +85,11 @@ var Collapse = function (props) {
|
|
|
79
85
|
};
|
|
80
86
|
var handleEntering = function (isAppearing) {
|
|
81
87
|
if (nodeRef.current) {
|
|
82
|
-
nodeRef.current.style
|
|
88
|
+
nodeRef.current.style[size] = "".concat(getWrapperSize(), "px");
|
|
89
|
+
}
|
|
90
|
+
if (wrapperRef.current && isHorizontal) {
|
|
91
|
+
// After the size is read reset the position back to default
|
|
92
|
+
wrapperRef.current.style.position = '';
|
|
83
93
|
}
|
|
84
94
|
if (onEntering) {
|
|
85
95
|
onEntering(isAppearing);
|
|
@@ -87,7 +97,7 @@ var Collapse = function (props) {
|
|
|
87
97
|
};
|
|
88
98
|
var handleEntered = function (isAppearing) {
|
|
89
99
|
if (nodeRef.current) {
|
|
90
|
-
nodeRef.current.style
|
|
100
|
+
nodeRef.current.style[size] = 'auto';
|
|
91
101
|
}
|
|
92
102
|
if (onEntered) {
|
|
93
103
|
onEntered(isAppearing);
|
|
@@ -95,7 +105,7 @@ var Collapse = function (props) {
|
|
|
95
105
|
};
|
|
96
106
|
var handleExit = function () {
|
|
97
107
|
if (nodeRef.current) {
|
|
98
|
-
nodeRef.current.style
|
|
108
|
+
nodeRef.current.style[size] = "".concat(getWrapperSize(), "px");
|
|
99
109
|
// reading a dimension prop will cause the browser to recalculate,
|
|
100
110
|
// which will let our animations work
|
|
101
111
|
nodeRef.current.offsetHeight; // eslint-disable-line @typescript-eslint/no-unused-expressions
|
|
@@ -106,7 +116,7 @@ var Collapse = function (props) {
|
|
|
106
116
|
};
|
|
107
117
|
var handleExiting = function () {
|
|
108
118
|
if (nodeRef.current) {
|
|
109
|
-
nodeRef.current.style
|
|
119
|
+
nodeRef.current.style[size] = '0px';
|
|
110
120
|
}
|
|
111
121
|
if (onExiting) {
|
|
112
122
|
onExiting();
|
|
@@ -115,8 +125,8 @@ var Collapse = function (props) {
|
|
|
115
125
|
return (React.createElement(react_transition_group_1.Transition, { in: inProp, timeout: timeout, onEnter: handleEnter, onEntering: handleEntering, onEntered: handleEntered, onExit: handleExit, onExiting: handleExiting, onExited: onExited }, function (state) {
|
|
116
126
|
var _a;
|
|
117
127
|
return (React.createElement("div", __assign({}, other, { className: (0, styles_1.cx)((_a = {},
|
|
118
|
-
_a[stylesBase(timeout)] = true,
|
|
119
|
-
_a[stylesEntered()] = state === 'entered',
|
|
128
|
+
_a[stylesBase(timeout, isHorizontal)] = true,
|
|
129
|
+
_a[stylesEntered(isHorizontal)] = state === 'entered',
|
|
120
130
|
_a[stylesHidden()] = state === 'exited' && !inProp,
|
|
121
131
|
_a[className] = !!className,
|
|
122
132
|
_a)), ref: nodeRef }),
|
|
@@ -127,5 +137,6 @@ exports.Collapse = Collapse;
|
|
|
127
137
|
exports.Collapse.displayName = 'Collapse';
|
|
128
138
|
exports.Collapse.defaultProps = {
|
|
129
139
|
timeout: 225,
|
|
140
|
+
orientation: 'vertical',
|
|
130
141
|
};
|
|
131
142
|
//# sourceMappingURL=collapse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../src/Collapse/collapse.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA+B;AAE/B,iEAAoD;AACpD,oCAAoC;
|
|
1
|
+
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../src/Collapse/collapse.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,29 +23,35 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
23
23
|
import * as React from 'react';
|
|
24
24
|
import { Transition } from 'react-transition-group';
|
|
25
25
|
import { css, cx } from '../styles';
|
|
26
|
-
var stylesBase = function (timeout) { return css({
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
var stylesBase = function (timeout, isHorizontal) { return css(__assign({ label: 'Collapse', overflow: 'hidden', transition: "".concat(isHorizontal ? 'width' : 'height', " ").concat(timeout, "ms cubic-bezier(0.4, 0, 0.2, 1) 0ms") }, (isHorizontal ? {
|
|
27
|
+
height: 'auto',
|
|
28
|
+
width: 0,
|
|
29
|
+
} : {
|
|
30
30
|
height: 0,
|
|
31
|
-
}); };
|
|
32
|
-
var stylesEntered = function () { return css({
|
|
33
|
-
|
|
31
|
+
}))); };
|
|
32
|
+
var stylesEntered = function (isHorizontal) { return css(__assign({ label: 'entered', overflow: 'visible' }, (isHorizontal ? {
|
|
33
|
+
width: 'auto',
|
|
34
|
+
} : {
|
|
34
35
|
height: 'auto',
|
|
35
|
-
|
|
36
|
-
}); };
|
|
36
|
+
}))); };
|
|
37
37
|
var stylesHidden = function () { return css({
|
|
38
38
|
label: 'hidden',
|
|
39
39
|
visibility: 'hidden',
|
|
40
40
|
}); };
|
|
41
41
|
export var Collapse = function (props) {
|
|
42
|
-
var timeout = props.timeout, inProp = props.in, children = props.children, onEnter = props.onEnter, onEntered = props.onEntered, onEntering = props.onEntering, onExit = props.onExit, onExited = props.onExited, onExiting = props.onExiting, className = props.className, other = __rest(props, ["timeout", "in", "children", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "className"]);
|
|
42
|
+
var timeout = props.timeout, inProp = props.in, children = props.children, orientation = props.orientation, onEnter = props.onEnter, onEntered = props.onEntered, onEntering = props.onEntering, onExit = props.onExit, onExited = props.onExited, onExiting = props.onExiting, className = props.className, other = __rest(props, ["timeout", "in", "children", "orientation", "onEnter", "onEntered", "onEntering", "onExit", "onExited", "onExiting", "className"]);
|
|
43
43
|
var wrapperRef = React.useRef(null);
|
|
44
44
|
var nodeRef = React.useRef(null);
|
|
45
|
-
var
|
|
45
|
+
var isHorizontal = orientation === 'horizontal';
|
|
46
|
+
var size = isHorizontal ? 'width' : 'height';
|
|
47
|
+
var getWrapperSize = function () { return (wrapperRef.current ? wrapperRef.current[isHorizontal ? 'clientWidth' : 'clientHeight'] : 0); };
|
|
46
48
|
var handleEnter = function (isAppearing) {
|
|
47
49
|
if (nodeRef.current) {
|
|
48
|
-
nodeRef.current.style
|
|
50
|
+
nodeRef.current.style[size] = '0px';
|
|
51
|
+
}
|
|
52
|
+
if (wrapperRef.current && isHorizontal) {
|
|
53
|
+
// Set absolute position to get the size of collapsed content
|
|
54
|
+
wrapperRef.current.style.position = 'absolute';
|
|
49
55
|
}
|
|
50
56
|
if (onEnter) {
|
|
51
57
|
onEnter(isAppearing);
|
|
@@ -53,7 +59,11 @@ export var Collapse = function (props) {
|
|
|
53
59
|
};
|
|
54
60
|
var handleEntering = function (isAppearing) {
|
|
55
61
|
if (nodeRef.current) {
|
|
56
|
-
nodeRef.current.style
|
|
62
|
+
nodeRef.current.style[size] = "".concat(getWrapperSize(), "px");
|
|
63
|
+
}
|
|
64
|
+
if (wrapperRef.current && isHorizontal) {
|
|
65
|
+
// After the size is read reset the position back to default
|
|
66
|
+
wrapperRef.current.style.position = '';
|
|
57
67
|
}
|
|
58
68
|
if (onEntering) {
|
|
59
69
|
onEntering(isAppearing);
|
|
@@ -61,7 +71,7 @@ export var Collapse = function (props) {
|
|
|
61
71
|
};
|
|
62
72
|
var handleEntered = function (isAppearing) {
|
|
63
73
|
if (nodeRef.current) {
|
|
64
|
-
nodeRef.current.style
|
|
74
|
+
nodeRef.current.style[size] = 'auto';
|
|
65
75
|
}
|
|
66
76
|
if (onEntered) {
|
|
67
77
|
onEntered(isAppearing);
|
|
@@ -69,7 +79,7 @@ export var Collapse = function (props) {
|
|
|
69
79
|
};
|
|
70
80
|
var handleExit = function () {
|
|
71
81
|
if (nodeRef.current) {
|
|
72
|
-
nodeRef.current.style
|
|
82
|
+
nodeRef.current.style[size] = "".concat(getWrapperSize(), "px");
|
|
73
83
|
// reading a dimension prop will cause the browser to recalculate,
|
|
74
84
|
// which will let our animations work
|
|
75
85
|
nodeRef.current.offsetHeight; // eslint-disable-line @typescript-eslint/no-unused-expressions
|
|
@@ -80,7 +90,7 @@ export var Collapse = function (props) {
|
|
|
80
90
|
};
|
|
81
91
|
var handleExiting = function () {
|
|
82
92
|
if (nodeRef.current) {
|
|
83
|
-
nodeRef.current.style
|
|
93
|
+
nodeRef.current.style[size] = '0px';
|
|
84
94
|
}
|
|
85
95
|
if (onExiting) {
|
|
86
96
|
onExiting();
|
|
@@ -89,8 +99,8 @@ export var Collapse = function (props) {
|
|
|
89
99
|
return (React.createElement(Transition, { in: inProp, timeout: timeout, onEnter: handleEnter, onEntering: handleEntering, onEntered: handleEntered, onExit: handleExit, onExiting: handleExiting, onExited: onExited }, function (state) {
|
|
90
100
|
var _a;
|
|
91
101
|
return (React.createElement("div", __assign({}, other, { className: cx((_a = {},
|
|
92
|
-
_a[stylesBase(timeout)] = true,
|
|
93
|
-
_a[stylesEntered()] = state === 'entered',
|
|
102
|
+
_a[stylesBase(timeout, isHorizontal)] = true,
|
|
103
|
+
_a[stylesEntered(isHorizontal)] = state === 'entered',
|
|
94
104
|
_a[stylesHidden()] = state === 'exited' && !inProp,
|
|
95
105
|
_a[className] = !!className,
|
|
96
106
|
_a)), ref: nodeRef }),
|
|
@@ -100,5 +110,6 @@ export var Collapse = function (props) {
|
|
|
100
110
|
Collapse.displayName = 'Collapse';
|
|
101
111
|
Collapse.defaultProps = {
|
|
102
112
|
timeout: 225,
|
|
113
|
+
orientation: 'vertical',
|
|
103
114
|
};
|
|
104
115
|
//# sourceMappingURL=collapse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../src/Collapse/collapse.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../src/Collapse/collapse.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,44 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Transition } from 'react-transition-group';
|
|
3
3
|
import { css, cx } from '../styles';
|
|
4
|
-
const stylesBase = (timeout) => css({
|
|
4
|
+
const stylesBase = (timeout, isHorizontal) => css({
|
|
5
5
|
label: 'Collapse',
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
overflow: 'hidden',
|
|
7
|
+
transition: `${isHorizontal ? 'width' : 'height'} ${timeout}ms cubic-bezier(0.4, 0, 0.2, 1) 0ms`,
|
|
8
|
+
...(isHorizontal ? {
|
|
9
|
+
height: 'auto',
|
|
10
|
+
width: 0,
|
|
11
|
+
} : {
|
|
12
|
+
height: 0,
|
|
13
|
+
}),
|
|
9
14
|
});
|
|
10
|
-
const stylesEntered = () => css({
|
|
15
|
+
const stylesEntered = (isHorizontal) => css({
|
|
11
16
|
label: 'entered',
|
|
12
|
-
|
|
13
|
-
|
|
17
|
+
overflow: 'visible',
|
|
18
|
+
...(isHorizontal ? {
|
|
19
|
+
width: 'auto',
|
|
20
|
+
} : {
|
|
21
|
+
height: 'auto',
|
|
22
|
+
}),
|
|
14
23
|
});
|
|
15
24
|
const stylesHidden = () => css({
|
|
16
25
|
label: 'hidden',
|
|
17
26
|
visibility: 'hidden',
|
|
18
27
|
});
|
|
19
28
|
export const Collapse = (props) => {
|
|
20
|
-
const { timeout, in: inProp, children, onEnter, onEntered, onEntering, onExit, onExited, onExiting, className, ...other } = props;
|
|
29
|
+
const { timeout, in: inProp, children, orientation, onEnter, onEntered, onEntering, onExit, onExited, onExiting, className, ...other } = props;
|
|
21
30
|
const wrapperRef = React.useRef(null);
|
|
22
31
|
const nodeRef = React.useRef(null);
|
|
23
|
-
const
|
|
32
|
+
const isHorizontal = orientation === 'horizontal';
|
|
33
|
+
const size = isHorizontal ? 'width' : 'height';
|
|
34
|
+
const getWrapperSize = () => (wrapperRef.current ? wrapperRef.current[isHorizontal ? 'clientWidth' : 'clientHeight'] : 0);
|
|
24
35
|
const handleEnter = (isAppearing) => {
|
|
25
36
|
if (nodeRef.current) {
|
|
26
|
-
nodeRef.current.style
|
|
37
|
+
nodeRef.current.style[size] = '0px';
|
|
38
|
+
}
|
|
39
|
+
if (wrapperRef.current && isHorizontal) {
|
|
40
|
+
// Set absolute position to get the size of collapsed content
|
|
41
|
+
wrapperRef.current.style.position = 'absolute';
|
|
27
42
|
}
|
|
28
43
|
if (onEnter) {
|
|
29
44
|
onEnter(isAppearing);
|
|
@@ -31,7 +46,11 @@ export const Collapse = (props) => {
|
|
|
31
46
|
};
|
|
32
47
|
const handleEntering = (isAppearing) => {
|
|
33
48
|
if (nodeRef.current) {
|
|
34
|
-
nodeRef.current.style
|
|
49
|
+
nodeRef.current.style[size] = `${getWrapperSize()}px`;
|
|
50
|
+
}
|
|
51
|
+
if (wrapperRef.current && isHorizontal) {
|
|
52
|
+
// After the size is read reset the position back to default
|
|
53
|
+
wrapperRef.current.style.position = '';
|
|
35
54
|
}
|
|
36
55
|
if (onEntering) {
|
|
37
56
|
onEntering(isAppearing);
|
|
@@ -39,7 +58,7 @@ export const Collapse = (props) => {
|
|
|
39
58
|
};
|
|
40
59
|
const handleEntered = (isAppearing) => {
|
|
41
60
|
if (nodeRef.current) {
|
|
42
|
-
nodeRef.current.style
|
|
61
|
+
nodeRef.current.style[size] = 'auto';
|
|
43
62
|
}
|
|
44
63
|
if (onEntered) {
|
|
45
64
|
onEntered(isAppearing);
|
|
@@ -47,7 +66,7 @@ export const Collapse = (props) => {
|
|
|
47
66
|
};
|
|
48
67
|
const handleExit = () => {
|
|
49
68
|
if (nodeRef.current) {
|
|
50
|
-
nodeRef.current.style
|
|
69
|
+
nodeRef.current.style[size] = `${getWrapperSize()}px`;
|
|
51
70
|
// reading a dimension prop will cause the browser to recalculate,
|
|
52
71
|
// which will let our animations work
|
|
53
72
|
nodeRef.current.offsetHeight; // eslint-disable-line @typescript-eslint/no-unused-expressions
|
|
@@ -58,15 +77,15 @@ export const Collapse = (props) => {
|
|
|
58
77
|
};
|
|
59
78
|
const handleExiting = () => {
|
|
60
79
|
if (nodeRef.current) {
|
|
61
|
-
nodeRef.current.style
|
|
80
|
+
nodeRef.current.style[size] = '0px';
|
|
62
81
|
}
|
|
63
82
|
if (onExiting) {
|
|
64
83
|
onExiting();
|
|
65
84
|
}
|
|
66
85
|
};
|
|
67
86
|
return (React.createElement(Transition, { in: inProp, timeout: timeout, onEnter: handleEnter, onEntering: handleEntering, onEntered: handleEntered, onExit: handleExit, onExiting: handleExiting, onExited: onExited }, (state) => (React.createElement("div", { ...other, className: cx({
|
|
68
|
-
[stylesBase(timeout)]: true,
|
|
69
|
-
[stylesEntered()]: state === 'entered',
|
|
87
|
+
[stylesBase(timeout, isHorizontal)]: true,
|
|
88
|
+
[stylesEntered(isHorizontal)]: state === 'entered',
|
|
70
89
|
[stylesHidden()]: state === 'exited' && !inProp,
|
|
71
90
|
[className]: !!className,
|
|
72
91
|
}), ref: nodeRef },
|
|
@@ -75,5 +94,6 @@ export const Collapse = (props) => {
|
|
|
75
94
|
Collapse.displayName = 'Collapse';
|
|
76
95
|
Collapse.defaultProps = {
|
|
77
96
|
timeout: 225,
|
|
97
|
+
orientation: 'vertical',
|
|
78
98
|
};
|
|
79
99
|
//# sourceMappingURL=collapse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../src/Collapse/collapse.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"collapse.js","sourceRoot":"","sources":["../../../src/Collapse/collapse.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peculiar/react-components",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.13",
|
|
5
5
|
"author": "PeculiarVentures Team",
|
|
6
6
|
"description": "A simple and customizable component library to build faster, beautiful, and more accessible React applications.",
|
|
7
7
|
"keywords": [
|
|
@@ -93,5 +93,5 @@
|
|
|
93
93
|
"node": ">=12.x"
|
|
94
94
|
},
|
|
95
95
|
"license": "MIT",
|
|
96
|
-
"gitHead": "
|
|
96
|
+
"gitHead": "a51d1131ec5aaece91df20fd3ac855dc1f6a9cab"
|
|
97
97
|
}
|