@lemon-fe/components 0.1.79 → 0.1.83
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/es/BaseTable/index.less +1 -0
- package/es/ColorPicker/index.d.ts +13 -0
- package/es/ColorPicker/index.js +114 -0
- package/es/ColorPicker/index.less +47 -0
- package/es/Icons/Close.d.ts +5 -0
- package/es/Icons/Close.js +29 -0
- package/es/Icons/index.d.ts +2 -0
- package/es/Icons/index.js +3 -1
- package/es/Table/index.js +3 -3
- package/es/Table/typings.d.ts +0 -1
- package/es/index.d.ts +1 -0
- package/es/index.js +1 -0
- package/es/index.less +1 -0
- package/es/init.js +12 -2
- package/package.json +5 -2
package/es/BaseTable/index.less
CHANGED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface IColorPickerProps {
|
|
3
|
+
/** 选中的颜色,例:rgba(255, 255, 255, 0) */
|
|
4
|
+
value?: string;
|
|
5
|
+
/** 是否禁用透明度 */
|
|
6
|
+
disableAlpha?: boolean;
|
|
7
|
+
/** 颜色变化回调 */
|
|
8
|
+
onChange?: (val: string) => void;
|
|
9
|
+
/** 是否使用渐变选择器 */
|
|
10
|
+
gradientEnable?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const ColorPicker: React.FC<IColorPickerProps>;
|
|
13
|
+
export default ColorPicker;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
|
|
3
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
4
|
+
|
|
5
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
6
|
+
|
|
7
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
8
|
+
|
|
9
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
10
|
+
|
|
11
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
12
|
+
|
|
13
|
+
import { Tooltip } from 'antd';
|
|
14
|
+
import React, { useEffect, useState } from 'react';
|
|
15
|
+
import colorString from 'color-string';
|
|
16
|
+
import ReactGPicker from 'react-gcolor-picker';
|
|
17
|
+
import { SketchPicker } from 'react-color';
|
|
18
|
+
var DEFAULT_COLORS = ['#FFD5B6', '#F5A623', '#F8E71C', '#8B572A', '#7ED321', '#417505', '#BD10E0', '#9013FE', '#456ad4', '#4A90E2', '#50E3C2', '#B8E986', '#000000', '#4A4A4A', '#9B9B9B', '#FFFFFF'];
|
|
19
|
+
var DEFAULT_COLOR = 'rgba(255, 255, 255, 0)';
|
|
20
|
+
|
|
21
|
+
var ColorPicker = function ColorPicker(_ref) {
|
|
22
|
+
var _ref$value = _ref.value,
|
|
23
|
+
value = _ref$value === void 0 ? DEFAULT_COLOR : _ref$value,
|
|
24
|
+
disableAlpha = _ref.disableAlpha,
|
|
25
|
+
gradientEnable = _ref.gradientEnable,
|
|
26
|
+
_onChange = _ref.onChange;
|
|
27
|
+
|
|
28
|
+
var _useState = useState(false),
|
|
29
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
30
|
+
pickerShow = _useState2[0],
|
|
31
|
+
setPickerShow = _useState2[1];
|
|
32
|
+
|
|
33
|
+
var _useState3 = useState(),
|
|
34
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
35
|
+
hexColor = _useState4[0],
|
|
36
|
+
setHexColor = _useState4[1];
|
|
37
|
+
|
|
38
|
+
var _useState5 = useState(),
|
|
39
|
+
_useState6 = _slicedToArray(_useState5, 2),
|
|
40
|
+
alpha = _useState6[0],
|
|
41
|
+
setAlpha = _useState6[1];
|
|
42
|
+
|
|
43
|
+
useEffect(function () {
|
|
44
|
+
if (!gradientEnable) {
|
|
45
|
+
var rgbaColorArr = colorString.get.rgb(value);
|
|
46
|
+
|
|
47
|
+
if (!rgbaColorArr) {
|
|
48
|
+
rgbaColorArr = colorString.get.rgb(DEFAULT_COLOR);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
setHexColor(colorString.to.hex(rgbaColorArr));
|
|
52
|
+
setAlpha(rgbaColorArr[3]);
|
|
53
|
+
}
|
|
54
|
+
}, [value]);
|
|
55
|
+
|
|
56
|
+
var handlePickerShow = function handlePickerShow() {
|
|
57
|
+
setPickerShow(function (val) {
|
|
58
|
+
return !val;
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
var handleColorChange = function handleColorChange(val, event) {
|
|
63
|
+
var _val$rgb$a;
|
|
64
|
+
|
|
65
|
+
event.stopPropagation();
|
|
66
|
+
_onChange === null || _onChange === void 0 ? void 0 : _onChange("rgba(".concat(val.rgb.r, ", ").concat(val.rgb.g, ", ").concat(val.rgb.b, ", ").concat((_val$rgb$a = val.rgb.a) !== null && _val$rgb$a !== void 0 ? _val$rgb$a : 1, ")"));
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement("div", {
|
|
70
|
+
style: {
|
|
71
|
+
border: pickerShow ? '2px solid rgb(69, 143, 255)' : undefined
|
|
72
|
+
},
|
|
73
|
+
className: "lemon-color-picker",
|
|
74
|
+
onClick: handlePickerShow
|
|
75
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
76
|
+
className: "lemon-color-picker-color",
|
|
77
|
+
style: {
|
|
78
|
+
background: value,
|
|
79
|
+
width: gradientEnable ? '100%' : 120
|
|
80
|
+
}
|
|
81
|
+
}), !gradientEnable && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
82
|
+
className: "lemon-color-picker-hex"
|
|
83
|
+
}, hexColor === null || hexColor === void 0 ? void 0 : hexColor.toLocaleUpperCase()), /*#__PURE__*/React.createElement(Tooltip, {
|
|
84
|
+
placement: "topRight",
|
|
85
|
+
title: "\u989C\u8272\u7684\u900F\u660E\u5EA6\uFF0C0\u8868\u793A\u900F\u660E\uFF0C100\u8868\u793A\u4E0D\u900F\u660E"
|
|
86
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
87
|
+
className: "lemon-color-picker-alpha"
|
|
88
|
+
}, Math.floor(Number(alpha) * 100), "%"))), pickerShow && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
89
|
+
className: "lemon-color-picker-pop",
|
|
90
|
+
onClick: function onClick(e) {
|
|
91
|
+
return e.stopPropagation();
|
|
92
|
+
}
|
|
93
|
+
}, gradientEnable ? /*#__PURE__*/React.createElement("div", {
|
|
94
|
+
className: "lemon-color-picker-react-picker"
|
|
95
|
+
}, /*#__PURE__*/React.createElement(ReactGPicker, {
|
|
96
|
+
showAlpha: !disableAlpha,
|
|
97
|
+
value: value,
|
|
98
|
+
onChange: function onChange(v) {
|
|
99
|
+
_onChange === null || _onChange === void 0 ? void 0 : _onChange(v);
|
|
100
|
+
},
|
|
101
|
+
format: "hex",
|
|
102
|
+
gradient: true,
|
|
103
|
+
solid: false
|
|
104
|
+
})) : /*#__PURE__*/React.createElement(SketchPicker, {
|
|
105
|
+
disableAlpha: disableAlpha,
|
|
106
|
+
onChange: handleColorChange,
|
|
107
|
+
color: value,
|
|
108
|
+
presetColors: DEFAULT_COLORS
|
|
109
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
110
|
+
className: "lemon-color-picker-mask"
|
|
111
|
+
}))));
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
export default ColorPicker;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
.lemon-color-picker {
|
|
2
|
+
position: relative;
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
justify-content: space-between;
|
|
6
|
+
height: 36px;
|
|
7
|
+
padding: 6px;
|
|
8
|
+
color: #333;
|
|
9
|
+
border: 1px solid #ccc;
|
|
10
|
+
border-radius: 2px;
|
|
11
|
+
cursor: pointer;
|
|
12
|
+
|
|
13
|
+
&-hex {
|
|
14
|
+
user-select: none;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
&-color {
|
|
18
|
+
width: 120px;
|
|
19
|
+
height: 100%;
|
|
20
|
+
border-radius: 2px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
&-alpha {
|
|
24
|
+
padding: 0 6px 0 12px;
|
|
25
|
+
line-height: 20px;
|
|
26
|
+
border-left: 1px solid #ccc;
|
|
27
|
+
user-select: none;
|
|
28
|
+
}
|
|
29
|
+
&-pop {
|
|
30
|
+
position: absolute;
|
|
31
|
+
top: 40px;
|
|
32
|
+
left: 0;
|
|
33
|
+
z-index: 1000;
|
|
34
|
+
}
|
|
35
|
+
&-react-picker {
|
|
36
|
+
border-radius: 4px;
|
|
37
|
+
box-shadow: #00000026 0 0 0 1px, #00000026 0 8px 16px;
|
|
38
|
+
}
|
|
39
|
+
&-mask {
|
|
40
|
+
position: fixed;
|
|
41
|
+
top: 0;
|
|
42
|
+
left: 0;
|
|
43
|
+
z-index: 800;
|
|
44
|
+
width: 100%;
|
|
45
|
+
height: 100%;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
+
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
|
|
5
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
|
|
7
|
+
import React from 'react';
|
|
8
|
+
import Icon from '@ant-design/icons';
|
|
9
|
+
|
|
10
|
+
var Svg = function Svg(props) {
|
|
11
|
+
return /*#__PURE__*/React.createElement("svg", _objectSpread({
|
|
12
|
+
viewBox: "0 0 1024 1024",
|
|
13
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
14
|
+
width: "16",
|
|
15
|
+
height: "16"
|
|
16
|
+
}, props), /*#__PURE__*/React.createElement("path", {
|
|
17
|
+
d: "m597.796 511.488 215.769-215.77c23.834-23.834 23.834-62.475 0-86.308-23.832-23.832-62.474-23.833-86.307 0l-215.77 215.77-215.77-215.77c-23.834-23.833-62.476-23.833-86.308 0-23.833 23.833-23.834 62.475 0 86.31l215.77 215.768-215.77 215.77c-23.833 23.834-23.833 62.475 0 86.308 23.834 23.834 62.475 23.834 86.309 0l215.768-215.768 215.769 215.77c23.835 23.833 62.476 23.832 86.309 0 23.834-23.835 23.834-62.476 0-86.308l-215.77-215.772z",
|
|
18
|
+
fill: "currentColor"
|
|
19
|
+
}));
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export default function Close(props) {
|
|
23
|
+
return /*#__PURE__*/React.createElement(Icon, _objectSpread({
|
|
24
|
+
style: {
|
|
25
|
+
pointerEvents: 'none'
|
|
26
|
+
},
|
|
27
|
+
component: Svg
|
|
28
|
+
}, props));
|
|
29
|
+
}
|
package/es/Icons/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ import Calendar from './Calendar';
|
|
|
7
7
|
import BigTip from './BigTip';
|
|
8
8
|
import LookUp from './LookUp';
|
|
9
9
|
import CollapseUp from './CollapseUp';
|
|
10
|
+
import Close from './Close';
|
|
10
11
|
declare const Icons: {
|
|
11
12
|
Search: typeof Search;
|
|
12
13
|
Down: typeof Down;
|
|
@@ -18,5 +19,6 @@ declare const Icons: {
|
|
|
18
19
|
BigTip: typeof BigTip;
|
|
19
20
|
LookUp: typeof LookUp;
|
|
20
21
|
CollapseUp: typeof CollapseUp;
|
|
22
|
+
Close: typeof Close;
|
|
21
23
|
};
|
|
22
24
|
export default Icons;
|
package/es/Icons/index.js
CHANGED
|
@@ -8,6 +8,7 @@ import Calendar from './Calendar';
|
|
|
8
8
|
import BigTip from './BigTip';
|
|
9
9
|
import LookUp from './LookUp';
|
|
10
10
|
import CollapseUp from './CollapseUp';
|
|
11
|
+
import Close from './Close';
|
|
11
12
|
var Icons = {
|
|
12
13
|
Search: Search,
|
|
13
14
|
Down: Down,
|
|
@@ -18,6 +19,7 @@ var Icons = {
|
|
|
18
19
|
Calendar: Calendar,
|
|
19
20
|
BigTip: BigTip,
|
|
20
21
|
LookUp: LookUp,
|
|
21
|
-
CollapseUp: CollapseUp
|
|
22
|
+
CollapseUp: CollapseUp,
|
|
23
|
+
Close: Close
|
|
22
24
|
};
|
|
23
25
|
export default Icons;
|
package/es/Table/index.js
CHANGED
|
@@ -50,7 +50,7 @@ export default function Table(props) {
|
|
|
50
50
|
current = _useState2[0],
|
|
51
51
|
setCurrent = _useState2[1];
|
|
52
52
|
|
|
53
|
-
var _useState3 = useState(
|
|
53
|
+
var _useState3 = useState(pagination && pagination.pageSize || defaultPageSize),
|
|
54
54
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
55
55
|
pageSize = _useState4[0],
|
|
56
56
|
setPageSize = _useState4[1];
|
|
@@ -227,10 +227,10 @@ export default function Table(props) {
|
|
|
227
227
|
src: empty
|
|
228
228
|
}), /*#__PURE__*/React.createElement("div", null, remote.error.message))
|
|
229
229
|
} : undefined,
|
|
230
|
-
pagination: _objectSpread({
|
|
230
|
+
pagination: pagination !== false ? _objectSpread({
|
|
231
231
|
current: current,
|
|
232
232
|
pageSize: pageSize,
|
|
233
233
|
total: total
|
|
234
|
-
}, pagination)
|
|
234
|
+
}, pagination) : false
|
|
235
235
|
}, restProps));
|
|
236
236
|
}
|
package/es/Table/typings.d.ts
CHANGED
package/es/index.d.ts
CHANGED
|
@@ -12,6 +12,7 @@ export type { TableProps, TableRef } from './Table/typings';
|
|
|
12
12
|
export { default as DurationPicker } from './DurationPicker';
|
|
13
13
|
export { default as InputMaxLength } from './InputMaxLength';
|
|
14
14
|
export { default as TipMark } from './TipMark';
|
|
15
|
+
export { default as ColorPicker } from './ColorPicker';
|
|
15
16
|
export { default as EditableTable } from './EditableTable';
|
|
16
17
|
export { default as EditableCell } from './EditableTable/EditableCell';
|
|
17
18
|
export type { EditableTableProps, EditableTableColumnType, EditableCellFocusedType, EditableTableRef, EditableTableRule, } from './EditableTable/typings';
|
package/es/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export { default as Table } from './Table';
|
|
|
9
9
|
export { default as DurationPicker } from './DurationPicker';
|
|
10
10
|
export { default as InputMaxLength } from './InputMaxLength';
|
|
11
11
|
export { default as TipMark } from './TipMark';
|
|
12
|
+
export { default as ColorPicker } from './ColorPicker';
|
|
12
13
|
export { default as EditableTable } from './EditableTable';
|
|
13
14
|
export { default as EditableCell } from './EditableTable/EditableCell';
|
|
14
15
|
export { default as Popup } from './Popup';
|
package/es/index.less
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
@import './DurationPicker/index.less';
|
|
12
12
|
@import './InputMaxLength/index.less';
|
|
13
13
|
@import './TipMark/index.less';
|
|
14
|
+
@import './ColorPicker/index.less';
|
|
14
15
|
@import './Popup/index.less';
|
|
15
16
|
@import './SiderTree/index.less';
|
|
16
17
|
@import './FormLayout/index.less';
|
package/es/init.js
CHANGED
|
@@ -7,13 +7,14 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
|
|
|
7
7
|
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
8
8
|
|
|
9
9
|
import React from 'react';
|
|
10
|
-
import { message, Modal, Select, ConfigProvider, Result, Button, version, DatePicker, Cascader } from 'antd';
|
|
10
|
+
import { message, Modal, Select, ConfigProvider, Result, Button, version, DatePicker, Cascader, TreeSelect } from 'antd';
|
|
11
11
|
import { config } from '@lemon-fe/hooks';
|
|
12
12
|
import PageLoading from './PageLoading';
|
|
13
13
|
import Icons from './Icons';
|
|
14
14
|
var Tip = Icons.Tip,
|
|
15
15
|
Down = Icons.Down,
|
|
16
|
-
BigTip = Icons.BigTip
|
|
16
|
+
BigTip = Icons.BigTip,
|
|
17
|
+
Close = Icons.Close;
|
|
17
18
|
export default function init() {
|
|
18
19
|
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
19
20
|
|
|
@@ -86,6 +87,9 @@ export default function init() {
|
|
|
86
87
|
}, arguments.length <= 0 ? undefined : arguments[0]));
|
|
87
88
|
};
|
|
88
89
|
|
|
90
|
+
Modal.defaultProps = _objectSpread(_objectSpread({}, Modal.defaultProps), {}, {
|
|
91
|
+
closeIcon: /*#__PURE__*/React.createElement(Close, null)
|
|
92
|
+
});
|
|
89
93
|
var node = /*#__PURE__*/React.createElement(Down, null); //@ts-ignore
|
|
90
94
|
|
|
91
95
|
Select.defaultProps = {
|
|
@@ -94,6 +98,12 @@ export default function init() {
|
|
|
94
98
|
}
|
|
95
99
|
}; //@ts-ignore
|
|
96
100
|
|
|
101
|
+
TreeSelect.defaultProps = {
|
|
102
|
+
suffixIcon: version >= '4.18.9' ? node : function () {
|
|
103
|
+
return node;
|
|
104
|
+
}
|
|
105
|
+
}; //@ts-ignore
|
|
106
|
+
|
|
97
107
|
Cascader.defaultProps = {
|
|
98
108
|
suffixIcon: node
|
|
99
109
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lemon-fe/components",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.83",
|
|
4
4
|
"description": "> TODO: description",
|
|
5
5
|
"author": "鲁盛杰 <lusj@cnlemon.net>",
|
|
6
6
|
"homepage": "",
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
"@lemon-fe/hooks": "^0.1.67",
|
|
20
20
|
"classnames": "^2.2.6",
|
|
21
21
|
"lodash": "^4.17.21",
|
|
22
|
+
"react-color": "^2.19.3",
|
|
23
|
+
"react-gcolor-picker": "^1.2.4",
|
|
22
24
|
"react-resizable": "^3.0.4"
|
|
23
25
|
},
|
|
24
26
|
"peerDependencies": {
|
|
@@ -35,11 +37,12 @@
|
|
|
35
37
|
"devDependencies": {
|
|
36
38
|
"@types/color-string": "^1.5.2",
|
|
37
39
|
"@types/lodash": "^4.14.179",
|
|
40
|
+
"@types/react-color": "^3.0.6",
|
|
38
41
|
"@types/react-resizable": "^1.7.4",
|
|
39
42
|
"antd": "^4.21.6",
|
|
40
43
|
"rc-resize-observer": "^1.2.0",
|
|
41
44
|
"react": "^17.0.2",
|
|
42
45
|
"react-dom": "^17.0.2"
|
|
43
46
|
},
|
|
44
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "c46d732e1c08a3217d196359809778796589745d"
|
|
45
48
|
}
|