@d-matrix/utils 1.11.0 → 1.12.1
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/clipboard.d.ts +11 -0
- package/dist/clipboard.js +47 -0
- package/package.json +3 -1
- package/readme.md +7 -3
package/dist/clipboard.d.ts
CHANGED
|
@@ -1 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 复制图片到剪贴板
|
|
3
|
+
* @param element
|
|
4
|
+
* @returns
|
|
5
|
+
*/
|
|
1
6
|
export declare function writeImage(element: HTMLImageElement | null | string): Promise<unknown>;
|
|
7
|
+
/**
|
|
8
|
+
* 复制文本到剪贴板
|
|
9
|
+
* @param text
|
|
10
|
+
* @returns
|
|
11
|
+
*/
|
|
12
|
+
export declare function writeText(text: string): Promise<void>;
|
package/dist/clipboard.js
CHANGED
|
@@ -7,6 +7,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
8
|
});
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* 复制图片到剪贴板
|
|
12
|
+
* @param element
|
|
13
|
+
* @returns
|
|
14
|
+
*/
|
|
10
15
|
export function writeImage(element) {
|
|
11
16
|
return __awaiter(this, void 0, void 0, function* () {
|
|
12
17
|
return new Promise((resolve, reject) => {
|
|
@@ -58,3 +63,45 @@ export function writeImage(element) {
|
|
|
58
63
|
});
|
|
59
64
|
});
|
|
60
65
|
}
|
|
66
|
+
const legacyWriteText = (text) => {
|
|
67
|
+
const $textarea = document.createElement('textarea');
|
|
68
|
+
$textarea.value = text;
|
|
69
|
+
$textarea.id = '__textarea_for_clipboard__';
|
|
70
|
+
$textarea.style.cssText = 'position: fixed; width: 20px; height: 20px; opacity: 0; top: -20px;';
|
|
71
|
+
document.body.appendChild($textarea);
|
|
72
|
+
$textarea.select();
|
|
73
|
+
try {
|
|
74
|
+
const isSuccess = document.execCommand('copy');
|
|
75
|
+
if (!isSuccess && process.env.NODE_ENV === 'development') {
|
|
76
|
+
console.error('复制文本失败, 操作不被支持或未被启用');
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
catch (error) {
|
|
80
|
+
if (process.env.NODE_ENV === 'development') {
|
|
81
|
+
console.error('复制文本失败', error);
|
|
82
|
+
}
|
|
83
|
+
throw error;
|
|
84
|
+
}
|
|
85
|
+
finally {
|
|
86
|
+
document.body.removeChild($textarea);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* 复制文本到剪贴板
|
|
91
|
+
* @param text
|
|
92
|
+
* @returns
|
|
93
|
+
*/
|
|
94
|
+
export function writeText(text) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
if (!navigator.clipboard) {
|
|
97
|
+
legacyWriteText(text);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
return navigator.clipboard.writeText(text).catch((error) => {
|
|
101
|
+
if (process.env.NODE_ENV === 'development') {
|
|
102
|
+
console.error('复制文本失败', error);
|
|
103
|
+
}
|
|
104
|
+
return Promise.reject(error);
|
|
105
|
+
});
|
|
106
|
+
});
|
|
107
|
+
}
|
package/package.json
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d-matrix/utils",
|
|
3
3
|
"sideEffects": false,
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.12.1",
|
|
5
5
|
"description": "A dozen of utils for Front-End Development",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc",
|
|
9
9
|
"prebuild": "npm run clean",
|
|
10
|
+
"postpublish": "echo \"wait for 3 seconds, then sync cnpm\" && npm run wait3s && npm run cnpm:sync",
|
|
10
11
|
"clean": "rimraf dist",
|
|
11
12
|
"cy:open": "cypress open",
|
|
12
13
|
"cy:component": "cypress run --component --spec",
|
|
13
14
|
"cy:component:all": "cypress run --component",
|
|
14
15
|
"test:tsd": "tsd",
|
|
15
16
|
"postversion": "git push && git push --tags",
|
|
17
|
+
"wait3s": "node -e \"setTimeout(() => process.exit(0), 3000)\"",
|
|
16
18
|
"cnpm:sync": "cnpm sync %npm_package_name%"
|
|
17
19
|
},
|
|
18
20
|
"engines": {
|
package/readme.md
CHANGED
|
@@ -20,9 +20,13 @@ A dozen of utils for Front-End Development
|
|
|
20
20
|
|
|
21
21
|
### clipboard
|
|
22
22
|
|
|
23
|
-
- `
|
|
23
|
+
- `writeImage(element: HTMLImageElement | null | string): Promise<void>`
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
复制图片到剪贴板
|
|
26
|
+
|
|
27
|
+
- `writeText(text: string): Promise<void>`
|
|
28
|
+
|
|
29
|
+
复制文本到剪切板
|
|
26
30
|
|
|
27
31
|
### react
|
|
28
32
|
|
|
@@ -143,7 +147,7 @@ dom.strip('测试<em>高亮</em>测试'); // '测试高亮测试'
|
|
|
143
147
|
|
|
144
148
|
创建`start`和`end`之间的年份数组。
|
|
145
149
|
|
|
146
|
-
- `
|
|
150
|
+
- `getYears()`
|
|
147
151
|
|
|
148
152
|
```ts
|
|
149
153
|
export type GetRecentYearsOptions = {
|