@dhis2-ui/modal 9.12.0-alpha.4 → 9.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/cjs/modal/modal.js +2 -6
- package/build/cjs/modal/modal.test.js +8 -8
- package/build/cjs/modal-actions/modal-actions.js +1 -4
- package/build/cjs/modal-content/modal-content.js +1 -4
- package/build/cjs/modal-title/modal-title.js +1 -4
- package/build/es/modal/modal.js +2 -6
- package/build/es/modal/modal.test.js +8 -8
- package/build/es/modal-actions/modal-actions.js +1 -4
- package/build/es/modal-content/modal-content.js +1 -4
- package/build/es/modal-title/modal-title.js +1 -4
- package/package.json +11 -11
package/build/cjs/modal/modal.js
CHANGED
|
@@ -27,12 +27,12 @@ const Modal = _ref => {
|
|
|
27
27
|
let {
|
|
28
28
|
children,
|
|
29
29
|
className,
|
|
30
|
-
dataTest,
|
|
30
|
+
dataTest = 'dhis2-uicore-modal',
|
|
31
31
|
hide,
|
|
32
32
|
fluid,
|
|
33
33
|
large,
|
|
34
34
|
onClose,
|
|
35
|
-
position,
|
|
35
|
+
position = 'top',
|
|
36
36
|
small
|
|
37
37
|
} = _ref;
|
|
38
38
|
const layerStyles = resolveLayerStyles(hide);
|
|
@@ -77,10 +77,6 @@ const Modal = _ref => {
|
|
|
77
77
|
}, [`aside.__jsx-style-dynamic-selector{height:auto;width:600px;max-width:calc(100vw - ${2 * _uiConstants.spacersNum.dp64}px);max-height:calc(100vh - ${2 * _uiConstants.spacersNum.dp64}px);}`, "aside.small.__jsx-style-dynamic-selector{width:400px;}", "aside.large.__jsx-style-dynamic-selector{width:800px;}", "aside.fluid.__jsx-style-dynamic-selector{width:auto;}", `div.__jsx-style-dynamic-selector{padding:24px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;max-width:calc(100vw - ${2 * _uiConstants.spacersNum.dp64}px);max-height:calc(100vh - ${2 * _uiConstants.spacersNum.dp64}px);}`]));
|
|
78
78
|
};
|
|
79
79
|
exports.Modal = Modal;
|
|
80
|
-
Modal.defaultProps = {
|
|
81
|
-
dataTest: 'dhis2-uicore-modal',
|
|
82
|
-
position: 'top'
|
|
83
|
-
};
|
|
84
80
|
Modal.propTypes = {
|
|
85
81
|
children: _propTypes.default.node,
|
|
86
82
|
className: _propTypes.default.string,
|
|
@@ -9,7 +9,7 @@ describe('Modal', () => {
|
|
|
9
9
|
describe('Modal Accessibility', () => {
|
|
10
10
|
it('closes when ESC key is pressed', () => {
|
|
11
11
|
const onCloseMock = jest.fn();
|
|
12
|
-
(0, _react.render)(
|
|
12
|
+
(0, _react.render)(/*#__PURE__*/_react2.default.createElement(_modal.Modal, {
|
|
13
13
|
onClose: onCloseMock
|
|
14
14
|
}));
|
|
15
15
|
const modalElement = _react.screen.getByRole('dialog');
|
|
@@ -21,7 +21,7 @@ describe('Modal', () => {
|
|
|
21
21
|
});
|
|
22
22
|
it('does not close when "Enter" is pressed', () => {
|
|
23
23
|
const onCloseMock = jest.fn();
|
|
24
|
-
(0, _react.render)(
|
|
24
|
+
(0, _react.render)(/*#__PURE__*/_react2.default.createElement(_modal.Modal, {
|
|
25
25
|
onClose: onCloseMock
|
|
26
26
|
}));
|
|
27
27
|
const modalElement = _react.screen.getByRole('dialog');
|
|
@@ -33,7 +33,7 @@ describe('Modal', () => {
|
|
|
33
33
|
});
|
|
34
34
|
it('does not close when "SpaceBar" is pressed', () => {
|
|
35
35
|
const onCloseMock = jest.fn();
|
|
36
|
-
(0, _react.render)(
|
|
36
|
+
(0, _react.render)(/*#__PURE__*/_react2.default.createElement(_modal.Modal, {
|
|
37
37
|
onClose: onCloseMock
|
|
38
38
|
}));
|
|
39
39
|
const modalElement = _react.screen.getByRole('dialog');
|
|
@@ -44,7 +44,7 @@ describe('Modal', () => {
|
|
|
44
44
|
expect(onCloseMock).not.toHaveBeenCalled();
|
|
45
45
|
});
|
|
46
46
|
it('has a close button with proper accessibility attributes', async () => {
|
|
47
|
-
(0, _react.render)(
|
|
47
|
+
(0, _react.render)(/*#__PURE__*/_react2.default.createElement(_closeButton.CloseButton, null));
|
|
48
48
|
const closeButton = await _react.screen.findByLabelText(/Close modal dialog/);
|
|
49
49
|
expect(closeButton).toBeInTheDocument();
|
|
50
50
|
expect(closeButton.tagName).toBe('BUTTON');
|
|
@@ -52,7 +52,7 @@ describe('Modal', () => {
|
|
|
52
52
|
});
|
|
53
53
|
describe('Regular dimensions', () => {
|
|
54
54
|
it('has the correct dimension styles in its default state', () => {
|
|
55
|
-
(0, _react.render)(
|
|
55
|
+
(0, _react.render)(/*#__PURE__*/_react2.default.createElement(_modal.Modal, null));
|
|
56
56
|
const modalEl = _react.screen.getByRole('dialog');
|
|
57
57
|
const style = window.getComputedStyle(modalEl);
|
|
58
58
|
expect(style.height).toBe('auto');
|
|
@@ -61,7 +61,7 @@ describe('Modal', () => {
|
|
|
61
61
|
expect(style.width).toBe('600px');
|
|
62
62
|
});
|
|
63
63
|
it('has the correct dimension styles when the "small" prop is provided', () => {
|
|
64
|
-
(0, _react.render)(
|
|
64
|
+
(0, _react.render)(/*#__PURE__*/_react2.default.createElement(_modal.Modal, {
|
|
65
65
|
small: true
|
|
66
66
|
}));
|
|
67
67
|
const modalEl = _react.screen.getByRole('dialog');
|
|
@@ -72,7 +72,7 @@ describe('Modal', () => {
|
|
|
72
72
|
expect(style.width).toBe('400px');
|
|
73
73
|
});
|
|
74
74
|
it('has the correct dimension styles when the "large" prop is provided', () => {
|
|
75
|
-
(0, _react.render)(
|
|
75
|
+
(0, _react.render)(/*#__PURE__*/_react2.default.createElement(_modal.Modal, {
|
|
76
76
|
large: true
|
|
77
77
|
}));
|
|
78
78
|
const modalEl = _react.screen.getByRole('dialog');
|
|
@@ -83,7 +83,7 @@ describe('Modal', () => {
|
|
|
83
83
|
expect(style.width).toBe('800px');
|
|
84
84
|
});
|
|
85
85
|
it('has the correct dimension styles when the "fluid" prop is provided', () => {
|
|
86
|
-
(0, _react.render)(
|
|
86
|
+
(0, _react.render)(/*#__PURE__*/_react2.default.createElement(_modal.Modal, {
|
|
87
87
|
fluid: true
|
|
88
88
|
}));
|
|
89
89
|
const modalEl = _react.screen.getByRole('dialog');
|
|
@@ -12,7 +12,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
12
12
|
const ModalActions = _ref => {
|
|
13
13
|
let {
|
|
14
14
|
children,
|
|
15
|
-
dataTest
|
|
15
|
+
dataTest = 'dhis2-uicore-modalactions'
|
|
16
16
|
} = _ref;
|
|
17
17
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
18
18
|
"data-test": dataTest,
|
|
@@ -23,9 +23,6 @@ const ModalActions = _ref => {
|
|
|
23
23
|
}, [`div.__jsx-style-dynamic-selector{-webkit-order:3;-ms-flex-order:3;order:3;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;margin:${_uiConstants.spacers.dp16} 0 0;}`]));
|
|
24
24
|
};
|
|
25
25
|
exports.ModalActions = ModalActions;
|
|
26
|
-
ModalActions.defaultProps = {
|
|
27
|
-
dataTest: 'dhis2-uicore-modalactions'
|
|
28
|
-
};
|
|
29
26
|
ModalActions.propTypes = {
|
|
30
27
|
children: _propTypes.default.node,
|
|
31
28
|
dataTest: _propTypes.default.string
|
|
@@ -12,7 +12,7 @@ const ModalContent = _ref => {
|
|
|
12
12
|
let {
|
|
13
13
|
children,
|
|
14
14
|
className,
|
|
15
|
-
dataTest
|
|
15
|
+
dataTest = 'dhis2-uicore-modalcontent'
|
|
16
16
|
} = _ref;
|
|
17
17
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
18
18
|
"data-test": dataTest,
|
|
@@ -22,9 +22,6 @@ const ModalContent = _ref => {
|
|
|
22
22
|
}, ["div.jsx-3719215021{-webkit-order:2;-ms-flex-order:2;order:2;-webkit-box-flex:2;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2;overflow-y:auto;}"]));
|
|
23
23
|
};
|
|
24
24
|
exports.ModalContent = ModalContent;
|
|
25
|
-
ModalContent.defaultProps = {
|
|
26
|
-
dataTest: 'dhis2-uicore-modalcontent'
|
|
27
|
-
};
|
|
28
25
|
ModalContent.propTypes = {
|
|
29
26
|
children: _propTypes.default.node,
|
|
30
27
|
className: _propTypes.default.string,
|
|
@@ -13,7 +13,7 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
|
|
|
13
13
|
const ModalTitle = _ref => {
|
|
14
14
|
let {
|
|
15
15
|
children,
|
|
16
|
-
dataTest
|
|
16
|
+
dataTest = 'dhis2-uicore-modaltitle'
|
|
17
17
|
} = _ref;
|
|
18
18
|
return /*#__PURE__*/_react.default.createElement("h1", {
|
|
19
19
|
"data-test": dataTest,
|
|
@@ -24,9 +24,6 @@ const ModalTitle = _ref => {
|
|
|
24
24
|
}, [`h1.__jsx-style-dynamic-selector{-webkit-order:1;-ms-flex-order:1;order:1;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;color:${_uiConstants.colors.grey900};font-size:20px;font-weight:500;line-height:24px;margin:0 0 ${_uiConstants.spacers.dp12};}`]));
|
|
25
25
|
};
|
|
26
26
|
exports.ModalTitle = ModalTitle;
|
|
27
|
-
ModalTitle.defaultProps = {
|
|
28
|
-
dataTest: 'dhis2-uicore-modaltitle'
|
|
29
|
-
};
|
|
30
27
|
ModalTitle.propTypes = {
|
|
31
28
|
children: _propTypes.default.node,
|
|
32
29
|
dataTest: _propTypes.default.string
|
package/build/es/modal/modal.js
CHANGED
|
@@ -18,12 +18,12 @@ export const Modal = _ref => {
|
|
|
18
18
|
let {
|
|
19
19
|
children,
|
|
20
20
|
className,
|
|
21
|
-
dataTest,
|
|
21
|
+
dataTest = 'dhis2-uicore-modal',
|
|
22
22
|
hide,
|
|
23
23
|
fluid,
|
|
24
24
|
large,
|
|
25
25
|
onClose,
|
|
26
|
-
position,
|
|
26
|
+
position = 'top',
|
|
27
27
|
small
|
|
28
28
|
} = _ref;
|
|
29
29
|
const layerStyles = resolveLayerStyles(hide);
|
|
@@ -67,10 +67,6 @@ export const Modal = _ref => {
|
|
|
67
67
|
dynamic: [2 * spacersNum.dp64, 2 * spacersNum.dp64, 2 * spacersNum.dp64, 2 * spacersNum.dp64]
|
|
68
68
|
}, [`aside.__jsx-style-dynamic-selector{height:auto;width:600px;max-width:calc(100vw - ${2 * spacersNum.dp64}px);max-height:calc(100vh - ${2 * spacersNum.dp64}px);}`, "aside.small.__jsx-style-dynamic-selector{width:400px;}", "aside.large.__jsx-style-dynamic-selector{width:800px;}", "aside.fluid.__jsx-style-dynamic-selector{width:auto;}", `div.__jsx-style-dynamic-selector{padding:24px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-flow:column;-ms-flex-flow:column;flex-flow:column;max-width:calc(100vw - ${2 * spacersNum.dp64}px);max-height:calc(100vh - ${2 * spacersNum.dp64}px);}`]));
|
|
69
69
|
};
|
|
70
|
-
Modal.defaultProps = {
|
|
71
|
-
dataTest: 'dhis2-uicore-modal',
|
|
72
|
-
position: 'top'
|
|
73
|
-
};
|
|
74
70
|
Modal.propTypes = {
|
|
75
71
|
children: PropTypes.node,
|
|
76
72
|
className: PropTypes.string,
|
|
@@ -6,7 +6,7 @@ describe('Modal', () => {
|
|
|
6
6
|
describe('Modal Accessibility', () => {
|
|
7
7
|
it('closes when ESC key is pressed', () => {
|
|
8
8
|
const onCloseMock = jest.fn();
|
|
9
|
-
render(
|
|
9
|
+
render(/*#__PURE__*/React.createElement(Modal, {
|
|
10
10
|
onClose: onCloseMock
|
|
11
11
|
}));
|
|
12
12
|
const modalElement = screen.getByRole('dialog');
|
|
@@ -18,7 +18,7 @@ describe('Modal', () => {
|
|
|
18
18
|
});
|
|
19
19
|
it('does not close when "Enter" is pressed', () => {
|
|
20
20
|
const onCloseMock = jest.fn();
|
|
21
|
-
render(
|
|
21
|
+
render(/*#__PURE__*/React.createElement(Modal, {
|
|
22
22
|
onClose: onCloseMock
|
|
23
23
|
}));
|
|
24
24
|
const modalElement = screen.getByRole('dialog');
|
|
@@ -30,7 +30,7 @@ describe('Modal', () => {
|
|
|
30
30
|
});
|
|
31
31
|
it('does not close when "SpaceBar" is pressed', () => {
|
|
32
32
|
const onCloseMock = jest.fn();
|
|
33
|
-
render(
|
|
33
|
+
render(/*#__PURE__*/React.createElement(Modal, {
|
|
34
34
|
onClose: onCloseMock
|
|
35
35
|
}));
|
|
36
36
|
const modalElement = screen.getByRole('dialog');
|
|
@@ -41,7 +41,7 @@ describe('Modal', () => {
|
|
|
41
41
|
expect(onCloseMock).not.toHaveBeenCalled();
|
|
42
42
|
});
|
|
43
43
|
it('has a close button with proper accessibility attributes', async () => {
|
|
44
|
-
render(
|
|
44
|
+
render(/*#__PURE__*/React.createElement(CloseButton, null));
|
|
45
45
|
const closeButton = await screen.findByLabelText(/Close modal dialog/);
|
|
46
46
|
expect(closeButton).toBeInTheDocument();
|
|
47
47
|
expect(closeButton.tagName).toBe('BUTTON');
|
|
@@ -49,7 +49,7 @@ describe('Modal', () => {
|
|
|
49
49
|
});
|
|
50
50
|
describe('Regular dimensions', () => {
|
|
51
51
|
it('has the correct dimension styles in its default state', () => {
|
|
52
|
-
render(
|
|
52
|
+
render(/*#__PURE__*/React.createElement(Modal, null));
|
|
53
53
|
const modalEl = screen.getByRole('dialog');
|
|
54
54
|
const style = window.getComputedStyle(modalEl);
|
|
55
55
|
expect(style.height).toBe('auto');
|
|
@@ -58,7 +58,7 @@ describe('Modal', () => {
|
|
|
58
58
|
expect(style.width).toBe('600px');
|
|
59
59
|
});
|
|
60
60
|
it('has the correct dimension styles when the "small" prop is provided', () => {
|
|
61
|
-
render(
|
|
61
|
+
render(/*#__PURE__*/React.createElement(Modal, {
|
|
62
62
|
small: true
|
|
63
63
|
}));
|
|
64
64
|
const modalEl = screen.getByRole('dialog');
|
|
@@ -69,7 +69,7 @@ describe('Modal', () => {
|
|
|
69
69
|
expect(style.width).toBe('400px');
|
|
70
70
|
});
|
|
71
71
|
it('has the correct dimension styles when the "large" prop is provided', () => {
|
|
72
|
-
render(
|
|
72
|
+
render(/*#__PURE__*/React.createElement(Modal, {
|
|
73
73
|
large: true
|
|
74
74
|
}));
|
|
75
75
|
const modalEl = screen.getByRole('dialog');
|
|
@@ -80,7 +80,7 @@ describe('Modal', () => {
|
|
|
80
80
|
expect(style.width).toBe('800px');
|
|
81
81
|
});
|
|
82
82
|
it('has the correct dimension styles when the "fluid" prop is provided', () => {
|
|
83
|
-
render(
|
|
83
|
+
render(/*#__PURE__*/React.createElement(Modal, {
|
|
84
84
|
fluid: true
|
|
85
85
|
}));
|
|
86
86
|
const modalEl = screen.getByRole('dialog');
|
|
@@ -5,7 +5,7 @@ import React from 'react';
|
|
|
5
5
|
export const ModalActions = _ref => {
|
|
6
6
|
let {
|
|
7
7
|
children,
|
|
8
|
-
dataTest
|
|
8
|
+
dataTest = 'dhis2-uicore-modalactions'
|
|
9
9
|
} = _ref;
|
|
10
10
|
return /*#__PURE__*/React.createElement("div", {
|
|
11
11
|
"data-test": dataTest,
|
|
@@ -15,9 +15,6 @@ export const ModalActions = _ref => {
|
|
|
15
15
|
dynamic: [spacers.dp16]
|
|
16
16
|
}, [`div.__jsx-style-dynamic-selector{-webkit-order:3;-ms-flex-order:3;order:3;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:end;-webkit-justify-content:flex-end;-ms-flex-pack:end;justify-content:flex-end;-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;margin:${spacers.dp16} 0 0;}`]));
|
|
17
17
|
};
|
|
18
|
-
ModalActions.defaultProps = {
|
|
19
|
-
dataTest: 'dhis2-uicore-modalactions'
|
|
20
|
-
};
|
|
21
18
|
ModalActions.propTypes = {
|
|
22
19
|
children: PropTypes.node,
|
|
23
20
|
dataTest: PropTypes.string
|
|
@@ -5,7 +5,7 @@ export const ModalContent = _ref => {
|
|
|
5
5
|
let {
|
|
6
6
|
children,
|
|
7
7
|
className,
|
|
8
|
-
dataTest
|
|
8
|
+
dataTest = 'dhis2-uicore-modalcontent'
|
|
9
9
|
} = _ref;
|
|
10
10
|
return /*#__PURE__*/React.createElement("div", {
|
|
11
11
|
"data-test": dataTest,
|
|
@@ -14,9 +14,6 @@ export const ModalContent = _ref => {
|
|
|
14
14
|
id: "3719215021"
|
|
15
15
|
}, ["div.jsx-3719215021{-webkit-order:2;-ms-flex-order:2;order:2;-webkit-box-flex:2;-webkit-flex-grow:2;-ms-flex-positive:2;flex-grow:2;overflow-y:auto;}"]));
|
|
16
16
|
};
|
|
17
|
-
ModalContent.defaultProps = {
|
|
18
|
-
dataTest: 'dhis2-uicore-modalcontent'
|
|
19
|
-
};
|
|
20
17
|
ModalContent.propTypes = {
|
|
21
18
|
children: PropTypes.node,
|
|
22
19
|
className: PropTypes.string,
|
|
@@ -6,7 +6,7 @@ import React from 'react';
|
|
|
6
6
|
export const ModalTitle = _ref => {
|
|
7
7
|
let {
|
|
8
8
|
children,
|
|
9
|
-
dataTest
|
|
9
|
+
dataTest = 'dhis2-uicore-modaltitle'
|
|
10
10
|
} = _ref;
|
|
11
11
|
return /*#__PURE__*/React.createElement("h1", {
|
|
12
12
|
"data-test": dataTest,
|
|
@@ -16,9 +16,6 @@ export const ModalTitle = _ref => {
|
|
|
16
16
|
dynamic: [colors.grey900, spacers.dp12]
|
|
17
17
|
}, [`h1.__jsx-style-dynamic-selector{-webkit-order:1;-ms-flex-order:1;order:1;-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;color:${colors.grey900};font-size:20px;font-weight:500;line-height:24px;margin:0 0 ${spacers.dp12};}`]));
|
|
18
18
|
};
|
|
19
|
-
ModalTitle.defaultProps = {
|
|
20
|
-
dataTest: 'dhis2-uicore-modaltitle'
|
|
21
|
-
};
|
|
22
19
|
ModalTitle.propTypes = {
|
|
23
20
|
children: PropTypes.node,
|
|
24
21
|
dataTest: PropTypes.string
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dhis2-ui/modal",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.13.0",
|
|
4
4
|
"description": "UI Modal",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -27,18 +27,18 @@
|
|
|
27
27
|
"test": "d2-app-scripts test --jestConfig ../../jest.config.shared.js"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"react": "^16.13",
|
|
31
|
-
"react-dom": "^16.13",
|
|
30
|
+
"react": "^16.13 || ^18",
|
|
31
|
+
"react-dom": "^16.13 || ^18",
|
|
32
32
|
"styled-jsx": "^4"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@dhis2/prop-types": "^3.1.2",
|
|
36
|
-
"@dhis2-ui/card": "9.
|
|
37
|
-
"@dhis2-ui/center": "9.
|
|
38
|
-
"@dhis2-ui/layer": "9.
|
|
39
|
-
"@dhis2-ui/portal": "9.
|
|
40
|
-
"@dhis2/ui-constants": "9.
|
|
41
|
-
"@dhis2/ui-icons": "9.
|
|
36
|
+
"@dhis2-ui/card": "9.13.0",
|
|
37
|
+
"@dhis2-ui/center": "9.13.0",
|
|
38
|
+
"@dhis2-ui/layer": "9.13.0",
|
|
39
|
+
"@dhis2-ui/portal": "9.13.0",
|
|
40
|
+
"@dhis2/ui-constants": "9.13.0",
|
|
41
|
+
"@dhis2/ui-icons": "9.13.0",
|
|
42
42
|
"classnames": "^2.3.1",
|
|
43
43
|
"prop-types": "^15.7.2"
|
|
44
44
|
},
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"types"
|
|
48
48
|
],
|
|
49
49
|
"devDependencies": {
|
|
50
|
-
"react": "
|
|
51
|
-
"react-dom": "
|
|
50
|
+
"react": "^18.3.1",
|
|
51
|
+
"react-dom": "^18.3.1",
|
|
52
52
|
"styled-jsx": "^4.0.1"
|
|
53
53
|
},
|
|
54
54
|
"types": "types"
|