@arcblock/ux 1.14.51 → 1.14.52
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/lib/CodeBlock/index.js +26 -3
- package/package.json +4 -4
package/lib/CodeBlock/index.js
CHANGED
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = CodeBlock;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
11
|
|
|
@@ -15,6 +15,8 @@ var _copyToClipboard = _interopRequireDefault(require("copy-to-clipboard"));
|
|
|
15
15
|
|
|
16
16
|
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
17
17
|
|
|
18
|
+
var _useMountedState = _interopRequireDefault(require("react-use/lib/useMountedState"));
|
|
19
|
+
|
|
18
20
|
var _highlight = _interopRequireDefault(require("highlight.js/lib/highlight"));
|
|
19
21
|
|
|
20
22
|
var _javascript = _interopRequireDefault(require("highlight.js/lib/languages/javascript"));
|
|
@@ -47,10 +49,16 @@ require("highlight.js/styles/atom-one-dark.css");
|
|
|
47
49
|
|
|
48
50
|
var _FileCopy = _interopRequireDefault(require("@material-ui/icons/FileCopy"));
|
|
49
51
|
|
|
52
|
+
var _Check = _interopRequireDefault(require("@material-ui/icons/Check"));
|
|
53
|
+
|
|
50
54
|
const _excluded = ["code", "language", "children"];
|
|
51
55
|
|
|
52
56
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
53
57
|
|
|
58
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
59
|
+
|
|
60
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
61
|
+
|
|
54
62
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
55
63
|
|
|
56
64
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
@@ -107,10 +115,19 @@ function CodeBlock(_ref) {
|
|
|
107
115
|
} = _ref,
|
|
108
116
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
109
117
|
|
|
118
|
+
const [copied, setCopied] = (0, _react.useState)(false);
|
|
119
|
+
const isMounted = (0, _useMountedState.default)();
|
|
110
120
|
const source = code || children;
|
|
111
121
|
|
|
112
122
|
const onCopy = () => {
|
|
113
123
|
(0, _copyToClipboard.default)(source);
|
|
124
|
+
setCopied(true); // 恢复 copied 状态
|
|
125
|
+
|
|
126
|
+
setTimeout(() => {
|
|
127
|
+
if (isMounted()) {
|
|
128
|
+
setCopied(false);
|
|
129
|
+
}
|
|
130
|
+
}, 1500);
|
|
114
131
|
};
|
|
115
132
|
|
|
116
133
|
return /*#__PURE__*/_react.default.createElement(Pre, rest, /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -124,8 +141,14 @@ function CodeBlock(_ref) {
|
|
|
124
141
|
className: "copy-button",
|
|
125
142
|
onClick: onCopy,
|
|
126
143
|
tabIndex: "-1",
|
|
127
|
-
color: "primary"
|
|
128
|
-
|
|
144
|
+
color: "primary",
|
|
145
|
+
disabled: copied
|
|
146
|
+
}, !copied && /*#__PURE__*/_react.default.createElement(_FileCopy.default, {
|
|
147
|
+
style: {
|
|
148
|
+
color: '#fff',
|
|
149
|
+
fontSize: 16
|
|
150
|
+
}
|
|
151
|
+
}), copied && /*#__PURE__*/_react.default.createElement(_Check.default, {
|
|
129
152
|
style: {
|
|
130
153
|
color: '#fff',
|
|
131
154
|
fontSize: 16
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@arcblock/ux",
|
|
3
|
-
"version": "1.14.
|
|
3
|
+
"version": "1.14.52",
|
|
4
4
|
"description": "Common used react components for arcblock products",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
"react": ">=16.12.0",
|
|
53
53
|
"react-ga": "^2.7.0"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "50a4465c6e13edc0e698ec47e0e196e65980321c",
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@arcblock/icons": "^1.14.
|
|
58
|
-
"@arcblock/react-hooks": "^1.14.
|
|
57
|
+
"@arcblock/icons": "^1.14.52",
|
|
58
|
+
"@arcblock/react-hooks": "^1.14.52",
|
|
59
59
|
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
|
60
60
|
"@material-ui/core": "^4.10.1",
|
|
61
61
|
"@material-ui/icons": "4.5.1",
|