@plait/text-plugins 0.62.0-next.6 → 0.62.0-next.7
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.
|
@@ -4,34 +4,40 @@ import { MarkTypes } from './mark/types';
|
|
|
4
4
|
import { findFirstTextEditor, getTextEditors, getTextEditorsByElement } from '@plait/common';
|
|
5
5
|
import { PlaitMarkEditor } from './mark/mark.editor';
|
|
6
6
|
import { AlignEditor } from './align/align-editor';
|
|
7
|
-
const setTextMarks = (board, mark) => {
|
|
8
|
-
|
|
9
|
-
if (
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
7
|
+
const setTextMarks = (board, mark, editors) => {
|
|
8
|
+
let textEditors;
|
|
9
|
+
if (editors?.length) {
|
|
10
|
+
textEditors = editors;
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
const selectedElements = getSelectedElements(board);
|
|
14
|
+
if (selectedElements.length) {
|
|
15
|
+
const firstEditor = findFirstTextEditor(board);
|
|
16
|
+
if (!firstEditor) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const activeMarks = PlaitMarkEditor.getMarks(firstEditor);
|
|
20
|
+
const elements = selectedElements.filter(element => {
|
|
21
|
+
const elementEditors = getTextEditorsByElement(element);
|
|
22
|
+
return elementEditors.some(editor => {
|
|
23
|
+
const elementMarks = PlaitMarkEditor.getMarks(editor);
|
|
24
|
+
return elementMarks[mark] === activeMarks[mark];
|
|
25
|
+
});
|
|
26
26
|
});
|
|
27
|
+
textEditors = getTextEditors(board, elements);
|
|
27
28
|
}
|
|
28
29
|
}
|
|
30
|
+
if (textEditors && textEditors.length) {
|
|
31
|
+
textEditors.forEach(editor => {
|
|
32
|
+
PlaitMarkEditor.toggleMark(editor, mark);
|
|
33
|
+
});
|
|
34
|
+
}
|
|
29
35
|
};
|
|
30
|
-
const setFontSize = (board, size, defaultFontSize) => {
|
|
31
|
-
const
|
|
32
|
-
if (
|
|
36
|
+
const setFontSize = (board, size, defaultFontSize, editors) => {
|
|
37
|
+
const textEditors = getHandleTextEditors(board, editors);
|
|
38
|
+
if (textEditors && textEditors.length) {
|
|
33
39
|
const selectedElements = getSelectedElements(board);
|
|
34
|
-
|
|
40
|
+
textEditors.forEach(editor => {
|
|
35
41
|
let finalDefaultFontSize;
|
|
36
42
|
if (typeof defaultFontSize === 'function') {
|
|
37
43
|
const element = selectedElements.find(element => {
|
|
@@ -47,10 +53,10 @@ const setFontSize = (board, size, defaultFontSize) => {
|
|
|
47
53
|
});
|
|
48
54
|
}
|
|
49
55
|
};
|
|
50
|
-
const setTextColor = (board, color, textSelection) => {
|
|
51
|
-
const
|
|
52
|
-
if (
|
|
53
|
-
|
|
56
|
+
const setTextColor = (board, color, textSelection, editors) => {
|
|
57
|
+
const textEditors = getHandleTextEditors(board, editors);
|
|
58
|
+
if (textEditors && textEditors.length) {
|
|
59
|
+
textEditors.forEach(editor => {
|
|
54
60
|
if (textSelection) {
|
|
55
61
|
SlateTransforms.select(editor, textSelection);
|
|
56
62
|
}
|
|
@@ -63,11 +69,21 @@ const setTextColor = (board, color, textSelection) => {
|
|
|
63
69
|
});
|
|
64
70
|
}
|
|
65
71
|
};
|
|
66
|
-
const setTextAlign = (board, align) => {
|
|
67
|
-
const
|
|
68
|
-
if (
|
|
69
|
-
|
|
72
|
+
const setTextAlign = (board, align, editors) => {
|
|
73
|
+
const textEditors = getHandleTextEditors(board, editors);
|
|
74
|
+
if (textEditors && textEditors.length) {
|
|
75
|
+
textEditors.forEach(editor => AlignEditor.setAlign(editor, align));
|
|
76
|
+
}
|
|
77
|
+
};
|
|
78
|
+
const getHandleTextEditors = (board, editors) => {
|
|
79
|
+
let textEditors;
|
|
80
|
+
if (editors?.length) {
|
|
81
|
+
textEditors = editors;
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
textEditors = getTextEditors(board);
|
|
70
85
|
}
|
|
86
|
+
return textEditors;
|
|
71
87
|
};
|
|
72
88
|
export const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC10cmFuc2Zvcm1zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvdGV4dC1wbHVnaW5zL3NyYy90ZXh0LXRyYW5zZm9ybXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0QixtQkFBbUIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RSxPQUFPLEVBQXlCLE1BQU0sRUFBRSxVQUFVLElBQUksZUFBZSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ3JGLE9BQU8sRUFBYSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFhLG1CQUFtQixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE1BQU0sWUFBWSxHQUFHLENBQUMsS0FBaUIsRUFBRSxJQUFlLEVBQUUsT0FBc0IsRUFBRSxFQUFFO0lBQ2hGLElBQUksV0FBcUMsQ0FBQztJQUMxQyxJQUFJLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNsQixXQUFXLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7U0FBTSxDQUFDO1FBQ0osTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNwRCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzFCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztnQkFDZixPQUFPO1lBQ1gsQ0FBQztZQUNELE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDMUQsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLE9B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LENBQUMsS0FBaUIsRUFBRSxLQUFnQixFQUFFLE9BQXNCLEVBQUUsRUFBRTtJQUNqRixNQUFNLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDekQsSUFBSSxXQUFXLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BDLFdBQVcsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBaUIsRUFBRSxPQUFzQixFQUFFLEVBQUU7SUFDdkUsSUFBSSxXQUFxQyxDQUFDO0lBQzFDLElBQUksT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2xCLFdBQVcsR0FBRyxPQUFPLENBQUM7SUFDMUIsQ0FBQztTQUFNLENBQUM7UUFDSixXQUFXLEdBQUcsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUN2QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEJhc2VFZGl0b3IsIEJhc2VSYW5nZSwgRWRpdG9yLCBUcmFuc2Zvcm1zIGFzIFNsYXRlVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEZvbnRTaXplcywgTWFya1R5cGVzIH0gZnJvbSAnLi9tYXJrL3R5cGVzJztcbmltcG9ydCB7IEFsaWdubWVudCwgZmluZEZpcnN0VGV4dEVkaXRvciwgZ2V0VGV4dEVkaXRvcnMsIGdldFRleHRFZGl0b3JzQnlFbGVtZW50IH0gZnJvbSAnQHBsYWl0L2NvbW1vbic7XG5pbXBvcnQgeyBQbGFpdE1hcmtFZGl0b3IgfSBmcm9tICcuL21hcmsvbWFyay5lZGl0b3InO1xuaW1wb3J0IHsgQWxpZ25FZGl0b3IgfSBmcm9tICcuL2FsaWduL2FsaWduLWVkaXRvcic7XG5cbmNvbnN0IHNldFRleHRNYXJrcyA9IChib2FyZDogUGxhaXRCb2FyZCwgbWFyazogTWFya1R5cGVzLCBlZGl0b3JzPzogQmFzZUVkaXRvcltdKSA9PiB7XG4gICAgbGV0IHRleHRFZGl0b3JzOiBCYXNlRWRpdG9yW10gfCB1bmRlZmluZWQ7XG4gICAgaWYgKGVkaXRvcnM/Lmxlbmd0aCkge1xuICAgICAgICB0ZXh0RWRpdG9ycyA9IGVkaXRvcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgICAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpcnN0RWRpdG9yID0gZmluZEZpcnN0VGV4dEVkaXRvcihib2FyZCk7XG4gICAgICAgICAgICBpZiAoIWZpcnN0RWRpdG9yKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYWN0aXZlTWFya3MgPSBQbGFpdE1hcmtFZGl0b3IuZ2V0TWFya3MoZmlyc3RFZGl0b3IpO1xuICAgICAgICAgICAgY29uc3QgZWxlbWVudHMgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbHRlcihlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50RWRpdG9ycyA9IGdldFRleHRFZGl0b3JzQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50RWRpdG9ycy5zb21lKGVkaXRvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRNYXJrcyA9IFBsYWl0TWFya0VkaXRvci5nZXRNYXJrcyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudE1hcmtzW21hcmtdID09PSBhY3RpdmVNYXJrc1ttYXJrXTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdGV4dEVkaXRvcnMgPSBnZXRUZXh0RWRpdG9ycyhib2FyZCwgZWxlbWVudHMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh0ZXh0RWRpdG9ycyAmJiB0ZXh0RWRpdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgdGV4dEVkaXRvcnMuZm9yRWFjaChlZGl0b3IgPT4ge1xuICAgICAgICAgICAgUGxhaXRNYXJrRWRpdG9yLnRvZ2dsZU1hcmsoZWRpdG9yLCBtYXJrKTtcbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuY29uc3Qgc2V0Rm9udFNpemUgPSAoXG4gICAgYm9hcmQ6IFBsYWl0Qm9hcmQsXG4gICAgc2l6ZTogRm9udFNpemVzLFxuICAgIGRlZmF1bHRGb250U2l6ZTogbnVtYmVyIHwgKChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IG51bWJlciB8IHVuZGVmaW5lZCksXG4gICAgZWRpdG9ycz86IEJhc2VFZGl0b3JbXVxuKSA9PiB7XG4gICAgY29uc3QgdGV4dEVkaXRvcnMgPSBnZXRIYW5kbGVUZXh0RWRpdG9ycyhib2FyZCwgZWRpdG9ycyk7XG4gICAgaWYgKHRleHRFZGl0b3JzICYmIHRleHRFZGl0b3JzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgICAgIHRleHRFZGl0b3JzLmZvckVhY2goZWRpdG9yID0+IHtcbiAgICAgICAgICAgIGxldCBmaW5hbERlZmF1bHRGb250U2l6ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZGVmYXVsdEZvbnRTaXplID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWxlbWVudCA9IHNlbGVjdGVkRWxlbWVudHMuZmluZChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGV4dEVkaXRvcnMgPSBnZXRUZXh0RWRpdG9yc0J5RWxlbWVudChlbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRleHRFZGl0b3JzLmluY2x1ZGVzKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgZmluYWxEZWZhdWx0Rm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemUoZWxlbWVudCEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBmaW5hbERlZmF1bHRGb250U2l6ZSA9IGRlZmF1bHRGb250U2l6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgUGxhaXRNYXJrRWRpdG9yLnNldEZvbnRTaXplTWFyayhlZGl0b3IsIHNpemUsIGZpbmFsRGVmYXVsdEZvbnRTaXplKTtcbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuY29uc3Qgc2V0VGV4dENvbG9yID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBjb2xvcjogc3RyaW5nLCB0ZXh0U2VsZWN0aW9uPzogQmFzZVJhbmdlLCBlZGl0b3JzPzogQmFzZUVkaXRvcltdKSA9PiB7XG4gICAgY29uc3QgdGV4dEVkaXRvcnMgPSBnZXRIYW5kbGVUZXh0RWRpdG9ycyhib2FyZCwgZWRpdG9ycyk7XG4gICAgaWYgKHRleHRFZGl0b3JzICYmIHRleHRFZGl0b3JzLmxlbmd0aCkge1xuICAgICAgICB0ZXh0RWRpdG9ycy5mb3JFYWNoKGVkaXRvciA9PiB7XG4gICAgICAgICAgICBpZiAodGV4dFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIFNsYXRlVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCB0ZXh0U2VsZWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50Jykge1xuICAgICAgICAgICAgICAgIEVkaXRvci5yZW1vdmVNYXJrKGVkaXRvciwgTWFya1R5cGVzLmNvbG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgUGxhaXRNYXJrRWRpdG9yLnNldENvbG9yTWFyayhlZGl0b3IsIGNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuY29uc3Qgc2V0VGV4dEFsaWduID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBhbGlnbjogQWxpZ25tZW50LCBlZGl0b3JzPzogQmFzZUVkaXRvcltdKSA9PiB7XG4gICAgY29uc3QgdGV4dEVkaXRvcnMgPSBnZXRIYW5kbGVUZXh0RWRpdG9ycyhib2FyZCwgZWRpdG9ycyk7XG4gICAgaWYgKHRleHRFZGl0b3JzICYmIHRleHRFZGl0b3JzLmxlbmd0aCkge1xuICAgICAgICB0ZXh0RWRpdG9ycy5mb3JFYWNoKGVkaXRvciA9PiBBbGlnbkVkaXRvci5zZXRBbGlnbihlZGl0b3IsIGFsaWduKSk7XG4gICAgfVxufTtcblxuY29uc3QgZ2V0SGFuZGxlVGV4dEVkaXRvcnMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVkaXRvcnM/OiBCYXNlRWRpdG9yW10pID0+IHtcbiAgICBsZXQgdGV4dEVkaXRvcnM6IEJhc2VFZGl0b3JbXSB8IHVuZGVmaW5lZDtcbiAgICBpZiAoZWRpdG9ycz8ubGVuZ3RoKSB7XG4gICAgICAgIHRleHRFZGl0b3JzID0gZWRpdG9ycztcbiAgICB9IGVsc2Uge1xuICAgICAgICB0ZXh0RWRpdG9ycyA9IGdldFRleHRFZGl0b3JzKGJvYXJkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRleHRFZGl0b3JzO1xufTtcblxuZXhwb3J0IGNvbnN0IFRleHRUcmFuc2Zvcm1zID0geyBzZXRUZXh0QWxpZ24sIHNldFRleHRDb2xvciwgc2V0Rm9udFNpemUsIHNldFRleHRNYXJrcyB9O1xuIl19
|
|
@@ -334,34 +334,40 @@ const getTextMarksByElement = (element) => {
|
|
|
334
334
|
return currentMarks;
|
|
335
335
|
};
|
|
336
336
|
|
|
337
|
-
const setTextMarks = (board, mark) => {
|
|
338
|
-
|
|
339
|
-
if (
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
337
|
+
const setTextMarks = (board, mark, editors) => {
|
|
338
|
+
let textEditors;
|
|
339
|
+
if (editors?.length) {
|
|
340
|
+
textEditors = editors;
|
|
341
|
+
}
|
|
342
|
+
else {
|
|
343
|
+
const selectedElements = getSelectedElements(board);
|
|
344
|
+
if (selectedElements.length) {
|
|
345
|
+
const firstEditor = findFirstTextEditor(board);
|
|
346
|
+
if (!firstEditor) {
|
|
347
|
+
return;
|
|
348
|
+
}
|
|
349
|
+
const activeMarks = PlaitMarkEditor.getMarks(firstEditor);
|
|
350
|
+
const elements = selectedElements.filter(element => {
|
|
351
|
+
const elementEditors = getTextEditorsByElement(element);
|
|
352
|
+
return elementEditors.some(editor => {
|
|
353
|
+
const elementMarks = PlaitMarkEditor.getMarks(editor);
|
|
354
|
+
return elementMarks[mark] === activeMarks[mark];
|
|
355
|
+
});
|
|
356
356
|
});
|
|
357
|
+
textEditors = getTextEditors(board, elements);
|
|
357
358
|
}
|
|
358
359
|
}
|
|
360
|
+
if (textEditors && textEditors.length) {
|
|
361
|
+
textEditors.forEach(editor => {
|
|
362
|
+
PlaitMarkEditor.toggleMark(editor, mark);
|
|
363
|
+
});
|
|
364
|
+
}
|
|
359
365
|
};
|
|
360
|
-
const setFontSize = (board, size, defaultFontSize) => {
|
|
361
|
-
const
|
|
362
|
-
if (
|
|
366
|
+
const setFontSize = (board, size, defaultFontSize, editors) => {
|
|
367
|
+
const textEditors = getHandleTextEditors(board, editors);
|
|
368
|
+
if (textEditors && textEditors.length) {
|
|
363
369
|
const selectedElements = getSelectedElements(board);
|
|
364
|
-
|
|
370
|
+
textEditors.forEach(editor => {
|
|
365
371
|
let finalDefaultFontSize;
|
|
366
372
|
if (typeof defaultFontSize === 'function') {
|
|
367
373
|
const element = selectedElements.find(element => {
|
|
@@ -377,10 +383,10 @@ const setFontSize = (board, size, defaultFontSize) => {
|
|
|
377
383
|
});
|
|
378
384
|
}
|
|
379
385
|
};
|
|
380
|
-
const setTextColor = (board, color, textSelection) => {
|
|
381
|
-
const
|
|
382
|
-
if (
|
|
383
|
-
|
|
386
|
+
const setTextColor = (board, color, textSelection, editors) => {
|
|
387
|
+
const textEditors = getHandleTextEditors(board, editors);
|
|
388
|
+
if (textEditors && textEditors.length) {
|
|
389
|
+
textEditors.forEach(editor => {
|
|
384
390
|
if (textSelection) {
|
|
385
391
|
Transforms.select(editor, textSelection);
|
|
386
392
|
}
|
|
@@ -393,11 +399,21 @@ const setTextColor = (board, color, textSelection) => {
|
|
|
393
399
|
});
|
|
394
400
|
}
|
|
395
401
|
};
|
|
396
|
-
const setTextAlign = (board, align) => {
|
|
397
|
-
const
|
|
398
|
-
if (
|
|
399
|
-
|
|
402
|
+
const setTextAlign = (board, align, editors) => {
|
|
403
|
+
const textEditors = getHandleTextEditors(board, editors);
|
|
404
|
+
if (textEditors && textEditors.length) {
|
|
405
|
+
textEditors.forEach(editor => AlignEditor.setAlign(editor, align));
|
|
406
|
+
}
|
|
407
|
+
};
|
|
408
|
+
const getHandleTextEditors = (board, editors) => {
|
|
409
|
+
let textEditors;
|
|
410
|
+
if (editors?.length) {
|
|
411
|
+
textEditors = editors;
|
|
412
|
+
}
|
|
413
|
+
else {
|
|
414
|
+
textEditors = getTextEditors(board);
|
|
400
415
|
}
|
|
416
|
+
return textEditors;
|
|
401
417
|
};
|
|
402
418
|
const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };
|
|
403
419
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plait-text-plugins.mjs","sources":["../../../packages/text-plugins/src/align/align-editor.ts","../../../packages/text-plugins/src/mark/types.ts","../../../packages/text-plugins/src/mark/constant.ts","../../../packages/text-plugins/src/mark/mark.editor.ts","../../../packages/text-plugins/src/mark/with-marks.ts","../../../packages/text-plugins/src/link/link-editor.ts","../../../packages/text-plugins/src/link/with-link.ts","../../../packages/text-plugins/src/constant/index.ts","../../../packages/text-plugins/src/utils/clipboard.ts","../../../packages/text-plugins/src/utils/common.ts","../../../packages/text-plugins/src/utils/marks.ts","../../../packages/text-plugins/src/text-transforms.ts","../../../packages/text-plugins/src/public-api.ts","../../../packages/text-plugins/src/plait-text-plugins.ts"],"sourcesContent":["import { Alignment, ParagraphElement } from '@plait/common';\nimport { Editor, Transforms, Node } from 'slate';\n\nexport const AlignEditor = {\n isActive(editor: Editor, alignment: Alignment) {\n const blockElement = Node.get(editor, defaultPath) as ParagraphElement;\n if (blockElement) {\n const { align } = blockElement;\n return align === alignment;\n }\n return false;\n },\n setAlign(editor: Editor, alignment: Alignment) {\n const props: Partial<ParagraphElement> = {\n align: alignment\n };\n Transforms.setNodes(editor, props, {\n at: defaultPath\n });\n }\n};\n\nconst defaultPath = [0];\n","export enum MarkTypes {\n bold = 'bold',\n italic = 'italic',\n underline = 'underlined',\n strike = 'strike',\n color = 'color',\n fontSize = 'font-size'\n}\n\nexport const MarkProps: MarkTypes[] = [\n MarkTypes.bold,\n MarkTypes.color,\n MarkTypes.italic,\n MarkTypes.strike,\n MarkTypes.underline,\n MarkTypes.fontSize\n];\n\nexport enum FontSizes {\n 'fontSize12' = '12',\n 'fontSize13' = '13',\n 'fontSize14' = '14',\n 'fontSize15' = '15',\n 'fontSize16' = '16',\n 'fontSize18' = '18',\n 'fontSize20' = '20',\n 'fontSize24' = '24',\n 'fontSize28' = '28',\n 'fontSize32' = '32',\n 'fontSize40' = '40',\n 'fontSize48' = '48'\n}\n\nexport const HOTKEYS = {\n 'mod+b': MarkTypes.bold,\n 'mod+i': MarkTypes.italic,\n 'mod+u': MarkTypes.underline,\n 'mod+shift+x': MarkTypes.strike\n};\n","export const DEFAULT_FONT_SIZE = 14;\n\nexport const DEFAULT_TEXT_COLOR = '#333333';\n","import { Editor, Text, Node, Element, Transforms, NodeEntry, Location } from 'slate';\nimport { FontSizes, MarkProps, MarkTypes } from './types';\nimport { DEFAULT_FONT_SIZE, DEFAULT_TEXT_COLOR } from './constant';\n\nexport interface MarkEditor extends Editor {\n removeMark: (key: string, shouldChange?: boolean) => void;\n}\n\nexport const PlaitMarkEditor = {\n getMarks(editor: Editor) {\n const marks: any = {};\n let at: Location = [];\n if (editor.selection) {\n at = editor.selection;\n } else if (editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const matchResult = Editor.nodes(editor, { match: Text.isText, at });\n for (const match of matchResult) {\n const [node] = match as NodeEntry<Text>;\n const { text, ...rest } = node;\n Object.assign(marks, rest);\n }\n for (const key in marks) {\n if (!MarkProps.includes(key as MarkTypes)) {\n delete marks[key];\n }\n }\n return marks;\n },\n getMarksByElement(element: Element) {\n const marks: any = {};\n const texts = Node.texts(element);\n for (const match of texts) {\n const [node] = match as NodeEntry<Text>;\n const { text, ...rest } = node;\n Object.assign(marks, rest);\n }\n for (const key in marks) {\n if (!MarkProps.includes(key as MarkTypes)) {\n delete marks[key];\n }\n }\n return marks;\n },\n isMarkActive(editor: Editor, format: MarkTypes) {\n if (!editor?.selection) {\n return;\n }\n const node = Node.get(editor, editor?.selection?.anchor?.path);\n if (!Text.isText(node)) {\n return false;\n }\n const marks = PlaitMarkEditor.getMarks(editor);\n return marks && marks[format] ? true : false;\n },\n toggleMark(editor: Editor, format: MarkTypes) {\n setSelection(editor);\n const isActive = PlaitMarkEditor.isMarkActive(editor, format);\n if (isActive) {\n Editor.removeMark(editor, format);\n } else {\n Editor.addMark(editor, format, true);\n }\n },\n setFontSizeMark(editor: Editor, size: FontSizes, defaultSize: number = DEFAULT_FONT_SIZE) {\n setSelection(editor);\n // set paragraph text fontSize\n if (Number(size) === defaultSize) {\n Editor.removeMark(editor, MarkTypes.fontSize);\n } else {\n // set paragraph text fontSize\n Editor.addMark(editor, MarkTypes.fontSize, Number(size));\n }\n },\n setColorMark(editor: Editor, color: string, defaultTextColor: string = DEFAULT_TEXT_COLOR) {\n setSelection(editor);\n\n if (color === defaultTextColor) {\n Editor.removeMark(editor, 'color');\n } else {\n Editor.addMark(editor, 'color', color);\n }\n }\n};\n\nexport function setSelection(editor: Editor) {\n if (!editor.selection) {\n Transforms.select(editor, [0]);\n }\n}\n","import { isKeyHotkey } from 'is-hotkey';\nimport { MarkEditor, PlaitMarkEditor } from './mark.editor';\nimport { Editor, Range, Text, Transforms } from 'slate';\nimport { HOTKEYS } from './types';\n\nexport const withMark = <T extends Editor & MarkEditor>(editor: T): T => {\n const e = editor;\n\n e.removeMark = (key: string, shouldChange = true) => {\n const { selection } = e;\n if (selection) {\n if (Range.isExpanded(selection)) {\n Transforms.unsetNodes(e, key, {\n match: Text.isText,\n split: true\n });\n } else {\n const marks = { ...(Editor.marks(e) || {}) };\n delete (marks as any)[key];\n editor.marks = marks;\n const text = Editor.string(e, selection.anchor.path);\n if (text !== '') {\n Editor.setNormalizing(editor, false);\n e.insertText('');\n editor.marks = marks;\n Editor.setNormalizing(editor, true);\n } else {\n Transforms.unsetNodes(e, key, { at: selection.anchor.path });\n }\n if (shouldChange) {\n editor.onChange();\n }\n }\n }\n };\n\n e.addMark = (key: string, value: any) => {\n const { selection } = editor;\n\n if (selection) {\n if (Range.isExpanded(selection)) {\n Transforms.setNodes(e, { [key]: value }, { match: Text.isText, split: true });\n } else {\n const marks = {\n ...(Editor.marks(e) || {}),\n [key]: value\n };\n editor.marks = marks;\n const text = Editor.string(e, selection.anchor.path);\n if (text !== '') {\n Editor.setNormalizing(editor, false);\n e.insertText('');\n editor.marks = marks;\n Editor.setNormalizing(editor, true);\n } else {\n Transforms.setNodes(e, { [key]: value }, { at: selection.anchor.path });\n }\n }\n }\n };\n\n return e;\n};\n\nexport const markShortcuts = (editor: Editor, event: KeyboardEvent) => {\n for (const hotkey in HOTKEYS) {\n if (isKeyHotkey(hotkey, event)) {\n event.preventDefault();\n const mark = (HOTKEYS as any)[hotkey];\n PlaitMarkEditor.toggleMark(editor, mark);\n }\n }\n};\n","import { CustomElement, LinkElement } from '@plait/common';\nimport { Editor, Transforms, Range, Element, BaseRange, Location, Node } from 'slate';\n\nexport const LinkEditor = {\n wrapLink(editor: Editor, text: string, url: string) {\n if (LinkEditor.isLinkActive(editor)) {\n LinkEditor.unwrapLink(editor);\n }\n const { selection } = editor;\n const isCollapsed = selection && Range.isCollapsed(selection);\n const link: LinkElement = {\n type: 'link',\n url,\n children: [{ text }]\n };\n if (isCollapsed || Node.string(editor) === '') {\n Transforms.insertNodes(editor, link);\n } else if (!selection) {\n const at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n Transforms.wrapNodes(editor, link, { split: true, at });\n } else {\n Transforms.wrapNodes(editor, link, { split: true });\n Transforms.collapse(editor, { edge: 'end' });\n }\n },\n unwrapLink(editor: Editor, at?: Location) {\n if (!at) {\n at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n }\n Transforms.unwrapNodes<CustomElement>(editor, { at, match: n => Element.isElement(n) && (n as LinkElement).type === 'link' });\n },\n isLinkActive(editor: Editor) {\n let at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const [link] = Editor.nodes<CustomElement>(editor, { match: n => Element.isElement(n) && (n as LinkElement).type === 'link', at });\n return !!link;\n },\n getLinkElement(editor: Editor) {\n let at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const [link] = Editor.nodes<CustomElement>(editor, { match: n => Element.isElement(n) && (n as LinkElement).type === 'link', at });\n return link;\n }\n};\n","import { LinkElement } from '@plait/common';\nimport { Element, NodeEntry, Transforms, Node, Editor } from 'slate';\n\nexport const withLink = <T extends Editor>(editor: T): T => {\n const { isInline, normalizeNode, insertFragment } = editor;\n\n editor.isInline = (element: Element) => {\n return (element as LinkElement).type === 'link' ? true : isInline(element);\n };\n\n editor.normalizeNode = (nodeEntry: NodeEntry) => {\n const node = nodeEntry[0] as LinkElement;\n const path = nodeEntry[1];\n if (node.type && node.type === 'link' && Node.string(node) === '') {\n Transforms.removeNodes(editor, { at: path });\n return;\n }\n\n normalizeNode(nodeEntry);\n };\n\n return editor;\n};\n","export const TEXT_DEFAULT_HEIGHT = 20;\n\nexport const CLIPBOARD_FORMAT_KEY = 'x-plait-text-fragment';\n","import { Element, Node } from 'slate';\nimport { CLIPBOARD_FORMAT_KEY } from '../constant';\n\nexport const getTextFromClipboard = (data: DataTransfer | null) => {\n let plaitTextData = data?.getData(`application/${CLIPBOARD_FORMAT_KEY}`);\n const text = (data ? data.getData(`text/plain`) : '') as string;\n if (plaitTextData) {\n const decoded = decodeURIComponent(window.atob(plaitTextData));\n const res = JSON.parse(decoded) as Element[];\n if (res.length === 1 && Node.string(res[0])) {\n return res[0];\n }\n }\n return text.trim() || '';\n};\n","export const isUrl = (string: string) => {\n const protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\n const localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/;\n const nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n};\n","import { CustomText, getTextEditorsByElement, getTextManages } from '@plait/common';\nimport { PlaitElement } from '@plait/core';\nimport { PlaitMarkEditor } from '../mark/mark.editor';\n\nexport const getTextMarksByElement = (element: PlaitElement) => {\n const editors = getTextEditorsByElement(element);\n const editor = editors[0];\n if (!editor || editor.children.length === 0) {\n return {};\n }\n const currentMarks: Omit<CustomText, 'text'> = PlaitMarkEditor.getMarks(editor);\n return currentMarks;\n};\n","import { PlaitBoard, PlaitElement, getSelectedElements } from '@plait/core';\nimport { BaseRange, Editor, Transforms as SlateTransforms } from 'slate';\nimport { FontSizes, MarkTypes } from './mark/types';\nimport { Alignment, findFirstTextEditor, getTextEditors, getTextEditorsByElement } from '@plait/common';\nimport { PlaitMarkEditor } from './mark/mark.editor';\nimport { AlignEditor } from './align/align-editor';\n\nconst setTextMarks = (board: PlaitBoard, mark: MarkTypes) => {\n const selectedElements = getSelectedElements(board);\n if (selectedElements.length) {\n const firstEditor = findFirstTextEditor(board);\n if (!firstEditor) {\n return;\n }\n const activeMarks = PlaitMarkEditor.getMarks(firstEditor);\n const elements = selectedElements.filter(element => {\n const editors = getTextEditorsByElement(element);\n return editors.some(editor => {\n const elementMarks = PlaitMarkEditor.getMarks(editor);\n return elementMarks[mark] === activeMarks[mark];\n });\n });\n const editors = getTextEditors(board, elements);\n if (editors && editors.length) {\n editors.forEach(editor => {\n PlaitMarkEditor.toggleMark(editor, mark);\n });\n }\n }\n};\n\nconst setFontSize = (board: PlaitBoard, size: FontSizes, defaultFontSize: number | ((element: PlaitElement) => number | undefined)) => {\n const editors = getTextEditors(board);\n if (editors && editors.length) {\n const selectedElements = getSelectedElements(board);\n editors.forEach(editor => {\n let finalDefaultFontSize;\n if (typeof defaultFontSize === 'function') {\n const element = selectedElements.find(element => {\n const textEditors = getTextEditorsByElement(element);\n return textEditors.includes(editor);\n });\n finalDefaultFontSize = defaultFontSize(element!);\n } else {\n finalDefaultFontSize = defaultFontSize;\n }\n\n PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize);\n });\n }\n};\n\nconst setTextColor = (board: PlaitBoard, color: string, textSelection?: BaseRange) => {\n const editors = getTextEditors(board);\n if (editors && editors.length) {\n editors.forEach(editor => {\n if (textSelection) {\n SlateTransforms.select(editor, textSelection);\n }\n if (color === 'transparent') {\n Editor.removeMark(editor, MarkTypes.color);\n } else {\n PlaitMarkEditor.setColorMark(editor, color);\n }\n });\n }\n};\n\nconst setTextAlign = (board: PlaitBoard, align: Alignment) => {\n const editors = getTextEditors(board);\n if (editors && editors.length) {\n editors.forEach(editor => AlignEditor.setAlign(editor, align));\n }\n};\n\nexport const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };\n","/*\n * Public API Surface of utils\n */\n\nexport * from './align';\nexport * from './mark';\nexport * from './link';\nexport * from './utils';\nexport * from './constant';\nexport * from './text-transforms';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SlateTransforms"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plait-text-plugins.mjs","sources":["../../../packages/text-plugins/src/align/align-editor.ts","../../../packages/text-plugins/src/mark/types.ts","../../../packages/text-plugins/src/mark/constant.ts","../../../packages/text-plugins/src/mark/mark.editor.ts","../../../packages/text-plugins/src/mark/with-marks.ts","../../../packages/text-plugins/src/link/link-editor.ts","../../../packages/text-plugins/src/link/with-link.ts","../../../packages/text-plugins/src/constant/index.ts","../../../packages/text-plugins/src/utils/clipboard.ts","../../../packages/text-plugins/src/utils/common.ts","../../../packages/text-plugins/src/utils/marks.ts","../../../packages/text-plugins/src/text-transforms.ts","../../../packages/text-plugins/src/public-api.ts","../../../packages/text-plugins/src/plait-text-plugins.ts"],"sourcesContent":["import { Alignment, ParagraphElement } from '@plait/common';\nimport { Editor, Transforms, Node } from 'slate';\n\nexport const AlignEditor = {\n isActive(editor: Editor, alignment: Alignment) {\n const blockElement = Node.get(editor, defaultPath) as ParagraphElement;\n if (blockElement) {\n const { align } = blockElement;\n return align === alignment;\n }\n return false;\n },\n setAlign(editor: Editor, alignment: Alignment) {\n const props: Partial<ParagraphElement> = {\n align: alignment\n };\n Transforms.setNodes(editor, props, {\n at: defaultPath\n });\n }\n};\n\nconst defaultPath = [0];\n","export enum MarkTypes {\n bold = 'bold',\n italic = 'italic',\n underline = 'underlined',\n strike = 'strike',\n color = 'color',\n fontSize = 'font-size'\n}\n\nexport const MarkProps: MarkTypes[] = [\n MarkTypes.bold,\n MarkTypes.color,\n MarkTypes.italic,\n MarkTypes.strike,\n MarkTypes.underline,\n MarkTypes.fontSize\n];\n\nexport enum FontSizes {\n 'fontSize12' = '12',\n 'fontSize13' = '13',\n 'fontSize14' = '14',\n 'fontSize15' = '15',\n 'fontSize16' = '16',\n 'fontSize18' = '18',\n 'fontSize20' = '20',\n 'fontSize24' = '24',\n 'fontSize28' = '28',\n 'fontSize32' = '32',\n 'fontSize40' = '40',\n 'fontSize48' = '48'\n}\n\nexport const HOTKEYS = {\n 'mod+b': MarkTypes.bold,\n 'mod+i': MarkTypes.italic,\n 'mod+u': MarkTypes.underline,\n 'mod+shift+x': MarkTypes.strike\n};\n","export const DEFAULT_FONT_SIZE = 14;\n\nexport const DEFAULT_TEXT_COLOR = '#333333';\n","import { Editor, Text, Node, Element, Transforms, NodeEntry, Location } from 'slate';\nimport { FontSizes, MarkProps, MarkTypes } from './types';\nimport { DEFAULT_FONT_SIZE, DEFAULT_TEXT_COLOR } from './constant';\n\nexport interface MarkEditor extends Editor {\n removeMark: (key: string, shouldChange?: boolean) => void;\n}\n\nexport const PlaitMarkEditor = {\n getMarks(editor: Editor) {\n const marks: any = {};\n let at: Location = [];\n if (editor.selection) {\n at = editor.selection;\n } else if (editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const matchResult = Editor.nodes(editor, { match: Text.isText, at });\n for (const match of matchResult) {\n const [node] = match as NodeEntry<Text>;\n const { text, ...rest } = node;\n Object.assign(marks, rest);\n }\n for (const key in marks) {\n if (!MarkProps.includes(key as MarkTypes)) {\n delete marks[key];\n }\n }\n return marks;\n },\n getMarksByElement(element: Element) {\n const marks: any = {};\n const texts = Node.texts(element);\n for (const match of texts) {\n const [node] = match as NodeEntry<Text>;\n const { text, ...rest } = node;\n Object.assign(marks, rest);\n }\n for (const key in marks) {\n if (!MarkProps.includes(key as MarkTypes)) {\n delete marks[key];\n }\n }\n return marks;\n },\n isMarkActive(editor: Editor, format: MarkTypes) {\n if (!editor?.selection) {\n return;\n }\n const node = Node.get(editor, editor?.selection?.anchor?.path);\n if (!Text.isText(node)) {\n return false;\n }\n const marks = PlaitMarkEditor.getMarks(editor);\n return marks && marks[format] ? true : false;\n },\n toggleMark(editor: Editor, format: MarkTypes) {\n setSelection(editor);\n const isActive = PlaitMarkEditor.isMarkActive(editor, format);\n if (isActive) {\n Editor.removeMark(editor, format);\n } else {\n Editor.addMark(editor, format, true);\n }\n },\n setFontSizeMark(editor: Editor, size: FontSizes, defaultSize: number = DEFAULT_FONT_SIZE) {\n setSelection(editor);\n // set paragraph text fontSize\n if (Number(size) === defaultSize) {\n Editor.removeMark(editor, MarkTypes.fontSize);\n } else {\n // set paragraph text fontSize\n Editor.addMark(editor, MarkTypes.fontSize, Number(size));\n }\n },\n setColorMark(editor: Editor, color: string, defaultTextColor: string = DEFAULT_TEXT_COLOR) {\n setSelection(editor);\n\n if (color === defaultTextColor) {\n Editor.removeMark(editor, 'color');\n } else {\n Editor.addMark(editor, 'color', color);\n }\n }\n};\n\nexport function setSelection(editor: Editor) {\n if (!editor.selection) {\n Transforms.select(editor, [0]);\n }\n}\n","import { isKeyHotkey } from 'is-hotkey';\nimport { MarkEditor, PlaitMarkEditor } from './mark.editor';\nimport { Editor, Range, Text, Transforms } from 'slate';\nimport { HOTKEYS } from './types';\n\nexport const withMark = <T extends Editor & MarkEditor>(editor: T): T => {\n const e = editor;\n\n e.removeMark = (key: string, shouldChange = true) => {\n const { selection } = e;\n if (selection) {\n if (Range.isExpanded(selection)) {\n Transforms.unsetNodes(e, key, {\n match: Text.isText,\n split: true\n });\n } else {\n const marks = { ...(Editor.marks(e) || {}) };\n delete (marks as any)[key];\n editor.marks = marks;\n const text = Editor.string(e, selection.anchor.path);\n if (text !== '') {\n Editor.setNormalizing(editor, false);\n e.insertText('');\n editor.marks = marks;\n Editor.setNormalizing(editor, true);\n } else {\n Transforms.unsetNodes(e, key, { at: selection.anchor.path });\n }\n if (shouldChange) {\n editor.onChange();\n }\n }\n }\n };\n\n e.addMark = (key: string, value: any) => {\n const { selection } = editor;\n\n if (selection) {\n if (Range.isExpanded(selection)) {\n Transforms.setNodes(e, { [key]: value }, { match: Text.isText, split: true });\n } else {\n const marks = {\n ...(Editor.marks(e) || {}),\n [key]: value\n };\n editor.marks = marks;\n const text = Editor.string(e, selection.anchor.path);\n if (text !== '') {\n Editor.setNormalizing(editor, false);\n e.insertText('');\n editor.marks = marks;\n Editor.setNormalizing(editor, true);\n } else {\n Transforms.setNodes(e, { [key]: value }, { at: selection.anchor.path });\n }\n }\n }\n };\n\n return e;\n};\n\nexport const markShortcuts = (editor: Editor, event: KeyboardEvent) => {\n for (const hotkey in HOTKEYS) {\n if (isKeyHotkey(hotkey, event)) {\n event.preventDefault();\n const mark = (HOTKEYS as any)[hotkey];\n PlaitMarkEditor.toggleMark(editor, mark);\n }\n }\n};\n","import { CustomElement, LinkElement } from '@plait/common';\nimport { Editor, Transforms, Range, Element, BaseRange, Location, Node } from 'slate';\n\nexport const LinkEditor = {\n wrapLink(editor: Editor, text: string, url: string) {\n if (LinkEditor.isLinkActive(editor)) {\n LinkEditor.unwrapLink(editor);\n }\n const { selection } = editor;\n const isCollapsed = selection && Range.isCollapsed(selection);\n const link: LinkElement = {\n type: 'link',\n url,\n children: [{ text }]\n };\n if (isCollapsed || Node.string(editor) === '') {\n Transforms.insertNodes(editor, link);\n } else if (!selection) {\n const at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n Transforms.wrapNodes(editor, link, { split: true, at });\n } else {\n Transforms.wrapNodes(editor, link, { split: true });\n Transforms.collapse(editor, { edge: 'end' });\n }\n },\n unwrapLink(editor: Editor, at?: Location) {\n if (!at) {\n at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n }\n Transforms.unwrapNodes<CustomElement>(editor, { at, match: n => Element.isElement(n) && (n as LinkElement).type === 'link' });\n },\n isLinkActive(editor: Editor) {\n let at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const [link] = Editor.nodes<CustomElement>(editor, { match: n => Element.isElement(n) && (n as LinkElement).type === 'link', at });\n return !!link;\n },\n getLinkElement(editor: Editor) {\n let at = editor.selection as BaseRange;\n if (!at && editor.children && editor.children.length > 0) {\n at = { anchor: Editor.start(editor, [0]), focus: Editor.end(editor, [0]) };\n }\n const [link] = Editor.nodes<CustomElement>(editor, { match: n => Element.isElement(n) && (n as LinkElement).type === 'link', at });\n return link;\n }\n};\n","import { LinkElement } from '@plait/common';\nimport { Element, NodeEntry, Transforms, Node, Editor } from 'slate';\n\nexport const withLink = <T extends Editor>(editor: T): T => {\n const { isInline, normalizeNode, insertFragment } = editor;\n\n editor.isInline = (element: Element) => {\n return (element as LinkElement).type === 'link' ? true : isInline(element);\n };\n\n editor.normalizeNode = (nodeEntry: NodeEntry) => {\n const node = nodeEntry[0] as LinkElement;\n const path = nodeEntry[1];\n if (node.type && node.type === 'link' && Node.string(node) === '') {\n Transforms.removeNodes(editor, { at: path });\n return;\n }\n\n normalizeNode(nodeEntry);\n };\n\n return editor;\n};\n","export const TEXT_DEFAULT_HEIGHT = 20;\n\nexport const CLIPBOARD_FORMAT_KEY = 'x-plait-text-fragment';\n","import { Element, Node } from 'slate';\nimport { CLIPBOARD_FORMAT_KEY } from '../constant';\n\nexport const getTextFromClipboard = (data: DataTransfer | null) => {\n let plaitTextData = data?.getData(`application/${CLIPBOARD_FORMAT_KEY}`);\n const text = (data ? data.getData(`text/plain`) : '') as string;\n if (plaitTextData) {\n const decoded = decodeURIComponent(window.atob(plaitTextData));\n const res = JSON.parse(decoded) as Element[];\n if (res.length === 1 && Node.string(res[0])) {\n return res[0];\n }\n }\n return text.trim() || '';\n};\n","export const isUrl = (string: string) => {\n const protocolAndDomainRE = /^(?:\\w+:)?\\/\\/(\\S+)$/;\n const localhostDomainRE = /^localhost[\\:?\\d]*(?:[^\\:?\\d]\\S*)?$/;\n const nonLocalhostDomainRE = /^[^\\s\\.]+\\.\\S{2,}$/;\n\n if (typeof string !== 'string') {\n return false;\n }\n\n var match = string.match(protocolAndDomainRE);\n if (!match) {\n return false;\n }\n\n var everythingAfterProtocol = match[1];\n if (!everythingAfterProtocol) {\n return false;\n }\n\n if (localhostDomainRE.test(everythingAfterProtocol) || nonLocalhostDomainRE.test(everythingAfterProtocol)) {\n return true;\n }\n\n return false;\n};\n","import { CustomText, getTextEditorsByElement, getTextManages } from '@plait/common';\nimport { PlaitElement } from '@plait/core';\nimport { PlaitMarkEditor } from '../mark/mark.editor';\n\nexport const getTextMarksByElement = (element: PlaitElement) => {\n const editors = getTextEditorsByElement(element);\n const editor = editors[0];\n if (!editor || editor.children.length === 0) {\n return {};\n }\n const currentMarks: Omit<CustomText, 'text'> = PlaitMarkEditor.getMarks(editor);\n return currentMarks;\n};\n","import { PlaitBoard, PlaitElement, getSelectedElements } from '@plait/core';\nimport { BaseEditor, BaseRange, Editor, Transforms as SlateTransforms } from 'slate';\nimport { FontSizes, MarkTypes } from './mark/types';\nimport { Alignment, findFirstTextEditor, getTextEditors, getTextEditorsByElement } from '@plait/common';\nimport { PlaitMarkEditor } from './mark/mark.editor';\nimport { AlignEditor } from './align/align-editor';\n\nconst setTextMarks = (board: PlaitBoard, mark: MarkTypes, editors?: BaseEditor[]) => {\n let textEditors: BaseEditor[] | undefined;\n if (editors?.length) {\n textEditors = editors;\n } else {\n const selectedElements = getSelectedElements(board);\n if (selectedElements.length) {\n const firstEditor = findFirstTextEditor(board);\n if (!firstEditor) {\n return;\n }\n const activeMarks = PlaitMarkEditor.getMarks(firstEditor);\n const elements = selectedElements.filter(element => {\n const elementEditors = getTextEditorsByElement(element);\n return elementEditors.some(editor => {\n const elementMarks = PlaitMarkEditor.getMarks(editor);\n return elementMarks[mark] === activeMarks[mark];\n });\n });\n textEditors = getTextEditors(board, elements);\n }\n }\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => {\n PlaitMarkEditor.toggleMark(editor, mark);\n });\n }\n};\n\nconst setFontSize = (\n board: PlaitBoard,\n size: FontSizes,\n defaultFontSize: number | ((element: PlaitElement) => number | undefined),\n editors?: BaseEditor[]\n) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n const selectedElements = getSelectedElements(board);\n textEditors.forEach(editor => {\n let finalDefaultFontSize;\n if (typeof defaultFontSize === 'function') {\n const element = selectedElements.find(element => {\n const textEditors = getTextEditorsByElement(element);\n return textEditors.includes(editor);\n });\n finalDefaultFontSize = defaultFontSize(element!);\n } else {\n finalDefaultFontSize = defaultFontSize;\n }\n\n PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize);\n });\n }\n};\n\nconst setTextColor = (board: PlaitBoard, color: string, textSelection?: BaseRange, editors?: BaseEditor[]) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => {\n if (textSelection) {\n SlateTransforms.select(editor, textSelection);\n }\n if (color === 'transparent') {\n Editor.removeMark(editor, MarkTypes.color);\n } else {\n PlaitMarkEditor.setColorMark(editor, color);\n }\n });\n }\n};\n\nconst setTextAlign = (board: PlaitBoard, align: Alignment, editors?: BaseEditor[]) => {\n const textEditors = getHandleTextEditors(board, editors);\n if (textEditors && textEditors.length) {\n textEditors.forEach(editor => AlignEditor.setAlign(editor, align));\n }\n};\n\nconst getHandleTextEditors = (board: PlaitBoard, editors?: BaseEditor[]) => {\n let textEditors: BaseEditor[] | undefined;\n if (editors?.length) {\n textEditors = editors;\n } else {\n textEditors = getTextEditors(board);\n }\n return textEditors;\n};\n\nexport const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };\n","/*\n * Public API Surface of utils\n */\n\nexport * from './align';\nexport * from './mark';\nexport * from './link';\nexport * from './utils';\nexport * from './constant';\nexport * from './text-transforms';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["SlateTransforms"],"mappings":"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"}
|
package/package.json
CHANGED
package/text-transforms.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { PlaitBoard, PlaitElement } from '@plait/core';
|
|
2
|
-
import { BaseRange } from 'slate';
|
|
2
|
+
import { BaseEditor, BaseRange } from 'slate';
|
|
3
3
|
import { FontSizes, MarkTypes } from './mark/types';
|
|
4
4
|
import { Alignment } from '@plait/common';
|
|
5
5
|
export declare const TextTransforms: {
|
|
6
|
-
setTextAlign: (board: PlaitBoard, align: Alignment) => void;
|
|
7
|
-
setTextColor: (board: PlaitBoard, color: string, textSelection?: BaseRange) => void;
|
|
8
|
-
setFontSize: (board: PlaitBoard, size: FontSizes, defaultFontSize: number | ((element: PlaitElement) => number | undefined)) => void;
|
|
9
|
-
setTextMarks: (board: PlaitBoard, mark: MarkTypes) => void;
|
|
6
|
+
setTextAlign: (board: PlaitBoard, align: Alignment, editors?: BaseEditor[]) => void;
|
|
7
|
+
setTextColor: (board: PlaitBoard, color: string, textSelection?: BaseRange, editors?: BaseEditor[]) => void;
|
|
8
|
+
setFontSize: (board: PlaitBoard, size: FontSizes, defaultFontSize: number | ((element: PlaitElement) => number | undefined), editors?: BaseEditor[]) => void;
|
|
9
|
+
setTextMarks: (board: PlaitBoard, mark: MarkTypes, editors?: BaseEditor[]) => void;
|
|
10
10
|
};
|