slate-angular 18.0.1 → 19.0.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.
- package/fesm2022/slate-angular.mjs +120 -130
- package/fesm2022/slate-angular.mjs.map +1 -1
- package/package.json +1 -3
- package/view/base.d.ts +4 -4
- package/view/container-item.d.ts +1 -1
- package/view/container.d.ts +1 -1
- package/esm2022/components/block-card/block-card.component.mjs +0 -33
- package/esm2022/components/children/children-outlet.component.mjs +0 -22
- package/esm2022/components/children/children.component.mjs +0 -23
- package/esm2022/components/editable/editable.component.mjs +0 -1266
- package/esm2022/components/element/default-element.component.mjs +0 -19
- package/esm2022/components/element/default-element.component.token.mjs +0 -3
- package/esm2022/components/element/element.component.mjs +0 -19
- package/esm2022/components/leaf/default-leaf.component.mjs +0 -30
- package/esm2022/components/leaf/token.mjs +0 -3
- package/esm2022/components/leaves/leaves.component.mjs +0 -25
- package/esm2022/components/string/default-string.component.mjs +0 -75
- package/esm2022/components/string/string.component.mjs +0 -108
- package/esm2022/components/string/template.component.mjs +0 -20
- package/esm2022/components/text/default-text.component.mjs +0 -22
- package/esm2022/components/text/token.mjs +0 -4
- package/esm2022/components/text/void-text.component.mjs +0 -32
- package/esm2022/custom-event/BeforeInputEventPlugin.mjs +0 -251
- package/esm2022/custom-event/DOMTopLevelEventTypes.mjs +0 -13
- package/esm2022/custom-event/FallbackCompositionState.mjs +0 -62
- package/esm2022/custom-event/before-input-polyfill.mjs +0 -13
- package/esm2022/module.mjs +0 -69
- package/esm2022/plugins/angular-editor.mjs +0 -610
- package/esm2022/plugins/with-angular.mjs +0 -217
- package/esm2022/public-api.mjs +0 -20
- package/esm2022/slate-angular.mjs +0 -5
- package/esm2022/types/clipboard.mjs +0 -2
- package/esm2022/types/error.mjs +0 -12
- package/esm2022/types/feature.mjs +0 -2
- package/esm2022/types/index.mjs +0 -5
- package/esm2022/types/view.mjs +0 -2
- package/esm2022/utils/block-card.mjs +0 -25
- package/esm2022/utils/clipboard/clipboard.mjs +0 -78
- package/esm2022/utils/clipboard/common.mjs +0 -42
- package/esm2022/utils/clipboard/data-transfer.mjs +0 -44
- package/esm2022/utils/clipboard/index.mjs +0 -5
- package/esm2022/utils/clipboard/navigator-clipboard.mjs +0 -59
- package/esm2022/utils/constants.mjs +0 -2
- package/esm2022/utils/dom.mjs +0 -165
- package/esm2022/utils/environment.mjs +0 -34
- package/esm2022/utils/global-normalize.mjs +0 -11
- package/esm2022/utils/hotkeys.mjs +0 -99
- package/esm2022/utils/index.mjs +0 -12
- package/esm2022/utils/key.mjs +0 -14
- package/esm2022/utils/lines.mjs +0 -46
- package/esm2022/utils/range-list.mjs +0 -29
- package/esm2022/utils/restore-dom.mjs +0 -33
- package/esm2022/utils/throttle.mjs +0 -18
- package/esm2022/utils/view.mjs +0 -8
- package/esm2022/utils/weak-maps.mjs +0 -40
- package/esm2022/view/base.mjs +0 -273
- package/esm2022/view/container-item.mjs +0 -108
- package/esm2022/view/container.mjs +0 -22
- package/esm2022/view/context-change.mjs +0 -13
- package/esm2022/view/context.mjs +0 -2
- package/esm2022/view/render/leaves-render.mjs +0 -107
- package/esm2022/view/render/list-render.mjs +0 -302
- package/esm2022/view/render/utils.mjs +0 -110
|
@@ -1,59 +0,0 @@
|
|
|
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([textClipboard ?? JSON.stringify(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
|
-
clipboardData = {
|
|
33
|
-
...clipboardData,
|
|
34
|
-
files
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
if (item.types.includes('text/html')) {
|
|
38
|
-
const htmlContent = await blobAsString(await item.getType('text/html'));
|
|
39
|
-
const htmlClipboardData = getClipboardFromHTMLText(htmlContent);
|
|
40
|
-
if (htmlClipboardData) {
|
|
41
|
-
clipboardData = { ...clipboardData, ...htmlClipboardData };
|
|
42
|
-
return clipboardData;
|
|
43
|
-
}
|
|
44
|
-
if (htmlContent && htmlContent.trim()) {
|
|
45
|
-
clipboardData = { ...clipboardData, html: htmlContent };
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (item.types.includes('text/plain')) {
|
|
49
|
-
const textContent = await blobAsString(await item.getType('text/plain'));
|
|
50
|
-
clipboardData = {
|
|
51
|
-
...clipboardData,
|
|
52
|
-
text: stripHtml(textContent)
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
return clipboardData;
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2aWdhdG9yLWNsaXBib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9jbGlwYm9hcmQvbmF2aWdhdG9yLWNsaXBib2FyZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsd0JBQXdCLEVBQUUseUJBQXlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBR3pILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLEtBQUssRUFBRSxRQUFnQixFQUFFLElBQWUsRUFBRSxPQUFlLEVBQUUsRUFBRSxFQUFFO0lBQ2hHLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQztJQUN6QixJQUFJLHlCQUF5QixFQUFFLEVBQUUsQ0FBQztRQUM5QixNQUFNLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO1lBQzVCLElBQUksYUFBYSxDQUFDO2dCQUNkLFdBQVcsRUFBRSxJQUFJLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFO29CQUM5QixJQUFJLEVBQUUsV0FBVztpQkFDcEIsQ0FBQztnQkFDRixZQUFZLEVBQUUsSUFBSSxJQUFJLENBQUMsQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDO2FBQzFGLENBQUM7U0FDTCxDQUFDLENBQUM7SUFDUCxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsS0FBSyxJQUFJLEVBQUU7SUFDNUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLEVBQUUsQ0FBQztRQUM5QixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBQ0QsTUFBTSxjQUFjLEdBQUcsTUFBTSxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hELElBQUksYUFBYSxHQUFrQixFQUFFLENBQUM7SUFFdEMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLGNBQWMsQ0FBQyxDQUFDLENBQUMsWUFBWSxhQUFhLEVBQUUsQ0FBQztRQUM5RSxLQUFLLE1BQU0sSUFBSSxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ2hDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0JBQ3hCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO2dCQUN6RSxNQUFNLFNBQVMsR0FBRyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNyRixNQUFNLElBQUksR0FBSSxTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBcUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7Z0JBQ25HLE1BQU0sS0FBSyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUMsR0FBRyxFQUFDLEVBQUU7b0JBQ2pCLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUM3QyxPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUMsQ0FDTCxDQUFDO2dCQUNGLGFBQWEsR0FBRztvQkFDWixHQUFHLGFBQWE7b0JBQ2hCLEtBQUs7aUJBQ1IsQ0FBQztZQUNOLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7Z0JBQ25DLE1BQU0sV0FBVyxHQUFHLE1BQU0sWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO2dCQUN4RSxNQUFNLGlCQUFpQixHQUFHLHdCQUF3QixDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNoRSxJQUFJLGlCQUFpQixFQUFFLENBQUM7b0JBQ3BCLGFBQWEsR0FBRyxFQUFFLEdBQUcsYUFBYSxFQUFFLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQztvQkFDM0QsT0FBTyxhQUFhLENBQUM7Z0JBQ3pCLENBQUM7Z0JBQ0QsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUM7b0JBQ3BDLGFBQWEsR0FBRyxFQUFFLEdBQUcsYUFBYSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsQ0FBQztnQkFDNUQsQ0FBQztZQUNMLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUM7Z0JBQ3BDLE1BQU0sV0FBVyxHQUFHLE1BQU0sWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUN6RSxhQUFhLEdBQUc7b0JBQ1osR0FBRyxhQUFhO29CQUNoQixJQUFJLEVBQUUsU0FBUyxDQUFDLFdBQVcsQ0FBQztpQkFDL0IsQ0FBQztZQUNOLENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sYUFBYSxDQUFDO0FBQ3pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQgfSBmcm9tICcuL2NsaXBib2FyZCc7XG5pbXBvcnQgeyBibG9iQXNTdHJpbmcsIGlzQ2xpcGJvYXJkRmlsZSwgaXNDbGlwYm9hcmRSZWFkU3VwcG9ydGVkLCBpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkLCBzdHJpcEh0bWwgfSBmcm9tICcuL2NvbW1vbic7XG5pbXBvcnQgeyBDbGlwYm9hcmREYXRhIH0gZnJvbSAnLi4vLi4vdHlwZXMvY2xpcGJvYXJkJztcblxuZXhwb3J0IGNvbnN0IHNldE5hdmlnYXRvckNsaXBib2FyZCA9IGFzeW5jIChodG1sVGV4dDogc3RyaW5nLCBkYXRhOiBFbGVtZW50W10sIHRleHQ6IHN0cmluZyA9ICcnKSA9PiB7XG4gICAgbGV0IHRleHRDbGlwYm9hcmQgPSB0ZXh0O1xuICAgIGlmIChpc0NsaXBib2FyZFdyaXRlU3VwcG9ydGVkKCkpIHtcbiAgICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZShbXG4gICAgICAgICAgICBuZXcgQ2xpcGJvYXJkSXRlbSh7XG4gICAgICAgICAgICAgICAgJ3RleHQvaHRtbCc6IG5ldyBCbG9iKFtodG1sVGV4dF0sIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ3RleHQvaHRtbCdcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAndGV4dC9wbGFpbic6IG5ldyBCbG9iKFt0ZXh0Q2xpcGJvYXJkID8/IEpTT04uc3RyaW5naWZ5KGRhdGEpXSwgeyB0eXBlOiAndGV4dC9wbGFpbicgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF0pO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXROYXZpZ2F0b3JDbGlwYm9hcmQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFpc0NsaXBib2FyZFJlYWRTdXBwb3J0ZWQoKSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgY2xpcGJvYXJkSXRlbXMgPSBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLnJlYWQoKTtcbiAgICBsZXQgY2xpcGJvYXJkRGF0YTogQ2xpcGJvYXJkRGF0YSA9IHt9O1xuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoY2xpcGJvYXJkSXRlbXMpICYmIGNsaXBib2FyZEl0ZW1zWzBdIGluc3RhbmNlb2YgQ2xpcGJvYXJkSXRlbSkge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgY2xpcGJvYXJkSXRlbXMpIHtcbiAgICAgICAgICAgIGlmIChpc0NsaXBib2FyZEZpbGUoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjbGlwYm9hcmRGaWxlcyA9IGl0ZW0udHlwZXMuZmlsdGVyKHR5cGUgPT4gdHlwZS5tYXRjaCgvXmltYWdlXFwvLykpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGZpbGVCbG9icyA9IGF3YWl0IFByb21pc2UuYWxsKGNsaXBib2FyZEZpbGVzLm1hcCh0eXBlID0+IGl0ZW0uZ2V0VHlwZSh0eXBlKSEpKTtcbiAgICAgICAgICAgICAgICBjb25zdCB1cmxzID0gKGZpbGVCbG9icy5maWx0ZXIoQm9vbGVhbikgYXMgKEZpbGUgfCBCbG9iKVtdKS5tYXAoYmxvYiA9PiBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBmaWxlcyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgICAgICB1cmxzLm1hcChhc3luYyB1cmwgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IChhd2FpdCBmZXRjaCh1cmwpKS5ibG9iKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEZpbGUoW2Jsb2JdLCAnZmlsZScsIHsgdHlwZTogYmxvYi50eXBlIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY2xpcGJvYXJkRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgZmlsZXNcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGl0ZW0udHlwZXMuaW5jbHVkZXMoJ3RleHQvaHRtbCcpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaHRtbENvbnRlbnQgPSBhd2FpdCBibG9iQXNTdHJpbmcoYXdhaXQgaXRlbS5nZXRUeXBlKCd0ZXh0L2h0bWwnKSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaHRtbENsaXBib2FyZERhdGEgPSBnZXRDbGlwYm9hcmRGcm9tSFRNTFRleHQoaHRtbENvbnRlbnQpO1xuICAgICAgICAgICAgICAgIGlmIChodG1sQ2xpcGJvYXJkRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBjbGlwYm9hcmREYXRhID0geyAuLi5jbGlwYm9hcmREYXRhLCAuLi5odG1sQ2xpcGJvYXJkRGF0YSB9O1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gY2xpcGJvYXJkRGF0YTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGh0bWxDb250ZW50ICYmIGh0bWxDb250ZW50LnRyaW0oKSkge1xuICAgICAgICAgICAgICAgICAgICBjbGlwYm9hcmREYXRhID0geyAuLi5jbGlwYm9hcmREYXRhLCBodG1sOiBodG1sQ29udGVudCB9O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpdGVtLnR5cGVzLmluY2x1ZGVzKCd0ZXh0L3BsYWluJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0ZXh0Q29udGVudCA9IGF3YWl0IGJsb2JBc1N0cmluZyhhd2FpdCBpdGVtLmdldFR5cGUoJ3RleHQvcGxhaW4nKSk7XG4gICAgICAgICAgICAgICAgY2xpcGJvYXJkRGF0YSA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uY2xpcGJvYXJkRGF0YSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogc3RyaXBIdG1sKHRleHRDb250ZW50KVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsaXBib2FyZERhdGE7XG59O1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const TRIPLE_CLICK = 3;
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRSSVBMRV9DTElDSyA9IDM7XG4iXX0=
|
package/esm2022/utils/dom.mjs
DELETED
|
@@ -1,165 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Types.
|
|
3
|
-
*/
|
|
4
|
-
// COMPAT: This is required to prevent TypeScript aliases from doing some very
|
|
5
|
-
// weird things for Slate's types with the same name as globals. (2019/11/27)
|
|
6
|
-
// https://github.com/microsoft/TypeScript/issues/35002
|
|
7
|
-
var DOMNode = globalThis.Node;
|
|
8
|
-
var DOMComment = globalThis.Comment;
|
|
9
|
-
var DOMElement = globalThis.Element;
|
|
10
|
-
var DOMText = globalThis.Text;
|
|
11
|
-
var DOMRange = globalThis.Range;
|
|
12
|
-
var DOMSelection = globalThis.Selection;
|
|
13
|
-
var DOMStaticRange = globalThis.StaticRange;
|
|
14
|
-
export { DOMNode, DOMComment, DOMElement, DOMText, DOMRange, DOMSelection, DOMStaticRange };
|
|
15
|
-
/**
|
|
16
|
-
* Returns the host window of a DOM node
|
|
17
|
-
*/
|
|
18
|
-
export const getDefaultView = (value) => {
|
|
19
|
-
return (value && value.ownerDocument && value.ownerDocument.defaultView) || null;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* Check if a DOM node is a comment node.
|
|
23
|
-
*/
|
|
24
|
-
export const isDOMComment = (value) => {
|
|
25
|
-
return isDOMNode(value) && value.nodeType === 8;
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Check if a DOM node is an element node.
|
|
29
|
-
*/
|
|
30
|
-
export const isDOMElement = (value) => {
|
|
31
|
-
return isDOMNode(value) && value.nodeType === 1;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* Check if a value is a DOM node.
|
|
35
|
-
*/
|
|
36
|
-
export const isDOMNode = (value) => {
|
|
37
|
-
const window = getDefaultView(value);
|
|
38
|
-
return !!window && value instanceof window.Node;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Check if a value is a DOM selection.
|
|
42
|
-
*/
|
|
43
|
-
export const isDOMSelection = (value) => {
|
|
44
|
-
const window = value && value.anchorNode && getDefaultView(value.anchorNode);
|
|
45
|
-
return !!window && value instanceof window.Selection;
|
|
46
|
-
};
|
|
47
|
-
/**
|
|
48
|
-
* Check if a DOM node is an element node.
|
|
49
|
-
*/
|
|
50
|
-
export const isDOMText = (value) => {
|
|
51
|
-
return isDOMNode(value) && value.nodeType === 3;
|
|
52
|
-
};
|
|
53
|
-
/**
|
|
54
|
-
* Checks whether a paste event is a plaintext-only event.
|
|
55
|
-
*/
|
|
56
|
-
export const isPlainTextOnlyPaste = (event) => {
|
|
57
|
-
return event.clipboardData && event.clipboardData.getData('text/plain') !== '' && event.clipboardData.types.length === 1;
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Normalize a DOM point so that it always refers to a text node.
|
|
61
|
-
*/
|
|
62
|
-
export const normalizeDOMPoint = (domPoint) => {
|
|
63
|
-
let [node, offset] = domPoint;
|
|
64
|
-
// If it's an element node, its offset refers to the index of its children
|
|
65
|
-
// including comment nodes, so try to find the right text child node.
|
|
66
|
-
if (isDOMElement(node) && node.childNodes.length) {
|
|
67
|
-
let isLast = offset === node.childNodes.length;
|
|
68
|
-
let index = isLast ? offset - 1 : offset;
|
|
69
|
-
[node, index] = getEditableChildAndIndex(node, index, isLast ? 'backward' : 'forward');
|
|
70
|
-
// If the editable child found is in front of input offset, we instead seek to its end
|
|
71
|
-
isLast = index < offset;
|
|
72
|
-
// If the node has children, traverse until we have a leaf node. Leaf nodes
|
|
73
|
-
// can be either text nodes, or other void DOM nodes.
|
|
74
|
-
while (isDOMElement(node) && node.childNodes.length) {
|
|
75
|
-
const i = isLast ? node.childNodes.length - 1 : 0;
|
|
76
|
-
node = getEditableChild(node, i, isLast ? 'backward' : 'forward');
|
|
77
|
-
}
|
|
78
|
-
// Determine the new offset inside the text node.
|
|
79
|
-
offset = isLast && node.textContent != null ? node.textContent.length : 0;
|
|
80
|
-
}
|
|
81
|
-
// Return the node and offset.
|
|
82
|
-
return [node, offset];
|
|
83
|
-
};
|
|
84
|
-
/**
|
|
85
|
-
* Determines wether the active element is nested within a shadowRoot
|
|
86
|
-
*/
|
|
87
|
-
export const hasShadowRoot = () => {
|
|
88
|
-
return !!(window.document.activeElement && window.document.activeElement.shadowRoot);
|
|
89
|
-
};
|
|
90
|
-
/**
|
|
91
|
-
* Get the nearest editable child and index at `index` in a `parent`, preferring
|
|
92
|
-
* `direction`.
|
|
93
|
-
*/
|
|
94
|
-
export const getEditableChildAndIndex = (parent, index, direction) => {
|
|
95
|
-
const { childNodes } = parent;
|
|
96
|
-
let child = childNodes[index];
|
|
97
|
-
let i = index;
|
|
98
|
-
let triedForward = false;
|
|
99
|
-
let triedBackward = false;
|
|
100
|
-
// While the child is a comment node, or an element node with no children,
|
|
101
|
-
// keep iterating to find a sibling non-void, non-comment node.
|
|
102
|
-
while (isDOMComment(child) ||
|
|
103
|
-
(isDOMElement(child) && child.childNodes.length === 0) ||
|
|
104
|
-
(isDOMElement(child) && child.getAttribute('contenteditable') === 'false')) {
|
|
105
|
-
if (triedForward && triedBackward) {
|
|
106
|
-
break;
|
|
107
|
-
}
|
|
108
|
-
if (i >= childNodes.length) {
|
|
109
|
-
triedForward = true;
|
|
110
|
-
i = index - 1;
|
|
111
|
-
direction = 'backward';
|
|
112
|
-
continue;
|
|
113
|
-
}
|
|
114
|
-
if (i < 0) {
|
|
115
|
-
triedBackward = true;
|
|
116
|
-
i = index + 1;
|
|
117
|
-
direction = 'forward';
|
|
118
|
-
continue;
|
|
119
|
-
}
|
|
120
|
-
child = childNodes[i];
|
|
121
|
-
index = i;
|
|
122
|
-
i += direction === 'forward' ? 1 : -1;
|
|
123
|
-
}
|
|
124
|
-
return [child, index];
|
|
125
|
-
};
|
|
126
|
-
/**
|
|
127
|
-
* Get the nearest editable child at `index` in a `parent`, preferring
|
|
128
|
-
* `direction`.
|
|
129
|
-
*/
|
|
130
|
-
export const getEditableChild = (parent, index, direction) => {
|
|
131
|
-
const [child] = getEditableChildAndIndex(parent, index, direction);
|
|
132
|
-
return child;
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* Get a plaintext representation of the content of a node, accounting for block
|
|
136
|
-
* elements which get a newline appended.
|
|
137
|
-
*
|
|
138
|
-
* The domNode must be attached to the DOM.
|
|
139
|
-
*/
|
|
140
|
-
export const getPlainText = (domNode) => {
|
|
141
|
-
let text = '';
|
|
142
|
-
if (isDOMText(domNode) && domNode.nodeValue) {
|
|
143
|
-
return domNode.nodeValue;
|
|
144
|
-
}
|
|
145
|
-
if (isDOMElement(domNode)) {
|
|
146
|
-
for (const childNode of Array.from(domNode.childNodes)) {
|
|
147
|
-
text += getPlainText(childNode);
|
|
148
|
-
}
|
|
149
|
-
const display = getComputedStyle(domNode).getPropertyValue('display');
|
|
150
|
-
if (display === 'block' || display === 'list' || domNode.tagName === 'BR') {
|
|
151
|
-
text += '\n';
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return text;
|
|
155
|
-
};
|
|
156
|
-
export const SlateFragmentAttributeKey = 'data-slate-angular-fragment';
|
|
157
|
-
/**
|
|
158
|
-
* Get x-slate-fragment attribute from data-slate-angular-fragment
|
|
159
|
-
*/
|
|
160
|
-
const catchSlateFragment = /data-slate-angular-fragment="(.+?)"/m;
|
|
161
|
-
export const getSlateFragmentAttribute = (htmlData) => {
|
|
162
|
-
const [, fragment] = htmlData.match(catchSlateFragment) || [];
|
|
163
|
-
return fragment;
|
|
164
|
-
};
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2RvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILDhFQUE4RTtBQUM5RSw2RUFBNkU7QUFDN0UsdURBQXVEO0FBQ3ZELElBQU8sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDakMsSUFBTyxVQUFVLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQztBQUN2QyxJQUFPLFVBQVUsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDO0FBQ3ZDLElBQU8sT0FBTyxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUM7QUFDakMsSUFBTyxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQztBQUNuQyxJQUFPLFlBQVksR0FBRyxVQUFVLENBQUMsU0FBUyxDQUFDO0FBQzNDLElBQU8sY0FBYyxHQUFHLFVBQVUsQ0FBQyxXQUFXLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxDQUFDO0FBWTVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQUMsS0FBVSxFQUFpQixFQUFFO0lBQ3hELE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLGFBQWEsSUFBSSxLQUFLLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQztBQUNyRixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQVUsRUFBdUIsRUFBRTtJQUM1RCxPQUFPLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQztBQUNwRCxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxD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QVMsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JELElBQUksSUFBSSxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDcEMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXRFLElBQUksT0FBTyxLQUFLLE9BQU8sSUFBSSxPQUFPLEtBQUssTUFBTSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEUsSUFBSSxJQUFJLElBQUksQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLDZCQUE2QixDQUFDO0FBRXZFOztHQUVHO0FBQ0gsTUFBTSxrQkFBa0IsR0FBRyxzQ0FBc0MsQ0FBQztBQUNsRSxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLFFBQWdCLEVBQWlCLEVBQUU7SUFDekUsTUFBTSxDQUFDLEVBQUUsUUFBUSxDQUFDLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUM5RCxPQUFPLFFBQVEsQ0FBQztBQUNwQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFR5cGVzLlxuICovXG5cbi8vIENPTVBBVDogVGhpcyBpcyByZXF1aXJlZCB0byBwcmV2ZW50IFR5cGVTY3JpcHQgYWxpYXNlcyBmcm9tIGRvaW5nIHNvbWUgdmVyeVxuLy8gd2VpcmQgdGhpbmdzIGZvciBTbGF0ZSdzIHR5cGVzIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBnbG9iYWxzLiAoMjAxOS8xMS8yNylcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvMzUwMDJcbmltcG9ydCBET01Ob2RlID0gZ2xvYmFsVGhpcy5Ob2RlO1xuaW1wb3J0IERPTUNvbW1lbnQgPSBnbG9iYWxUaGlzLkNvbW1lbnQ7XG5pbXBvcnQgRE9NRWxlbWVudCA9IGdsb2JhbFRoaXMuRWxlbWVudDtcbmltcG9ydCBET01UZXh0ID0gZ2xvYmFsVGhpcy5UZXh0O1xuaW1wb3J0IERPTVJhbmdlID0gZ2xvYmFsVGhpcy5SYW5nZTtcbmltcG9ydCBET01TZWxlY3Rpb24gPSBnbG9iYWxUaGlzLlNlbGVjdGlvbjtcbmltcG9ydCBET01TdGF0aWNSYW5nZSA9IGdsb2JhbFRoaXMuU3RhdGljUmFuZ2U7XG5leHBvcnQgeyBET01Ob2RlLCBET01Db21tZW50LCBET01FbGVtZW50LCBET01UZXh0LCBET01SYW5nZSwgRE9NU2VsZWN0aW9uLCBET01TdGF0aWNSYW5nZSB9O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG4gICAgaW50ZXJmYWNlIFdpbmRvdyB7XG4gICAgICAgIFNlbGVjdGlvbjogKHR5cGVvZiBTZWxlY3Rpb24pWydjb25zdHJ1Y3RvciddO1xuICAgICAgICBEYXRhVHJhbnNmZXI6ICh0eXBlb2YgRGF0YVRyYW5zZmVyKVsnY29uc3RydWN0b3InXTtcbiAgICAgICAgTm9kZTogKHR5cGVvZiBOb2RlKVsnY29uc3RydWN0b3InXTtcbiAgICB9XG59XG5cbmV4cG9ydCB0eXBlIERPTVBvaW50ID0gW05vZGUsIG51bWJlcl07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaG9zdCB3aW5kb3cgb2YgYSBET00gbm9kZVxuICovXG5leHBvcnQgY29uc3QgZ2V0RGVmYXVsdFZpZXcgPSAodmFsdWU6IGFueSk6IFdpbmRvdyB8IG51bGwgPT4ge1xuICAgIHJldHVybiAodmFsdWUgJiYgdmFsdWUub3duZXJEb2N1bWVudCAmJiB2YWx1ZS5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3KSB8fCBudWxsO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIERPTSBub2RlIGlzIGEgY29tbWVudCBub2RlLlxuICovXG5leHBvcnQgY29uc3QgaXNET01Db21tZW50ID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBET01Db21tZW50ID0+IHtcbiAgICByZXR1cm4gaXNET01Ob2RlKHZhbHVlKSAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gODtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBET00gbm9kZSBpcyBhbiBlbGVtZW50IG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTUVsZW1lbnQgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIERPTUVsZW1lbnQgPT4ge1xuICAgIHJldHVybiBpc0RPTU5vZGUodmFsdWUpICYmIHZhbHVlLm5vZGVUeXBlID09PSAxO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIHZhbHVlIGlzIGEgRE9NIG5vZGUuXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTU5vZGUgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIERPTU5vZGUgPT4ge1xuICAgIGNvbnN0IHdpbmRvdyA9IGdldERlZmF1bHRWaWV3KHZhbHVlKTtcbiAgICByZXR1cm4gISF3aW5kb3cgJiYgdmFsdWUgaW5zdGFuY2VvZiB3aW5kb3cuTm9kZTtcbn07XG5cbi8qKlxuICogQ2hlY2sgaWYgYSB2YWx1ZSBpcyBhIERPTSBzZWxlY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBpc0RPTVNlbGVjdGlvbiA9ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgRE9NU2VsZWN0aW9uID0+IHtcbiAgICBjb25zdCB3aW5kb3cgPSB2YWx1ZSAmJiB2YWx1ZS5hbmNob3JOb2RlICYmIGdldERlZmF1bHRWaWV3KHZhbHVlLmFuY2hvck5vZGUpO1xuICAgIHJldHVybiAhIXdpbmRvdyAmJiB2YWx1ZSBpbnN0YW5jZW9mIHdpbmRvdy5TZWxlY3Rpb247XG59O1xuXG4vKipcbiAqIENoZWNrIGlmIGEgRE9NIG5vZGUgaXMgYW4gZWxlbWVudCBub2RlLlxuICovXG5leHBvcnQgY29uc3QgaXNET01UZXh0ID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBET01UZXh0ID0+IHtcbiAgICByZXR1cm4gaXNET01Ob2RlKHZhbHVlKSAmJiB2YWx1ZS5ub2RlVHlwZSA9PT0gMztcbn07XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBwYXN0ZSBldmVudCBpcyBhIHBsYWludGV4dC1vbmx5IGV2ZW50LlxuICovXG5leHBvcnQgY29uc3QgaXNQbGFpblRleHRPbmx5UGFzdGUgPSAoZXZlbnQ6IENsaXBib2FyZEV2ZW50KSA9PiB7XG4gICAgcmV0dXJuIGV2ZW50LmNsaXBib2FyZERhdGEgJiYgZXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCd0ZXh0L3BsYWluJykgIT09ICcnICYmIGV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMubGVuZ3RoID09PSAxO1xufTtcblxuLyoqXG4gKiBOb3JtYWxpemUgYSBET00gcG9pbnQgc28gdGhhdCBpdCBhbHdheXMgcmVmZXJzIHRvIGEgdGV4dCBub2RlLlxuICovXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplRE9NUG9pbnQgPSAoZG9tUG9pbnQ6IERPTVBvaW50KTogRE9NUG9pbnQgPT4ge1xuICAgIGxldCBbbm9kZSwgb2Zmc2V0XSA9IGRvbVBvaW50O1xuXG4gICAgLy8gSWYgaXQncyBhbiBlbGVtZW50IG5vZGUsIGl0cyBvZmZzZXQgcmVmZXJzIHRvIHRoZSBpbmRleCBvZiBpdHMgY2hpbGRyZW5cbiAgICAvLyBpbmNsdWRpbmcgY29tbWVudCBub2Rlcywgc28gdHJ5IHRvIGZpbmQgdGhlIHJpZ2h0IHRleHQgY2hpbGQgbm9kZS5cbiAgICBpZiAoaXNET01FbGVtZW50KG5vZGUpICYmIG5vZGUuY2hpbGROb2Rlcy5sZW5ndGgpIHtcbiAgICAgICAgbGV0IGlzTGFzdCA9IG9mZnNldCA9PT0gbm9kZS5jaGlsZE5vZGVzLmxlbmd0aDtcbiAgICAgICAgbGV0IGluZGV4ID0gaXNMYXN0ID8gb2Zmc2V0IC0gMSA6IG9mZnNldDtcbiAgICAgICAgW25vZGUsIGluZGV4XSA9IGdldEVkaXRhYmxlQ2hpbGRBbmRJbmRleChub2RlLCBpbmRleCwgaXNMYXN0ID8gJ2JhY2t3YXJkJyA6ICdmb3J3YXJkJyk7XG5cbiAgICAgICAgLy8gSWYgdGhlIGVkaXRhYmxlIGNoaWxkIGZvdW5kIGlzIGluIGZyb250IG9mIGlucHV0IG9mZnNldCwgd2UgaW5zdGVhZCBzZWVrIHRvIGl0cyBlbmRcbiAgICAgICAgaXNMYXN0ID0gaW5kZXggPCBvZmZzZXQ7XG5cbiAgICAgICAgLy8gSWYgdGhlIG5vZGUgaGFzIGNoaWxkcmVuLCB0cmF2ZXJzZSB1bnRpbCB3ZSBoYXZlIGEgbGVhZiBub2RlLiBMZWFmIG5vZGVzXG4gICAgICAgIC8vIGNhbiBiZSBlaXRoZXIgdGV4dCBub2Rlcywgb3Igb3RoZXIgdm9pZCBET00gbm9kZXMuXG4gICAgICAgIHdoaWxlIChpc0RPTUVsZW1lbnQobm9kZSkgJiYgbm9kZS5jaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgaSA9IGlzTGFzdCA/IG5vZGUuY2hpbGROb2Rlcy5sZW5ndGggLSAxIDogMDtcbiAgICAgICAgICAgIG5vZGUgPSBnZXRFZGl0YWJsZUNoaWxkKG5vZGUsIGksIGlzTGFzdCA/ICdiYWNrd2FyZCcgOiAnZm9yd2FyZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGV0ZXJtaW5lIHRoZSBuZXcgb2Zmc2V0IGluc2lkZSB0aGUgdGV4dCBub2RlLlxuICAgICAgICBvZmZzZXQgPSBpc0xhc3QgJiYgbm9kZS50ZXh0Q29udGVudCAhPSBudWxsID8gbm9kZS50ZXh0Q29udGVudC5sZW5ndGggOiAwO1xuICAgIH1cblxuICAgIC8vIFJldHVybiB0aGUgbm9kZSBhbmQgb2Zmc2V0LlxuICAgIHJldHVybiBbbm9kZSwgb2Zmc2V0XTtcbn07XG5cbi8qKlxuICogRGV0ZXJtaW5lcyB3ZXRoZXIgdGhlIGFjdGl2ZSBlbGVtZW50IGlzIG5lc3RlZCB3aXRoaW4gYSBzaGFkb3dSb290XG4gKi9cblxuZXhwb3J0IGNvbnN0IGhhc1NoYWRvd1Jvb3QgPSAoKSA9PiB7XG4gICAgcmV0dXJuICEhKHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50ICYmIHdpbmRvdy5kb2N1bWVudC5hY3RpdmVFbGVtZW50LnNoYWRvd1Jvb3QpO1xufTtcblxuLyoqXG4gKiBHZXQgdGhlIG5lYXJlc3QgZWRpdGFibGUgY2hpbGQgYW5kIGluZGV4IGF0IGBpbmRleGAgaW4gYSBgcGFyZW50YCwgcHJlZmVycmluZ1xuICogYGRpcmVjdGlvbmAuXG4gKi9cblxuZXhwb3J0IGNvbnN0IGdldEVkaXRhYmxlQ2hpbGRBbmRJbmRleCA9IChwYXJlbnQ6IERPTUVsZW1lbnQsIGluZGV4OiBudW1iZXIsIGRpcmVjdGlvbjogJ2ZvcndhcmQnIHwgJ2JhY2t3YXJkJyk6IFtET01Ob2RlLCBudW1iZXJdID0+IHtcbiAgICBjb25zdCB7IGNoaWxkTm9kZXMgfSA9IHBhcmVudDtcbiAgICBsZXQgY2hpbGQgPSBjaGlsZE5vZGVzW2luZGV4XTtcbiAgICBsZXQgaSA9IGluZGV4O1xuICAgIGxldCB0cmllZEZvcndhcmQgPSBmYWxzZTtcbiAgICBsZXQgdHJpZWRCYWNrd2FyZCA9IGZhbHNlO1xuXG4gICAgLy8gV2hpbGUgdGhlIGNoaWxkIGlzIGEgY29tbWVudCBub2RlLCBvciBhbiBlbGVtZW50IG5vZGUgd2l0aCBubyBjaGlsZHJlbixcbiAgICAvLyBrZWVwIGl0ZXJhdGluZyB0byBmaW5kIGEgc2libGluZyBub24tdm9pZCwgbm9uLWNvbW1lbnQgbm9kZS5cbiAgICB3aGlsZSAoXG4gICAgICAgIGlzRE9NQ29tbWVudChjaGlsZCkgfHxcbiAgICAgICAgKGlzRE9NRWxlbWVudChjaGlsZCkgJiYgY2hpbGQuY2hpbGROb2Rlcy5sZW5ndGggPT09IDApIHx8XG4gICAgICAgIChpc0RPTUVsZW1lbnQoY2hpbGQpICYmIGNoaWxkLmdldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJykgPT09ICdmYWxzZScpXG4gICAgKSB7XG4gICAgICAgIGlmICh0cmllZEZvcndhcmQgJiYgdHJpZWRCYWNrd2FyZCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaSA+PSBjaGlsZE5vZGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgdHJpZWRGb3J3YXJkID0gdHJ1ZTtcbiAgICAgICAgICAgIGkgPSBpbmRleCAtIDE7XG4gICAgICAgICAgICBkaXJlY3Rpb24gPSAnYmFja3dhcmQnO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaSA8IDApIHtcbiAgICAgICAgICAgIHRyaWVkQmFja3dhcmQgPSB0cnVlO1xuICAgICAgICAgICAgaSA9IGluZGV4ICsgMTtcbiAgICAgICAgICAgIGRpcmVjdGlvbiA9ICdmb3J3YXJkJztcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgY2hpbGQgPSBjaGlsZE5vZGVzW2ldO1xuICAgICAgICBpbmRleCA9IGk7XG4gICAgICAgIGkgKz0gZGlyZWN0aW9uID09PSAnZm9yd2FyZCcgPyAxIDogLTE7XG4gICAgfVxuXG4gICAgcmV0dXJuIFtjaGlsZCwgaW5kZXhdO1xufTtcblxuLyoqXG4gKiBHZXQgdGhlIG5lYXJlc3QgZWRpdGFibGUgY2hpbGQgYXQgYGluZGV4YCBpbiBhIGBwYXJlbnRgLCBwcmVmZXJyaW5nXG4gKiBgZGlyZWN0aW9uYC5cbiAqL1xuXG5leHBvcnQgY29uc3QgZ2V0RWRpdGFibGVDaGlsZCA9IChwYXJlbnQ6IERPTUVsZW1lbnQsIGluZGV4OiBudW1iZXIsIGRpcmVjdGlvbjogJ2ZvcndhcmQnIHwgJ2JhY2t3YXJkJyk6IERPTU5vZGUgPT4ge1xuICAgIGNvbnN0IFtjaGlsZF0gPSBnZXRFZGl0YWJsZUNoaWxkQW5kSW5kZXgocGFyZW50LCBpbmRleCwgZGlyZWN0aW9uKTtcbiAgICByZXR1cm4gY2hpbGQ7XG59O1xuXG4vKipcbiAqIEdldCBhIHBsYWludGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY29udGVudCBvZiBhIG5vZGUsIGFjY291bnRpbmcgZm9yIGJsb2NrXG4gKiBlbGVtZW50cyB3aGljaCBnZXQgYSBuZXdsaW5lIGFwcGVuZGVkLlxuICpcbiAqIFRoZSBkb21Ob2RlIG11c3QgYmUgYXR0YWNoZWQgdG8gdGhlIERPTS5cbiAqL1xuZXhwb3J0IGNvbnN0IGdldFBsYWluVGV4dCA9IChkb21Ob2RlOiBET01Ob2RlKSA9PiB7XG4gICAgbGV0IHRleHQgPSAnJztcblxuICAgIGlmIChpc0RPTVRleHQoZG9tTm9kZSkgJiYgZG9tTm9kZS5ub2RlVmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGRvbU5vZGUubm9kZVZhbHVlO1xuICAgIH1cblxuICAgIGlmIChpc0RPTUVsZW1lbnQoZG9tTm9kZSkpIHtcbiAgICAgICAgZm9yIChjb25zdCBjaGlsZE5vZGUgb2YgQXJyYXkuZnJvbShkb21Ob2RlLmNoaWxkTm9kZXMpKSB7XG4gICAgICAgICAgICB0ZXh0ICs9IGdldFBsYWluVGV4dChjaGlsZE5vZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGlzcGxheSA9IGdldENvbXB1dGVkU3R5bGUoZG9tTm9kZSkuZ2V0UHJvcGVydHlWYWx1ZSgnZGlzcGxheScpO1xuXG4gICAgICAgIGlmIChkaXNwbGF5ID09PSAnYmxvY2snIHx8IGRpc3BsYXkgPT09ICdsaXN0JyB8fCBkb21Ob2RlLnRhZ05hbWUgPT09ICdCUicpIHtcbiAgICAgICAgICAgIHRleHQgKz0gJ1xcbic7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dDtcbn07XG5cbmV4cG9ydCBjb25zdCBTbGF0ZUZyYWdtZW50QXR0cmlidXRlS2V5ID0gJ2RhdGEtc2xhdGUtYW5ndWxhci1mcmFnbWVudCc7XG5cbi8qKlxuICogR2V0IHgtc2xhdGUtZnJhZ21lbnQgYXR0cmlidXRlIGZyb20gZGF0YS1zbGF0ZS1hbmd1bGFyLWZyYWdtZW50XG4gKi9cbmNvbnN0IGNhdGNoU2xhdGVGcmFnbWVudCA9IC9kYXRhLXNsYXRlLWFuZ3VsYXItZnJhZ21lbnQ9XCIoLis/KVwiL207XG5leHBvcnQgY29uc3QgZ2V0U2xhdGVGcmFnbWVudEF0dHJpYnV0ZSA9IChodG1sRGF0YTogc3RyaW5nKTogc3RyaW5nIHwgdm9pZCA9PiB7XG4gICAgY29uc3QgWywgZnJhZ21lbnRdID0gaHRtbERhdGEubWF0Y2goY2F0Y2hTbGF0ZUZyYWdtZW50KSB8fCBbXTtcbiAgICByZXR1cm4gZnJhZ21lbnQ7XG59O1xuIl19
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export const IS_IOS = typeof navigator !== 'undefined' &&
|
|
2
|
-
typeof window !== 'undefined' &&
|
|
3
|
-
/iPad|iPhone|iPod/.test(navigator.userAgent) &&
|
|
4
|
-
!window.MSStream;
|
|
5
|
-
export const IS_APPLE = typeof navigator !== 'undefined' && /Mac OS X/.test(navigator.userAgent);
|
|
6
|
-
export const IS_ANDROID = typeof navigator !== 'undefined' && /Android/.test(navigator.userAgent);
|
|
7
|
-
export const IS_FIREFOX = typeof navigator !== 'undefined' && /^(?!.*Seamonkey)(?=.*Firefox).*/i.test(navigator.userAgent);
|
|
8
|
-
export const IS_SAFARI = typeof navigator !== 'undefined' && /Version\/[\d\.]+.*Safari/.test(navigator.userAgent);
|
|
9
|
-
// "modern" Edge was released at 79.x
|
|
10
|
-
export const IS_EDGE_LEGACY = typeof navigator !== 'undefined' && /Edge?\/(?:[0-6][0-9]|[0-7][0-8])(?:\.)/i.test(navigator.userAgent);
|
|
11
|
-
export const IS_CHROME = typeof navigator !== 'undefined' && /Chrome/i.test(navigator.userAgent);
|
|
12
|
-
// Native beforeInput events don't work well with react on Chrome 75 and older, Chrome 76+ can use beforeInput
|
|
13
|
-
export const IS_CHROME_LEGACY = typeof navigator !== 'undefined' &&
|
|
14
|
-
/Chrome?\/(?:[0-7][0-5]|[0-6][0-9])/i.test(navigator.userAgent) &&
|
|
15
|
-
// Exclude Chrome version greater than 3 bits,Chrome releases v100 on 2022.03.29
|
|
16
|
-
!/Chrome?\/(?:\d{3,})/i.test(navigator.userAgent);
|
|
17
|
-
// Firefox did not support `beforeInput` until `v87`.
|
|
18
|
-
export const IS_FIREFOX_LEGACY = typeof navigator !== 'undefined' && /^(?!.*Seamonkey)(?=.*Firefox\/(?:[0-7][0-9]|[0-8][0-6])(?:\.)).*/i.test(navigator.userAgent);
|
|
19
|
-
// qq browser
|
|
20
|
-
export const IS_QQBROWSER = typeof navigator !== 'undefined' && /.*QQBrowser/.test(navigator.userAgent);
|
|
21
|
-
// UC mobile browser
|
|
22
|
-
export const IS_UC_MOBILE = typeof navigator !== 'undefined' && /.*UCBrowser/.test(navigator.userAgent);
|
|
23
|
-
// Wechat browser
|
|
24
|
-
export const IS_WECHATBROWSER = typeof navigator !== 'undefined' && /.*Wechat/.test(navigator.userAgent);
|
|
25
|
-
// COMPAT: Firefox/Edge Legacy don't support the `beforeinput` event
|
|
26
|
-
// Chrome Legacy doesn't support `beforeinput` correctly
|
|
27
|
-
export const HAS_BEFORE_INPUT_SUPPORT = !IS_CHROME_LEGACY &&
|
|
28
|
-
!IS_EDGE_LEGACY &&
|
|
29
|
-
// globalThis is undefined in older browsers
|
|
30
|
-
typeof globalThis !== 'undefined' &&
|
|
31
|
-
globalThis.InputEvent &&
|
|
32
|
-
// @ts-ignore The `getTargetRanges` property isn't recognized.
|
|
33
|
-
typeof globalThis.InputEvent.prototype.getTargetRanges === 'function';
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvZW52aXJvbm1lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sTUFBTSxHQUNmLE9BQU8sU0FBUyxLQUFLLFdBQVc7SUFDaEMsT0FBTyxNQUFNLEtBQUssV0FBVztJQUM3QixrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztJQUM1QyxDQUFFLE1BQWMsQ0FBQyxRQUFRLENBQUM7QUFFOUIsTUFBTSxDQUFDLE1BQU0sUUFBUSxHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUVqRyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRWxHLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksa0NBQWtDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUUzSCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFbEgscUNBQXFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUkseUNBQXlDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUV0SSxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRWpHLDhHQUE4RztBQUM5RyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FDekIsT0FBTyxTQUFTLEtBQUssV0FBVztJQUNoQyxxQ0FBcUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztJQUMvRCxnRkFBZ0Y7SUFDaEYsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRXRELHFEQUFxRDtBQUNyRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FDMUIsT0FBTyxTQUFTLEtBQUssV0FBVyxJQUFJLG1FQUFtRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFdEksYUFBYTtBQUNiLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFeEcsb0JBQW9CO0FBQ3BCLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxPQUFPLFNBQVMsS0FBSyxXQUFXLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUM7QUFFeEcsaUJBQWlCO0FBQ2pCLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLE9BQU8sU0FBUyxLQUFLLFdBQVcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUV6RyxvRUFBb0U7QUFDcEUsd0RBQXdEO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUNqQyxDQUFDLGdCQUFnQjtJQUNqQixDQUFDLGNBQWM7SUFDZiw0Q0FBNEM7SUFDNUMsT0FBTyxVQUFVLEtBQUssV0FBVztJQUNqQyxVQUFVLENBQUMsVUFBVTtJQUNyQiw4REFBOEQ7SUFDOUQsT0FBTyxVQUFVLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEtBQUssVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IElTX0lPUyA9XG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIC9pUGFkfGlQaG9uZXxpUG9kLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmXG4gICAgISh3aW5kb3cgYXMgYW55KS5NU1N0cmVhbTtcblxuZXhwb3J0IGNvbnN0IElTX0FQUExFID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL01hYyBPUyBYLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG5leHBvcnQgY29uc3QgSVNfQU5EUk9JRCA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC9BbmRyb2lkLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG5leHBvcnQgY29uc3QgSVNfRklSRUZPWCA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC9eKD8hLipTZWFtb25rZXkpKD89LipGaXJlZm94KS4qL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuZXhwb3J0IGNvbnN0IElTX1NBRkFSSSA9IHR5cGVvZiBuYXZpZ2F0b3IgIT09ICd1bmRlZmluZWQnICYmIC9WZXJzaW9uXFwvW1xcZFxcLl0rLipTYWZhcmkvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8vIFwibW9kZXJuXCIgRWRnZSB3YXMgcmVsZWFzZWQgYXQgNzkueFxuZXhwb3J0IGNvbnN0IElTX0VER0VfTEVHQUNZID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL0VkZ2U/XFwvKD86WzAtNl1bMC05XXxbMC03XVswLThdKSg/OlxcLikvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG5leHBvcnQgY29uc3QgSVNfQ0hST01FID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL0Nocm9tZS9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8vIE5hdGl2ZSBiZWZvcmVJbnB1dCBldmVudHMgZG9uJ3Qgd29yayB3ZWxsIHdpdGggcmVhY3Qgb24gQ2hyb21lIDc1IGFuZCBvbGRlciwgQ2hyb21lIDc2KyBjYW4gdXNlIGJlZm9yZUlucHV0XG5leHBvcnQgY29uc3QgSVNfQ0hST01FX0xFR0FDWSA9XG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiZcbiAgICAvQ2hyb21lP1xcLyg/OlswLTddWzAtNV18WzAtNl1bMC05XSkvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpICYmXG4gICAgLy8gRXhjbHVkZSBDaHJvbWUgdmVyc2lvbiBncmVhdGVyIHRoYW4gMyBiaXRz77yMQ2hyb21lIHJlbGVhc2VzIHYxMDAgb24gMjAyMi4wMy4yOVxuICAgICEvQ2hyb21lP1xcLyg/OlxcZHszLH0pL2kudGVzdChuYXZpZ2F0b3IudXNlckFnZW50KTtcblxuLy8gRmlyZWZveCBkaWQgbm90IHN1cHBvcnQgYGJlZm9yZUlucHV0YCB1bnRpbCBgdjg3YC5cbmV4cG9ydCBjb25zdCBJU19GSVJFRk9YX0xFR0FDWSA9XG4gICAgdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgL14oPyEuKlNlYW1vbmtleSkoPz0uKkZpcmVmb3hcXC8oPzpbMC03XVswLTldfFswLThdWzAtNl0pKD86XFwuKSkuKi9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8vIHFxIGJyb3dzZXJcbmV4cG9ydCBjb25zdCBJU19RUUJST1dTRVIgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvLipRUUJyb3dzZXIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8vIFVDIG1vYmlsZSBicm93c2VyXG5leHBvcnQgY29uc3QgSVNfVUNfTU9CSUxFID0gdHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgLy4qVUNCcm93c2VyLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO1xuXG4vLyBXZWNoYXQgYnJvd3NlclxuZXhwb3J0IGNvbnN0IElTX1dFQ0hBVEJST1dTRVIgPSB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiAvLipXZWNoYXQvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG5cbi8vIENPTVBBVDogRmlyZWZveC9FZGdlIExlZ2FjeSBkb24ndCBzdXBwb3J0IHRoZSBgYmVmb3JlaW5wdXRgIGV2ZW50XG4vLyBDaHJvbWUgTGVnYWN5IGRvZXNuJ3Qgc3VwcG9ydCBgYmVmb3JlaW5wdXRgIGNvcnJlY3RseVxuZXhwb3J0IGNvbnN0IEhBU19CRUZPUkVfSU5QVVRfU1VQUE9SVCA9XG4gICAgIUlTX0NIUk9NRV9MRUdBQ1kgJiZcbiAgICAhSVNfRURHRV9MRUdBQ1kgJiZcbiAgICAvLyBnbG9iYWxUaGlzIGlzIHVuZGVmaW5lZCBpbiBvbGRlciBicm93c2Vyc1xuICAgIHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIGdsb2JhbFRoaXMuSW5wdXRFdmVudCAmJlxuICAgIC8vIEB0cy1pZ25vcmUgVGhlIGBnZXRUYXJnZXRSYW5nZXNgIHByb3BlcnR5IGlzbid0IHJlY29nbml6ZWQuXG4gICAgdHlwZW9mIGdsb2JhbFRoaXMuSW5wdXRFdmVudC5wcm90b3R5cGUuZ2V0VGFyZ2V0UmFuZ2VzID09PSAnZnVuY3Rpb24nO1xuIl19
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Element, Text } from 'slate';
|
|
2
|
-
const isValid = (value) => (Element.isElement(value) && value.children.length > 0 && value.children.every(child => isValid(child))) ||
|
|
3
|
-
Text.isText(value);
|
|
4
|
-
const check = (document) => {
|
|
5
|
-
return document.every(value => Element.isElement(value) && isValid(value));
|
|
6
|
-
};
|
|
7
|
-
function normalize(document) {
|
|
8
|
-
return document.filter(value => Element.isElement(value) && isValid(value));
|
|
9
|
-
}
|
|
10
|
-
export { normalize, check, isValid };
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2xvYmFsLW5vcm1hbGl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9nbG9iYWwtbm9ybWFsaXplLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxELE1BQU0sT0FBTyxHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFLENBQ2xDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUssS0FBSyxDQUFDLFFBQXlCLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDMUgsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUV2QixNQUFNLEtBQUssR0FBRyxDQUFDLFFBQW1CLEVBQUUsRUFBRTtJQUNsQyxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQy9FLENBQUMsQ0FBQztBQUVGLFNBQVMsU0FBUyxDQUFDLFFBQW1CO0lBQ2xDLE9BQU8sUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDaEYsQ0FBQztBQUVELE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY2VuZGFudCwgRWxlbWVudCwgVGV4dCB9IGZyb20gJ3NsYXRlJztcblxuY29uc3QgaXNWYWxpZCA9ICh2YWx1ZTogRGVzY2VuZGFudCkgPT5cbiAgICAoRWxlbWVudC5pc0VsZW1lbnQodmFsdWUpICYmIHZhbHVlLmNoaWxkcmVuLmxlbmd0aCA+IDAgJiYgKHZhbHVlLmNoaWxkcmVuIGFzIERlc2NlbmRhbnRbXSkuZXZlcnkoY2hpbGQgPT4gaXNWYWxpZChjaGlsZCkpKSB8fFxuICAgIFRleHQuaXNUZXh0KHZhbHVlKTtcblxuY29uc3QgY2hlY2sgPSAoZG9jdW1lbnQ6IEVsZW1lbnRbXSkgPT4ge1xuICAgIHJldHVybiBkb2N1bWVudC5ldmVyeSh2YWx1ZSA9PiBFbGVtZW50LmlzRWxlbWVudCh2YWx1ZSkgJiYgaXNWYWxpZCh2YWx1ZSkpO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplKGRvY3VtZW50OiBFbGVtZW50W10pIHtcbiAgICByZXR1cm4gZG9jdW1lbnQuZmlsdGVyKHZhbHVlID0+IEVsZW1lbnQuaXNFbGVtZW50KHZhbHVlKSAmJiBpc1ZhbGlkKHZhbHVlKSk7XG59XG5cbmV4cG9ydCB7IG5vcm1hbGl6ZSwgY2hlY2ssIGlzVmFsaWQgfTtcbiJdfQ==
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { isKeyHotkey } from 'is-hotkey';
|
|
2
|
-
import { IS_APPLE } from './environment';
|
|
3
|
-
/**
|
|
4
|
-
* Hotkey mappings for each platform.
|
|
5
|
-
*/
|
|
6
|
-
const HOTKEYS = {
|
|
7
|
-
bold: 'mod+b',
|
|
8
|
-
compose: ['down', 'left', 'right', 'up', 'backspace', 'enter'],
|
|
9
|
-
moveBackward: 'left',
|
|
10
|
-
moveForward: 'right',
|
|
11
|
-
moveUp: 'up',
|
|
12
|
-
moveDown: 'down',
|
|
13
|
-
moveWordBackward: 'ctrl+left',
|
|
14
|
-
moveWordForward: 'ctrl+right',
|
|
15
|
-
deleteBackward: 'shift?+backspace',
|
|
16
|
-
deleteForward: 'shift?+delete',
|
|
17
|
-
extendBackward: 'shift+left',
|
|
18
|
-
extendForward: 'shift+right',
|
|
19
|
-
italic: 'mod+i',
|
|
20
|
-
splitBlock: 'shift?+enter',
|
|
21
|
-
undo: 'mod+z'
|
|
22
|
-
};
|
|
23
|
-
const APPLE_HOTKEYS = {
|
|
24
|
-
moveLineBackward: 'opt+up',
|
|
25
|
-
moveLineForward: 'opt+down',
|
|
26
|
-
moveWordBackward: 'opt+left',
|
|
27
|
-
moveWordForward: 'opt+right',
|
|
28
|
-
deleteBackward: ['ctrl+backspace', 'ctrl+h'],
|
|
29
|
-
deleteForward: ['ctrl+delete', 'ctrl+d'],
|
|
30
|
-
deleteLineBackward: 'cmd+shift?+backspace',
|
|
31
|
-
deleteLineForward: ['cmd+shift?+delete', 'ctrl+k'],
|
|
32
|
-
deleteWordBackward: 'opt+shift?+backspace',
|
|
33
|
-
deleteWordForward: 'opt+shift?+delete',
|
|
34
|
-
extendLineBackward: 'opt+shift+up',
|
|
35
|
-
extendLineForward: 'opt+shift+down',
|
|
36
|
-
redo: 'cmd+shift+z',
|
|
37
|
-
transposeCharacter: 'ctrl+t'
|
|
38
|
-
};
|
|
39
|
-
const WINDOWS_HOTKEYS = {
|
|
40
|
-
deleteWordBackward: 'ctrl+shift?+backspace',
|
|
41
|
-
deleteWordForward: 'ctrl+shift?+delete',
|
|
42
|
-
redo: ['ctrl+y', 'ctrl+shift+z']
|
|
43
|
-
};
|
|
44
|
-
/**
|
|
45
|
-
* Create a platform-aware hotkey checker.
|
|
46
|
-
*/
|
|
47
|
-
const create = (key) => {
|
|
48
|
-
const generic = HOTKEYS[key];
|
|
49
|
-
const apple = APPLE_HOTKEYS[key];
|
|
50
|
-
const windows = WINDOWS_HOTKEYS[key];
|
|
51
|
-
const isGeneric = generic && isKeyHotkey(generic);
|
|
52
|
-
const isApple = apple && isKeyHotkey(apple);
|
|
53
|
-
const isWindows = windows && isKeyHotkey(windows);
|
|
54
|
-
return (event) => {
|
|
55
|
-
if (isGeneric && isGeneric(event)) {
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
if (IS_APPLE && isApple && isApple(event)) {
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
if (!IS_APPLE && isWindows && isWindows(event)) {
|
|
62
|
-
return true;
|
|
63
|
-
}
|
|
64
|
-
return false;
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
/**
|
|
68
|
-
* Hotkeys.
|
|
69
|
-
*/
|
|
70
|
-
const hotkeys = {
|
|
71
|
-
isBold: create('bold'),
|
|
72
|
-
isCompose: create('compose'),
|
|
73
|
-
isMoveBackward: create('moveBackward'),
|
|
74
|
-
isMoveForward: create('moveForward'),
|
|
75
|
-
isMoveUp: create('moveUp'),
|
|
76
|
-
isMoveDown: create('moveDown'),
|
|
77
|
-
isDeleteBackward: create('deleteBackward'),
|
|
78
|
-
isDeleteForward: create('deleteForward'),
|
|
79
|
-
isDeleteLineBackward: create('deleteLineBackward'),
|
|
80
|
-
isDeleteLineForward: create('deleteLineForward'),
|
|
81
|
-
isDeleteWordBackward: create('deleteWordBackward'),
|
|
82
|
-
isDeleteWordForward: create('deleteWordForward'),
|
|
83
|
-
isExtendBackward: create('extendBackward'),
|
|
84
|
-
isExtendForward: create('extendForward'),
|
|
85
|
-
isExtendLineBackward: create('extendLineBackward'),
|
|
86
|
-
isExtendLineForward: create('extendLineForward'),
|
|
87
|
-
isItalic: create('italic'),
|
|
88
|
-
isMoveLineBackward: create('moveLineBackward'),
|
|
89
|
-
isMoveLineForward: create('moveLineForward'),
|
|
90
|
-
isMoveWordBackward: create('moveWordBackward'),
|
|
91
|
-
isMoveWordForward: create('moveWordForward'),
|
|
92
|
-
isRedo: create('redo'),
|
|
93
|
-
isSplitBlock: create('splitBlock'),
|
|
94
|
-
isTransposeCharacter: create('transposeCharacter'),
|
|
95
|
-
isUndo: create('undo')
|
|
96
|
-
};
|
|
97
|
-
export default hotkeys;
|
|
98
|
-
export { hotkeys };
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG90a2V5cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9ob3RrZXlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDeEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxHQUFHO0lBQ1osSUFBSSxFQUFFLE9BQU87SUFDYixPQUFPLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sQ0FBQztJQUM5RCxZQUFZLEVBQUUsTUFBTTtJQUNwQixXQUFXLEVBQUUsT0FBTztJQUNwQixNQUFNLEVBQUUsSUFBSTtJQUNaLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLGdCQUFnQixFQUFFLFdBQVc7SUFDN0IsZUFBZSxFQUFFLFlBQVk7SUFDN0IsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQyxhQUFhLEVBQUUsZUFBZTtJQUM5QixjQUFjLEVBQUUsWUFBWTtJQUM1QixhQUFhLEVBQUUsYUFBYTtJQUM1QixNQUFNLEVBQUUsT0FBTztJQUNmLFVBQVUsRUFBRSxjQUFjO0lBQzFCLElBQUksRUFBRSxPQUFPO0NBQ2hCLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBRztJQUNsQixnQkFBZ0IsRUFBRSxRQUFRO0lBQzFCLGVBQWUsRUFBRSxVQUFVO0lBQzNCLGdCQUFnQixFQUFFLFVBQVU7SUFDNUIsZUFBZSxFQUFFLFdBQVc7SUFDNUIsY0FBYyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDO0lBQzVDLGFBQWEsRUFBRSxDQUFDLGFBQWEsRUFBRSxRQUFRLENBQUM7SUFDeEMsa0JBQWtCLEVBQUUsc0JBQXNCO0lBQzFDLGlCQUFpQixFQUFFLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDO0lBQ2xELGtCQUFrQixF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QixDQUFDO0lBQzVDLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ3RCLFlBQVksRUFBRSxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQ2xDLG9CQUFvQixFQUFFLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztJQUNsRCxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQztDQUN6QixDQUFDO0FBQ0YsZUFBZSxPQUFPLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNLZXlIb3RrZXkgfSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgSVNfQVBQTEUgfSBmcm9tICcuL2Vudmlyb25tZW50JztcblxuLyoqXG4gKiBIb3RrZXkgbWFwcGluZ3MgZm9yIGVhY2ggcGxhdGZvcm0uXG4gKi9cblxuY29uc3QgSE9US0VZUyA9IHtcbiAgICBib2xkOiAnbW9kK2InLFxuICAgIGNvbXBvc2U6IFsnZG93bicsICdsZWZ0JywgJ3JpZ2h0JywgJ3VwJywgJ2JhY2tzcGFjZScsICdlbnRlciddLFxuICAgIG1vdmVCYWNrd2FyZDogJ2xlZnQnLFxuICAgIG1vdmVGb3J3YXJkOiAncmlnaHQnLFxuICAgIG1vdmVVcDogJ3VwJyxcbiAgICBtb3ZlRG93bjogJ2Rvd24nLFxuICAgIG1vdmVXb3JkQmFja3dhcmQ6ICdjdHJsK2xlZnQnLFxuICAgIG1vdmVXb3JkRm9yd2FyZDogJ2N0cmwrcmlnaHQnLFxuICAgIGRlbGV0ZUJhY2t3YXJkOiAnc2hpZnQ/K2JhY2tzcGFjZScsXG4gICAgZGVsZXRlRm9yd2FyZDogJ3NoaWZ0PytkZWxldGUnLFxuICAgIGV4dGVuZEJhY2t3YXJkOiAnc2hpZnQrbGVmdCcsXG4gICAgZXh0ZW5kRm9yd2FyZDogJ3NoaWZ0K3JpZ2h0JyxcbiAgICBpdGFsaWM6ICdtb2QraScsXG4gICAgc3BsaXRCbG9jazogJ3NoaWZ0PytlbnRlcicsXG4gICAgdW5kbzogJ21vZCt6J1xufTtcblxuY29uc3QgQVBQTEVfSE9US0VZUyA9IHtcbiAgICBtb3ZlTGluZUJhY2t3YXJkOiAnb3B0K3VwJyxcbiAgICBtb3ZlTGluZUZvcndhcmQ6ICdvcHQrZG93bicsXG4gICAgbW92ZVdvcmRCYWNrd2FyZDogJ29wdCtsZWZ0JyxcbiAgICBtb3ZlV29yZEZvcndhcmQ6ICdvcHQrcmlnaHQnLFxuICAgIGRlbGV0ZUJhY2t3YXJkOiBbJ2N0cmwrYmFja3NwYWNlJywgJ2N0cmwraCddLFxuICAgIGRlbGV0ZUZvcndhcmQ6IFsnY3RybCtkZWxldGUnLCAnY3RybCtkJ10sXG4gICAgZGVsZXRlTGluZUJhY2t3YXJkOiAnY21kK3NoaWZ0PytiYWNrc3BhY2UnLFxuICAgIGRlbGV0ZUxpbmVGb3J3YXJkOiBbJ2NtZCtzaGlmdD8rZGVsZXRlJywgJ2N0cmwrayddLFxuICAgIGRlbGV0ZVdvcmRCYWNrd2FyZDogJ29wdCtzaGlmdD8rYmFja3NwYWNlJyxcbiAgICBkZWxldGVXb3JkRm9yd2FyZDogJ29wdCtzaGlmdD8rZGVsZXRlJyxcbiAgICBleHRlbmRMaW5lQmFja3dhcmQ6ICdvcHQrc2hpZnQrdXAnLFxuICAgIGV4dGVuZExpbmVGb3J3YXJkOiAnb3B0K3NoaWZ0K2Rvd24nLFxuICAgIHJlZG86ICdjbWQrc2hpZnQreicsXG4gICAgdHJhbnNwb3NlQ2hhcmFjdGVyOiAnY3RybCt0J1xufTtcblxuY29uc3QgV0lORE9XU19IT1RLRVlTID0ge1xuICAgIGRlbGV0ZVdvcmRCYWNrd2FyZDogJ2N0cmwrc2hpZnQ/K2JhY2tzcGFjZScsXG4gICAgZGVsZXRlV29yZEZvcndhcmQ6ICdjdHJsK3NoaWZ0PytkZWxldGUnLFxuICAgIHJlZG86IFsnY3RybCt5JywgJ2N0cmwrc2hpZnQreiddXG59O1xuXG4vKipcbiAqIENyZWF0ZSBhIHBsYXRmb3JtLWF3YXJlIGhvdGtleSBjaGVja2VyLlxuICovXG5cbmNvbnN0IGNyZWF0ZSA9IChrZXk6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IGdlbmVyaWMgPSBIT1RLRVlTW2tleV07XG4gICAgY29uc3QgYXBwbGUgPSBBUFBMRV9IT1RLRVlTW2tleV07XG4gICAgY29uc3Qgd2luZG93cyA9IFdJTkRPV1NfSE9US0VZU1trZXldO1xuICAgIGNvbnN0IGlzR2VuZXJpYyA9IGdlbmVyaWMgJiYgaXNLZXlIb3RrZXkoZ2VuZXJpYyk7XG4gICAgY29uc3QgaXNBcHBsZSA9IGFwcGxlICYmIGlzS2V5SG90a2V5KGFwcGxlKTtcbiAgICBjb25zdCBpc1dpbmRvd3MgPSB3aW5kb3dzICYmIGlzS2V5SG90a2V5KHdpbmRvd3MpO1xuXG4gICAgcmV0dXJuIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoaXNHZW5lcmljICYmIGlzR2VuZXJpYyhldmVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChJU19BUFBMRSAmJiBpc0FwcGxlICYmIGlzQXBwbGUoZXZlbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIUlTX0FQUExFICYmIGlzV2luZG93cyAmJiBpc1dpbmRvd3MoZXZlbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbn07XG5cbi8qKlxuICogSG90a2V5cy5cbiAqL1xuXG5jb25zdCBob3RrZXlzID0ge1xuICAgIGlzQm9sZDogY3JlYXRlKCdib2xkJyksXG4gICAgaXNDb21wb3NlOiBjcmVhdGUoJ2NvbXBvc2UnKSxcbiAgICBpc01vdmVCYWNrd2FyZDogY3JlYXRlKCdtb3ZlQmFja3dhcmQnKSxcbiAgICBpc01vdmVGb3J3YXJkOiBjcmVhdGUoJ21vdmVGb3J3YXJkJyksXG4gICAgaXNNb3ZlVXA6IGNyZWF0ZSgnbW92ZVVwJyksXG4gICAgaXNNb3ZlRG93bjogY3JlYXRlKCdtb3ZlRG93bicpLFxuICAgIGlzRGVsZXRlQmFja3dhcmQ6IGNyZWF0ZSgnZGVsZXRlQmFja3dhcmQnKSxcbiAgICBpc0RlbGV0ZUZvcndhcmQ6IGNyZWF0ZSgnZGVsZXRlRm9yd2FyZCcpLFxuICAgIGlzRGVsZXRlTGluZUJhY2t3YXJkOiBjcmVhdGUoJ2RlbGV0ZUxpbmVCYWNrd2FyZCcpLFxuICAgIGlzRGVsZXRlTGluZUZvcndhcmQ6IGNyZWF0ZSgnZGVsZXRlTGluZUZvcndhcmQnKSxcbiAgICBpc0RlbGV0ZVdvcmRCYWNrd2FyZDogY3JlYXRlKCdkZWxldGVXb3JkQmFja3dhcmQnKSxcbiAgICBpc0RlbGV0ZVdvcmRGb3J3YXJkOiBjcmVhdGUoJ2RlbGV0ZVdvcmRGb3J3YXJkJyksXG4gICAgaXNFeHRlbmRCYWNrd2FyZDogY3JlYXRlKCdleHRlbmRCYWNrd2FyZCcpLFxuICAgIGlzRXh0ZW5kRm9yd2FyZDogY3JlYXRlKCdleHRlbmRGb3J3YXJkJyksXG4gICAgaXNFeHRlbmRMaW5lQmFja3dhcmQ6IGNyZWF0ZSgnZXh0ZW5kTGluZUJhY2t3YXJkJyksXG4gICAgaXNFeHRlbmRMaW5lRm9yd2FyZDogY3JlYXRlKCdleHRlbmRMaW5lRm9yd2FyZCcpLFxuICAgIGlzSXRhbGljOiBjcmVhdGUoJ2l0YWxpYycpLFxuICAgIGlzTW92ZUxpbmVCYWNrd2FyZDogY3JlYXRlKCdtb3ZlTGluZUJhY2t3YXJkJyksXG4gICAgaXNNb3ZlTGluZUZvcndhcmQ6IGNyZWF0ZSgnbW92ZUxpbmVGb3J3YXJkJyksXG4gICAgaXNNb3ZlV29yZEJhY2t3YXJkOiBjcmVhdGUoJ21vdmVXb3JkQmFja3dhcmQnKSxcbiAgICBpc01vdmVXb3JkRm9yd2FyZDogY3JlYXRlKCdtb3ZlV29yZEZvcndhcmQnKSxcbiAgICBpc1JlZG86IGNyZWF0ZSgncmVkbycpLFxuICAgIGlzU3BsaXRCbG9jazogY3JlYXRlKCdzcGxpdEJsb2NrJyksXG4gICAgaXNUcmFuc3Bvc2VDaGFyYWN0ZXI6IGNyZWF0ZSgndHJhbnNwb3NlQ2hhcmFjdGVyJyksXG4gICAgaXNVbmRvOiBjcmVhdGUoJ3VuZG8nKVxufTtcbmV4cG9ydCBkZWZhdWx0IGhvdGtleXM7XG5leHBvcnQgeyBob3RrZXlzIH07XG4iXX0=
|
package/esm2022/utils/index.mjs
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export * from './weak-maps';
|
|
2
|
-
export * from './hotkeys';
|
|
3
|
-
export * from './dom';
|
|
4
|
-
export * from './view';
|
|
5
|
-
export * from './environment';
|
|
6
|
-
export * from './key';
|
|
7
|
-
export * from './range-list';
|
|
8
|
-
export * from './block-card';
|
|
9
|
-
export * from './global-normalize';
|
|
10
|
-
export * from './throttle';
|
|
11
|
-
export * from './clipboard';
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxPQUFPLENBQUM7QUFDdEIsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vd2Vhay1tYXBzJztcbmV4cG9ydCAqIGZyb20gJy4vaG90a2V5cyc7XG5leHBvcnQgKiBmcm9tICcuL2RvbSc7XG5leHBvcnQgKiBmcm9tICcuL3ZpZXcnO1xuZXhwb3J0ICogZnJvbSAnLi9lbnZpcm9ubWVudCc7XG5leHBvcnQgKiBmcm9tICcuL2tleSc7XG5leHBvcnQgKiBmcm9tICcuL3JhbmdlLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9ibG9jay1jYXJkJztcbmV4cG9ydCAqIGZyb20gJy4vZ2xvYmFsLW5vcm1hbGl6ZSc7XG5leHBvcnQgKiBmcm9tICcuL3Rocm90dGxlJztcbmV4cG9ydCAqIGZyb20gJy4vY2xpcGJvYXJkJztcbiJdfQ==
|
package/esm2022/utils/key.mjs
DELETED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* An auto-incrementing identifier for keys.
|
|
3
|
-
*/
|
|
4
|
-
let n = 0;
|
|
5
|
-
/**
|
|
6
|
-
* A class that keeps track of a key string. We use a full class here because we
|
|
7
|
-
* want to be able to use them as keys in `WeakMap` objects.
|
|
8
|
-
*/
|
|
9
|
-
export class Key {
|
|
10
|
-
constructor() {
|
|
11
|
-
this.id = `${n++}`;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL3V0aWxzL2tleS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVWOzs7R0FHRztBQUVILE1BQU0sT0FBTyxHQUFHO0lBR1o7UUFDSSxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQztJQUN2QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEFuIGF1dG8taW5jcmVtZW50aW5nIGlkZW50aWZpZXIgZm9yIGtleXMuXG4gKi9cblxubGV0IG4gPSAwO1xuXG4vKipcbiAqIEEgY2xhc3MgdGhhdCBrZWVwcyB0cmFjayBvZiBhIGtleSBzdHJpbmcuIFdlIHVzZSBhIGZ1bGwgY2xhc3MgaGVyZSBiZWNhdXNlIHdlXG4gKiB3YW50IHRvIGJlIGFibGUgdG8gdXNlIHRoZW0gYXMga2V5cyBpbiBgV2Vha01hcGAgb2JqZWN0cy5cbiAqL1xuXG5leHBvcnQgY2xhc3MgS2V5IHtcbiAgICBpZDogc3RyaW5nO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuaWQgPSBgJHtuKyt9YDtcbiAgICB9XG59XG4iXX0=
|
package/esm2022/utils/lines.mjs
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utilities for single-line deletion
|
|
3
|
-
*/
|
|
4
|
-
import { Range, Editor } from 'slate';
|
|
5
|
-
import { AngularEditor } from '../plugins/angular-editor';
|
|
6
|
-
const doRectsIntersect = (rect, compareRect) => {
|
|
7
|
-
const middle = (compareRect.top + compareRect.bottom) / 2;
|
|
8
|
-
return rect.top <= middle && rect.bottom >= middle;
|
|
9
|
-
};
|
|
10
|
-
const areRangesSameLine = (editor, range1, range2) => {
|
|
11
|
-
const rect1 = AngularEditor.toDOMRange(editor, range1).getBoundingClientRect();
|
|
12
|
-
const rect2 = AngularEditor.toDOMRange(editor, range2).getBoundingClientRect();
|
|
13
|
-
return doRectsIntersect(rect1, rect2) && doRectsIntersect(rect2, rect1);
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* A helper utility that returns the end portion of a `Range`
|
|
17
|
-
* which is located on a single line.
|
|
18
|
-
*
|
|
19
|
-
* @param {Editor} editor The editor object to compare against
|
|
20
|
-
* @param {Range} parentRange The parent range to compare against
|
|
21
|
-
* @returns {Range} A valid portion of the parentRange which is one a single line
|
|
22
|
-
*/
|
|
23
|
-
export const findCurrentLineRange = (editor, parentRange) => {
|
|
24
|
-
const parentRangeBoundary = Editor.range(editor, Range.end(parentRange));
|
|
25
|
-
const positions = Array.from(Editor.positions(editor, { at: parentRange }));
|
|
26
|
-
let left = 0;
|
|
27
|
-
let right = positions.length;
|
|
28
|
-
let middle = Math.floor(right / 2);
|
|
29
|
-
if (areRangesSameLine(editor, Editor.range(editor, positions[left]), parentRangeBoundary)) {
|
|
30
|
-
return Editor.range(editor, positions[left], parentRangeBoundary);
|
|
31
|
-
}
|
|
32
|
-
if (positions.length < 2) {
|
|
33
|
-
return Editor.range(editor, positions[positions.length - 1], parentRangeBoundary);
|
|
34
|
-
}
|
|
35
|
-
while (middle !== positions.length && middle !== left) {
|
|
36
|
-
if (areRangesSameLine(editor, Editor.range(editor, positions[middle]), parentRangeBoundary)) {
|
|
37
|
-
right = middle;
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
left = middle;
|
|
41
|
-
}
|
|
42
|
-
middle = Math.floor((left + right) / 2);
|
|
43
|
-
}
|
|
44
|
-
return Editor.range(editor, positions[right], parentRangeBoundary);
|
|
45
|
-
};
|
|
46
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvbGluZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFMUQsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLElBQWEsRUFBRSxXQUFvQixFQUFFLEVBQUU7SUFDN0QsTUFBTSxNQUFNLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxHQUFHLFdBQVcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFFMUQsT0FBTyxJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQztBQUN2RCxDQUFDLENBQUM7QUFFRixNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBcUIsRUFBRSxNQUFhLEVBQUUsTUFBYSxFQUFFLEVBQUU7SUFDOUUsTUFBTSxLQUFLLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUMvRSxNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO0lBRS9FLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztBQUM1RSxDQUFDLENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFxQixFQUFFLFdBQWtCLEVBQVMsRUFBRTtJQUNyRixNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN6RSxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUU1RSxJQUFJLElBQUksR0FBRyxDQUFDLENBQUM7SUFDYixJQUFJLEtBQUssR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO0lBQzdCLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBRW5DLElBQUksaUJBQWlCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztRQUN4RixPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDdkIsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3RGLENBQUM7SUFFRCxPQUFPLE1BQU0sS0FBSyxTQUFTLENBQUMsTUFBTSxJQUFJLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUNwRCxJQUFJLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLENBQUM7WUFDMUYsS0FBSyxHQUFHLE1BQU0sQ0FBQztRQUNuQixDQUFDO2FBQU0sQ0FBQztZQUNKLElBQUksR0FBRyxNQUFNLENBQUM7UUFDbEIsQ0FBQztRQUVELE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxPQUFPLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO0FBQ3ZFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVXRpbGl0aWVzIGZvciBzaW5nbGUtbGluZSBkZWxldGlvblxuICovXG5cbmltcG9ydCB7IFJhbmdlLCBFZGl0b3IgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnLi4vcGx1Z2lucy9hbmd1bGFyLWVkaXRvcic7XG5cbmNvbnN0IGRvUmVjdHNJbnRlcnNlY3QgPSAocmVjdDogRE9NUmVjdCwgY29tcGFyZVJlY3Q6IERPTVJlY3QpID0+IHtcbiAgICBjb25zdCBtaWRkbGUgPSAoY29tcGFyZVJlY3QudG9wICsgY29tcGFyZVJlY3QuYm90dG9tKSAvIDI7XG5cbiAgICByZXR1cm4gcmVjdC50b3AgPD0gbWlkZGxlICYmIHJlY3QuYm90dG9tID49IG1pZGRsZTtcbn07XG5cbmNvbnN0IGFyZVJhbmdlc1NhbWVMaW5lID0gKGVkaXRvcjogQW5ndWxhckVkaXRvciwgcmFuZ2UxOiBSYW5nZSwgcmFuZ2UyOiBSYW5nZSkgPT4ge1xuICAgIGNvbnN0IHJlY3QxID0gQW5ndWxhckVkaXRvci50b0RPTVJhbmdlKGVkaXRvciwgcmFuZ2UxKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCByZWN0MiA9IEFuZ3VsYXJFZGl0b3IudG9ET01SYW5nZShlZGl0b3IsIHJhbmdlMikuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cbiAgICByZXR1cm4gZG9SZWN0c0ludGVyc2VjdChyZWN0MSwgcmVjdDIpICYmIGRvUmVjdHNJbnRlcnNlY3QocmVjdDIsIHJlY3QxKTtcbn07XG5cbi8qKlxuICogQSBoZWxwZXIgdXRpbGl0eSB0aGF0IHJldHVybnMgdGhlIGVuZCBwb3J0aW9uIG9mIGEgYFJhbmdlYFxuICogd2hpY2ggaXMgbG9jYXRlZCBvbiBhIHNpbmdsZSBsaW5lLlxuICpcbiAqIEBwYXJhbSB7RWRpdG9yfSBlZGl0b3IgVGhlIGVkaXRvciBvYmplY3QgdG8gY29tcGFyZSBhZ2FpbnN0XG4gKiBAcGFyYW0ge1JhbmdlfSBwYXJlbnRSYW5nZSBUaGUgcGFyZW50IHJhbmdlIHRvIGNvbXBhcmUgYWdhaW5zdFxuICogQHJldHVybnMge1JhbmdlfSBBIHZhbGlkIHBvcnRpb24gb2YgdGhlIHBhcmVudFJhbmdlIHdoaWNoIGlzIG9uZSBhIHNpbmdsZSBsaW5lXG4gKi9cbmV4cG9ydCBjb25zdCBmaW5kQ3VycmVudExpbmVSYW5nZSA9IChlZGl0b3I6IEFuZ3VsYXJFZGl0b3IsIHBhcmVudFJhbmdlOiBSYW5nZSk6IFJhbmdlID0+IHtcbiAgICBjb25zdCBwYXJlbnRSYW5nZUJvdW5kYXJ5ID0gRWRpdG9yLnJhbmdlKGVkaXRvciwgUmFuZ2UuZW5kKHBhcmVudFJhbmdlKSk7XG4gICAgY29uc3QgcG9zaXRpb25zID0gQXJyYXkuZnJvbShFZGl0b3IucG9zaXRpb25zKGVkaXRvciwgeyBhdDogcGFyZW50UmFuZ2UgfSkpO1xuXG4gICAgbGV0IGxlZnQgPSAwO1xuICAgIGxldCByaWdodCA9IHBvc2l0aW9ucy5sZW5ndGg7XG4gICAgbGV0IG1pZGRsZSA9IE1hdGguZmxvb3IocmlnaHQgLyAyKTtcblxuICAgIGlmIChhcmVSYW5nZXNTYW1lTGluZShlZGl0b3IsIEVkaXRvci5yYW5nZShlZGl0b3IsIHBvc2l0aW9uc1tsZWZ0XSksIHBhcmVudFJhbmdlQm91bmRhcnkpKSB7XG4gICAgICAgIHJldHVybiBFZGl0b3IucmFuZ2UoZWRpdG9yLCBwb3NpdGlvbnNbbGVmdF0sIHBhcmVudFJhbmdlQm91bmRhcnkpO1xuICAgIH1cblxuICAgIGlmIChwb3NpdGlvbnMubGVuZ3RoIDwgMikge1xuICAgICAgICByZXR1cm4gRWRpdG9yLnJhbmdlKGVkaXRvciwgcG9zaXRpb25zW3Bvc2l0aW9ucy5sZW5ndGggLSAxXSwgcGFyZW50UmFuZ2VCb3VuZGFyeSk7XG4gICAgfVxuXG4gICAgd2hpbGUgKG1pZGRsZSAhPT0gcG9zaXRpb25zLmxlbmd0aCAmJiBtaWRkbGUgIT09IGxlZnQpIHtcbiAgICAgICAgaWYgKGFyZVJhbmdlc1NhbWVMaW5lKGVkaXRvciwgRWRpdG9yLnJhbmdlKGVkaXRvciwgcG9zaXRpb25zW21pZGRsZV0pLCBwYXJlbnRSYW5nZUJvdW5kYXJ5KSkge1xuICAgICAgICAgICAgcmlnaHQgPSBtaWRkbGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsZWZ0ID0gbWlkZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgbWlkZGxlID0gTWF0aC5mbG9vcigobGVmdCArIHJpZ2h0KSAvIDIpO1xuICAgIH1cblxuICAgIHJldHVybiBFZGl0b3IucmFuZ2UoZWRpdG9yLCBwb3NpdGlvbnNbcmlnaHRdLCBwYXJlbnRSYW5nZUJvdW5kYXJ5KTtcbn07XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Range } from 'slate';
|
|
2
|
-
import { PLACEHOLDER_SYMBOL } from './weak-maps';
|
|
3
|
-
export const shallowCompare = (obj1, obj2) => Object.keys(obj1).length === Object.keys(obj2).length &&
|
|
4
|
-
Object.keys(obj1).every(key => obj2.hasOwnProperty(key) && obj1[key] === obj2[key]);
|
|
5
|
-
/**
|
|
6
|
-
* Check if a list of decorator ranges are equal to another.
|
|
7
|
-
*
|
|
8
|
-
* PERF: this requires the two lists to also have the ranges inside them in the
|
|
9
|
-
* same order, but this is an okay constraint for us since decorations are
|
|
10
|
-
* kept in order, and the odd case where they aren't is okay to re-render for.
|
|
11
|
-
*/
|
|
12
|
-
export const isDecoratorRangeListEqual = (list, another) => {
|
|
13
|
-
if (list.length !== another.length) {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
for (let i = 0; i < list.length; i++) {
|
|
17
|
-
const range = list[i];
|
|
18
|
-
const other = another[i];
|
|
19
|
-
const { anchor: rangeAnchor, focus: rangeFocus, ...rangeOwnProps } = range;
|
|
20
|
-
const { anchor: otherAnchor, focus: otherFocus, ...otherOwnProps } = other;
|
|
21
|
-
if (!Range.equals(range, other) ||
|
|
22
|
-
range[PLACEHOLDER_SYMBOL] !== other[PLACEHOLDER_SYMBOL] ||
|
|
23
|
-
!shallowCompare(rangeOwnProps, otherOwnProps)) {
|
|
24
|
-
return false;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
return true;
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmFuZ2UtbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9yYW5nZS1saXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDOUIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWpELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLElBQVEsRUFBRSxJQUFRLEVBQUUsRUFBRSxDQUNqRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU07SUFDckQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztBQUV4Rjs7Ozs7O0dBTUc7QUFFSCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUFDLElBQWEsRUFBRSxPQUFnQixFQUFXLEVBQUU7SUFDbEYsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNqQyxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztRQUNuQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXpCLE1BQU0sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsR0FBRyxhQUFhLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDM0UsTUFBTSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxHQUFHLGFBQWEsRUFBRSxHQUFHLEtBQUssQ0FBQztRQUUzRSxJQUNJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO1lBQzNCLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztZQUN2RCxDQUFDLGNBQWMsQ0FBQyxhQUFhLEVBQUUsYUFBYSxDQUFDLEVBQy9DLENBQUM7WUFDQyxPQUFPLEtBQUssQ0FBQztRQUNqQixDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2hCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJhbmdlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgUExBQ0VIT0xERVJfU1lNQk9MIH0gZnJvbSAnLi93ZWFrLW1hcHMnO1xuXG5leHBvcnQgY29uc3Qgc2hhbGxvd0NvbXBhcmUgPSAob2JqMToge30sIG9iajI6IHt9KSA9PlxuICAgIE9iamVjdC5rZXlzKG9iajEpLmxlbmd0aCA9PT0gT2JqZWN0LmtleXMob2JqMikubGVuZ3RoICYmXG4gICAgT2JqZWN0LmtleXMob2JqMSkuZXZlcnkoa2V5ID0+IG9iajIuaGFzT3duUHJvcGVydHkoa2V5KSAmJiBvYmoxW2tleV0gPT09IG9iajJba2V5XSk7XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBsaXN0IG9mIGRlY29yYXRvciByYW5nZXMgYXJlIGVxdWFsIHRvIGFub3RoZXIuXG4gKlxuICogUEVSRjogdGhpcyByZXF1aXJlcyB0aGUgdHdvIGxpc3RzIHRvIGFsc28gaGF2ZSB0aGUgcmFuZ2VzIGluc2lkZSB0aGVtIGluIHRoZVxuICogc2FtZSBvcmRlciwgYnV0IHRoaXMgaXMgYW4gb2theSBjb25zdHJhaW50IGZvciB1cyBzaW5jZSBkZWNvcmF0aW9ucyBhcmVcbiAqIGtlcHQgaW4gb3JkZXIsIGFuZCB0aGUgb2RkIGNhc2Ugd2hlcmUgdGhleSBhcmVuJ3QgaXMgb2theSB0byByZS1yZW5kZXIgZm9yLlxuICovXG5cbmV4cG9ydCBjb25zdCBpc0RlY29yYXRvclJhbmdlTGlzdEVxdWFsID0gKGxpc3Q6IFJhbmdlW10sIGFub3RoZXI6IFJhbmdlW10pOiBib29sZWFuID0+IHtcbiAgICBpZiAobGlzdC5sZW5ndGggIT09IGFub3RoZXIubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgcmFuZ2UgPSBsaXN0W2ldO1xuICAgICAgICBjb25zdCBvdGhlciA9IGFub3RoZXJbaV07XG5cbiAgICAgICAgY29uc3QgeyBhbmNob3I6IHJhbmdlQW5jaG9yLCBmb2N1czogcmFuZ2VGb2N1cywgLi4ucmFuZ2VPd25Qcm9wcyB9ID0gcmFuZ2U7XG4gICAgICAgIGNvbnN0IHsgYW5jaG9yOiBvdGhlckFuY2hvciwgZm9jdXM6IG90aGVyRm9jdXMsIC4uLm90aGVyT3duUHJvcHMgfSA9IG90aGVyO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgICFSYW5nZS5lcXVhbHMocmFuZ2UsIG90aGVyKSB8fFxuICAgICAgICAgICAgcmFuZ2VbUExBQ0VIT0xERVJfU1lNQk9MXSAhPT0gb3RoZXJbUExBQ0VIT0xERVJfU1lNQk9MXSB8fFxuICAgICAgICAgICAgIXNoYWxsb3dDb21wYXJlKHJhbmdlT3duUHJvcHMsIG90aGVyT3duUHJvcHMpXG4gICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG59O1xuIl19
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { EDITOR_TO_ELEMENT } from './weak-maps';
|
|
2
|
-
export function restoreDom(editor, execute) {
|
|
3
|
-
const editable = EDITOR_TO_ELEMENT.get(editor);
|
|
4
|
-
let observer = new MutationObserver(mutations => {
|
|
5
|
-
mutations.reverse().forEach(mutation => {
|
|
6
|
-
if (mutation.type === 'characterData') {
|
|
7
|
-
// We don't want to restore the DOM for characterData mutations
|
|
8
|
-
// because this interrupts the composition.
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
mutation.removedNodes.forEach(node => {
|
|
12
|
-
mutation.target.insertBefore(node, mutation.nextSibling);
|
|
13
|
-
});
|
|
14
|
-
mutation.addedNodes.forEach(node => {
|
|
15
|
-
mutation.target.removeChild(node);
|
|
16
|
-
});
|
|
17
|
-
});
|
|
18
|
-
disconnect();
|
|
19
|
-
execute();
|
|
20
|
-
});
|
|
21
|
-
const disconnect = () => {
|
|
22
|
-
observer.disconnect();
|
|
23
|
-
observer = null;
|
|
24
|
-
};
|
|
25
|
-
observer.observe(editable, { subtree: true, childList: true, characterData: true, characterDataOldValue: true });
|
|
26
|
-
setTimeout(() => {
|
|
27
|
-
if (observer) {
|
|
28
|
-
disconnect();
|
|
29
|
-
execute();
|
|
30
|
-
}
|
|
31
|
-
}, 0);
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzdG9yZS1kb20uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9zcmMvdXRpbHMvcmVzdG9yZS1kb20udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE1BQU0sVUFBVSxVQUFVLENBQUMsTUFBYyxFQUFFLE9BQW1CO0lBQzFELE1BQU0sUUFBUSxHQUFHLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQyxJQUFJLFFBQVEsR0FBRyxJQUFJLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQzVDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbkMsSUFBSSxRQUFRLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRSxDQUFDO2dCQUNwQywrREFBK0Q7Z0JBQy9ELDJDQUEyQztnQkFDM0MsT0FBTztZQUNYLENBQUM7WUFFRCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDakMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztZQUVILFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUMvQixRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ0gsVUFBVSxFQUFFLENBQUM7UUFDYixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUMsQ0FBQyxDQUFDO0lBQ0gsTUFBTSxVQUFVLEdBQUcsR0FBRyxFQUFFO1FBQ3BCLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUN0QixRQUFRLEdBQUcsSUFBSSxDQUFDO0lBQ3BCLENBQUMsQ0FBQztJQUNGLFFBQVEsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqSCxVQUFVLENBQUMsR0FBRyxFQUFFO1FBQ1osSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNYLFVBQVUsRUFBRSxDQUFDO1lBQ2IsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0wsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEVESVRPUl9UT19FTEVNRU5UIH0gZnJvbSAnLi93ZWFrLW1hcHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcmVzdG9yZURvbShlZGl0b3I6IEVkaXRvciwgZXhlY3V0ZTogKCkgPT4gdm9pZCkge1xuICAgIGNvbnN0IGVkaXRhYmxlID0gRURJVE9SX1RPX0VMRU1FTlQuZ2V0KGVkaXRvcik7XG4gICAgbGV0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIobXV0YXRpb25zID0+IHtcbiAgICAgICAgbXV0YXRpb25zLnJldmVyc2UoKS5mb3JFYWNoKG11dGF0aW9uID0+IHtcbiAgICAgICAgICAgIGlmIChtdXRhdGlvbi50eXBlID09PSAnY2hhcmFjdGVyRGF0YScpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBkb24ndCB3YW50IHRvIHJlc3RvcmUgdGhlIERPTSBmb3IgY2hhcmFjdGVyRGF0YSBtdXRhdGlvbnNcbiAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIHRoaXMgaW50ZXJydXB0cyB0aGUgY29tcG9zaXRpb24uXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtdXRhdGlvbi5yZW1vdmVkTm9kZXMuZm9yRWFjaChub2RlID0+IHtcbiAgICAgICAgICAgICAgICBtdXRhdGlvbi50YXJnZXQuaW5zZXJ0QmVmb3JlKG5vZGUsIG11dGF0aW9uLm5leHRTaWJsaW5nKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBtdXRhdGlvbi5hZGRlZE5vZGVzLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgICAgICAgICAgbXV0YXRpb24udGFyZ2V0LnJlbW92ZUNoaWxkKG5vZGUpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBkaXNjb25uZWN0KCk7XG4gICAgICAgIGV4ZWN1dGUoKTtcbiAgICB9KTtcbiAgICBjb25zdCBkaXNjb25uZWN0ID0gKCkgPT4ge1xuICAgICAgICBvYnNlcnZlci5kaXNjb25uZWN0KCk7XG4gICAgICAgIG9ic2VydmVyID0gbnVsbDtcbiAgICB9O1xuICAgIG9ic2VydmVyLm9ic2VydmUoZWRpdGFibGUsIHsgc3VidHJlZTogdHJ1ZSwgY2hpbGRMaXN0OiB0cnVlLCBjaGFyYWN0ZXJEYXRhOiB0cnVlLCBjaGFyYWN0ZXJEYXRhT2xkVmFsdWU6IHRydWUgfSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmIChvYnNlcnZlcikge1xuICAgICAgICAgICAgZGlzY29ubmVjdCgpO1xuICAgICAgICAgICAgZXhlY3V0ZSgpO1xuICAgICAgICB9XG4gICAgfSwgMCk7XG59XG4iXX0=
|