slate-angular 17.3.0 → 17.4.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.
|
@@ -34,11 +34,12 @@ export const createClipboardData = (html, elements, text, files) => {
|
|
|
34
34
|
export const getClipboardData = async (dataTransfer) => {
|
|
35
35
|
let clipboardData = null;
|
|
36
36
|
if (dataTransfer) {
|
|
37
|
+
let filesData = {};
|
|
37
38
|
if (dataTransfer.files.length) {
|
|
38
|
-
|
|
39
|
+
filesData = { ...filesData, files: Array.from(dataTransfer.files) };
|
|
39
40
|
}
|
|
40
41
|
clipboardData = getDataTransferClipboard(dataTransfer);
|
|
41
|
-
return clipboardData;
|
|
42
|
+
return { ...clipboardData, ...filesData };
|
|
42
43
|
}
|
|
43
44
|
if (isClipboardReadSupported()) {
|
|
44
45
|
return await getNavigatorClipboard();
|
|
@@ -58,7 +59,7 @@ export const setClipboardData = async (clipboardData, wrapper, attach, dataTrans
|
|
|
58
59
|
if (isClipboardWriteSupported()) {
|
|
59
60
|
const htmlText = buildHTMLText(wrapper, attach, elements);
|
|
60
61
|
// TODO
|
|
61
|
-
// maybe fail to write when copy some cell in table
|
|
62
|
+
// maybe fail to write when copy some cell in table
|
|
62
63
|
return await setNavigatorClipboard(htmlText, elements, text);
|
|
63
64
|
}
|
|
64
65
|
if (dataTransfer) {
|
|
@@ -74,4 +75,4 @@ export const setClipboardData = async (clipboardData, wrapper, attach, dataTrans
|
|
|
74
75
|
return await navigator.clipboard.writeText(htmlText);
|
|
75
76
|
}
|
|
76
77
|
};
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2NsaXBib2FyZC9jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLDRCQUE0QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLDZCQUE2QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTlHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFvQixFQUFFLE1BQW1CLEVBQUUsSUFBZSxFQUFFLEVBQUU7SUFDeEYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxJQUFZLEVBQWlCLEVBQUU7SUFDcEUsTUFBTSxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FB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O1FBQzFELE9BQU8sTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0FBQ0wsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGdldERhdGFUcmFuc2ZlckNsaXBib2FyZCwgc2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkLCBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmRUZXh0IH0gZnJvbSAnLi9kYXRhLXRyYW5zZmVyJztcbmltcG9ydCB7IGdldE5hdmlnYXRvckNsaXBib2FyZCwgc2V0TmF2aWdhdG9yQ2xpcGJvYXJkIH0gZnJvbSAnLi9uYXZpZ2F0b3ItY2xpcGJvYXJkJztcbmltcG9ydCB7IGlzQ2xpcGJvYXJkUmVhZFN1cHBvcnRlZCwgaXNDbGlwYm9hcmRXcml0ZVN1cHBvcnRlZCwgaXNDbGlwYm9hcmRXcml0ZVRleHRTdXBwb3J0ZWQgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBDbGlwYm9hcmREYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2xpcGJvYXJkJztcbmltcG9ydCB7IFNsYXRlRnJhZ21lbnRBdHRyaWJ1dGVLZXksIGdldFNsYXRlRnJhZ21lbnRBdHRyaWJ1dGUgfSBmcm9tICcuLi9kb20nO1xuXG5leHBvcnQgY29uc3QgYnVpbGRIVE1MVGV4dCA9ICh3cmFwcGVyOiBIVE1MRWxlbWVudCwgYXR0YWNoOiBIVE1MRWxlbWVudCwgZGF0YTogRWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3Qgc3RyaW5nT2JqID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgY29uc3QgZW5jb2RlZCA9IHdpbmRvdy5idG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdPYmopKTtcbiAgICBhdHRhY2guc2V0QXR0cmlidXRlKFNsYXRlRnJhZ21lbnRBdHRyaWJ1dGVLZXksIGVuY29kZWQpO1xuICAgIHJldHVybiB3cmFwcGVyLmlubmVySFRNTDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQgPSAoaHRtbDogc3RyaW5nKTogQ2xpcGJvYXJkRGF0YSA9PiB7XG4gICAgY29uc3QgZnJhZ21lbnRBdHRyaWJ1dGUgPSBnZXRTbGF0ZUZyYWdtZW50QXR0cmlidXRlKGh0bWwpO1xuICAgIGlmIChmcmFnbWVudEF0dHJpYnV0ZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cuYXRvYihmcmFnbWVudEF0dHJpYnV0ZSkpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShkZWNvZGVkKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgQXJyYXkuaXNBcnJheShyZXN1bHQpICYmIHJlc3VsdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHM6IHJlc3VsdFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNsaXBib2FyZERhdGEgPSAoaHRtbDogc3RyaW5nLCBlbGVtZW50czogRWxlbWVudFtdLCB0ZXh0OiBzdHJpbmcsIGZpbGVzOiBGaWxlW10pOiBDbGlwYm9hcmREYXRhID0+IHtcbiAgICBjb25zdCBkYXRhID0geyBlbGVtZW50cywgdGV4dCwgaHRtbCwgZmlsZXMgfTtcbiAgICByZXR1cm4gZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDbGlwYm9hcmREYXRhID0gYXN5bmMgKGRhdGFUcmFuc2Zlcj86IERhdGFUcmFuc2Zlcik6IFByb21pc2U8Q2xpcGJvYXJkRGF0YT4gPT4ge1xuICAgIGxldCBjbGlwYm9hcmREYXRhID0gbnVsbDtcbiAgICBpZiAoZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgIGxldCBmaWxlc0RhdGEgPSB7fTtcbiAgICAgICAgaWYgKGRhdGFUcmFuc2Zlci5maWxlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGZpbGVzRGF0YSA9IHsgLi4uZmlsZXNEYXRhLCBmaWxlczogQXJyYXkuZnJvbShkYXRhVHJhbnNmZXIuZmlsZXMpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2xpcGJvYXJkRGF0YSA9IGdldERhdGFUcmFuc2ZlckNsaXBib2FyZChkYXRhVHJhbnNmZXIpO1xuICAgICAgICByZXR1cm4geyAuLi5jbGlwYm9hcmREYXRhLCAuLi5maWxlc0RhdGEgfTtcbiAgICB9XG4gICAgaWYgKGlzQ2xpcGJvYXJkUmVhZFN1cHBvcnRlZCgpKSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBnZXROYXZpZ2F0b3JDbGlwYm9hcmQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNsaXBib2FyZERhdGE7XG59O1xuXG4vKipcbiAqIEBwYXJhbSB3cmFwcGVyIGdldCB3cmFwcGVyLmlubmVySFRNTCBzdHJpbmcgd2hpY2ggd2lsbCBiZSB3cml0dGVuIGluIGNsaXBib2FyZFxuICogQHBhcmFtIGF0dGFjaCBhdHRhY2ggbXVzdCBiZSBjaGlsZCBlbGVtZW50IG9mIHdyYXBwZXIgd2hpY2ggd2lsbCBiZSBhdHRhY2hlZCBqc29uIGRhdGFcbiAqIEByZXR1cm5zIHZvaWRcbiAqL1xuZXhwb3J0IGNvbnN0IHNldENsaXBib2FyZERhdGEgPSBhc3luYyAoXG4gICAgY2xpcGJvYXJkRGF0YTogQ2xpcGJvYXJkRGF0YSxcbiAgICB3cmFwcGVyOiBIVE1MRWxlbWVudCxcbiAgICBhdHRhY2g6IEhUTUxFbGVtZW50LFxuICAgIGRhdGFUcmFuc2Zlcj86IFBpY2s8RGF0YVRyYW5zZmVyLCAnZ2V0RGF0YScgfCAnc2V0RGF0YSc+XG4pID0+IHtcbiAgICBpZiAoIWNsaXBib2FyZERhdGEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB7IGVsZW1lbnRzLCB0ZXh0IH0gPSBjbGlwYm9hcmREYXRhO1xuICAgIGlmIChpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkKCkpIHtcbiAgICAgICAgY29uc3QgaHRtbFRleHQgPSBidWlsZEhUTUxUZXh0KHdyYXBwZXIsIGF0dGFjaCwgZWxlbWVudHMpO1xuICAgICAgICAvLyBUT0RPXG4gICAgICAgIC8vIG1heWJlIGZhaWwgdG8gd3JpdGUgd2hlbiBjb3B5IHNvbWUgY2VsbCBpbiB0YWJsZVxuICAgICAgICByZXR1cm4gYXdhaXQgc2V0TmF2aWdhdG9yQ2xpcGJvYXJkKGh0bWxUZXh0LCBlbGVtZW50cywgdGV4dCk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGFUcmFuc2Zlcikge1xuICAgICAgICBjb25zdCBodG1sVGV4dCA9IGJ1aWxkSFRNTFRleHQod3JhcHBlciwgYXR0YWNoLCBlbGVtZW50cyk7XG4gICAgICAgIHNldERhdGFUcmFuc2ZlckNsaXBib2FyZChkYXRhVHJhbnNmZXIsIGh0bWxUZXh0KTtcbiAgICAgICAgc2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dChkYXRhVHJhbnNmZXIsIHRleHQpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ29tcGF0aWJsZSB3aXRoIHNpdHVhdGlvbnMgd2hlcmUgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZSBpcyBub3Qgc3VwcG9ydGVkIGFuZCBkYXRhVHJhbnNmZXIgaXMgZW1wdHlcbiAgICAvLyBTdWNoIGFzIGNvbnRleHRtZW51IGNvcHkgaW4gRmlyZWZveC5cbiAgICBpZiAoaXNDbGlwYm9hcmRXcml0ZVRleHRTdXBwb3J0ZWQoKSkge1xuICAgICAgICBjb25zdCBodG1sVGV4dCA9IGJ1aWxkSFRNTFRleHQod3JhcHBlciwgYXR0YWNoLCBlbGVtZW50cyk7XG4gICAgICAgIHJldHVybiBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dChodG1sVGV4dCk7XG4gICAgfVxufTtcbiJdfQ==
|
|
@@ -29,7 +29,8 @@ export const getNavigatorClipboard = async () => {
|
|
|
29
29
|
const blob = await (await fetch(url)).blob();
|
|
30
30
|
return new File([blob], 'file', { type: blob.type });
|
|
31
31
|
}));
|
|
32
|
-
|
|
32
|
+
clipboardData = {
|
|
33
|
+
...clipboardData,
|
|
33
34
|
files
|
|
34
35
|
};
|
|
35
36
|
}
|
|
@@ -37,15 +38,17 @@ export const getNavigatorClipboard = async () => {
|
|
|
37
38
|
const htmlContent = await blobAsString(await item.getType('text/html'));
|
|
38
39
|
const htmlClipboardData = getClipboardFromHTMLText(htmlContent);
|
|
39
40
|
if (htmlClipboardData) {
|
|
40
|
-
|
|
41
|
+
clipboardData = { ...clipboardData, ...htmlClipboardData };
|
|
42
|
+
return clipboardData;
|
|
41
43
|
}
|
|
42
44
|
if (htmlContent && htmlContent.trim()) {
|
|
43
|
-
clipboardData = { html: htmlContent };
|
|
45
|
+
clipboardData = { ...clipboardData, html: htmlContent };
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
if (item.types.includes('text/plain')) {
|
|
47
49
|
const textContent = await blobAsString(await item.getType('text/plain'));
|
|
48
50
|
clipboardData = {
|
|
51
|
+
...clipboardData,
|
|
49
52
|
text: stripHtml(textContent)
|
|
50
53
|
};
|
|
51
54
|
}
|
|
@@ -53,4 +56,4 @@ export const getNavigatorClipboard = async () => {
|
|
|
53
56
|
}
|
|
54
57
|
return clipboardData;
|
|
55
58
|
};
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9jbGlwYm9hcmQvbmF2aWdhdG9yLWNsaXBib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3pILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLElBQWUsRUFBRSxPQUFlLEVBQUUsRUFBRSxFQUFFO0lBQ2hHLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQztJQUN6QixJQUFJLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztRQUM5QixNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQzVCLElBQUksYUFBYSxDQUFDO2dCQUNkLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUM5QixJQUFJLEVBQUUsV0FBVztpQkFDcEIsQ0FBQztnQkFDRixZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2FBQzFGLENBQUM7U0FDTCxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDNUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hELElBQUksYUFBYSxHQUFrQixFQUFFLENBQUM7SUFFdEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxhQUFhLEVBQUUsQ0FBQztRQUM5RSxLQUFLLE1BQU0sSUFBSSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN6RSxNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyRixNQUFNLElBQUksR0FBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ25HLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7b0JBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM3QyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUMsQ0FDTCxDQUFDO2dCQUNGLGFBQWEsR0FBRztvQkFDWixHQUFHLGFBQWE7b0JBQ2hCLEtBQUs7aUJBQ1IsQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sV0FBVyxHQUFHLE1BQU0sWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxNQUFNLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLGlCQUFpQixFQUFFLENBQUM7b0JBQ3BCLGFBQWEsR0FBRyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztvQkFDM0QsT0FBTyxhQUFhLENBQUM7Z0JBQ3pCLENBQUM7Z0JBQ0QsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ3BDLGFBQWEsR0FBRyxFQUFFLEdBQUcsYUFBYSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDNUQsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sV0FBVyxHQUFHLE1BQU0sWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUN6RSxhQUFhLEdBQUc7b0JBQ1osR0FBRyxhQUFhO29CQUNoQixJQUFJLEVBQUUsU0FBUyxDQUFDLFdBQVcsQ0FBQztpQkFDL0IsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQgfSBmcm9tICcuL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBibG9iQXNTdHJpbmcsIGlzQ2xpcGJvYXJkRmlsZSwgaXNDbGlwYm9hcmRSZWFkU3VwcG9ydGVkLCBpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkLCBzdHJpcEh0bWwgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBDbGlwYm9hcmREYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2xpcGJvYXJkJztcblxuZXhwb3J0IGNvbnN0IHNldE5hdmlnYXRvckNsaXBib2FyZCA9IGFzeW5jIChodG1sVGV4dDogc3RyaW5nLCBkYXRhOiBFbGVtZW50W10sIHRleHQ6IHN0cmluZyA9ICcnKSA9PiB7XG4gICAgbGV0IHRleHRDbGlwYm9hcmQgPSB0ZXh0O1xuICAgIGlmIChpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkKCkpIHtcbiAgICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbXG4gICAgICAgICAgICBuZXcgQ2xpcGJvYXJkSXRlbSh7XG4gICAgICAgICAgICAgICAgJ3RleHQvaHRtbCc6IG5ldyBCbG9iKFtodG1sVGV4dF0sIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQvaHRtbCdcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAndGV4dC9wbGFpbic6IG5ldyBCbG9iKFt0ZXh0Q2xpcGJvYXJkID8/IEpTT04uc3RyaW5naWZ5KGRhdGEpXSwgeyB0eXBlOiAndGV4dC9wbGFpbicgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF0pO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXROYXZpZ2F0b3JDbGlwYm9hcmQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc0NsaXBib2FyZFJlYWRTdXBwb3J0ZWQoKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgY2xpcGJvYXJkSXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTtcbiAgICBsZXQgY2xpcGJvYXJkRGF0YTogQ2xpcGJvYXJkRGF0YSA9IHt9O1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2xpcGJvYXJkSXRlbXMpICYmIGNsaXBib2FyZEl0ZW1zWzBdIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRlbSkge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY2xpcGJvYXJkSXRlbXMpIHtcbiAgICAgICAgICAgIGlmIChpc0NsaXBib2FyZEZpbGUoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwYm9hcmRGaWxlcyA9IGl0ZW0udHlwZXMuZmlsdGVyKHR5cGUgPT4gdHlwZS5tYXRjaCgvXmltYWdlXFwvLykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVCbG9icyA9IGF3YWl0IFByb21pc2UuYWxsKGNsaXBib2FyZEZpbGVzLm1hcCh0eXBlID0+IGl0ZW0uZ2V0VHlwZSh0eXBlKSEpKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmxzID0gKGZpbGVCbG9icy5maWx0ZXIoQm9vbGVhbikgYXMgKEZpbGUgfCBCbG9iKVtdKS5tYXAoYmxvYiA9PiBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgICAgICB1cmxzLm1hcChhc3luYyB1cmwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IChhd2FpdCBmZXRjaCh1cmwpKS5ibG9iKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGUoW2Jsb2JdLCAnZmlsZScsIHsgdHlwZTogYmxvYi50eXBlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY2xpcGJvYXJkRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgZmlsZXNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0udHlwZXMuaW5jbHVkZXMoJ3RleHQvaHRtbCcpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaHRtbENvbnRlbnQgPSBhd2FpdCBibG9iQXNTdHJpbmcoYXdhaXQgaXRlbS5nZXRUeXBlKCd0ZXh0L2h0bWwnKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaHRtbENsaXBib2FyZERhdGEgPSBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQoaHRtbENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChodG1sQ2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBjbGlwYm9hcmREYXRhID0geyAuLi5jbGlwYm9hcmREYXRhLCAuLi5odG1sQ2xpcGJvYXJkRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xpcGJvYXJkRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGh0bWxDb250ZW50ICYmIGh0bWxDb250ZW50LnRyaW0oKSkge1xuICAgICAgICAgICAgICAgICAgICBjbGlwYm9hcmREYXRhID0geyAuLi5jbGlwYm9hcmREYXRhLCBodG1sOiBodG1sQ29udGVudCB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLnR5cGVzLmluY2x1ZGVzKCd0ZXh0L3BsYWluJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGF3YWl0IGJsb2JBc1N0cmluZyhhd2FpdCBpdGVtLmdldFR5cGUoJ3RleHQvcGxhaW4nKSk7XG4gICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY2xpcGJvYXJkRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogc3RyaXBIdG1sKHRleHRDb250ZW50KVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsaXBib2FyZERhdGE7XG59O1xuIl19
|
|
@@ -1159,7 +1159,8 @@ const getNavigatorClipboard = async () => {
|
|
|
1159
1159
|
const blob = await (await fetch(url)).blob();
|
|
1160
1160
|
return new File([blob], 'file', { type: blob.type });
|
|
1161
1161
|
}));
|
|
1162
|
-
|
|
1162
|
+
clipboardData = {
|
|
1163
|
+
...clipboardData,
|
|
1163
1164
|
files
|
|
1164
1165
|
};
|
|
1165
1166
|
}
|
|
@@ -1167,15 +1168,17 @@ const getNavigatorClipboard = async () => {
|
|
|
1167
1168
|
const htmlContent = await blobAsString(await item.getType('text/html'));
|
|
1168
1169
|
const htmlClipboardData = getClipboardFromHTMLText(htmlContent);
|
|
1169
1170
|
if (htmlClipboardData) {
|
|
1170
|
-
|
|
1171
|
+
clipboardData = { ...clipboardData, ...htmlClipboardData };
|
|
1172
|
+
return clipboardData;
|
|
1171
1173
|
}
|
|
1172
1174
|
if (htmlContent && htmlContent.trim()) {
|
|
1173
|
-
clipboardData = { html: htmlContent };
|
|
1175
|
+
clipboardData = { ...clipboardData, html: htmlContent };
|
|
1174
1176
|
}
|
|
1175
1177
|
}
|
|
1176
1178
|
if (item.types.includes('text/plain')) {
|
|
1177
1179
|
const textContent = await blobAsString(await item.getType('text/plain'));
|
|
1178
1180
|
clipboardData = {
|
|
1181
|
+
...clipboardData,
|
|
1179
1182
|
text: stripHtml(textContent)
|
|
1180
1183
|
};
|
|
1181
1184
|
}
|
|
@@ -1216,11 +1219,12 @@ const createClipboardData = (html, elements, text, files) => {
|
|
|
1216
1219
|
const getClipboardData = async (dataTransfer) => {
|
|
1217
1220
|
let clipboardData = null;
|
|
1218
1221
|
if (dataTransfer) {
|
|
1222
|
+
let filesData = {};
|
|
1219
1223
|
if (dataTransfer.files.length) {
|
|
1220
|
-
|
|
1224
|
+
filesData = { ...filesData, files: Array.from(dataTransfer.files) };
|
|
1221
1225
|
}
|
|
1222
1226
|
clipboardData = getDataTransferClipboard(dataTransfer);
|
|
1223
|
-
return clipboardData;
|
|
1227
|
+
return { ...clipboardData, ...filesData };
|
|
1224
1228
|
}
|
|
1225
1229
|
if (isClipboardReadSupported()) {
|
|
1226
1230
|
return await getNavigatorClipboard();
|
|
@@ -1240,7 +1244,7 @@ const setClipboardData = async (clipboardData, wrapper, attach, dataTransfer) =>
|
|
|
1240
1244
|
if (isClipboardWriteSupported()) {
|
|
1241
1245
|
const htmlText = buildHTMLText(wrapper, attach, elements);
|
|
1242
1246
|
// TODO
|
|
1243
|
-
// maybe fail to write when copy some cell in table
|
|
1247
|
+
// maybe fail to write when copy some cell in table
|
|
1244
1248
|
return await setNavigatorClipboard(htmlText, elements, text);
|
|
1245
1249
|
}
|
|
1246
1250
|
if (dataTransfer) {
|