slate-angular 17.1.3 → 17.2.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/esm2022/plugins/angular-editor.mjs +1 -1
- package/esm2022/plugins/with-angular.mjs +15 -22
- package/esm2022/types/clipboard.mjs +2 -0
- package/esm2022/types/index.mjs +2 -1
- package/esm2022/utils/clipboard/clipboard.mjs +77 -0
- package/esm2022/utils/clipboard/common.mjs +32 -0
- package/esm2022/utils/clipboard/data-transfer.mjs +44 -0
- package/esm2022/utils/clipboard/index.mjs +5 -0
- package/esm2022/utils/clipboard/navigator-clipboard.mjs +56 -0
- package/esm2022/utils/dom.mjs +5 -23
- package/esm2022/utils/index.mjs +2 -1
- package/fesm2022/slate-angular.mjs +219 -43
- package/fesm2022/slate-angular.mjs.map +1 -1
- package/package.json +1 -1
- package/plugins/angular-editor.d.ts +7 -6
- package/types/clipboard.d.ts +8 -0
- package/types/index.d.ts +1 -0
- package/utils/clipboard/clipboard.d.ts +12 -0
- package/utils/clipboard/common.d.ts +6 -0
- package/utils/clipboard/data-transfer.d.ts +5 -0
- package/utils/clipboard/index.d.ts +4 -0
- package/utils/clipboard/navigator-clipboard.d.ts +4 -0
- package/utils/dom.d.ts +2 -6
- package/utils/index.d.ts +1 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { getDataTransferClipboard, setDataTransferClipboard, setDataTransferClipboardText } from './data-transfer';
|
|
2
|
+
import { getNavigatorClipboard, setNavigatorClipboard } from './navigator-clipboard';
|
|
3
|
+
import { isClipboardReadSupported, isClipboardWriteSupported, isClipboardWriteTextSupported } from './common';
|
|
4
|
+
import { SlateFragmentAttributeKey, getSlateFragmentAttribute } from '../dom';
|
|
5
|
+
export const buildHTMLText = (wrapper, attach, data) => {
|
|
6
|
+
const stringObj = JSON.stringify(data);
|
|
7
|
+
const encoded = window.btoa(encodeURIComponent(stringObj));
|
|
8
|
+
attach.setAttribute(SlateFragmentAttributeKey, encoded);
|
|
9
|
+
return wrapper.innerHTML;
|
|
10
|
+
};
|
|
11
|
+
export const getClipboardFromHTMLText = (html) => {
|
|
12
|
+
const fragmentAttribute = getSlateFragmentAttribute(html);
|
|
13
|
+
if (fragmentAttribute) {
|
|
14
|
+
try {
|
|
15
|
+
const decoded = decodeURIComponent(window.atob(fragmentAttribute));
|
|
16
|
+
const result = JSON.parse(decoded);
|
|
17
|
+
if (result && Array.isArray(result) && result.length > 0) {
|
|
18
|
+
return {
|
|
19
|
+
elements: result
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error(error);
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
};
|
|
30
|
+
export const createClipboardData = (html, elements, text, files) => {
|
|
31
|
+
const data = { elements, text, html, files };
|
|
32
|
+
return data;
|
|
33
|
+
};
|
|
34
|
+
export const getClipboardData = async (dataTransfer) => {
|
|
35
|
+
let clipboardData = null;
|
|
36
|
+
if (dataTransfer) {
|
|
37
|
+
if (dataTransfer.files.length) {
|
|
38
|
+
return { files: Array.from(dataTransfer.files) };
|
|
39
|
+
}
|
|
40
|
+
clipboardData = getDataTransferClipboard(dataTransfer);
|
|
41
|
+
return clipboardData;
|
|
42
|
+
}
|
|
43
|
+
if (isClipboardReadSupported()) {
|
|
44
|
+
return await getNavigatorClipboard();
|
|
45
|
+
}
|
|
46
|
+
return clipboardData;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* @param wrapper get wrapper.innerHTML string which will be written in clipboard
|
|
50
|
+
* @param attach attach must be child element of wrapper which will be attached json data
|
|
51
|
+
* @returns void
|
|
52
|
+
*/
|
|
53
|
+
export const setClipboardData = async (clipboardData, wrapper, attach, dataTransfer) => {
|
|
54
|
+
if (!clipboardData) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const { elements, text } = clipboardData;
|
|
58
|
+
if (isClipboardWriteSupported()) {
|
|
59
|
+
const htmlText = buildHTMLText(wrapper, attach, elements);
|
|
60
|
+
// TODO
|
|
61
|
+
// maybe fail to write when copy some cell in table
|
|
62
|
+
return await setNavigatorClipboard(htmlText, elements, text);
|
|
63
|
+
}
|
|
64
|
+
if (dataTransfer) {
|
|
65
|
+
const htmlText = buildHTMLText(wrapper, attach, elements);
|
|
66
|
+
setDataTransferClipboard(dataTransfer, htmlText);
|
|
67
|
+
setDataTransferClipboardText(dataTransfer, text);
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
// Compatible with situations where navigator.clipboard.write is not supported and dataTransfer is empty
|
|
71
|
+
// Such as contextmenu copy in Firefox.
|
|
72
|
+
if (isClipboardWriteTextSupported()) {
|
|
73
|
+
const htmlText = buildHTMLText(wrapper, attach, elements);
|
|
74
|
+
return await navigator.clipboard.writeText(htmlText);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2NsaXBib2FyZC9jbGlwYm9hcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHdCQUF3QixFQUFFLDRCQUE0QixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkgsT0FBTyxFQUFFLHFCQUFxQixFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLHlCQUF5QixFQUFFLDZCQUE2QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTlHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSx5QkFBeUIsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUU5RSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxPQUFvQixFQUFFLE1BQW1CLEVBQUUsSUFBZSxFQUFFLEVBQUU7SUFDeEYsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDM0QsTUFBTSxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN4RCxPQUFPLE9BQU8sQ0FBQyxTQUFTLENBQUM7QUFDN0IsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxJQUFZLEVBQWlCLEVBQUU7SUFDcEUsTUFBTSxpQkFBaUIsR0FBRyx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxRCxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FB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QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IGdldERhdGFUcmFuc2ZlckNsaXBib2FyZCwgc2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkLCBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmRUZXh0IH0gZnJvbSAnLi9kYXRhLXRyYW5zZmVyJztcbmltcG9ydCB7IGdldE5hdmlnYXRvckNsaXBib2FyZCwgc2V0TmF2aWdhdG9yQ2xpcGJvYXJkIH0gZnJvbSAnLi9uYXZpZ2F0b3ItY2xpcGJvYXJkJztcbmltcG9ydCB7IGlzQ2xpcGJvYXJkUmVhZFN1cHBvcnRlZCwgaXNDbGlwYm9hcmRXcml0ZVN1cHBvcnRlZCwgaXNDbGlwYm9hcmRXcml0ZVRleHRTdXBwb3J0ZWQgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBDbGlwYm9hcmREYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2xpcGJvYXJkJztcbmltcG9ydCB7IFNsYXRlRnJhZ21lbnRBdHRyaWJ1dGVLZXksIGdldFNsYXRlRnJhZ21lbnRBdHRyaWJ1dGUgfSBmcm9tICcuLi9kb20nO1xuXG5leHBvcnQgY29uc3QgYnVpbGRIVE1MVGV4dCA9ICh3cmFwcGVyOiBIVE1MRWxlbWVudCwgYXR0YWNoOiBIVE1MRWxlbWVudCwgZGF0YTogRWxlbWVudFtdKSA9PiB7XG4gICAgY29uc3Qgc3RyaW5nT2JqID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgY29uc3QgZW5jb2RlZCA9IHdpbmRvdy5idG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHJpbmdPYmopKTtcbiAgICBhdHRhY2guc2V0QXR0cmlidXRlKFNsYXRlRnJhZ21lbnRBdHRyaWJ1dGVLZXksIGVuY29kZWQpO1xuICAgIHJldHVybiB3cmFwcGVyLmlubmVySFRNTDtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQgPSAoaHRtbDogc3RyaW5nKTogQ2xpcGJvYXJkRGF0YSA9PiB7XG4gICAgY29uc3QgZnJhZ21lbnRBdHRyaWJ1dGUgPSBnZXRTbGF0ZUZyYWdtZW50QXR0cmlidXRlKGh0bWwpO1xuICAgIGlmIChmcmFnbWVudEF0dHJpYnV0ZSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZGVjb2RlZCA9IGRlY29kZVVSSUNvbXBvbmVudCh3aW5kb3cuYXRvYihmcmFnbWVudEF0dHJpYnV0ZSkpO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gSlNPTi5wYXJzZShkZWNvZGVkKTtcbiAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgQXJyYXkuaXNBcnJheShyZXN1bHQpICYmIHJlc3VsdC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZWxlbWVudHM6IHJlc3VsdFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZUNsaXBib2FyZERhdGEgPSAoaHRtbDogc3RyaW5nLCBlbGVtZW50czogRWxlbWVudFtdLCB0ZXh0OiBzdHJpbmcsIGZpbGVzOiBGaWxlW10pOiBDbGlwYm9hcmREYXRhID0+IHtcbiAgICBjb25zdCBkYXRhID0geyBlbGVtZW50cywgdGV4dCwgaHRtbCwgZmlsZXMgfTtcbiAgICByZXR1cm4gZGF0YTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDbGlwYm9hcmREYXRhID0gYXN5bmMgKGRhdGFUcmFuc2Zlcj86IERhdGFUcmFuc2Zlcik6IFByb21pc2U8Q2xpcGJvYXJkRGF0YT4gPT4ge1xuICAgIGxldCBjbGlwYm9hcmREYXRhID0gbnVsbDtcbiAgICBpZiAoZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgIGlmIChkYXRhVHJhbnNmZXIuZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4geyBmaWxlczogQXJyYXkuZnJvbShkYXRhVHJhbnNmZXIuZmlsZXMpIH07XG4gICAgICAgIH1cbiAgICAgICAgY2xpcGJvYXJkRGF0YSA9IGdldERhdGFUcmFuc2ZlckNsaXBib2FyZChkYXRhVHJhbnNmZXIpO1xuICAgICAgICByZXR1cm4gY2xpcGJvYXJkRGF0YTtcbiAgICB9XG4gICAgaWYgKGlzQ2xpcGJvYXJkUmVhZFN1cHBvcnRlZCgpKSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBnZXROYXZpZ2F0b3JDbGlwYm9hcmQoKTtcbiAgICB9XG4gICAgcmV0dXJuIGNsaXBib2FyZERhdGE7XG59O1xuXG4vKipcbiAqIEBwYXJhbSB3cmFwcGVyIGdldCB3cmFwcGVyLmlubmVySFRNTCBzdHJpbmcgd2hpY2ggd2lsbCBiZSB3cml0dGVuIGluIGNsaXBib2FyZFxuICogQHBhcmFtIGF0dGFjaCBhdHRhY2ggbXVzdCBiZSBjaGlsZCBlbGVtZW50IG9mIHdyYXBwZXIgd2hpY2ggd2lsbCBiZSBhdHRhY2hlZCBqc29uIGRhdGFcbiAqIEByZXR1cm5zIHZvaWRcbiAqL1xuZXhwb3J0IGNvbnN0IHNldENsaXBib2FyZERhdGEgPSBhc3luYyAoXG4gICAgY2xpcGJvYXJkRGF0YTogQ2xpcGJvYXJkRGF0YSxcbiAgICB3cmFwcGVyOiBIVE1MRWxlbWVudCxcbiAgICBhdHRhY2g6IEhUTUxFbGVtZW50LFxuICAgIGRhdGFUcmFuc2Zlcj86IFBpY2s8RGF0YVRyYW5zZmVyLCAnZ2V0RGF0YScgfCAnc2V0RGF0YSc+XG4pID0+IHtcbiAgICBpZiAoIWNsaXBib2FyZERhdGEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCB7IGVsZW1lbnRzLCB0ZXh0IH0gPSBjbGlwYm9hcmREYXRhO1xuICAgIGlmIChpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkKCkpIHtcbiAgICAgICAgY29uc3QgaHRtbFRleHQgPSBidWlsZEhUTUxUZXh0KHdyYXBwZXIsIGF0dGFjaCwgZWxlbWVudHMpO1xuICAgICAgICAvLyBUT0RPXG4gICAgICAgIC8vIG1heWJlIGZhaWwgdG8gd3JpdGUgd2hlbiBjb3B5IHNvbWUgY2VsbCBpbiB0YWJsZSBcbiAgICAgICAgcmV0dXJuIGF3YWl0IHNldE5hdmlnYXRvckNsaXBib2FyZChodG1sVGV4dCwgZWxlbWVudHMsIHRleHQpO1xuICAgIH1cblxuICAgIGlmIChkYXRhVHJhbnNmZXIpIHtcbiAgICAgICAgY29uc3QgaHRtbFRleHQgPSBidWlsZEhUTUxUZXh0KHdyYXBwZXIsIGF0dGFjaCwgZWxlbWVudHMpO1xuICAgICAgICBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmQoZGF0YVRyYW5zZmVyLCBodG1sVGV4dCk7XG4gICAgICAgIHNldERhdGFUcmFuc2ZlckNsaXBib2FyZFRleHQoZGF0YVRyYW5zZmVyLCB0ZXh0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENvbXBhdGlibGUgd2l0aCBzaXR1YXRpb25zIHdoZXJlIG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGUgaXMgbm90IHN1cHBvcnRlZCBhbmQgZGF0YVRyYW5zZmVyIGlzIGVtcHR5XG4gICAgLy8gU3VjaCBhcyBjb250ZXh0bWVudSBjb3B5IGluIEZpcmVmb3guXG4gICAgaWYgKGlzQ2xpcGJvYXJkV3JpdGVUZXh0U3VwcG9ydGVkKCkpIHtcbiAgICAgICAgY29uc3QgaHRtbFRleHQgPSBidWlsZEhUTUxUZXh0KHdyYXBwZXIsIGF0dGFjaCwgZWxlbWVudHMpO1xuICAgICAgICByZXR1cm4gYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQoaHRtbFRleHQpO1xuICAgIH1cbn07XG4iXX0=
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const isClipboardReadSupported = () => {
|
|
2
|
+
return 'clipboard' in navigator && 'read' in navigator.clipboard;
|
|
3
|
+
};
|
|
4
|
+
export const isClipboardWriteSupported = () => {
|
|
5
|
+
return 'clipboard' in navigator && 'write' in navigator.clipboard;
|
|
6
|
+
};
|
|
7
|
+
export const isClipboardWriteTextSupported = () => {
|
|
8
|
+
return 'clipboard' in navigator && 'writeText' in navigator.clipboard;
|
|
9
|
+
};
|
|
10
|
+
export const isClipboardFile = (item) => {
|
|
11
|
+
return item.types.find(i => i.match(/^image\//));
|
|
12
|
+
};
|
|
13
|
+
export const stripHtml = (html) => {
|
|
14
|
+
// See <https://github.com/developit/preact-markup/blob/4788b8d61b4e24f83688710746ee36e7464f7bbc/src/parse-markup.js#L60-L69>
|
|
15
|
+
const doc = document.implementation.createHTMLDocument('');
|
|
16
|
+
doc.documentElement.innerHTML = html.trim();
|
|
17
|
+
return doc.body.textContent || doc.body.innerText || '';
|
|
18
|
+
};
|
|
19
|
+
export const blobAsString = (blob) => {
|
|
20
|
+
return new Promise((resolve, reject) => {
|
|
21
|
+
const reader = new FileReader();
|
|
22
|
+
reader.addEventListener('loadend', () => {
|
|
23
|
+
const text = reader.result;
|
|
24
|
+
resolve(text);
|
|
25
|
+
});
|
|
26
|
+
reader.addEventListener('error', () => {
|
|
27
|
+
reject(reader.error);
|
|
28
|
+
});
|
|
29
|
+
reader.readAsText(blob);
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2NsaXBib2FyZC9jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsR0FBRyxFQUFFO0lBQ3pDLE9BQU8sV0FBVyxJQUFJLFNBQVMsSUFBSSxNQUFNLElBQUksU0FBUyxDQUFDLFNBQVMsQ0FBQztBQUNyRSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxHQUFHLEVBQUU7SUFDMUMsT0FBTyxXQUFXLElBQUksU0FBUyxJQUFJLE9BQU8sSUFBSSxTQUFTLENBQUMsU0FBUyxDQUFDO0FBQ3RFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEdBQUcsRUFBRTtJQUM5QyxPQUFPLFdBQVcsSUFBSSxTQUFTLElBQUksV0FBVyxJQUFJLFNBQVMsQ0FBQyxTQUFTLENBQUM7QUFDMUUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsSUFBbUIsRUFBRSxFQUFFO0lBQ25ELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDckQsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLEVBQUU7SUFDdEMsNkhBQTZIO0lBQzdILE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsa0JBQWtCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDM0QsR0FBRyxDQUFDLGVBQWUsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzVDLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksRUFBRSxDQUFDO0FBQzVELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLElBQVUsRUFBRSxFQUFFO0lBQ3ZDLE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDM0MsTUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNwQyxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO1lBQzNCLE9BQU8sQ0FBQyxJQUFjLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1lBQ2xDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0FBQ1AsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcblxuZXhwb3J0IGNvbnN0IGlzQ2xpcGJvYXJkUmVhZFN1cHBvcnRlZCA9ICgpID0+IHtcbiAgICByZXR1cm4gJ2NsaXBib2FyZCcgaW4gbmF2aWdhdG9yICYmICdyZWFkJyBpbiBuYXZpZ2F0b3IuY2xpcGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ2xpcGJvYXJkV3JpdGVTdXBwb3J0ZWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuICdjbGlwYm9hcmQnIGluIG5hdmlnYXRvciAmJiAnd3JpdGUnIGluIG5hdmlnYXRvci5jbGlwYm9hcmQ7XG59O1xuXG5leHBvcnQgY29uc3QgaXNDbGlwYm9hcmRXcml0ZVRleHRTdXBwb3J0ZWQgPSAoKSA9PiB7XG4gICAgcmV0dXJuICdjbGlwYm9hcmQnIGluIG5hdmlnYXRvciAmJiAnd3JpdGVUZXh0JyBpbiBuYXZpZ2F0b3IuY2xpcGJvYXJkO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQ2xpcGJvYXJkRmlsZSA9IChpdGVtOiBDbGlwYm9hcmRJdGVtKSA9PiB7XG4gICAgcmV0dXJuIGl0ZW0udHlwZXMuZmluZChpID0+IGkubWF0Y2goL15pbWFnZVxcLy8pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzdHJpcEh0bWwgPSAoaHRtbDogc3RyaW5nKSA9PiB7XG4gICAgLy8gU2VlIDxodHRwczovL2dpdGh1Yi5jb20vZGV2ZWxvcGl0L3ByZWFjdC1tYXJrdXAvYmxvYi80Nzg4YjhkNjFiNGUyNGY4MzY4ODcxMDc0NmVlMzZlNzQ2NGY3YmJjL3NyYy9wYXJzZS1tYXJrdXAuanMjTDYwLUw2OT5cbiAgICBjb25zdCBkb2MgPSBkb2N1bWVudC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJycpO1xuICAgIGRvYy5kb2N1bWVudEVsZW1lbnQuaW5uZXJIVE1MID0gaHRtbC50cmltKCk7XG4gICAgcmV0dXJuIGRvYy5ib2R5LnRleHRDb250ZW50IHx8IGRvYy5ib2R5LmlubmVyVGV4dCB8fCAnJztcbn07XG5cbmV4cG9ydCBjb25zdCBibG9iQXNTdHJpbmcgPSAoYmxvYjogQmxvYikgPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0ZXh0ID0gcmVhZGVyLnJlc3VsdDtcbiAgICAgICAgICAgIHJlc29sdmUodGV4dCBhcyBzdHJpbmcpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KHJlYWRlci5lcnJvcik7XG4gICAgICAgIH0pO1xuICAgICAgICByZWFkZXIucmVhZEFzVGV4dChibG9iKTtcbiAgICB9KTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { getClipboardFromHTMLText } from './clipboard';
|
|
2
|
+
export const setDataTransferClipboard = (dataTransfer, htmlText) => {
|
|
3
|
+
dataTransfer?.setData(`text/html`, htmlText);
|
|
4
|
+
};
|
|
5
|
+
export const setDataTransferClipboardText = (data, text) => {
|
|
6
|
+
data?.setData(`text/plain`, text);
|
|
7
|
+
};
|
|
8
|
+
export const getDataTransferClipboard = (data) => {
|
|
9
|
+
const html = data?.getData(`text/html`);
|
|
10
|
+
if (html) {
|
|
11
|
+
const htmlClipboardData = getClipboardFromHTMLText(html);
|
|
12
|
+
if (htmlClipboardData) {
|
|
13
|
+
return htmlClipboardData;
|
|
14
|
+
}
|
|
15
|
+
const textData = getDataTransferClipboardText(data);
|
|
16
|
+
if (textData) {
|
|
17
|
+
return {
|
|
18
|
+
html,
|
|
19
|
+
...textData
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
return { html };
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
const textData = getDataTransferClipboardText(data);
|
|
28
|
+
return textData;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export const getDataTransferClipboardText = (data) => {
|
|
32
|
+
if (!data) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const text = data?.getData(`text/plain`);
|
|
36
|
+
if (text) {
|
|
37
|
+
const htmlClipboardData = getClipboardFromHTMLText(text);
|
|
38
|
+
if (htmlClipboardData) {
|
|
39
|
+
return htmlClipboardData;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return { text };
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10cmFuc2Zlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9jbGlwYm9hcmQvZGF0YS10cmFuc2Zlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHdkQsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxZQUE4RCxFQUFFLFFBQWdCLEVBQUUsRUFBRTtJQUN6SCxZQUFZLEVBQUUsT0FBTyxDQUFDLFdBQVcsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNqRCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLElBQXNELEVBQUUsSUFBWSxFQUFFLEVBQUU7SUFDakgsSUFBSSxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdEMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsQ0FBQyxJQUFzRCxFQUFpQixFQUFFO0lBQzlHLE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNQLE1BQU0saUJBQWlCLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE9BQU8saUJBQWlCLENBQUM7UUFDN0IsQ0FBQztRQUNELE1BQU0sUUFBUSxHQUFHLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksUUFBUSxFQUFFLENBQUM7WUFDWCxPQUFPO2dCQUNILElBQUk7Z0JBQ0osR0FBRyxRQUFRO2FBQ2QsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3BCLENBQUM7SUFDTCxDQUFDO1NBQU0sQ0FBQztRQUNKLE1BQU0sUUFBUSxHQUFHLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELE9BQU8sUUFBUSxDQUFDO0lBQ3BCLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDLElBQXNELEVBQWlCLEVBQUU7SUFDbEgsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ1IsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUNELE1BQU0sSUFBSSxHQUFHLElBQUksRUFBRSxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDekMsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNQLE1BQU0saUJBQWlCLEdBQUcsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekQsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO1lBQ3BCLE9BQU8saUJBQWlCLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7QUFDcEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0Q2xpcGJvYXJkRnJvbUhUTUxUZXh0IH0gZnJvbSAnLi9jbGlwYm9hcmQnO1xuaW1wb3J0IHsgQ2xpcGJvYXJkRGF0YSB9IGZyb20gJy4uLy4uL3R5cGVzL2NsaXBib2FyZCc7XG5cbmV4cG9ydCBjb25zdCBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmQgPSAoZGF0YVRyYW5zZmVyOiBQaWNrPERhdGFUcmFuc2ZlciwgJ2dldERhdGEnIHwgJ3NldERhdGEnPiB8IG51bGwsIGh0bWxUZXh0OiBzdHJpbmcpID0+IHtcbiAgICBkYXRhVHJhbnNmZXI/LnNldERhdGEoYHRleHQvaHRtbGAsIGh0bWxUZXh0KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXREYXRhVHJhbnNmZXJDbGlwYm9hcmRUZXh0ID0gKGRhdGE6IFBpY2s8RGF0YVRyYW5zZmVyLCAnZ2V0RGF0YScgfCAnc2V0RGF0YSc+IHwgbnVsbCwgdGV4dDogc3RyaW5nKSA9PiB7XG4gICAgZGF0YT8uc2V0RGF0YShgdGV4dC9wbGFpbmAsIHRleHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldERhdGFUcmFuc2ZlckNsaXBib2FyZCA9IChkYXRhOiBQaWNrPERhdGFUcmFuc2ZlciwgJ2dldERhdGEnIHwgJ3NldERhdGEnPiB8IG51bGwpOiBDbGlwYm9hcmREYXRhID0+IHtcbiAgICBjb25zdCBodG1sID0gZGF0YT8uZ2V0RGF0YShgdGV4dC9odG1sYCk7XG4gICAgaWYgKGh0bWwpIHtcbiAgICAgICAgY29uc3QgaHRtbENsaXBib2FyZERhdGEgPSBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQoaHRtbCk7XG4gICAgICAgIGlmIChodG1sQ2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxDbGlwYm9hcmREYXRhO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRleHREYXRhID0gZ2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dChkYXRhKTtcbiAgICAgICAgaWYgKHRleHREYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGh0bWwsXG4gICAgICAgICAgICAgICAgLi4udGV4dERhdGFcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4geyBodG1sIH07XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB0ZXh0RGF0YSA9IGdldERhdGFUcmFuc2ZlckNsaXBib2FyZFRleHQoZGF0YSk7XG4gICAgICAgIHJldHVybiB0ZXh0RGF0YTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RGF0YVRyYW5zZmVyQ2xpcGJvYXJkVGV4dCA9IChkYXRhOiBQaWNrPERhdGFUcmFuc2ZlciwgJ2dldERhdGEnIHwgJ3NldERhdGEnPiB8IG51bGwpOiBDbGlwYm9hcmREYXRhID0+IHtcbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IHRleHQgPSBkYXRhPy5nZXREYXRhKGB0ZXh0L3BsYWluYCk7XG4gICAgaWYgKHRleHQpIHtcbiAgICAgICAgY29uc3QgaHRtbENsaXBib2FyZERhdGEgPSBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQodGV4dCk7XG4gICAgICAgIGlmIChodG1sQ2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIGh0bWxDbGlwYm9hcmREYXRhO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7IHRleHQgfTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export * from './clipboard';
|
|
2
|
+
export * from './data-transfer';
|
|
3
|
+
export * from './navigator-clipboard';
|
|
4
|
+
export * from './common';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvY2xpcGJvYXJkL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2xpcGJvYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vZGF0YS10cmFuc2Zlcic7XG5leHBvcnQgKiBmcm9tICcuL25hdmlnYXRvci1jbGlwYm9hcmQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuIl19
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { getClipboardFromHTMLText } from './clipboard';
|
|
2
|
+
import { blobAsString, isClipboardFile, isClipboardReadSupported, isClipboardWriteSupported, stripHtml } from './common';
|
|
3
|
+
export const setNavigatorClipboard = async (htmlText, data, text = '') => {
|
|
4
|
+
let textClipboard = text;
|
|
5
|
+
if (isClipboardWriteSupported()) {
|
|
6
|
+
await navigator.clipboard.write([
|
|
7
|
+
new ClipboardItem({
|
|
8
|
+
'text/html': new Blob([htmlText], {
|
|
9
|
+
type: 'text/html'
|
|
10
|
+
}),
|
|
11
|
+
'text/plain': new Blob([JSON.stringify(textClipboard ?? data)], { type: 'text/plain' })
|
|
12
|
+
})
|
|
13
|
+
]);
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
export const getNavigatorClipboard = async () => {
|
|
17
|
+
if (!isClipboardReadSupported()) {
|
|
18
|
+
return null;
|
|
19
|
+
}
|
|
20
|
+
const clipboardItems = await navigator.clipboard.read();
|
|
21
|
+
let clipboardData = {};
|
|
22
|
+
if (Array.isArray(clipboardItems) && clipboardItems[0] instanceof ClipboardItem) {
|
|
23
|
+
for (const item of clipboardItems) {
|
|
24
|
+
if (isClipboardFile(item)) {
|
|
25
|
+
const clipboardFiles = item.types.filter(type => type.match(/^image\//));
|
|
26
|
+
const fileBlobs = await Promise.all(clipboardFiles.map(type => item.getType(type)));
|
|
27
|
+
const urls = fileBlobs.filter(Boolean).map(blob => URL.createObjectURL(blob));
|
|
28
|
+
const files = await Promise.all(urls.map(async (url) => {
|
|
29
|
+
const blob = await (await fetch(url)).blob();
|
|
30
|
+
return new File([blob], 'file', { type: blob.type });
|
|
31
|
+
}));
|
|
32
|
+
return {
|
|
33
|
+
files
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
if (item.types.includes('text/html')) {
|
|
37
|
+
const htmlContent = await blobAsString(await item.getType('text/html'));
|
|
38
|
+
const htmlClipboardData = getClipboardFromHTMLText(htmlContent);
|
|
39
|
+
if (htmlClipboardData) {
|
|
40
|
+
return htmlClipboardData;
|
|
41
|
+
}
|
|
42
|
+
if (htmlContent && htmlContent.trim()) {
|
|
43
|
+
clipboardData = { html: htmlContent };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
if (item.types.includes('text/plain')) {
|
|
47
|
+
const textContent = await blobAsString(await item.getType('text/plain'));
|
|
48
|
+
clipboardData = {
|
|
49
|
+
text: stripHtml(textContent)
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return clipboardData;
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9jbGlwYm9hcmQvbmF2aWdhdG9yLWNsaXBib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3pILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLElBQWUsRUFBRSxPQUFlLEVBQUUsRUFBRSxFQUFFO0lBQ2hHLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQztJQUN6QixJQUFJLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztRQUM5QixNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQzVCLElBQUksYUFBYSxDQUFDO2dCQUNkLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUM5QixJQUFJLEVBQUUsV0FBVztpQkFDcEIsQ0FBQztnQkFDRixZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2FBQzFGLENBQUM7U0FDTCxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDNUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hELElBQUksYUFBYSxHQUFrQixFQUFFLENBQUM7SUFFdEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxhQUFhLEVBQUUsQ0FBQztRQUM5RSxLQUFLLE1BQU0sSUFBSSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN6RSxNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyRixNQUFNLElBQUksR0FBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ25HLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7b0JBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM3QyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUMsQ0FDTCxDQUFDO2dCQUNGLE9BQU87b0JBQ0gsS0FBSztpQkFDUixDQUFDO1lBQ04sQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsTUFBTSxXQUFXLEdBQUcsTUFBTSxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hFLE1BQU0saUJBQWlCLEdBQUcsd0JBQXdCLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ2hFLElBQUksaUJBQWlCLEVBQUUsQ0FBQztvQkFDcEIsT0FBTyxpQkFBaUIsQ0FBQztnQkFDN0IsQ0FBQztnQkFDRCxJQUFJLFdBQVcsSUFBSSxXQUFXLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQztvQkFDcEMsYUFBYSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDO2dCQUMxQyxDQUFDO1lBQ0wsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztnQkFDcEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxZQUFZLENBQUMsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7Z0JBQ3pFLGFBQWEsR0FBRztvQkFDWixJQUFJLEVBQUUsU0FBUyxDQUFDLFdBQVcsQ0FBQztpQkFDL0IsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQgfSBmcm9tICcuL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBibG9iQXNTdHJpbmcsIGlzQ2xpcGJvYXJkRmlsZSwgaXNDbGlwYm9hcmRSZWFkU3VwcG9ydGVkLCBpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkLCBzdHJpcEh0bWwgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBDbGlwYm9hcmREYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2xpcGJvYXJkJztcblxuZXhwb3J0IGNvbnN0IHNldE5hdmlnYXRvckNsaXBib2FyZCA9IGFzeW5jIChodG1sVGV4dDogc3RyaW5nLCBkYXRhOiBFbGVtZW50W10sIHRleHQ6IHN0cmluZyA9ICcnKSA9PiB7XG4gICAgbGV0IHRleHRDbGlwYm9hcmQgPSB0ZXh0O1xuICAgIGlmIChpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkKCkpIHtcbiAgICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbXG4gICAgICAgICAgICBuZXcgQ2xpcGJvYXJkSXRlbSh7XG4gICAgICAgICAgICAgICAgJ3RleHQvaHRtbCc6IG5ldyBCbG9iKFtodG1sVGV4dF0sIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQvaHRtbCdcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAndGV4dC9wbGFpbic6IG5ldyBCbG9iKFtKU09OLnN0cmluZ2lmeSh0ZXh0Q2xpcGJvYXJkID8/IGRhdGEpXSwgeyB0eXBlOiAndGV4dC9wbGFpbicgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF0pO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXROYXZpZ2F0b3JDbGlwYm9hcmQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc0NsaXBib2FyZFJlYWRTdXBwb3J0ZWQoKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgY2xpcGJvYXJkSXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTtcbiAgICBsZXQgY2xpcGJvYXJkRGF0YTogQ2xpcGJvYXJkRGF0YSA9IHt9O1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2xpcGJvYXJkSXRlbXMpICYmIGNsaXBib2FyZEl0ZW1zWzBdIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRlbSkge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY2xpcGJvYXJkSXRlbXMpIHtcbiAgICAgICAgICAgIGlmIChpc0NsaXBib2FyZEZpbGUoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwYm9hcmRGaWxlcyA9IGl0ZW0udHlwZXMuZmlsdGVyKHR5cGUgPT4gdHlwZS5tYXRjaCgvXmltYWdlXFwvLykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVCbG9icyA9IGF3YWl0IFByb21pc2UuYWxsKGNsaXBib2FyZEZpbGVzLm1hcCh0eXBlID0+IGl0ZW0uZ2V0VHlwZSh0eXBlKSEpKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmxzID0gKGZpbGVCbG9icy5maWx0ZXIoQm9vbGVhbikgYXMgKEZpbGUgfCBCbG9iKVtdKS5tYXAoYmxvYiA9PiBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgICAgICB1cmxzLm1hcChhc3luYyB1cmwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IChhd2FpdCBmZXRjaCh1cmwpKS5ibG9iKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGUoW2Jsb2JdLCAnZmlsZScsIHsgdHlwZTogYmxvYi50eXBlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsZXNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0udHlwZXMuaW5jbHVkZXMoJ3RleHQvaHRtbCcpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaHRtbENvbnRlbnQgPSBhd2FpdCBibG9iQXNTdHJpbmcoYXdhaXQgaXRlbS5nZXRUeXBlKCd0ZXh0L2h0bWwnKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaHRtbENsaXBib2FyZERhdGEgPSBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQoaHRtbENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChodG1sQ2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gaHRtbENsaXBib2FyZERhdGE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChodG1sQ29udGVudCAmJiBodG1sQ29udGVudC50cmltKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHsgaHRtbDogaHRtbENvbnRlbnQgfTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXRlbS50eXBlcy5pbmNsdWRlcygndGV4dC9wbGFpbicpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGV4dENvbnRlbnQgPSBhd2FpdCBibG9iQXNTdHJpbmcoYXdhaXQgaXRlbS5nZXRUeXBlKCd0ZXh0L3BsYWluJykpO1xuICAgICAgICAgICAgICAgIGNsaXBib2FyZERhdGEgPSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6IHN0cmlwSHRtbCh0ZXh0Q29udGVudClcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjbGlwYm9hcmREYXRhO1xufTtcbiJdfQ==
|
package/esm2022/utils/dom.mjs
CHANGED
|
@@ -153,31 +153,13 @@ export const getPlainText = (domNode) => {
|
|
|
153
153
|
}
|
|
154
154
|
return text;
|
|
155
155
|
};
|
|
156
|
+
export const SlateFragmentAttributeKey = 'data-slate-angular-fragment';
|
|
156
157
|
/**
|
|
157
|
-
* Get x-slate-fragment attribute from data-slate-fragment
|
|
158
|
+
* Get x-slate-fragment attribute from data-slate-angular-fragment
|
|
158
159
|
*/
|
|
159
|
-
const catchSlateFragment = /data-slate-fragment="(.+?)"/m;
|
|
160
|
-
export const getSlateFragmentAttribute = (
|
|
161
|
-
const htmlData = dataTransfer.getData('text/html');
|
|
160
|
+
const catchSlateFragment = /data-slate-angular-fragment="(.+?)"/m;
|
|
161
|
+
export const getSlateFragmentAttribute = (htmlData) => {
|
|
162
162
|
const [, fragment] = htmlData.match(catchSlateFragment) || [];
|
|
163
163
|
return fragment;
|
|
164
164
|
};
|
|
165
|
-
/**
|
|
166
|
-
* Get the x-slate-fragment attribute that exist in text/html data
|
|
167
|
-
* and append it to the DataTransfer object
|
|
168
|
-
*/
|
|
169
|
-
export const getClipboardData = (dataTransfer, clipboardFormatKey = 'x-slate-fragment') => {
|
|
170
|
-
if (!dataTransfer.getData(`application/${clipboardFormatKey}`)) {
|
|
171
|
-
const fragment = getSlateFragmentAttribute(dataTransfer);
|
|
172
|
-
if (fragment) {
|
|
173
|
-
const clipboardData = new DataTransfer();
|
|
174
|
-
dataTransfer.types.forEach(type => {
|
|
175
|
-
clipboardData.setData(type, dataTransfer.getData(type));
|
|
176
|
-
});
|
|
177
|
-
clipboardData.setData(`application/${clipboardFormatKey}`, fragment);
|
|
178
|
-
return clipboardData;
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
return dataTransfer;
|
|
182
|
-
};
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILDhFQUE4RTtBQUM5RSw2RUFBNkU7QUFDN0UsdURBQXVEO0FBQ3ZELElBQU8sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDakMsSUFBTyxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztBQUN2QyxJQUFPLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO0FBQ3ZDLElBQU8sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDakMsSUFBTyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztBQUNuQyxJQUFPLFlBQVksR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO0FBQzNDLElBQU8sY0FBYyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBWTVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBVSxFQUFpQixFQUFFO0lBQ3hELE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUNyRixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQVUsRUFBdUIsRUFBRTtJQUM1RCxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxD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O1lBQ3pDLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5QixhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7WUFDSCxhQUFhLENBQUMsT0FBTyxDQUFDLGVBQWUsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUNyRSxPQUFPLGFBQWEsQ0FBQztRQUN6QixDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sWUFBWSxDQUFDO0FBQ3hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVHlwZXMuXG4gKi9cblxuLy8gQ09NUEFUOiBUaGlzIGlzIHJlcXVpcmVkIHRvIHByZXZlbnQgVHlwZVNjcmlwdCBhbGlhc2VzIGZyb20gZG9pbmcgc29tZSB2ZXJ5XG4vLyB3ZWlyZCB0aGluZ3MgZm9yIFNsYXRlJ3MgdHlwZXMgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGdsb2JhbHMuICgyMDE5LzExLzI3KVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8zNTAwMlxuaW1wb3J0IERPTU5vZGUgPSBnbG9iYWxUaGlzLk5vZGU7XG5pbXBvcnQgRE9NQ29tbWVudCA9IGdsb2JhbFRoaXMuQ29tbWVudDtcbmltcG9ydCBET01FbGVtZW50ID0gZ2xvYmFsVGhpcy5FbGVtZW50O1xuaW1wb3J0IERPTVRleHQgPSBnbG9iYWxUaGlzLlRleHQ7XG5pbXBvcnQgRE9NUmFuZ2UgPSBnbG9iYWxUaGlzLlJhbmdlO1xuaW1wb3J0IERPTVNlbGVjdGlvbiA9IGdsb2JhbFRoaXMuU2VsZWN0aW9uO1xuaW1wb3J0IERPTVN0YXRpY1JhbmdlID0gZ2xvYmFsVGhpcy5TdGF0aWNSYW5nZTtcbmV4cG9ydCB7IERPTU5vZGUsIERPTUNvbW1lbnQsIERPTUVsZW1lbnQsIERPTVRleHQsIERPTVJhbmdlLCBET01TZWxlY3Rpb24sIERPTVN0YXRpY1JhbmdlIH07XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgICBpbnRlcmZhY2UgV2luZG93IHtcbiAgICAgICAgU2VsZWN0aW9uOiAodHlwZW9mIFNlbGVjdGlvbilbJ2NvbnN0cnVjdG9yJ107XG4gICAgICAgIERhdGFUcmFuc2ZlcjogKHR5cGVvZiBEYXRhVHJhbnNmZXIpWydjb25zdHJ1Y3RvciddO1xuICAgICAgICBOb2RlOiAodHlwZW9mIE5vZGUpWydjb25zdHJ1Y3RvciddO1xuICAgIH1cbn1cblxuZXhwb3J0IHR5cGUgRE9NUG9pbnQgPSBbTm9kZSwgbnVtYmVyXTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBob3N0IHdpbmRvdyBvZiBhIERPTSBub2RlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0VmlldyA9ICh2YWx1ZTogYW55KTogV2luZG93IHwgbnVsbCA9PiB7XG4gICAgcmV0dXJuICh2YWx1ZSAmJiB2YWx1ZS5vd25lckRvY3VtZW50ICYmIHZhbHVlLm93bmVyRG9jdW1lbnQuZGVmYXVsdFZpZXcpIHx8IG51bGw7XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGEgRE9NIG5vZGUgaXMgYSBjb21tZW50IG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTUNvbW1lbnQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIERPTUNvbW1lbnQgPT4ge1xuICAgIHJldHVybiBpc0RPTU5vZGUodmFsdWUpICYmIHZhbHVlLm5vZGVUeXBlID09PSA4O1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIERPTSBub2RlIGlzIGFuIGVsZW1lbnQgbm9kZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRE9NRWxlbWVudCA9ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgRE9NRWxlbWVudCA9PiB7XG4gICAgcmV0dXJuIGlzRE9NTm9kZSh2YWx1ZSkgJiYgdmFsdWUubm9kZVR5cGUgPT09IDE7XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGEgdmFsdWUgaXMgYSBET00gbm9kZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRE9NTm9kZSA9ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgRE9NTm9kZSA9PiB7XG4gICAgY29uc3Qgd2luZG93ID0gZ2V0RGVmYXVsdFZpZXcodmFsdWUpO1xuICAgIHJldHVybiAhIXdpbmRvdyAmJiB2YWx1ZSBpbnN0YW5jZW9mIHdpbmRvdy5Ob2RlO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgRE9NIHNlbGVjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzRE9NU2VsZWN0aW9uID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBET01TZWxlY3Rpb24gPT4ge1xuICAgIGNvbnN0IHdpbmRvdyA9IHZhbHVlICYmIHZhbHVlLmFuY2hvck5vZGUgJiYgZ2V0RGVmYXVsdFZpZXcodmFsdWUuYW5jaG9yTm9kZSk7XG4gICAgcmV0dXJuICEhd2luZG93ICYmIHZhbHVlIGluc3RhbmNlb2Ygd2luZG93LlNlbGVjdGlvbjtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBET00gbm9kZSBpcyBhbiBlbGVtZW50IG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTVRleHQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIERPTVRleHQgPT4ge1xuICAgIHJldHVybiBpc0RPTU5vZGUodmFsdWUpICYmIHZhbHVlLm5vZGVUeXBlID09PSAzO1xufTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHBhc3RlIGV2ZW50IGlzIGEgcGxhaW50ZXh0LW9ubHkgZXZlbnQuXG4gKi9cbmV4cG9ydCBjb25zdCBpc1BsYWluVGV4dE9ubHlQYXN0ZSA9IChldmVudDogQ2xpcGJvYXJkRXZlbnQpID0+IHtcbiAgICByZXR1cm4gZXZlbnQuY2xpcGJvYXJkRGF0YSAmJiBldmVudC5jbGlwYm9hcmREYXRhLmdldERhdGEoJ3RleHQvcGxhaW4nKSAhPT0gJycgJiYgZXZlbnQuY2xpcGJvYXJkRGF0YS50eXBlcy5sZW5ndGggPT09IDE7XG59O1xuXG4vKipcbiAqIE5vcm1hbGl6ZSBhIERPTSBwb2ludCBzbyB0aGF0IGl0IGFsd2F5cyByZWZlcnMgdG8gYSB0ZXh0IG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemVET01Qb2ludCA9IChkb21Qb2ludDogRE9NUG9pbnQpOiBET01Qb2ludCA9PiB7XG4gICAgbGV0IFtub2RlLCBvZmZzZXRdID0gZG9tUG9pbnQ7XG5cbiAgICAvLyBJZiBpdCdzIGFuIGVsZW1lbnQgbm9kZSwgaXRzIG9mZnNldCByZWZlcnMgdG8gdGhlIGluZGV4IG9mIGl0cyBjaGlsZHJlblxuICAgIC8vIGluY2x1ZGluZyBjb21tZW50IG5vZGVzLCBzbyB0cnkgdG8gZmluZCB0aGUgcmlnaHQgdGV4dCBjaGlsZCBub2RlLlxuICAgIGlmIChpc0RPTUVsZW1lbnQobm9kZSkgJiYgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgICBsZXQgaXNMYXN0ID0gb2Zmc2V0ID09PSBub2RlLmNoaWxkTm9kZXMubGVuZ3RoO1xuICAgICAgICBsZXQgaW5kZXggPSBpc0xhc3QgPyBvZmZzZXQgLSAxIDogb2Zmc2V0O1xuICAgICAgICBbbm9kZSwgaW5kZXhdID0gZ2V0RWRpdGFibGVDaGlsZEFuZEluZGV4KG5vZGUsIGluZGV4LCBpc0xhc3QgPyAnYmFja3dhcmQnIDogJ2ZvcndhcmQnKTtcblxuICAgICAgICAvLyBJZiB0aGUgZWRpdGFibGUgY2hpbGQgZm91bmQgaXMgaW4gZnJvbnQgb2YgaW5wdXQgb2Zmc2V0LCB3ZSBpbnN0ZWFkIHNlZWsgdG8gaXRzIGVuZFxuICAgICAgICBpc0xhc3QgPSBpbmRleCA8IG9mZnNldDtcblxuICAgICAgICAvLyBJZiB0aGUgbm9kZSBoYXMgY2hpbGRyZW4sIHRyYXZlcnNlIHVudGlsIHdlIGhhdmUgYSBsZWFmIG5vZGUuIExlYWYgbm9kZXNcbiAgICAgICAgLy8gY2FuIGJlIGVpdGhlciB0ZXh0IG5vZGVzLCBvciBvdGhlciB2b2lkIERPTSBub2Rlcy5cbiAgICAgICAgd2hpbGUgKGlzRE9NRWxlbWVudChub2RlKSAmJiBub2RlLmNoaWxkTm9kZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBpID0gaXNMYXN0ID8gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aCAtIDEgOiAwO1xuICAgICAgICAgICAgbm9kZSA9IGdldEVkaXRhYmxlQ2hpbGQobm9kZSwgaSwgaXNMYXN0ID8gJ2JhY2t3YXJkJyA6ICdmb3J3YXJkJyk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXRlcm1pbmUgdGhlIG5ldyBvZmZzZXQgaW5zaWRlIHRoZSB0ZXh0IG5vZGUuXG4gICAgICAgIG9mZnNldCA9IGlzTGFzdCAmJiBub2RlLnRleHRDb250ZW50ICE9IG51bGwgPyBub2RlLnRleHRDb250ZW50Lmxlbmd0aCA6IDA7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIHRoZSBub2RlIGFuZCBvZmZzZXQuXG4gICAgcmV0dXJuIFtub2RlLCBvZmZzZXRdO1xufTtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdldGhlciB0aGUgYWN0aXZlIGVsZW1lbnQgaXMgbmVzdGVkIHdpdGhpbiBhIHNoYWRvd1Jvb3RcbiAqL1xuXG5leHBvcnQgY29uc3QgaGFzU2hhZG93Um9vdCA9ICgpID0+IHtcbiAgICByZXR1cm4gISEod2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiYgd2luZG93LmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuc2hhZG93Um9vdCk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgbmVhcmVzdCBlZGl0YWJsZSBjaGlsZCBhbmQgaW5kZXggYXQgYGluZGV4YCBpbiBhIGBwYXJlbnRgLCBwcmVmZXJyaW5nXG4gKiBgZGlyZWN0aW9uYC5cbiAqL1xuXG5leHBvcnQgY29uc3QgZ2V0RWRpdGFibGVDaGlsZEFuZEluZGV4ID0gKHBhcmVudDogRE9NRWxlbWVudCwgaW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiAnZm9yd2FyZCcgfCAnYmFja3dhcmQnKTogW0RPTU5vZGUsIG51bWJlcl0gPT4ge1xuICAgIGNvbnN0IHsgY2hpbGROb2RlcyB9ID0gcGFyZW50O1xuICAgIGxldCBjaGlsZCA9IGNoaWxkTm9kZXNbaW5kZXhdO1xuICAgIGxldCBpID0gaW5kZXg7XG4gICAgbGV0IHRyaWVkRm9yd2FyZCA9IGZhbHNlO1xuICAgIGxldCB0cmllZEJhY2t3YXJkID0gZmFsc2U7XG5cbiAgICAvLyBXaGlsZSB0aGUgY2hpbGQgaXMgYSBjb21tZW50IG5vZGUsIG9yIGFuIGVsZW1lbnQgbm9kZSB3aXRoIG5vIGNoaWxkcmVuLFxuICAgIC8vIGtlZXAgaXRlcmF0aW5nIHRvIGZpbmQgYSBzaWJsaW5nIG5vbi12b2lkLCBub24tY29tbWVudCBub2RlLlxuICAgIHdoaWxlIChcbiAgICAgICAgaXNET01Db21tZW50KGNoaWxkKSB8fFxuICAgICAgICAoaXNET01FbGVtZW50KGNoaWxkKSAmJiBjaGlsZC5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMCkgfHxcbiAgICAgICAgKGlzRE9NRWxlbWVudChjaGlsZCkgJiYgY2hpbGQuZ2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnKSA9PT0gJ2ZhbHNlJylcbiAgICApIHtcbiAgICAgICAgaWYgKHRyaWVkRm9yd2FyZCAmJiB0cmllZEJhY2t3YXJkKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpID49IGNoaWxkTm9kZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0cmllZEZvcndhcmQgPSB0cnVlO1xuICAgICAgICAgICAgaSA9IGluZGV4IC0gMTtcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdiYWNrd2FyZCc7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpIDwgMCkge1xuICAgICAgICAgICAgdHJpZWRCYWNrd2FyZCA9IHRydWU7XG4gICAgICAgICAgICBpID0gaW5kZXggKyAxO1xuICAgICAgICAgICAgZGlyZWN0aW9uID0gJ2ZvcndhcmQnO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjaGlsZCA9IGNoaWxkTm9kZXNbaV07XG4gICAgICAgIGluZGV4ID0gaTtcbiAgICAgICAgaSArPSBkaXJlY3Rpb24gPT09ICdmb3J3YXJkJyA/IDEgOiAtMTtcbiAgICB9XG5cbiAgICByZXR1cm4gW2NoaWxkLCBpbmRleF07XG59O1xuXG4vKipcbiAqIEdldCB0aGUgbmVhcmVzdCBlZGl0YWJsZSBjaGlsZCBhdCBgaW5kZXhgIGluIGEgYHBhcmVudGAsIHByZWZlcnJpbmdcbiAqIGBkaXJlY3Rpb25gLlxuICovXG5cbmV4cG9ydCBjb25zdCBnZXRFZGl0YWJsZUNoaWxkID0gKHBhcmVudDogRE9NRWxlbWVudCwgaW5kZXg6IG51bWJlciwgZGlyZWN0aW9uOiAnZm9yd2FyZCcgfCAnYmFja3dhcmQnKTogRE9NTm9kZSA9PiB7XG4gICAgY29uc3QgW2NoaWxkXSA9IGdldEVkaXRhYmxlQ2hpbGRBbmRJbmRleChwYXJlbnQsIGluZGV4LCBkaXJlY3Rpb24pO1xuICAgIHJldHVybiBjaGlsZDtcbn07XG5cbi8qKlxuICogR2V0IGEgcGxhaW50ZXh0IHJlcHJlc2VudGF0aW9uIG9mIHRoZSBjb250ZW50IG9mIGEgbm9kZSwgYWNjb3VudGluZyBmb3IgYmxvY2tcbiAqIGVsZW1lbnRzIHdoaWNoIGdldCBhIG5ld2xpbmUgYXBwZW5kZWQuXG4gKlxuICogVGhlIGRvbU5vZGUgbXVzdCBiZSBhdHRhY2hlZCB0byB0aGUgRE9NLlxuICovXG5leHBvcnQgY29uc3QgZ2V0UGxhaW5UZXh0ID0gKGRvbU5vZGU6IERPTU5vZGUpID0+IHtcbiAgICBsZXQgdGV4dCA9ICcnO1xuXG4gICAgaWYgKGlzRE9NVGV4dChkb21Ob2RlKSAmJiBkb21Ob2RlLm5vZGVWYWx1ZSkge1xuICAgICAgICByZXR1cm4gZG9tTm9kZS5ub2RlVmFsdWU7XG4gICAgfVxuXG4gICAgaWYgKGlzRE9NRWxlbWVudChkb21Ob2RlKSkge1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkTm9kZSBvZiBBcnJheS5mcm9tKGRvbU5vZGUuY2hpbGROb2RlcykpIHtcbiAgICAgICAgICAgIHRleHQgKz0gZ2V0UGxhaW5UZXh0KGNoaWxkTm9kZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkaXNwbGF5ID0gZ2V0Q29tcHV0ZWRTdHlsZShkb21Ob2RlKS5nZXRQcm9wZXJ0eVZhbHVlKCdkaXNwbGF5Jyk7XG5cbiAgICAgICAgaWYgKGRpc3BsYXkgPT09ICdibG9jaycgfHwgZGlzcGxheSA9PT0gJ2xpc3QnIHx8IGRvbU5vZGUudGFnTmFtZSA9PT0gJ0JSJykge1xuICAgICAgICAgICAgdGV4dCArPSAnXFxuJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0ZXh0O1xufTtcblxuLyoqXG4gKiBHZXQgeC1zbGF0ZS1mcmFnbWVudCBhdHRyaWJ1dGUgZnJvbSBkYXRhLXNsYXRlLWZyYWdtZW50XG4gKi9cbmNvbnN0IGNhdGNoU2xhdGVGcmFnbWVudCA9IC9kYXRhLXNsYXRlLWZyYWdtZW50PVwiKC4rPylcIi9tO1xuZXhwb3J0IGNvbnN0IGdldFNsYXRlRnJhZ21lbnRBdHRyaWJ1dGUgPSAoZGF0YVRyYW5zZmVyOiBEYXRhVHJhbnNmZXIpOiBzdHJpbmcgfCB2b2lkID0+IHtcbiAgICBjb25zdCBodG1sRGF0YSA9IGRhdGFUcmFuc2Zlci5nZXREYXRhKCd0ZXh0L2h0bWwnKTtcbiAgICBjb25zdCBbLCBmcmFnbWVudF0gPSBodG1sRGF0YS5tYXRjaChjYXRjaFNsYXRlRnJhZ21lbnQpIHx8IFtdO1xuICAgIHJldHVybiBmcmFnbWVudDtcbn07XG5cbi8qKlxuICogR2V0IHRoZSB4LXNsYXRlLWZyYWdtZW50IGF0dHJpYnV0ZSB0aGF0IGV4aXN0IGluIHRleHQvaHRtbCBkYXRhXG4gKiBhbmQgYXBwZW5kIGl0IHRvIHRoZSBEYXRhVHJhbnNmZXIgb2JqZWN0XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDbGlwYm9hcmREYXRhID0gKGRhdGFUcmFuc2ZlcjogRGF0YVRyYW5zZmVyLCBjbGlwYm9hcmRGb3JtYXRLZXkgPSAneC1zbGF0ZS1mcmFnbWVudCcpOiBEYXRhVHJhbnNmZXIgPT4ge1xuICAgIGlmICghZGF0YVRyYW5zZmVyLmdldERhdGEoYGFwcGxpY2F0aW9uLyR7Y2xpcGJvYXJkRm9ybWF0S2V5fWApKSB7XG4gICAgICAgIGNvbnN0IGZyYWdtZW50ID0gZ2V0U2xhdGVGcmFnbWVudEF0dHJpYnV0ZShkYXRhVHJhbnNmZXIpO1xuICAgICAgICBpZiAoZnJhZ21lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGNsaXBib2FyZERhdGEgPSBuZXcgRGF0YVRyYW5zZmVyKCk7XG4gICAgICAgICAgICBkYXRhVHJhbnNmZXIudHlwZXMuZm9yRWFjaCh0eXBlID0+IHtcbiAgICAgICAgICAgICAgICBjbGlwYm9hcmREYXRhLnNldERhdGEodHlwZSwgZGF0YVRyYW5zZmVyLmdldERhdGEodHlwZSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjbGlwYm9hcmREYXRhLnNldERhdGEoYGFwcGxpY2F0aW9uLyR7Y2xpcGJvYXJkRm9ybWF0S2V5fWAsIGZyYWdtZW50KTtcbiAgICAgICAgICAgIHJldHVybiBjbGlwYm9hcmREYXRhO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkYXRhVHJhbnNmZXI7XG59O1xuIl19
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILDhFQUE4RTtBQUM5RSw2RUFBNkU7QUFDN0UsdURBQXVEO0FBQ3ZELElBQU8sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDakMsSUFBTyxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztBQUN2QyxJQUFPLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO0FBQ3ZDLElBQU8sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDakMsSUFBTyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztBQUNuQyxJQUFPLFlBQVksR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO0FBQzNDLElBQU8sY0FBYyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBWTVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBVSxFQUFpQixFQUFFO0lBQ3hELE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUNyRixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQVUsRUFBdUIsRUFBRTtJQUM1RCxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxD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QVMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLElBQUksT0FBTyxLQUFLLE9BQU8sSUFBSSxPQUFPLEtBQUssTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEUsSUFBSSxJQUFJLElBQUksQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLDZCQUE2QixDQUFDO0FBRXZFOztHQUVHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxzQ0FBc0MsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFFBQWdCLEVBQWlCLEVBQUU7SUFDekUsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5RCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGVzLlxuICovXG5cbi8vIENPTVBBVDogVGhpcyBpcyByZXF1aXJlZCB0byBwcmV2ZW50IFR5cGVTY3JpcHQgYWxpYXNlcyBmcm9tIGRvaW5nIHNvbWUgdmVyeVxuLy8gd2VpcmQgdGhpbmdzIGZvciBTbGF0ZSdzIHR5cGVzIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBnbG9iYWxzLiAoMjAxOS8xMS8yNylcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzUwMDJcbmltcG9ydCBET01Ob2RlID0gZ2xvYmFsVGhpcy5Ob2RlO1xuaW1wb3J0IERPTUNvbW1lbnQgPSBnbG9iYWxUaGlzLkNvbW1lbnQ7XG5pbXBvcnQgRE9NRWxlbWVudCA9IGdsb2JhbFRoaXMuRWxlbWVudDtcbmltcG9ydCBET01UZXh0ID0gZ2xvYmFsVGhpcy5UZXh0O1xuaW1wb3J0IERPTVJhbmdlID0gZ2xvYmFsVGhpcy5SYW5nZTtcbmltcG9ydCBET01TZWxlY3Rpb24gPSBnbG9iYWxUaGlzLlNlbGVjdGlvbjtcbmltcG9ydCBET01TdGF0aWNSYW5nZSA9IGdsb2JhbFRoaXMuU3RhdGljUmFuZ2U7XG5leHBvcnQgeyBET01Ob2RlLCBET01Db21tZW50LCBET01FbGVtZW50LCBET01UZXh0LCBET01SYW5nZSwgRE9NU2VsZWN0aW9uLCBET01TdGF0aWNSYW5nZSB9O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIFNlbGVjdGlvbjogKHR5cGVvZiBTZWxlY3Rpb24pWydjb25zdHJ1Y3RvciddO1xuICAgICAgICBEYXRhVHJhbnNmZXI6ICh0eXBlb2YgRGF0YVRyYW5zZmVyKVsnY29uc3RydWN0b3InXTtcbiAgICAgICAgTm9kZTogKHR5cGVvZiBOb2RlKVsnY29uc3RydWN0b3InXTtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIERPTVBvaW50ID0gW05vZGUsIG51bWJlcl07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaG9zdCB3aW5kb3cgb2YgYSBET00gbm9kZVxuICovXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdFZpZXcgPSAodmFsdWU6IGFueSk6IFdpbmRvdyB8IG51bGwgPT4ge1xuICAgIHJldHVybiAodmFsdWUgJiYgdmFsdWUub3duZXJEb2N1bWVudCAmJiB2YWx1ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSB8fCBudWxsO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIERPTSBub2RlIGlzIGEgY29tbWVudCBub2RlLlxuICovXG5leHBvcnQgY29uc3QgaXNET01Db21tZW50ID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBET01Db21tZW50ID0+IHtcbiAgICByZXR1cm4gaXNET01Ob2RlKHZhbHVlKSAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gODtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBET00gbm9kZSBpcyBhbiBlbGVtZW50IG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTUVsZW1lbnQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIERPTUVsZW1lbnQgPT4ge1xuICAgIHJldHVybiBpc0RPTU5vZGUodmFsdWUpICYmIHZhbHVlLm5vZGVUeXBlID09PSAxO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgRE9NIG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTU5vZGUgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIERPTU5vZGUgPT4ge1xuICAgIGNvbnN0IHdpbmRvdyA9IGdldERlZmF1bHRWaWV3KHZhbHVlKTtcbiAgICByZXR1cm4gISF3aW5kb3cgJiYgdmFsdWUgaW5zdGFuY2VvZiB3aW5kb3cuTm9kZTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhIERPTSBzZWxlY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTVNlbGVjdGlvbiA9ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgRE9NU2VsZWN0aW9uID0+IHtcbiAgICBjb25zdCB3aW5kb3cgPSB2YWx1ZSAmJiB2YWx1ZS5hbmNob3JOb2RlICYmIGdldERlZmF1bHRWaWV3KHZhbHVlLmFuY2hvck5vZGUpO1xuICAgIHJldHVybiAhIXdpbmRvdyAmJiB2YWx1ZSBpbnN0YW5jZW9mIHdpbmRvdy5TZWxlY3Rpb247XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGEgRE9NIG5vZGUgaXMgYW4gZWxlbWVudCBub2RlLlxuICovXG5leHBvcnQgY29uc3QgaXNET01UZXh0ID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBET01UZXh0ID0+IHtcbiAgICByZXR1cm4gaXNET01Ob2RlKHZhbHVlKSAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gMztcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBwYXN0ZSBldmVudCBpcyBhIHBsYWludGV4dC1vbmx5IGV2ZW50LlxuICovXG5leHBvcnQgY29uc3QgaXNQbGFpblRleHRPbmx5UGFzdGUgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgcmV0dXJuIGV2ZW50LmNsaXBib2FyZERhdGEgJiYgZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJykgIT09ICcnICYmIGV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMubGVuZ3RoID09PSAxO1xufTtcblxuLyoqXG4gKiBOb3JtYWxpemUgYSBET00gcG9pbnQgc28gdGhhdCBpdCBhbHdheXMgcmVmZXJzIHRvIGEgdGV4dCBub2RlLlxuICovXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplRE9NUG9pbnQgPSAoZG9tUG9pbnQ6IERPTVBvaW50KTogRE9NUG9pbnQgPT4ge1xuICAgIGxldCBbbm9kZSwgb2Zmc2V0XSA9IGRvbVBvaW50O1xuXG4gICAgLy8gSWYgaXQncyBhbiBlbGVtZW50IG5vZGUsIGl0cyBvZmZzZXQgcmVmZXJzIHRvIHRoZSBpbmRleCBvZiBpdHMgY2hpbGRyZW5cbiAgICAvLyBpbmNsdWRpbmcgY29tbWVudCBub2Rlcywgc28gdHJ5IHRvIGZpbmQgdGhlIHJpZ2h0IHRleHQgY2hpbGQgbm9kZS5cbiAgICBpZiAoaXNET01FbGVtZW50KG5vZGUpICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgbGV0IGlzTGFzdCA9IG9mZnNldCA9PT0gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDtcbiAgICAgICAgbGV0IGluZGV4ID0gaXNMYXN0ID8gb2Zmc2V0IC0gMSA6IG9mZnNldDtcbiAgICAgICAgW25vZGUsIGluZGV4XSA9IGdldEVkaXRhYmxlQ2hpbGRBbmRJbmRleChub2RlLCBpbmRleCwgaXNMYXN0ID8gJ2JhY2t3YXJkJyA6ICdmb3J3YXJkJyk7XG5cbiAgICAgICAgLy8gSWYgdGhlIGVkaXRhYmxlIGNoaWxkIGZvdW5kIGlzIGluIGZyb250IG9mIGlucHV0IG9mZnNldCwgd2UgaW5zdGVhZCBzZWVrIHRvIGl0cyBlbmRcbiAgICAgICAgaXNMYXN0ID0gaW5kZXggPCBvZmZzZXQ7XG5cbiAgICAgICAgLy8gSWYgdGhlIG5vZGUgaGFzIGNoaWxkcmVuLCB0cmF2ZXJzZSB1bnRpbCB3ZSBoYXZlIGEgbGVhZiBub2RlLiBMZWFmIG5vZGVzXG4gICAgICAgIC8vIGNhbiBiZSBlaXRoZXIgdGV4dCBub2Rlcywgb3Igb3RoZXIgdm9pZCBET00gbm9kZXMuXG4gICAgICAgIHdoaWxlIChpc0RPTUVsZW1lbnQobm9kZSkgJiYgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaSA9IGlzTGFzdCA/IG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggLSAxIDogMDtcbiAgICAgICAgICAgIG5vZGUgPSBnZXRFZGl0YWJsZUNoaWxkKG5vZGUsIGksIGlzTGFzdCA/ICdiYWNrd2FyZCcgOiAnZm9yd2FyZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBuZXcgb2Zmc2V0IGluc2lkZSB0aGUgdGV4dCBub2RlLlxuICAgICAgICBvZmZzZXQgPSBpc0xhc3QgJiYgbm9kZS50ZXh0Q29udGVudCAhPSBudWxsID8gbm9kZS50ZXh0Q29udGVudC5sZW5ndGggOiAwO1xuICAgIH1cblxuICAgIC8vIFJldHVybiB0aGUgbm9kZSBhbmQgb2Zmc2V0LlxuICAgIHJldHVybiBbbm9kZSwgb2Zmc2V0XTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3ZXRoZXIgdGhlIGFjdGl2ZSBlbGVtZW50IGlzIG5lc3RlZCB3aXRoaW4gYSBzaGFkb3dSb290XG4gKi9cblxuZXhwb3J0IGNvbnN0IGhhc1NoYWRvd1Jvb3QgPSAoKSA9PiB7XG4gICAgcmV0dXJuICEhKHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QpO1xufTtcblxuLyoqXG4gKiBHZXQgdGhlIG5lYXJlc3QgZWRpdGFibGUgY2hpbGQgYW5kIGluZGV4IGF0IGBpbmRleGAgaW4gYSBgcGFyZW50YCwgcHJlZmVycmluZ1xuICogYGRpcmVjdGlvbmAuXG4gKi9cblxuZXhwb3J0IGNvbnN0IGdldEVkaXRhYmxlQ2hpbGRBbmRJbmRleCA9IChwYXJlbnQ6IERPTUVsZW1lbnQsIGluZGV4OiBudW1iZXIsIGRpcmVjdGlvbjogJ2ZvcndhcmQnIHwgJ2JhY2t3YXJkJyk6IFtET01Ob2RlLCBudW1iZXJdID0+IHtcbiAgICBjb25zdCB7IGNoaWxkTm9kZXMgfSA9IHBhcmVudDtcbiAgICBsZXQgY2hpbGQgPSBjaGlsZE5vZGVzW2luZGV4XTtcbiAgICBsZXQgaSA9IGluZGV4O1xuICAgIGxldCB0cmllZEZvcndhcmQgPSBmYWxzZTtcbiAgICBsZXQgdHJpZWRCYWNrd2FyZCA9IGZhbHNlO1xuXG4gICAgLy8gV2hpbGUgdGhlIGNoaWxkIGlzIGEgY29tbWVudCBub2RlLCBvciBhbiBlbGVtZW50IG5vZGUgd2l0aCBubyBjaGlsZHJlbixcbiAgICAvLyBrZWVwIGl0ZXJhdGluZyB0byBmaW5kIGEgc2libGluZyBub24tdm9pZCwgbm9uLWNvbW1lbnQgbm9kZS5cbiAgICB3aGlsZSAoXG4gICAgICAgIGlzRE9NQ29tbWVudChjaGlsZCkgfHxcbiAgICAgICAgKGlzRE9NRWxlbWVudChjaGlsZCkgJiYgY2hpbGQuY2hpbGROb2Rlcy5sZW5ndGggPT09IDApIHx8XG4gICAgICAgIChpc0RPTUVsZW1lbnQoY2hpbGQpICYmIGNoaWxkLmdldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJykgPT09ICdmYWxzZScpXG4gICAgKSB7XG4gICAgICAgIGlmICh0cmllZEZvcndhcmQgJiYgdHJpZWRCYWNrd2FyZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaSA+PSBjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdHJpZWRGb3J3YXJkID0gdHJ1ZTtcbiAgICAgICAgICAgIGkgPSBpbmRleCAtIDE7XG4gICAgICAgICAgICBkaXJlY3Rpb24gPSAnYmFja3dhcmQnO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgICAgIHRyaWVkQmFja3dhcmQgPSB0cnVlO1xuICAgICAgICAgICAgaSA9IGluZGV4ICsgMTtcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdmb3J3YXJkJztcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hpbGQgPSBjaGlsZE5vZGVzW2ldO1xuICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgIGkgKz0gZGlyZWN0aW9uID09PSAnZm9yd2FyZCcgPyAxIDogLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtjaGlsZCwgaW5kZXhdO1xufTtcblxuLyoqXG4gKiBHZXQgdGhlIG5lYXJlc3QgZWRpdGFibGUgY2hpbGQgYXQgYGluZGV4YCBpbiBhIGBwYXJlbnRgLCBwcmVmZXJyaW5nXG4gKiBgZGlyZWN0aW9uYC5cbiAqL1xuXG5leHBvcnQgY29uc3QgZ2V0RWRpdGFibGVDaGlsZCA9IChwYXJlbnQ6IERPTUVsZW1lbnQsIGluZGV4OiBudW1iZXIsIGRpcmVjdGlvbjogJ2ZvcndhcmQnIHwgJ2JhY2t3YXJkJyk6IERPTU5vZGUgPT4ge1xuICAgIGNvbnN0IFtjaGlsZF0gPSBnZXRFZGl0YWJsZUNoaWxkQW5kSW5kZXgocGFyZW50LCBpbmRleCwgZGlyZWN0aW9uKTtcbiAgICByZXR1cm4gY2hpbGQ7XG59O1xuXG4vKipcbiAqIEdldCBhIHBsYWludGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29udGVudCBvZiBhIG5vZGUsIGFjY291bnRpbmcgZm9yIGJsb2NrXG4gKiBlbGVtZW50cyB3aGljaCBnZXQgYSBuZXdsaW5lIGFwcGVuZGVkLlxuICpcbiAqIFRoZSBkb21Ob2RlIG11c3QgYmUgYXR0YWNoZWQgdG8gdGhlIERPTS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFBsYWluVGV4dCA9IChkb21Ob2RlOiBET01Ob2RlKSA9PiB7XG4gICAgbGV0IHRleHQgPSAnJztcblxuICAgIGlmIChpc0RPTVRleHQoZG9tTm9kZSkgJiYgZG9tTm9kZS5ub2RlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGRvbU5vZGUubm9kZVZhbHVlO1xuICAgIH1cblxuICAgIGlmIChpc0RPTUVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZE5vZGUgb2YgQXJyYXkuZnJvbShkb21Ob2RlLmNoaWxkTm9kZXMpKSB7XG4gICAgICAgICAgICB0ZXh0ICs9IGdldFBsYWluVGV4dChjaGlsZE5vZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGlzcGxheSA9IGdldENvbXB1dGVkU3R5bGUoZG9tTm9kZSkuZ2V0UHJvcGVydHlWYWx1ZSgnZGlzcGxheScpO1xuXG4gICAgICAgIGlmIChkaXNwbGF5ID09PSAnYmxvY2snIHx8IGRpc3BsYXkgPT09ICdsaXN0JyB8fCBkb21Ob2RlLnRhZ05hbWUgPT09ICdCUicpIHtcbiAgICAgICAgICAgIHRleHQgKz0gJ1xcbic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dDtcbn07XG5cbmV4cG9ydCBjb25zdCBTbGF0ZUZyYWdtZW50QXR0cmlidXRlS2V5ID0gJ2RhdGEtc2xhdGUtYW5ndWxhci1mcmFnbWVudCc7XG5cbi8qKlxuICogR2V0IHgtc2xhdGUtZnJhZ21lbnQgYXR0cmlidXRlIGZyb20gZGF0YS1zbGF0ZS1hbmd1bGFyLWZyYWdtZW50XG4gKi9cbmNvbnN0IGNhdGNoU2xhdGVGcmFnbWVudCA9IC9kYXRhLXNsYXRlLWFuZ3VsYXItZnJhZ21lbnQ9XCIoLis/KVwiL207XG5leHBvcnQgY29uc3QgZ2V0U2xhdGVGcmFnbWVudEF0dHJpYnV0ZSA9IChodG1sRGF0YTogc3RyaW5nKTogc3RyaW5nIHwgdm9pZCA9PiB7XG4gICAgY29uc3QgWywgZnJhZ21lbnRdID0gaHRtbERhdGEubWF0Y2goY2F0Y2hTbGF0ZUZyYWdtZW50KSB8fCBbXTtcbiAgICByZXR1cm4gZnJhZ21lbnQ7XG59O1xuIl19
|
package/esm2022/utils/index.mjs
CHANGED
|
@@ -8,4 +8,5 @@ export * from './range-list';
|
|
|
8
8
|
export * from './block-card';
|
|
9
9
|
export * from './global-normalize';
|
|
10
10
|
export * from './throttle';
|
|
11
|
-
|
|
11
|
+
export * from './clipboard';
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2Vhay1tYXBzJztcbmV4cG9ydCAqIGZyb20gJy4vaG90a2V5cyc7XG5leHBvcnQgKiBmcm9tICcuL2RvbSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2tleSc7XG5leHBvcnQgKiBmcm9tICcuL3JhbmdlLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9ibG9jay1jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLW5vcm1hbGl6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rocm90dGxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpcGJvYXJkJztcbiJdfQ==
|