@plait/core 0.72.0 → 0.74.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/esm2022/interfaces/history.mjs +3 -1
- package/esm2022/plugins/with-history.mjs +5 -1
- package/esm2022/utils/history.mjs +35 -2
- package/fesm2022/plait-core.mjs +40 -1
- package/fesm2022/plait-core.mjs.map +1 -1
- package/interfaces/history.d.ts +2 -0
- package/package.json +1 -1
- package/utils/history.d.ts +16 -0
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
export const SAVING = new WeakMap();
|
|
2
2
|
export const MERGING = new WeakMap();
|
|
3
|
-
|
|
3
|
+
export const HISTORY = new WeakMap();
|
|
4
|
+
export const SPLITTING_ONCE = new WeakMap();
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL2ludGVyZmFjZXMvaGlzdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxNQUFNLENBQUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQW1DLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFtQyxDQUFDO0FBQ3RFLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxJQUFJLE9BQU8sRUFBdUIsQ0FBQztBQUMxRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxPQUFPLEVBQW1DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkIH0gZnJvbSAnLi9ib2FyZCc7XG5pbXBvcnQgeyBQbGFpdE9wZXJhdGlvbiB9IGZyb20gJy4vb3BlcmF0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBQbGFpdEhpc3Rvcnkge1xuICAgIHJlZG9zOiBQbGFpdE9wZXJhdGlvbltdW107XG4gICAgdW5kb3M6IFBsYWl0T3BlcmF0aW9uW11bXTtcbn1cblxuZXhwb3J0IGNvbnN0IFNBVklORyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIGJvb2xlYW4gfCB1bmRlZmluZWQ+KCk7XG5leHBvcnQgY29uc3QgTUVSR0lORyA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIGJvb2xlYW4gfCB1bmRlZmluZWQ+KCk7XG5leHBvcnQgY29uc3QgSElTVE9SWSA9IG5ldyBXZWFrTWFwPFBsYWl0Qm9hcmQsIEhpc3Rvcnk+KCk7XG5leHBvcnQgY29uc3QgU1BMSVRUSU5HX09OQ0UgPSBuZXcgV2Vha01hcDxQbGFpdEJvYXJkLCBib29sZWFuIHwgdW5kZWZpbmVkPigpO1xuIl19
|
|
@@ -55,6 +55,10 @@ export function withHistory(board) {
|
|
|
55
55
|
merge = shouldMerge(op, lastOp);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
if (PlaitHistoryBoard.isSplittingOnce(board)) {
|
|
59
|
+
merge = false;
|
|
60
|
+
PlaitHistoryBoard.setSplittingOnce(board, undefined);
|
|
61
|
+
}
|
|
58
62
|
if (lastBatch && merge) {
|
|
59
63
|
lastBatch.push(op);
|
|
60
64
|
}
|
|
@@ -84,4 +88,4 @@ export function withHistory(board) {
|
|
|
84
88
|
};
|
|
85
89
|
return board;
|
|
86
90
|
}
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1oaXN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGx1Z2lucy93aXRoLWhpc3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUVuRixNQUFNLFVBQVUsV0FBVyxDQUF1QixLQUFRO0lBQ3RELE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUV6QyxLQUFLLENBQUMsSUFBSSxHQUFHLEdBQUcsRUFBRTtRQUNkLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxLQUFLLENBQUM7UUFDMUIsTUFBTSxFQUFFLEtBQUssRUFBRSxHQUFHLE9BQU8sQ0FBQztRQUUxQixJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDbkIsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFdEMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUU7Z0JBQ3hDLEtBQUssTUFBTSxFQUFFLElBQUksS0FBSyxFQUFFLENBQUM7b0JBQ3JCLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ3BCLENBQUM7WUFDTCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDcEIsT0FB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QUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUN4QixLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEIsQ0FBQztZQUVELElBQUksV0FBVyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDTCxDQUFDO1FBQ0QsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBRUYsS0FBSyxDQUFDLE9BQU8sR0FBRyxDQUFDLEtBQW9CLEVBQUUsRUFBRTtRQUNyQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDYixPQUFPO1FBQ1gsQ0FBQztRQUNELElBQUksUUFBUSxDQUFDLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNiLE9BQU87UUFDWCxDQUFDO1FBQ0QsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLE9BQU8sS0FBSyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdE9wZXJhdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgaXNIb3RrZXkgfSBmcm9tICdpcy1ob3RrZXknO1xuaW1wb3J0IHsgUGxhaXRIaXN0b3J5Qm9hcmQsIHNob3VsZENsZWFyLCBzaG91bGRNZXJnZSwgc2hvdWxkU2F2ZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhIaXN0b3J5PFQgZXh0ZW5kcyBQbGFpdEJvYXJkPihib2FyZDogVCkge1xuICAgIGNvbnN0IHsgYXBwbHksIGtleURvd24gfSA9IGJvYXJkO1xuICAgIGJvYXJkLmhpc3RvcnkgPSB7IHVuZG9zOiBbXSwgcmVkb3M6IFtdIH07XG5cbiAgICBib2FyZC5yZWRvID0gKCkgPT4ge1xuICAgICAgICBjb25zdCB7IGhpc3RvcnkgfSA9IGJvYXJkO1xuICAgICAgICBjb25zdCB7IHJlZG9zIH0gPSBoaXN0b3J5O1xuXG4gICAgICAgIGlmIChyZWRvcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCBiYXRjaCA9IHJlZG9zW3JlZG9zLmxlbmd0aCAtIDFdO1xuXG4gICAgICAgICAgICBQbGFpdEhpc3RvcnlCb2FyZC53aXRob3V0U2F2aW5nKGJvYXJkLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBvcCBvZiBiYXRjaCkge1xuICAgICAgICAgICAgICAgICAgICBib2FyZC5hcHBseShvcCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGhpc3RvcnkucmVkb3MucG9wKCk7XG4gICAgICAgICAgICBoaXN0b3J5LnVuZG9zLnB1c2goYmF0Y2gpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGJvYXJkLnVuZG8gPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgaGlzdG9yeSB9ID0gYm9hcmQ7XG4gICAgICAgIGNvbnN0IHsgdW5kb3MgfSA9IGhpc3Rvcnk7XG5cbiAgICAgICAgaWYgKHVuZG9zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IGJhdGNoID0gdW5kb3NbdW5kb3MubGVuZ3RoIC0gMV07XG5cbiAgICAgICAgICAgIFBsYWl0SGlzdG9yeUJvYXJkLndpdGhvdXRTYXZpbmcoYm9hcmQsICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnZlcnNlT3BzID0gYmF0Y2gubWFwKFBsYWl0T3BlcmF0aW9uLmludmVyc2UpLnJldmVyc2UoKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG9wIG9mIGludmVyc2VPcHMpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9hcmQuYXBwbHkob3ApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBoaXN0b3J5LnJlZG9zLnB1c2goYmF0Y2gpO1xuICAgICAgICAgICAgaGlzdG9yeS51bmRvcy5wb3AoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBib2FyZC5hcHBseSA9IChvcDogUGxhaXRPcGVyYXRpb24pID0+IHtcbiAgICAgICAgY29uc3QgeyBvcGVyYXRpb25zLCBoaXN0b3J5IH0gPSBib2FyZDtcbiAgICAgICAgY29uc3QgeyB1bmRvcyB9ID0gaGlzdG9yeTtcbiAgICAgICAgY29uc3QgbGFzdEJhdGNoID0gdW5kb3NbdW5kb3MubGVuZ3RoIC0gMV07XG4gICAgICAgIGNvbnN0IGxhc3RPcCA9IGxhc3RCYXRjaCAmJiBsYXN0QmF0Y2hbbGFzdEJhdGNoLmxlbmd0aCAtIDFdO1xuICAgICAgICBsZXQgc2F2ZSA9IFBsYWl0SGlzdG9yeUJvYXJkLmlzU2F2aW5nKGJvYXJkKTtcbiAgICAgICAgbGV0IG1lcmdlID0gUGxhaXRIaXN0b3J5Qm9hcmQuaXNNZXJnaW5nKGJvYXJkKTtcblxuICAgICAgICBpZiAoc2F2ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICBzYXZlID0gc2hvdWxkU2F2ZShvcCwgbGFzdE9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzYXZlKSB7XG4gICAgICAgICAgICBpZiAoIW1lcmdlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3RCYXRjaCA9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIG1lcmdlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb25zLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBtZXJnZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgbWVyZ2UgPSBzaG91bGRNZXJnZShvcCwgbGFzdE9wKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChQbGFpdEhpc3RvcnlCb2FyZC5pc1NwbGl0dGluZ09uY2UoYm9hcmQpKSB7XG4gICAgICAgICAgICAgICAgbWVyZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBQbGFpdEhpc3RvcnlCb2FyZC5zZXRTcGxpdHRpbmdPbmNlKGJvYXJkLCB1bmRlZmluZWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAobGFzdEJhdGNoICYmIG1lcmdlKSB7XG4gICAgICAgICAgICAgICAgbGFzdEJhdGNoLnB1c2gob3ApO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBiYXRjaCA9IFtvcF07XG4gICAgICAgICAgICAgICAgdW5kb3MucHVzaChiYXRjaCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHdoaWxlICh1bmRvcy5sZW5ndGggPiAxMDApIHtcbiAgICAgICAgICAgICAgICB1bmRvcy5zaGlmdCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc2hvdWxkQ2xlYXIob3ApKSB7XG4gICAgICAgICAgICAgICAgaGlzdG9yeS5yZWRvcyA9IFtdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGFwcGx5KG9wKTtcbiAgICB9O1xuXG4gICAgYm9hcmQua2V5RG93biA9IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoaXNIb3RrZXkoJ21vZCt6JywgZXZlbnQpKSB7XG4gICAgICAgICAgICBib2FyZC51bmRvKCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzSG90a2V5KCdtb2Qrc2hpZnQreicsIGV2ZW50KSkge1xuICAgICAgICAgICAgYm9hcmQucmVkbygpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGtleURvd24oZXZlbnQpO1xuICAgIH07XG5cbiAgICByZXR1cm4gYm9hcmQ7XG59XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
// Credits to slate - https://github.com/ianstormtaylor/slate
|
|
2
|
+
import { MERGING, SAVING, SPLITTING_ONCE } from '../interfaces';
|
|
2
3
|
/**
|
|
3
4
|
* Check whether to merge an operation into the previous operation.
|
|
4
5
|
*/
|
|
@@ -39,6 +40,38 @@ export const PlaitHistoryBoard = {
|
|
|
39
40
|
isMerging(board) {
|
|
40
41
|
return MERGING.get(board);
|
|
41
42
|
},
|
|
43
|
+
/**
|
|
44
|
+
* Get the splitting once flag's current value.
|
|
45
|
+
*/
|
|
46
|
+
isSplittingOnce(board) {
|
|
47
|
+
return SPLITTING_ONCE.get(board);
|
|
48
|
+
},
|
|
49
|
+
setSplittingOnce(board, value) {
|
|
50
|
+
SPLITTING_ONCE.set(board, value);
|
|
51
|
+
},
|
|
52
|
+
/**
|
|
53
|
+
* Apply a series of changes inside a synchronous `fn`, These operations will
|
|
54
|
+
* be merged into the previous history.
|
|
55
|
+
*/
|
|
56
|
+
withMerging(board, fn) {
|
|
57
|
+
const prev = PlaitHistoryBoard.isMerging(board);
|
|
58
|
+
MERGING.set(board, true);
|
|
59
|
+
fn();
|
|
60
|
+
MERGING.set(board, prev);
|
|
61
|
+
},
|
|
62
|
+
/**
|
|
63
|
+
* Apply a series of changes inside a synchronous `fn`, ensuring that the first
|
|
64
|
+
* operation starts a new batch in the history. Subsequent operations will be
|
|
65
|
+
* merged as usual.
|
|
66
|
+
*/
|
|
67
|
+
withNewBatch(board, fn) {
|
|
68
|
+
const prev = PlaitHistoryBoard.isMerging(board);
|
|
69
|
+
MERGING.set(board, true);
|
|
70
|
+
SPLITTING_ONCE.set(board, true);
|
|
71
|
+
fn();
|
|
72
|
+
MERGING.set(board, prev);
|
|
73
|
+
SPLITTING_ONCE.delete(board);
|
|
74
|
+
},
|
|
42
75
|
/**
|
|
43
76
|
* Apply a series of changes inside a synchronous `fn`, without merging any of
|
|
44
77
|
* the new operations into previous save point in the history.
|
|
@@ -60,4 +93,4 @@ export const PlaitHistoryBoard = {
|
|
|
60
93
|
SAVING.set(board, prev);
|
|
61
94
|
}
|
|
62
95
|
};
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3V0aWxzL2hpc3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNkRBQTZEO0FBRTdELE9BQU8sRUFBRSxPQUFPLEVBQThCLE1BQU0sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUY7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFrQixFQUFFLElBQWdDLEVBQVcsRUFBRTtJQUN6RixJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssY0FBYyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3ZELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxPQUFPLEtBQUssQ0FBQztBQUNqQixDQUFDLENBQUM7QUFFRjs7R0FFRztBQUVILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEVBQWtCLEVBQUUsSUFBZ0MsRUFBVyxFQUFFO0lBQ3hGLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxlQUFlLElBQUksRUFBRSxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUUsQ0FBQztRQUM1RCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRUQsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUY7O0dBRUc7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFrQixFQUFXLEVBQUU7SUFDdkQsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLGVBQWUsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQztBQUNoQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUM3Qjs7T0FFRztJQUNILFFBQVEsQ0FBQyxLQUFpQjtRQUN0QixPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVEOztPQUVHO0lBRUgsU0FBUyxDQUFDLEtBQWlCO1FBQ3ZCLE9BQU8sT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBRUQ7O09BRUc7SUFFSCxlQUFlLENBQUMsS0FBaUI7UUFDN0IsT0FBTyxjQUFjLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFpQixFQUFFLEtBQTBCO1FBQzFELGNBQWMsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxXQUFXLENBQUMsS0FBaUIsRUFBRSxFQUFjO1FBQ3pDLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QixFQUFFLEVBQUUsQ0FBQztRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsWUFBWSxDQUFDLEtBQWlCLEVBQUUsRUFBYztRQUMxQyxNQUFNLElBQUksR0FBRyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDaEQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDekIsY0FBYyxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEMsRUFBRSxFQUFFLENBQUM7UUFDTCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQztRQUN6QixjQUFjLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7O09BR0c7SUFFSCxjQUFjLENBQUMsS0FBaUIsRUFBRSxFQUFjO1FBQzVDLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQixFQUFFLEVBQUUsQ0FBQztRQUNMLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFDRDs7O09BR0c7SUFFSCxhQUFhLENBQUMsS0FBaUIsRUFBRSxFQUFjO1FBQzNDLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUN6QixFQUFFLEVBQUUsQ0FBQztRQUNMLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7Q0FDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ3JlZGl0cyB0byBzbGF0ZSAtIGh0dHBzOi8vZ2l0aHViLmNvbS9pYW5zdG9ybXRheWxvci9zbGF0ZVxuXG5pbXBvcnQgeyBNRVJHSU5HLCBQbGFpdEJvYXJkLCBQbGFpdE9wZXJhdGlvbiwgU0FWSU5HLCBTUExJVFRJTkdfT05DRSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdG8gbWVyZ2UgYW4gb3BlcmF0aW9uIGludG8gdGhlIHByZXZpb3VzIG9wZXJhdGlvbi5cbiAqL1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkTWVyZ2UgPSAob3A6IFBsYWl0T3BlcmF0aW9uLCBwcmV2OiBQbGFpdE9wZXJhdGlvbiB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT4ge1xuICAgIGlmIChvcC50eXBlID09PSAnc2V0X3ZpZXdwb3J0JyAmJiBvcC50eXBlID09PSBwcmV2Py50eXBlKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgYW4gb3BlcmF0aW9uIG5lZWRzIHRvIGJlIHNhdmVkIHRvIHRoZSBoaXN0b3J5LlxuICovXG5cbmV4cG9ydCBjb25zdCBzaG91bGRTYXZlID0gKG9wOiBQbGFpdE9wZXJhdGlvbiwgcHJldjogUGxhaXRPcGVyYXRpb24gfCB1bmRlZmluZWQpOiBib29sZWFuID0+IHtcbiAgICBpZiAob3AudHlwZSA9PT0gJ3NldF9zZWxlY3Rpb24nIHx8IG9wLnR5cGUgPT09ICdzZXRfdmlld3BvcnQnKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZTtcbn07XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciBhbiBvcGVyYXRpb24gc2hvdWxkIGNsZWFyIHRoZSByZWRvcyBzdGFjay5cbiAqL1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkQ2xlYXIgPSAob3A6IFBsYWl0T3BlcmF0aW9uKTogYm9vbGVhbiA9PiB7XG4gICAgaWYgKG9wLnR5cGUgPT09ICdzZXRfc2VsZWN0aW9uJykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG59O1xuXG5leHBvcnQgY29uc3QgUGxhaXRIaXN0b3J5Qm9hcmQgPSB7XG4gICAgLyoqXG4gICAgICogR2V0IHRoZSBzYXZpbmcgZmxhZydzIGN1cnJlbnQgdmFsdWUuXG4gICAgICovXG4gICAgaXNTYXZpbmcoYm9hcmQ6IFBsYWl0Qm9hcmQpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIFNBVklORy5nZXQoYm9hcmQpO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBHZXQgdGhlIG1lcmdlIGZsYWcncyBjdXJyZW50IHZhbHVlLlxuICAgICAqL1xuXG4gICAgaXNNZXJnaW5nKGJvYXJkOiBQbGFpdEJvYXJkKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiBNRVJHSU5HLmdldChib2FyZCk7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEdldCB0aGUgc3BsaXR0aW5nIG9uY2UgZmxhZydzIGN1cnJlbnQgdmFsdWUuXG4gICAgICovXG5cbiAgICBpc1NwbGl0dGluZ09uY2UoYm9hcmQ6IFBsYWl0Qm9hcmQpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIFNQTElUVElOR19PTkNFLmdldChib2FyZCk7XG4gICAgfSxcblxuICAgIHNldFNwbGl0dGluZ09uY2UoYm9hcmQ6IFBsYWl0Qm9hcmQsIHZhbHVlOiBib29sZWFuIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIFNQTElUVElOR19PTkNFLnNldChib2FyZCwgdmFsdWUpO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBBcHBseSBhIHNlcmllcyBvZiBjaGFuZ2VzIGluc2lkZSBhIHN5bmNocm9ub3VzIGBmbmAsIFRoZXNlIG9wZXJhdGlvbnMgd2lsbFxuICAgICAqIGJlIG1lcmdlZCBpbnRvIHRoZSBwcmV2aW91cyBoaXN0b3J5LlxuICAgICAqL1xuICAgIHdpdGhNZXJnaW5nKGJvYXJkOiBQbGFpdEJvYXJkLCBmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2ID0gUGxhaXRIaXN0b3J5Qm9hcmQuaXNNZXJnaW5nKGJvYXJkKTtcbiAgICAgICAgTUVSR0lORy5zZXQoYm9hcmQsIHRydWUpO1xuICAgICAgICBmbigpO1xuICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgcHJldik7XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIEFwcGx5IGEgc2VyaWVzIG9mIGNoYW5nZXMgaW5zaWRlIGEgc3luY2hyb25vdXMgYGZuYCwgZW5zdXJpbmcgdGhhdCB0aGUgZmlyc3RcbiAgICAgKiBvcGVyYXRpb24gc3RhcnRzIGEgbmV3IGJhdGNoIGluIHRoZSBoaXN0b3J5LiBTdWJzZXF1ZW50IG9wZXJhdGlvbnMgd2lsbCBiZVxuICAgICAqIG1lcmdlZCBhcyB1c3VhbC5cbiAgICAgKi9cbiAgICB3aXRoTmV3QmF0Y2goYm9hcmQ6IFBsYWl0Qm9hcmQsIGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHByZXYgPSBQbGFpdEhpc3RvcnlCb2FyZC5pc01lcmdpbmcoYm9hcmQpO1xuICAgICAgICBNRVJHSU5HLnNldChib2FyZCwgdHJ1ZSk7XG4gICAgICAgIFNQTElUVElOR19PTkNFLnNldChib2FyZCwgdHJ1ZSk7XG4gICAgICAgIGZuKCk7XG4gICAgICAgIE1FUkdJTkcuc2V0KGJvYXJkLCBwcmV2KTtcbiAgICAgICAgU1BMSVRUSU5HX09OQ0UuZGVsZXRlKGJvYXJkKTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQXBwbHkgYSBzZXJpZXMgb2YgY2hhbmdlcyBpbnNpZGUgYSBzeW5jaHJvbm91cyBgZm5gLCB3aXRob3V0IG1lcmdpbmcgYW55IG9mXG4gICAgICogdGhlIG5ldyBvcGVyYXRpb25zIGludG8gcHJldmlvdXMgc2F2ZSBwb2ludCBpbiB0aGUgaGlzdG9yeS5cbiAgICAgKi9cblxuICAgIHdpdGhvdXRNZXJnaW5nKGJvYXJkOiBQbGFpdEJvYXJkLCBmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2ID0gUGxhaXRIaXN0b3J5Qm9hcmQuaXNNZXJnaW5nKGJvYXJkKTtcbiAgICAgICAgTUVSR0lORy5zZXQoYm9hcmQsIGZhbHNlKTtcbiAgICAgICAgZm4oKTtcbiAgICAgICAgTUVSR0lORy5zZXQoYm9hcmQsIHByZXYpO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogQXBwbHkgYSBzZXJpZXMgb2YgY2hhbmdlcyBpbnNpZGUgYSBzeW5jaHJvbm91cyBgZm5gLCB3aXRob3V0IHNhdmluZyBhbnkgb2ZcbiAgICAgKiB0aGVpciBvcGVyYXRpb25zIGludG8gdGhlIGhpc3RvcnkuXG4gICAgICovXG5cbiAgICB3aXRob3V0U2F2aW5nKGJvYXJkOiBQbGFpdEJvYXJkLCBmbjogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgICAgICBjb25zdCBwcmV2ID0gUGxhaXRIaXN0b3J5Qm9hcmQuaXNTYXZpbmcoYm9hcmQpO1xuICAgICAgICBTQVZJTkcuc2V0KGJvYXJkLCBmYWxzZSk7XG4gICAgICAgIGZuKCk7XG4gICAgICAgIFNBVklORy5zZXQoYm9hcmQsIHByZXYpO1xuICAgIH1cbn07XG4iXX0=
|
package/fesm2022/plait-core.mjs
CHANGED
|
@@ -1313,6 +1313,7 @@ const IS_CHROME = typeof navigator !== 'undefined' && /Chrome/i.test(navigator.u
|
|
|
1313
1313
|
// Native beforeInput events don't work well with react on Chrome 75 and older, Chrome 76+ can use beforeInput
|
|
1314
1314
|
const IS_CHROME_LEGACY = typeof navigator !== 'undefined' && /Chrome?\/(?:[0-7][0-5]|[0-6][0-9])/i.test(navigator.userAgent);
|
|
1315
1315
|
|
|
1316
|
+
// Credits to slate - https://github.com/ianstormtaylor/slate
|
|
1316
1317
|
/**
|
|
1317
1318
|
* Check whether to merge an operation into the previous operation.
|
|
1318
1319
|
*/
|
|
@@ -1353,6 +1354,38 @@ const PlaitHistoryBoard = {
|
|
|
1353
1354
|
isMerging(board) {
|
|
1354
1355
|
return MERGING.get(board);
|
|
1355
1356
|
},
|
|
1357
|
+
/**
|
|
1358
|
+
* Get the splitting once flag's current value.
|
|
1359
|
+
*/
|
|
1360
|
+
isSplittingOnce(board) {
|
|
1361
|
+
return SPLITTING_ONCE.get(board);
|
|
1362
|
+
},
|
|
1363
|
+
setSplittingOnce(board, value) {
|
|
1364
|
+
SPLITTING_ONCE.set(board, value);
|
|
1365
|
+
},
|
|
1366
|
+
/**
|
|
1367
|
+
* Apply a series of changes inside a synchronous `fn`, These operations will
|
|
1368
|
+
* be merged into the previous history.
|
|
1369
|
+
*/
|
|
1370
|
+
withMerging(board, fn) {
|
|
1371
|
+
const prev = PlaitHistoryBoard.isMerging(board);
|
|
1372
|
+
MERGING.set(board, true);
|
|
1373
|
+
fn();
|
|
1374
|
+
MERGING.set(board, prev);
|
|
1375
|
+
},
|
|
1376
|
+
/**
|
|
1377
|
+
* Apply a series of changes inside a synchronous `fn`, ensuring that the first
|
|
1378
|
+
* operation starts a new batch in the history. Subsequent operations will be
|
|
1379
|
+
* merged as usual.
|
|
1380
|
+
*/
|
|
1381
|
+
withNewBatch(board, fn) {
|
|
1382
|
+
const prev = PlaitHistoryBoard.isMerging(board);
|
|
1383
|
+
MERGING.set(board, true);
|
|
1384
|
+
SPLITTING_ONCE.set(board, true);
|
|
1385
|
+
fn();
|
|
1386
|
+
MERGING.set(board, prev);
|
|
1387
|
+
SPLITTING_ONCE.delete(board);
|
|
1388
|
+
},
|
|
1356
1389
|
/**
|
|
1357
1390
|
* Apply a series of changes inside a synchronous `fn`, without merging any of
|
|
1358
1391
|
* the new operations into previous save point in the history.
|
|
@@ -4265,6 +4298,8 @@ const Point = {
|
|
|
4265
4298
|
|
|
4266
4299
|
const SAVING = new WeakMap();
|
|
4267
4300
|
const MERGING = new WeakMap();
|
|
4301
|
+
const HISTORY = new WeakMap();
|
|
4302
|
+
const SPLITTING_ONCE = new WeakMap();
|
|
4268
4303
|
|
|
4269
4304
|
var Direction;
|
|
4270
4305
|
(function (Direction) {
|
|
@@ -5554,6 +5589,10 @@ function withHistory(board) {
|
|
|
5554
5589
|
merge = shouldMerge(op, lastOp);
|
|
5555
5590
|
}
|
|
5556
5591
|
}
|
|
5592
|
+
if (PlaitHistoryBoard.isSplittingOnce(board)) {
|
|
5593
|
+
merge = false;
|
|
5594
|
+
PlaitHistoryBoard.setSplittingOnce(board, undefined);
|
|
5595
|
+
}
|
|
5557
5596
|
if (lastBatch && merge) {
|
|
5558
5597
|
lastBatch.push(op);
|
|
5559
5598
|
}
|
|
@@ -6567,5 +6606,5 @@ function createModModifierKeys() {
|
|
|
6567
6606
|
* Generated bundle index. Do not edit.
|
|
6568
6607
|
*/
|
|
6569
6608
|
|
|
6570
|
-
export { A, ACTIVE_MOVING_CLASS_NAME, ACTIVE_STROKE_WIDTH, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_AFTER_CHANGE, BOARD_TO_CONTEXT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_MOVING_POINT_IN_BOARD, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, CoreTransforms, CursorClass, D, DASH, DEFAULT_COLOR, DELETE, DOWN_ARROW, DarkThemeColor, DebugGenerator, DefaultThemeColor, Direction, E, EIGHT, ELEMENT_TO_REF, END, ENTER, EQUALS, ESCAPE, ElementFlavour, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FLUSHING, FOUR, G, H, HIT_DISTANCE_BUFFER, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_ALIVE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_DRAGGING, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, J, K, KEY_TO_ELEMENT_MAP, L, LAST_MEDIA, LEFT_ARROW, ListRender, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MAX_ZOOM, MERGING, META, MIN_ZOOM, MUTE, N, NINE, NODE_TO_CONTAINER_G, NODE_TO_G, NODE_TO_INDEX, NODE_TO_PARENT, NS, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PATH_REFS, PAUSE, PERIOD, PLUS_SIGN, POINTER_BUTTON, PRESS_AND_MOVE_BUFFER, PRINT_SCREEN, Path, PlaitBoard, PlaitBoardContext, PlaitElement, PlaitGroupElement, PlaitHistoryBoard, PlaitNode, PlaitOperation, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RESIZE_CURSORS, RESIZE_HANDLE_CLASS_NAME, RIGHT_ARROW, ROTATE_HANDLE_CLASS_NAME, RectangleClient, ResizeCursorClass, RetroThemeColor, RgbaToHEX, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SELECTION_RECTANGLE_BOUNDING_CLASS_NAME, SELECTION_RECTANGLE_CLASS_NAME, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SNAPPING_STROKE_WIDTH, SNAP_TOLERANCE, SPACE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, Viewport, W, WritableClipboardOperationType, WritableClipboardType, X, Y, Z, ZERO, ZOOM_STEP, addClipboardContext, addOrCreateClipboardContext, addSelectedElement, approximately, arrowPoints, buildPlaitHtml, cacheMovingElements, cacheSelectedElements, cacheSelectedElementsWithGroup, cacheSelectedElementsWithGroupOnShift, calcNewViewBox, canAddGroup, canRemoveGroup, canSetZIndex, catmullRomFitting, ceilToDecimal, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createBoard, createClipboardContext, createDebugGenerator, createFakeEvent, createForeignObject, createG, createGroup, createGroupRectangleG, createKeyboardEvent, createMask, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createRect, createSVG, createTestingBoard, createText, createTouchEvent, debounce, degreesToRadians, deleteFragment, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, distanceBetweenPointAndSegments, downloadImage, drawArrow, drawBezierPath, drawCircle, drawDashedLines, drawLine, drawLinearPath, drawPendingNodesG, drawPointSnapLines, drawRectangle, drawRoundRectangle, drawSelectionRectangleG, drawSolidLines, duplicateElements, fakeNodeWeakMap, filterSelectedGroups, findElements, findIndex, findLastIndex, getAllElementsInGroup, getAllMoveOptions, getAngleBetweenPoints, getAngleByElement, getBarPoint, getBoardRectangle, getBoundingRectangleByElements, getClipboardData, getClipboardFromHtml, getCrossingPointsBetweenEllipseAndSegment, getDataTransferClipboard, getDataTransferClipboardText, getEditingGroup, getElementById, getElementHostBBox, getElementMap, getElementsInGroup, getElementsInGroupByElement, getElementsIndices, getEllipseTangentSlope, getGroupByElement, getHighestGroup, getHighestIndexOfElement, getHighestSelectedElements, getHighestSelectedGroup, getHighestSelectedGroups, getHitElementByPoint, getHitElementsByPoint, getHitElementsBySelection, getHitSelectedElements, getIsRecursionFunc, getMinPointDelta, getMovingElements, getNearestDelta, getNearestPointBetweenPointAndEllipse, getNearestPointBetweenPointAndSegment, getNearestPointBetweenPointAndSegments, getNearestPointRectangle, getOffsetAfterRotate, getOneMoveOptions, getProbablySupportsClipboardRead, getProbablySupportsClipboardWrite, getProbablySupportsClipboardWriteText, getRealScrollBarWidth, getRectangleByAngle, getRectangleByElements, getRectangleByGroup, getRotatedBoundingRectangle, getSelectedElements, getSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getSelectedTargetElements, getSelectionAngle, getSelectionOptions, getSnapRectangles, getTemporaryElements, getTemporaryRef, getTripleAxis, getValidElements, getVectorFromPointAndSlope, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnContextChanged, hasSameAngle, hasSelectedElementsInSameGroup, hasSetSelectionOperation, hasValidAngle, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isAxisChangedByAngle, isContextmenu, isDOMElement, isDOMNode, isDebug, isDragging, isFromScrolling, isFromViewportChange, isHandleSelection, isHitElement, isHitSelectedRectangle, isInPlaitBoard, isIndicesContinuous, isLineHitLine, isMainPointer, isMovingElements, isNullOrUndefined, isPointInEllipse, isPointInPolygon, isPointInRoundRectangle, isPolylineHitRectangle, isSecondaryPointer, isSelectedAllElementsInGroup, isSelectedElement, isSelectedElementOrGroup, isSelectionMoving, isSetSelectionOperation, isSetThemeOperation, isSetViewportOperation, isSnapPoint, isValidAngle, mountElementG, moveElementsToNewPath, moveElementsToNewPathAfterAddGroup, nonGroupInHighestSelectedElements, normalizeAngle, normalizePoint, radiansToDegrees, removeMovingElements, removeSelectedElement, replaceAngleBrackets, replaceSelectedElement, reverseReplaceAngleBrackets, rotate, rotateAntiPointsByElement, rotateElements, rotatePoints, rotatePointsByAngle, rotatePointsByElement, rotatedDataPoints, scrollToRectangle, setAngleForG, setClipboardData, setDataTransferClipboard, setDataTransferClipboardText, setDragging, setFragment, setIsFromScrolling, setIsFromViewportChange, setPathStrokeLinecap, setSVGViewBox, setSelectedElementsWithGroup, setSelectionMoving, setSelectionOptions, setStrokeLinecap, shouldClear, shouldMerge, shouldSave, sortElements, stripHtml, temporaryDisableSelection, throttleRAF, toDomPrecision, toFixed, toHostPoint, toHostPointFromViewBoxPoint, toImage, toScreenPointFromHostPoint, toViewBoxPoint, toViewBoxPoints, uniqueById, updateForeignObject, updateForeignObjectWidth, updatePoints, updateViewportByScrolling, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withArrowMoving, withBoard, withHandPointer, withHistory, withHotkey, withMoving, withOptions, withRelatedFragment, withSelection, withViewport };
|
|
6609
|
+
export { A, ACTIVE_MOVING_CLASS_NAME, ACTIVE_STROKE_WIDTH, ALT, APOSTROPHE, ATTACHED_ELEMENT_CLASS_NAME, AT_SIGN, B, BACKSLASH, BACKSPACE, BOARD_TO_AFTER_CHANGE, BOARD_TO_CONTEXT, BOARD_TO_ELEMENT_HOST, BOARD_TO_HOST, BOARD_TO_IS_SELECTION_MOVING, BOARD_TO_MOVING_ELEMENT, BOARD_TO_MOVING_POINT, BOARD_TO_MOVING_POINT_IN_BOARD, BOARD_TO_ON_CHANGE, BOARD_TO_ROUGH_SVG, BOARD_TO_SELECTED_ELEMENT, BOARD_TO_TEMPORARY_ELEMENTS, BOARD_TO_VIEWPORT_ORIGINATION, BoardTransforms, C, CAPS_LOCK, CLOSE_SQUARE_BRACKET, COMMA, CONTEXT_MENU, CONTROL, ColorfulThemeColor, CoreTransforms, CursorClass, D, DASH, DEFAULT_COLOR, DELETE, DOWN_ARROW, DarkThemeColor, DebugGenerator, DefaultThemeColor, Direction, E, EIGHT, ELEMENT_TO_REF, END, ENTER, EQUALS, ESCAPE, ElementFlavour, F, F1, F10, F11, F12, F2, F3, F4, F5, F6, F7, F8, F9, FF_EQUALS, FF_MINUS, FF_MUTE, FF_SEMICOLON, FF_VOLUME_DOWN, FF_VOLUME_UP, FIRST_MEDIA, FIVE, FLUSHING, FOUR, G, H, HISTORY, HIT_DISTANCE_BUFFER, HOME, HOST_CLASS_NAME, I, INSERT, IS_APPLE, IS_BOARD_ALIVE, IS_BOARD_CACHE, IS_CHROME, IS_CHROME_LEGACY, IS_DRAGGING, IS_EDGE_LEGACY, IS_FIREFOX, IS_IOS, IS_MAC, IS_SAFARI, IS_TEXT_EDITABLE, J, K, KEY_TO_ELEMENT_MAP, L, LAST_MEDIA, LEFT_ARROW, ListRender, M, MAC_ENTER, MAC_META, MAC_WK_CMD_LEFT, MAC_WK_CMD_RIGHT, MAX_RADIUS, MAX_ZOOM, MERGING, META, MIN_ZOOM, MUTE, N, NINE, NODE_TO_CONTAINER_G, NODE_TO_G, NODE_TO_INDEX, NODE_TO_PARENT, NS, NUMPAD_DIVIDE, NUMPAD_EIGHT, NUMPAD_FIVE, NUMPAD_FOUR, NUMPAD_MINUS, NUMPAD_MULTIPLY, NUMPAD_NINE, NUMPAD_ONE, NUMPAD_PERIOD, NUMPAD_PLUS, NUMPAD_SEVEN, NUMPAD_SIX, NUMPAD_THREE, NUMPAD_TWO, NUMPAD_ZERO, NUM_CENTER, NUM_LOCK, O, ONE, OPEN_SQUARE_BRACKET, P, PAGE_DOWN, PAGE_UP, PATH_REFS, PAUSE, PERIOD, PLUS_SIGN, POINTER_BUTTON, PRESS_AND_MOVE_BUFFER, PRINT_SCREEN, Path, PlaitBoard, PlaitBoardContext, PlaitElement, PlaitGroupElement, PlaitHistoryBoard, PlaitNode, PlaitOperation, PlaitPluginKey, PlaitPointerType, Point, Q, QUESTION_MARK, R, RESIZE_CURSORS, RESIZE_HANDLE_CLASS_NAME, RIGHT_ARROW, ROTATE_HANDLE_CLASS_NAME, RectangleClient, ResizeCursorClass, RetroThemeColor, RgbaToHEX, S, SAVING, SCROLL_BAR_WIDTH, SCROLL_LOCK, SELECTION_BORDER_COLOR, SELECTION_FILL_COLOR, SELECTION_RECTANGLE_BOUNDING_CLASS_NAME, SELECTION_RECTANGLE_CLASS_NAME, SEMICOLON, SEVEN, SHIFT, SINGLE_QUOTE, SIX, SLASH, SNAPPING_STROKE_WIDTH, SNAP_TOLERANCE, SPACE, SPLITTING_ONCE, Selection, SoftThemeColor, StarryThemeColor, T, TAB, THREE, TILDE, TWO, ThemeColorMode, ThemeColors, Transforms, U, UP_ARROW, V, VOLUME_DOWN, VOLUME_UP, Viewport, W, WritableClipboardOperationType, WritableClipboardType, X, Y, Z, ZERO, ZOOM_STEP, addClipboardContext, addOrCreateClipboardContext, addSelectedElement, approximately, arrowPoints, buildPlaitHtml, cacheMovingElements, cacheSelectedElements, cacheSelectedElementsWithGroup, cacheSelectedElementsWithGroupOnShift, calcNewViewBox, canAddGroup, canRemoveGroup, canSetZIndex, catmullRomFitting, ceilToDecimal, clampZoomLevel, clearNodeWeakMap, clearSelectedElement, clearSelectionMoving, clearViewportOrigination, createBoard, createClipboardContext, createDebugGenerator, createFakeEvent, createForeignObject, createG, createGroup, createGroupRectangleG, createKeyboardEvent, createMask, createModModifierKeys, createMouseEvent, createPath, createPointerEvent, createRect, createSVG, createTestingBoard, createText, createTouchEvent, debounce, degreesToRadians, deleteFragment, deleteTemporaryElements, depthFirstRecursion, distanceBetweenPointAndPoint, distanceBetweenPointAndRectangle, distanceBetweenPointAndSegment, distanceBetweenPointAndSegments, downloadImage, drawArrow, drawBezierPath, drawCircle, drawDashedLines, drawLine, drawLinearPath, drawPendingNodesG, drawPointSnapLines, drawRectangle, drawRoundRectangle, drawSelectionRectangleG, drawSolidLines, duplicateElements, fakeNodeWeakMap, filterSelectedGroups, findElements, findIndex, findLastIndex, getAllElementsInGroup, getAllMoveOptions, getAngleBetweenPoints, getAngleByElement, getBarPoint, getBoardRectangle, getBoundingRectangleByElements, getClipboardData, getClipboardFromHtml, getCrossingPointsBetweenEllipseAndSegment, getDataTransferClipboard, getDataTransferClipboardText, getEditingGroup, getElementById, getElementHostBBox, getElementMap, getElementsInGroup, getElementsInGroupByElement, getElementsIndices, getEllipseTangentSlope, getGroupByElement, getHighestGroup, getHighestIndexOfElement, getHighestSelectedElements, getHighestSelectedGroup, getHighestSelectedGroups, getHitElementByPoint, getHitElementsByPoint, getHitElementsBySelection, getHitSelectedElements, getIsRecursionFunc, getMinPointDelta, getMovingElements, getNearestDelta, getNearestPointBetweenPointAndEllipse, getNearestPointBetweenPointAndSegment, getNearestPointBetweenPointAndSegments, getNearestPointRectangle, getOffsetAfterRotate, getOneMoveOptions, getProbablySupportsClipboardRead, getProbablySupportsClipboardWrite, getProbablySupportsClipboardWriteText, getRealScrollBarWidth, getRectangleByAngle, getRectangleByElements, getRectangleByGroup, getRotatedBoundingRectangle, getSelectedElements, getSelectedGroups, getSelectedIsolatedElements, getSelectedIsolatedElementsCanAddToGroup, getSelectedTargetElements, getSelectionAngle, getSelectionOptions, getSnapRectangles, getTemporaryElements, getTemporaryRef, getTripleAxis, getValidElements, getVectorFromPointAndSlope, getViewBox, getViewBoxCenterPoint, getViewportContainerRect, getViewportOrigination, hasBeforeContextChange, hasInputOrTextareaTarget, hasOnContextChanged, hasSameAngle, hasSelectedElementsInSameGroup, hasSetSelectionOperation, hasValidAngle, hotkeys, idCreator, initializeViewBox, initializeViewportContainer, initializeViewportOffset, inverse, isAxisChangedByAngle, isContextmenu, isDOMElement, isDOMNode, isDebug, isDragging, isFromScrolling, isFromViewportChange, isHandleSelection, isHitElement, isHitSelectedRectangle, isInPlaitBoard, isIndicesContinuous, isLineHitLine, isMainPointer, isMovingElements, isNullOrUndefined, isPointInEllipse, isPointInPolygon, isPointInRoundRectangle, isPolylineHitRectangle, isSecondaryPointer, isSelectedAllElementsInGroup, isSelectedElement, isSelectedElementOrGroup, isSelectionMoving, isSetSelectionOperation, isSetThemeOperation, isSetViewportOperation, isSnapPoint, isValidAngle, mountElementG, moveElementsToNewPath, moveElementsToNewPathAfterAddGroup, nonGroupInHighestSelectedElements, normalizeAngle, normalizePoint, radiansToDegrees, removeMovingElements, removeSelectedElement, replaceAngleBrackets, replaceSelectedElement, reverseReplaceAngleBrackets, rotate, rotateAntiPointsByElement, rotateElements, rotatePoints, rotatePointsByAngle, rotatePointsByElement, rotatedDataPoints, scrollToRectangle, setAngleForG, setClipboardData, setDataTransferClipboard, setDataTransferClipboardText, setDragging, setFragment, setIsFromScrolling, setIsFromViewportChange, setPathStrokeLinecap, setSVGViewBox, setSelectedElementsWithGroup, setSelectionMoving, setSelectionOptions, setStrokeLinecap, shouldClear, shouldMerge, shouldSave, sortElements, stripHtml, temporaryDisableSelection, throttleRAF, toDomPrecision, toFixed, toHostPoint, toHostPointFromViewBoxPoint, toImage, toScreenPointFromHostPoint, toViewBoxPoint, toViewBoxPoints, uniqueById, updateForeignObject, updateForeignObjectWidth, updatePoints, updateViewportByScrolling, updateViewportContainerScroll, updateViewportOffset, updateViewportOrigination, withArrowMoving, withBoard, withHandPointer, withHistory, withHotkey, withMoving, withOptions, withRelatedFragment, withSelection, withViewport };
|
|
6571
6610
|
//# sourceMappingURL=plait-core.mjs.map
|