@plait/common 0.58.0 → 0.59.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.
@@ -69,10 +69,10 @@ export class ImageBaseComponent {
69
69
  this.activeGenerator.destroy();
70
70
  }
71
71
  }
72
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
73
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: ImageBaseComponent, inputs: { element: "element", imageItem: "imageItem", board: "board", isFocus: "isFocus", getRectangle: "getRectangle", hasResizeHandle: "hasResizeHandle" }, host: { classAttribute: "plait-image-container" }, ngImport: i0 }); }
72
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ImageBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
73
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: ImageBaseComponent, inputs: { element: "element", imageItem: "imageItem", board: "board", isFocus: "isFocus", getRectangle: "getRectangle", hasResizeHandle: "hasResizeHandle" }, host: { classAttribute: "plait-image-container" }, ngImport: i0 }); }
74
74
  }
75
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageBaseComponent, decorators: [{
75
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ImageBaseComponent, decorators: [{
76
76
  type: Directive,
77
77
  args: [{
78
78
  host: {
@@ -1,7 +1,7 @@
1
1
  import { getSelectedElements } from '@plait/core';
2
2
  import { AlignEditor, MarkTypes, PlaitMarkEditor } from '@plait/text';
3
3
  import { Editor, Transforms as SlateTransforms } from 'slate';
4
- import { findFirstTextEditor, getTextEditors } from '../utils/text';
4
+ import { findFirstTextEditor, getTextEditors, getTextEditorsByElement } from '../utils/text';
5
5
  const setTextMarks = (board, mark) => {
6
6
  const selectedElements = getSelectedElements(board);
7
7
  if (selectedElements.length) {
@@ -11,55 +11,61 @@ const setTextMarks = (board, mark) => {
11
11
  }
12
12
  const activeMarks = PlaitMarkEditor.getMarks(firstEditor);
13
13
  const elements = selectedElements.filter(element => {
14
- const editors = getTextEditors(element);
14
+ const editors = getTextEditorsByElement(element);
15
15
  return editors.some(editor => {
16
16
  const elementMarks = PlaitMarkEditor.getMarks(editor);
17
17
  return elementMarks[mark] === activeMarks[mark];
18
18
  });
19
19
  });
20
- elements.forEach(element => {
21
- const editors = getTextEditors(element);
22
- editors.forEach(editor => PlaitMarkEditor.toggleMark(editor, mark));
23
- });
20
+ const editors = getTextEditors(board, elements);
21
+ if (editors && editors.length) {
22
+ editors.forEach(editor => {
23
+ PlaitMarkEditor.toggleMark(editor, mark);
24
+ });
25
+ }
24
26
  }
25
27
  };
26
28
  const setFontSize = (board, size, defaultFontSize) => {
27
- const selectedElements = getSelectedElements(board);
28
- if (selectedElements.length) {
29
- selectedElements.forEach(element => {
30
- const editors = getTextEditors(element);
31
- const finalDefaultFontSize = typeof defaultFontSize === 'function' ? defaultFontSize(element) : defaultFontSize;
32
- editors.forEach(editor => PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize));
29
+ const editors = getTextEditors(board);
30
+ if (editors && editors.length) {
31
+ const selectedElements = getSelectedElements(board);
32
+ editors.forEach(editor => {
33
+ let finalDefaultFontSize;
34
+ if (typeof defaultFontSize === 'function') {
35
+ const element = selectedElements.find(element => {
36
+ const textEditors = getTextEditorsByElement(element);
37
+ return textEditors.includes(editor);
38
+ });
39
+ finalDefaultFontSize = defaultFontSize(element);
40
+ }
41
+ else {
42
+ finalDefaultFontSize = defaultFontSize;
43
+ }
44
+ PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize);
33
45
  });
34
46
  }
35
47
  };
36
48
  const setTextColor = (board, color, textSelection) => {
37
- const selectedElements = getSelectedElements(board);
38
- if (selectedElements?.length) {
39
- selectedElements.forEach(element => {
40
- const editors = getTextEditors(element);
41
- editors.forEach(editor => {
42
- if (textSelection) {
43
- SlateTransforms.select(editor, textSelection);
44
- }
45
- if (color === 'transparent') {
46
- Editor.removeMark(editor, MarkTypes.color);
47
- }
48
- else {
49
- PlaitMarkEditor.setColorMark(editor, color);
50
- }
51
- });
49
+ const editors = getTextEditors(board);
50
+ if (editors && editors.length) {
51
+ editors.forEach(editor => {
52
+ if (textSelection) {
53
+ SlateTransforms.select(editor, textSelection);
54
+ }
55
+ if (color === 'transparent') {
56
+ Editor.removeMark(editor, MarkTypes.color);
57
+ }
58
+ else {
59
+ PlaitMarkEditor.setColorMark(editor, color);
60
+ }
52
61
  });
53
62
  }
54
63
  };
55
64
  const setTextAlign = (board, align) => {
56
- const selectedElements = getSelectedElements(board);
57
- if (selectedElements?.length) {
58
- selectedElements.forEach(element => {
59
- const editors = getTextEditors(element);
60
- editors.forEach(editor => AlignEditor.setAlign(editor, align));
61
- });
65
+ const editors = getTextEditors(board);
66
+ if (editors && editors.length) {
67
+ editors.forEach(editor => AlignEditor.setAlign(editor, align));
62
68
  }
63
69
  };
64
70
  export const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };
65
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdHJhbnNmb3Jtcy90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBd0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RixPQUFPLEVBQWEsTUFBTSxFQUFFLFVBQVUsSUFBSSxlQUFlLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFFekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRSxNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBZSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0MsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3hDLE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDekIsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDdEQsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssV0FBVyxDQUFD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QUcsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgZ2V0U2VsZWN0ZWRFbGVtZW50cyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IEFsaWduRWRpdG9yLCBBbGlnbm1lbnQsIEZvbnRTaXplcywgTWFya1R5cGVzLCBQbGFpdE1hcmtFZGl0b3IgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBCYXNlUmFuZ2UsIEVkaXRvciwgVHJhbnNmb3JtcyBhcyBTbGF0ZVRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBmaW5kRmlyc3RUZXh0RWRpdG9yLCBnZXRUZXh0RWRpdG9ycyB9IGZyb20gJy4uL3V0aWxzL3RleHQnO1xuXG5jb25zdCBzZXRUZXh0TWFya3MgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIG1hcms6IE1hcmtUeXBlcykgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZmlyc3RFZGl0b3IgPSBmaW5kRmlyc3RUZXh0RWRpdG9yKGJvYXJkKTtcbiAgICAgICAgaWYgKCFmaXJzdEVkaXRvcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGFjdGl2ZU1hcmtzID0gUGxhaXRNYXJrRWRpdG9yLmdldE1hcmtzKGZpcnN0RWRpdG9yKTtcbiAgICAgICAgY29uc3QgZWxlbWVudHMgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbHRlcihlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVkaXRvcnMgPSBnZXRUZXh0RWRpdG9ycyhlbGVtZW50KTtcbiAgICAgICAgICAgIHJldHVybiBlZGl0b3JzLnNvbWUoZWRpdG9yID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBlbGVtZW50TWFya3MgPSBQbGFpdE1hcmtFZGl0b3IuZ2V0TWFya3MoZWRpdG9yKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudE1hcmtzW21hcmtdID09PSBhY3RpdmVNYXJrc1ttYXJrXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcblxuICAgICAgICBlbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzKGVsZW1lbnQpO1xuICAgICAgICAgICAgZWRpdG9ycy5mb3JFYWNoKGVkaXRvciA9PiBQbGFpdE1hcmtFZGl0b3IudG9nZ2xlTWFyayhlZGl0b3IsIG1hcmspKTtcbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuY29uc3Qgc2V0Rm9udFNpemUgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHNpemU6IEZvbnRTaXplcywgZGVmYXVsdEZvbnRTaXplOiBudW1iZXIgfCAoKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4gbnVtYmVyIHwgdW5kZWZpbmVkKSkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cy5sZW5ndGgpIHtcbiAgICAgICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzKGVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgZmluYWxEZWZhdWx0Rm9udFNpemUgPSB0eXBlb2YgZGVmYXVsdEZvbnRTaXplID09PSAnZnVuY3Rpb24nID8gZGVmYXVsdEZvbnRTaXplKGVsZW1lbnQpIDogZGVmYXVsdEZvbnRTaXplO1xuICAgICAgICAgICAgZWRpdG9ycy5mb3JFYWNoKGVkaXRvciA9PiBQbGFpdE1hcmtFZGl0b3Iuc2V0Rm9udFNpemVNYXJrKGVkaXRvciwgc2l6ZSwgZmluYWxEZWZhdWx0Rm9udFNpemUpKTtcbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuY29uc3Qgc2V0VGV4dENvbG9yID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBjb2xvcjogc3RyaW5nLCB0ZXh0U2VsZWN0aW9uPzogQmFzZVJhbmdlKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzPy5sZW5ndGgpIHtcbiAgICAgICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzKGVsZW1lbnQpO1xuICAgICAgICAgICAgZWRpdG9ycy5mb3JFYWNoKGVkaXRvciA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHRleHRTZWxlY3Rpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgU2xhdGVUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIHRleHRTZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoY29sb3IgPT09ICd0cmFuc3BhcmVudCcpIHtcbiAgICAgICAgICAgICAgICAgICAgRWRpdG9yLnJlbW92ZU1hcmsoZWRpdG9yLCBNYXJrVHlwZXMuY29sb3IpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIFBsYWl0TWFya0VkaXRvci5zZXRDb2xvck1hcmsoZWRpdG9yLCBjb2xvcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmNvbnN0IHNldFRleHRBbGlnbiA9IChib2FyZDogUGxhaXRCb2FyZCwgYWxpZ246IEFsaWdubWVudCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBpZiAoc2VsZWN0ZWRFbGVtZW50cz8ubGVuZ3RoKSB7XG4gICAgICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGVkaXRvcnMgPSBnZXRUZXh0RWRpdG9ycyhlbGVtZW50KTtcbiAgICAgICAgICAgIGVkaXRvcnMuZm9yRWFjaChlZGl0b3IgPT4gQWxpZ25FZGl0b3Iuc2V0QWxpZ24oZWRpdG9yIGFzIEFuZ3VsYXJFZGl0b3IsIGFsaWduKSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmV4cG9ydCBjb25zdCBUZXh0VHJhbnNmb3JtcyA9IHsgc2V0VGV4dEFsaWduLCBzZXRUZXh0Q29sb3IsIHNldEZvbnRTaXplLCBzZXRUZXh0TWFya3MgfTtcbiJdfQ==
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdHJhbnNmb3Jtcy90ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBNEIsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUUsT0FBTyxFQUFFLFdBQVcsRUFBd0IsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1RixPQUFPLEVBQWEsTUFBTSxFQUFFLFVBQVUsSUFBSSxlQUFlLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDekUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixNQUFNLFlBQVksR0FBRyxDQUFDLEtBQWlCLEVBQUUsSUFBZSxFQUFFLEVBQUU7SUFDeEQsTUFBTSxnQkFBZ0IsR0FBRyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwRCxJQUFJLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLE1BQU0sV0FBVyxHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDWCxDQUFDO1FBQ0QsTUFBTSxXQUFXLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMxRCxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDL0MsTUFBTSxPQUFPLEdBQUcsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDakQsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUN6QixNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN0RCxPQUFPLFlBQVksQ0FBQyxJQUFJLENBQUMs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TUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBBbGlnbkVkaXRvciwgQWxpZ25tZW50LCBGb250U2l6ZXMsIE1hcmtUeXBlcywgUGxhaXRNYXJrRWRpdG9yIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgQmFzZVJhbmdlLCBFZGl0b3IsIFRyYW5zZm9ybXMgYXMgU2xhdGVUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgZmluZEZpcnN0VGV4dEVkaXRvciwgZ2V0VGV4dEVkaXRvcnMsIGdldFRleHRFZGl0b3JzQnlFbGVtZW50IH0gZnJvbSAnLi4vdXRpbHMvdGV4dCc7XG5cbmNvbnN0IHNldFRleHRNYXJrcyA9IChib2FyZDogUGxhaXRCb2FyZCwgbWFyazogTWFya1R5cGVzKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGlmIChzZWxlY3RlZEVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBmaXJzdEVkaXRvciA9IGZpbmRGaXJzdFRleHRFZGl0b3IoYm9hcmQpO1xuICAgICAgICBpZiAoIWZpcnN0RWRpdG9yKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWN0aXZlTWFya3MgPSBQbGFpdE1hcmtFZGl0b3IuZ2V0TWFya3MoZmlyc3RFZGl0b3IpO1xuICAgICAgICBjb25zdCBlbGVtZW50cyA9IHNlbGVjdGVkRWxlbWVudHMuZmlsdGVyKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgICAgICAgICAgcmV0dXJuIGVkaXRvcnMuc29tZShlZGl0b3IgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnRNYXJrcyA9IFBsYWl0TWFya0VkaXRvci5nZXRNYXJrcyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgIHJldHVybiBlbGVtZW50TWFya3NbbWFya10gPT09IGFjdGl2ZU1hcmtzW21hcmtdO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnMoYm9hcmQsIGVsZW1lbnRzKTtcbiAgICAgICAgaWYgKGVkaXRvcnMgJiYgZWRpdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGVkaXRvcnMuZm9yRWFjaChlZGl0b3IgPT4ge1xuICAgICAgICAgICAgICAgIFBsYWl0TWFya0VkaXRvci50b2dnbGVNYXJrKGVkaXRvciwgbWFyayk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn07XG5cbmNvbnN0IHNldEZvbnRTaXplID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzaXplOiBGb250U2l6ZXMsIGRlZmF1bHRGb250U2l6ZTogbnVtYmVyIHwgKChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IG51bWJlciB8IHVuZGVmaW5lZCkpID0+IHtcbiAgICBjb25zdCBlZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnMoYm9hcmQpO1xuICAgIGlmIChlZGl0b3JzICYmIGVkaXRvcnMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICAgICAgZWRpdG9ycy5mb3JFYWNoKGVkaXRvciA9PiB7XG4gICAgICAgICAgICBsZXQgZmluYWxEZWZhdWx0Rm9udFNpemU7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGRlZmF1bHRGb250U2l6ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbmQoZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRFZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0ZXh0RWRpdG9ycy5pbmNsdWRlcyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGZpbmFsRGVmYXVsdEZvbnRTaXplID0gZGVmYXVsdEZvbnRTaXplKGVsZW1lbnQhKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZmluYWxEZWZhdWx0Rm9udFNpemUgPSBkZWZhdWx0Rm9udFNpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFBsYWl0TWFya0VkaXRvci5zZXRGb250U2l6ZU1hcmsoZWRpdG9yLCBzaXplLCBmaW5hbERlZmF1bHRGb250U2l6ZSk7XG4gICAgICAgIH0pO1xuICAgIH1cbn07XG5cbmNvbnN0IHNldFRleHRDb2xvciA9IChib2FyZDogUGxhaXRCb2FyZCwgY29sb3I6IHN0cmluZywgdGV4dFNlbGVjdGlvbj86IEJhc2VSYW5nZSkgPT4ge1xuICAgIGNvbnN0IGVkaXRvcnMgPSBnZXRUZXh0RWRpdG9ycyhib2FyZCk7XG4gICAgaWYgKGVkaXRvcnMgJiYgZWRpdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgZWRpdG9ycy5mb3JFYWNoKGVkaXRvciA9PiB7XG4gICAgICAgICAgICBpZiAodGV4dFNlbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIFNsYXRlVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCB0ZXh0U2VsZWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb2xvciA9PT0gJ3RyYW5zcGFyZW50Jykge1xuICAgICAgICAgICAgICAgIEVkaXRvci5yZW1vdmVNYXJrKGVkaXRvciwgTWFya1R5cGVzLmNvbG9yKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgUGxhaXRNYXJrRWRpdG9yLnNldENvbG9yTWFyayhlZGl0b3IsIGNvbG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuY29uc3Qgc2V0VGV4dEFsaWduID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBhbGlnbjogQWxpZ25tZW50KSA9PiB7XG4gICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzKGJvYXJkKTtcbiAgICBpZiAoZWRpdG9ycyAmJiBlZGl0b3JzLmxlbmd0aCkge1xuICAgICAgICBlZGl0b3JzLmZvckVhY2goZWRpdG9yID0+IEFsaWduRWRpdG9yLnNldEFsaWduKGVkaXRvciwgYWxpZ24pKTtcbiAgICB9XG59O1xuXG5leHBvcnQgY29uc3QgVGV4dFRyYW5zZm9ybXMgPSB7IHNldFRleHRBbGlnbiwgc2V0VGV4dENvbG9yLCBzZXRGb250U2l6ZSwgc2V0VGV4dE1hcmtzIH07XG4iXX0=
@@ -11,13 +11,13 @@ export const getFirstTextManage = (element) => {
11
11
  }
12
12
  return textManage;
13
13
  };
14
- export const getTextEditors = (element) => {
14
+ export const getTextEditorsByElement = (element) => {
15
15
  return getTextManages(element).map(manage => {
16
16
  return manage.componentRef.instance.editor;
17
17
  });
18
18
  };
19
19
  export const getFirstTextEditor = (element) => {
20
- const textEditor = getTextEditors(element)[0];
20
+ const textEditor = getTextEditorsByElement(element)[0];
21
21
  if (!textEditor) {
22
22
  console.warn('can not find textManage');
23
23
  }
@@ -27,7 +27,7 @@ export const findFirstTextEditor = (board) => {
27
27
  const selectedElements = getSelectedElements(board);
28
28
  let firstEditor = null;
29
29
  selectedElements.forEach(element => {
30
- const editors = getTextEditors(element);
30
+ const editors = getTextEditorsByElement(element);
31
31
  if (!firstEditor && editors && editors.length > 0) {
32
32
  firstEditor = editors[0];
33
33
  }
@@ -35,7 +35,7 @@ export const findFirstTextEditor = (board) => {
35
35
  return firstEditor;
36
36
  };
37
37
  export const getTextMarksByElement = (element) => {
38
- const editors = getTextEditors(element);
38
+ const editors = getTextEditorsByElement(element);
39
39
  const editor = editors[0];
40
40
  if (!editor) {
41
41
  return {};
@@ -52,7 +52,7 @@ export const getElementsText = (elements) => {
52
52
  return elements
53
53
  .map(item => {
54
54
  try {
55
- const editors = getTextEditors(item);
55
+ const editors = getTextEditorsByElement(item);
56
56
  if (editors.length) {
57
57
  return editors
58
58
  .map(editor => {
@@ -70,5 +70,34 @@ export const getElementsText = (elements) => {
70
70
  .filter(item => item)
71
71
  .join(' ');
72
72
  };
73
+ export const getTextEditors = (board, elements) => {
74
+ const selectedElements = elements || getSelectedElements(board);
75
+ if (selectedElements.length) {
76
+ const textManages = [];
77
+ selectedElements.forEach(item => {
78
+ textManages.push(...getTextManages(item));
79
+ });
80
+ const editingTextManage = textManages.find(textManage => textManage.isEditing);
81
+ if (editingTextManage) {
82
+ return [editingTextManage.componentRef.instance.editor];
83
+ }
84
+ return textManages.map(item => {
85
+ return item.componentRef.instance.editor;
86
+ });
87
+ }
88
+ return undefined;
89
+ };
90
+ export const getEditingTextEditor = (board, elements) => {
91
+ const selectedElements = elements || getSelectedElements(board);
92
+ const textManages = [];
93
+ selectedElements.forEach(item => {
94
+ textManages.push(...getTextManages(item));
95
+ });
96
+ const editingTextManage = textManages.find(textManage => textManage.isEditing);
97
+ if (editingTextManage) {
98
+ return editingTextManage.componentRef.instance.editor;
99
+ }
100
+ return undefined;
101
+ };
73
102
  export const ELEMENT_TO_TEXT_MANAGES = new WeakMap();
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdXRpbHMvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBYyxlQUFlLEVBQWMsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFVLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFxQixFQUFFLEVBQUU7SUFDcEQsT0FBTyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3RELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQ3hELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUNwRCxPQUFPLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDeEMsT0FBTyxNQUFNLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7SUFDL0MsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLE9BQXFCLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFVBQVUsR0FBRyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDOUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxPQUFPLFVBQVUsQ0FBQztBQUN0QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEtBQWlCLEVBQUUsRUFBRTtJQUNyRCxNQUFNLGdCQUFnQixHQUFHLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BELElBQUksV0FBVyxHQUFrQixJQUFJLENBQUM7SUFDdEMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1FBQy9CLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsV0FBVyxJQUFJLE9BQU8sSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hELFdBQVcsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDN0IsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0gsT0FBTyxXQUFXLENBQUM7QUFDdkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxPQUFxQixFQUFFLEVBQUU7SUFDM0QsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDVixPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5QyxNQUFNLFlBQVksR0FBNkIsZUFBZSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQy9ILE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxNQUFNLFlBQVksR0FBNkIsZUFBZSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNoRixPQUFPLFlBQVksQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxRQUF3QixFQUFFLEVBQUU7SUFDeEQsT0FBTyxRQUFRO1NBQ1YsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ1IsSUFBSSxDQUFDO1lBQ0QsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3JDLElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNqQixPQUFPLE9BQU87cUJBQ1QsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUNWLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3RDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQ3ZGLENBQUMsQ0FBQztxQkFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkIsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDYixPQUFPLEVBQUUsQ0FBQztRQUNkLENBQUM7SUFDTCxDQUFDLENBQUM7U0FDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUM7U0FDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUF3QyxJQUFJLE9BQU8sRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUGxhaXRFbGVtZW50LCBnZXRTZWxlY3RlZEVsZW1lbnRzIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgQ3VzdG9tVGV4dCwgUGxhaXRNYXJrRWRpdG9yLCBUZXh0TWFuYWdlIH0gZnJvbSAnQHBsYWl0L3RleHQnO1xuaW1wb3J0IHsgRWRpdG9yLCBOb2RlIH0gZnJvbSAnc2xhdGUnO1xuXG5leHBvcnQgY29uc3QgZ2V0VGV4dE1hbmFnZXMgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuIEVMRU1FTlRfVE9fVEVYVF9NQU5BR0VTLmdldChlbGVtZW50KSB8fCBbXTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGaXJzdFRleHRNYW5hZ2UgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgdGV4dE1hbmFnZSA9IGdldFRleHRNYW5hZ2VzKGVsZW1lbnQpWzBdO1xuICAgIGlmICghdGV4dE1hbmFnZSkge1xuICAgICAgICBjb25zb2xlLndhcm4oJ2NhbiBub3QgZmluZCB0ZXh0TWFuYWdlJyk7XG4gICAgfVxuICAgIHJldHVybiB0ZXh0TWFuYWdlO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRleHRFZGl0b3JzID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIHJldHVybiBnZXRUZXh0TWFuYWdlcyhlbGVtZW50KS5tYXAobWFuYWdlID0+IHtcbiAgICAgICAgcmV0dXJuIG1hbmFnZS5jb21wb25lbnRSZWYuaW5zdGFuY2UuZWRpdG9yO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpcnN0VGV4dEVkaXRvciA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB0ZXh0RWRpdG9yID0gZ2V0VGV4dEVkaXRvcnMoZWxlbWVudClbMF07XG4gICAgaWYgKCF0ZXh0RWRpdG9yKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignY2FuIG5vdCBmaW5kIHRleHRNYW5hZ2UnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRleHRFZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgZmluZEZpcnN0VGV4dEVkaXRvciA9IChib2FyZDogUGxhaXRCb2FyZCkgPT4ge1xuICAgIGNvbnN0IHNlbGVjdGVkRWxlbWVudHMgPSBnZXRTZWxlY3RlZEVsZW1lbnRzKGJvYXJkKTtcbiAgICBsZXQgZmlyc3RFZGl0b3I6IEVkaXRvciB8IG51bGwgPSBudWxsO1xuICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzKGVsZW1lbnQpO1xuICAgICAgICBpZiAoIWZpcnN0RWRpdG9yICYmIGVkaXRvcnMgJiYgZWRpdG9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBmaXJzdEVkaXRvciA9IGVkaXRvcnNbMF07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZmlyc3RFZGl0b3I7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGV4dE1hcmtzQnlFbGVtZW50ID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IGVkaXRvcnMgPSBnZXRUZXh0RWRpdG9ycyhlbGVtZW50KTtcbiAgICBjb25zdCBlZGl0b3IgPSBlZGl0b3JzWzBdO1xuICAgIGlmICghZWRpdG9yKSB7XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG4gICAgaWYgKGVkaXRvci5jaGlsZHJlbi5sZW5ndGggPT09IDApIHtcbiAgICAgICAgY29uc3QgdGV4dE1hbmFnZSA9IGdldFRleHRNYW5hZ2VzKGVsZW1lbnQpWzBdO1xuICAgICAgICBjb25zdCBjdXJyZW50TWFya3M6IE9taXQ8Q3VzdG9tVGV4dCwgJ3RleHQnPiA9IFBsYWl0TWFya0VkaXRvci5nZXRNYXJrc0J5RWxlbWVudCh0ZXh0TWFuYWdlLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5jaGlsZHJlblswXSk7XG4gICAgICAgIHJldHVybiBjdXJyZW50TWFya3M7XG4gICAgfVxuICAgIGNvbnN0IGN1cnJlbnRNYXJrczogT21pdDxDdXN0b21UZXh0LCAndGV4dCc+ID0gUGxhaXRNYXJrRWRpdG9yLmdldE1hcmtzKGVkaXRvcik7XG4gICAgcmV0dXJuIGN1cnJlbnRNYXJrcztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFbGVtZW50c1RleHQgPSAoZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdKSA9PiB7XG4gICAgcmV0dXJuIGVsZW1lbnRzXG4gICAgICAgIC5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGVkaXRvcnMgPSBnZXRUZXh0RWRpdG9ycyhpdGVtKTtcbiAgICAgICAgICAgICAgICBpZiAoZWRpdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVkaXRvcnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZWRpdG9yID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0ZXh0c0VudHJ5ID0gTm9kZS50ZXh0cyhlZGl0b3IpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRleHRzRW50cnkpLnJlZHVjZSgodG90YWwsIHRleHQpID0+ICh0b3RhbCArPSB0ZXh0WzBdLnRleHQpLCAnJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgLmpvaW4oJyAnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuICcnO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5maWx0ZXIoaXRlbSA9PiBpdGVtKVxuICAgICAgICAuam9pbignICcpO1xufTtcblxuZXhwb3J0IGNvbnN0IEVMRU1FTlRfVE9fVEVYVF9NQU5BR0VTOiBXZWFrTWFwPFBsYWl0RWxlbWVudCwgVGV4dE1hbmFnZVtdPiA9IG5ldyBXZWFrTWFwKCk7XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvbW1vbi9zcmMvdXRpbHMvdGV4dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTRCLG1CQUFtQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzVFLE9BQU8sRUFBYyxlQUFlLEVBQWMsTUFBTSxhQUFhLENBQUM7QUFDdEUsT0FBTyxFQUFVLElBQUksRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUVyQyxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxPQUFxQixFQUFFLEVBQUU7SUFDcEQsT0FBTyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ3RELENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQ3hELE1BQU0sVUFBVSxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM5QyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUNELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQzdELE9BQU8sY0FBYyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN4QyxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMvQyxDQUFDLENBQUMsQ0FBQztBQUNQLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsT0FBcUIsRUFBRSxFQUFFO0lBQ3hELE1BQU0sVUFBVSxHQUFHLHVCQUF1QixDQUFD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Q0FBQyxJQUFJLENBQUMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM5QyxDQUFDLENBQUMsQ0FBQztJQUNILE1BQU0saUJBQWlCLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMvRSxJQUFJLGlCQUFpQixFQUFFLENBQUM7UUFDcEIsT0FBTyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQztJQUMxRCxDQUFDO0lBQ0QsT0FBTyxTQUFTLENBQUM7QUFDckIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQXdDLElBQUksT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIGdldFNlbGVjdGVkRWxlbWVudHMgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBDdXN0b21UZXh0LCBQbGFpdE1hcmtFZGl0b3IsIFRleHRNYW5hZ2UgfSBmcm9tICdAcGxhaXQvdGV4dCc7XG5pbXBvcnQgeyBFZGl0b3IsIE5vZGUgfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0TWFuYWdlcyA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICByZXR1cm4gRUxFTUVOVF9UT19URVhUX01BTkFHRVMuZ2V0KGVsZW1lbnQpIHx8IFtdO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEZpcnN0VGV4dE1hbmFnZSA9IChlbGVtZW50OiBQbGFpdEVsZW1lbnQpID0+IHtcbiAgICBjb25zdCB0ZXh0TWFuYWdlID0gZ2V0VGV4dE1hbmFnZXMoZWxlbWVudClbMF07XG4gICAgaWYgKCF0ZXh0TWFuYWdlKSB7XG4gICAgICAgIGNvbnNvbGUud2FybignY2FuIG5vdCBmaW5kIHRleHRNYW5hZ2UnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRleHRNYW5hZ2U7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgcmV0dXJuIGdldFRleHRNYW5hZ2VzKGVsZW1lbnQpLm1hcChtYW5hZ2UgPT4ge1xuICAgICAgICByZXR1cm4gbWFuYWdlLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5lZGl0b3I7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Rmlyc3RUZXh0RWRpdG9yID0gKGVsZW1lbnQ6IFBsYWl0RWxlbWVudCkgPT4ge1xuICAgIGNvbnN0IHRleHRFZGl0b3IgPSBnZXRUZXh0RWRpdG9yc0J5RWxlbWVudChlbGVtZW50KVswXTtcbiAgICBpZiAoIXRleHRFZGl0b3IpIHtcbiAgICAgICAgY29uc29sZS53YXJuKCdjYW4gbm90IGZpbmQgdGV4dE1hbmFnZScpO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dEVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBmaW5kRmlyc3RUZXh0RWRpdG9yID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGxldCBmaXJzdEVkaXRvcjogRWRpdG9yIHwgbnVsbCA9IG51bGw7XG4gICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICBjb25zdCBlZGl0b3JzID0gZ2V0VGV4dEVkaXRvcnNCeUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGlmICghZmlyc3RFZGl0b3IgJiYgZWRpdG9ycyAmJiBlZGl0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGZpcnN0RWRpdG9yID0gZWRpdG9yc1swXTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBmaXJzdEVkaXRvcjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUZXh0TWFya3NCeUVsZW1lbnQgPSAoZWxlbWVudDogUGxhaXRFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzQnlFbGVtZW50KGVsZW1lbnQpO1xuICAgIGNvbnN0IGVkaXRvciA9IGVkaXRvcnNbMF07XG4gICAgaWYgKCFlZGl0b3IpIHtcbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBpZiAoZWRpdG9yLmNoaWxkcmVuLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBjb25zdCB0ZXh0TWFuYWdlID0gZ2V0VGV4dE1hbmFnZXMoZWxlbWVudClbMF07XG4gICAgICAgIGNvbnN0IGN1cnJlbnRNYXJrczogT21pdDxDdXN0b21UZXh0LCAndGV4dCc+ID0gUGxhaXRNYXJrRWRpdG9yLmdldE1hcmtzQnlFbGVtZW50KHRleHRNYW5hZ2UuY29tcG9uZW50UmVmLmluc3RhbmNlLmNoaWxkcmVuWzBdKTtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnRNYXJrcztcbiAgICB9XG4gICAgY29uc3QgY3VycmVudE1hcmtzOiBPbWl0PEN1c3RvbVRleHQsICd0ZXh0Jz4gPSBQbGFpdE1hcmtFZGl0b3IuZ2V0TWFya3MoZWRpdG9yKTtcbiAgICByZXR1cm4gY3VycmVudE1hcmtzO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldEVsZW1lbnRzVGV4dCA9IChlbGVtZW50czogUGxhaXRFbGVtZW50W10pID0+IHtcbiAgICByZXR1cm4gZWxlbWVudHNcbiAgICAgICAgLm1hcChpdGVtID0+IHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgY29uc3QgZWRpdG9ycyA9IGdldFRleHRFZGl0b3JzQnlFbGVtZW50KGl0ZW0pO1xuICAgICAgICAgICAgICAgIGlmIChlZGl0b3JzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWRpdG9yc1xuICAgICAgICAgICAgICAgICAgICAgICAgLm1hcChlZGl0b3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRleHRzRW50cnkgPSBOb2RlLnRleHRzKGVkaXRvcik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEFycmF5LmZyb20odGV4dHNFbnRyeSkucmVkdWNlKCh0b3RhbCwgdGV4dCkgPT4gKHRvdGFsICs9IHRleHRbMF0udGV4dCksICcnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAuam9pbignICcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmZpbHRlcihpdGVtID0+IGl0ZW0pXG4gICAgICAgIC5qb2luKCcgJyk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VGV4dEVkaXRvcnMgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzPzogUGxhaXRFbGVtZW50W10pID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZWxlbWVudHMgfHwgZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgaWYgKHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IHRleHRNYW5hZ2VzOiBUZXh0TWFuYWdlW10gPSBbXTtcbiAgICAgICAgc2VsZWN0ZWRFbGVtZW50cy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgICAgICAgdGV4dE1hbmFnZXMucHVzaCguLi5nZXRUZXh0TWFuYWdlcyhpdGVtKSk7XG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBlZGl0aW5nVGV4dE1hbmFnZSA9IHRleHRNYW5hZ2VzLmZpbmQodGV4dE1hbmFnZSA9PiB0ZXh0TWFuYWdlLmlzRWRpdGluZyk7XG4gICAgICAgIGlmIChlZGl0aW5nVGV4dE1hbmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIFtlZGl0aW5nVGV4dE1hbmFnZS5jb21wb25lbnRSZWYuaW5zdGFuY2UuZWRpdG9yXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGV4dE1hbmFnZXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW0uY29tcG9uZW50UmVmLmluc3RhbmNlLmVkaXRvcjtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0RWRpdGluZ1RleHRFZGl0b3IgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIGVsZW1lbnRzPzogUGxhaXRFbGVtZW50W10pID0+IHtcbiAgICBjb25zdCBzZWxlY3RlZEVsZW1lbnRzID0gZWxlbWVudHMgfHwgZ2V0U2VsZWN0ZWRFbGVtZW50cyhib2FyZCk7XG4gICAgY29uc3QgdGV4dE1hbmFnZXM6IFRleHRNYW5hZ2VbXSA9IFtdO1xuICAgIHNlbGVjdGVkRWxlbWVudHMuZm9yRWFjaChpdGVtID0+IHtcbiAgICAgICAgdGV4dE1hbmFnZXMucHVzaCguLi5nZXRUZXh0TWFuYWdlcyhpdGVtKSk7XG4gICAgfSk7XG4gICAgY29uc3QgZWRpdGluZ1RleHRNYW5hZ2UgPSB0ZXh0TWFuYWdlcy5maW5kKHRleHRNYW5hZ2UgPT4gdGV4dE1hbmFnZS5pc0VkaXRpbmcpO1xuICAgIGlmIChlZGl0aW5nVGV4dE1hbmFnZSkge1xuICAgICAgICByZXR1cm4gZWRpdGluZ1RleHRNYW5hZ2UuY29tcG9uZW50UmVmLmluc3RhbmNlLmVkaXRvcjtcbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCBjb25zdCBFTEVNRU5UX1RPX1RFWFRfTUFOQUdFUzogV2Vha01hcDxQbGFpdEVsZW1lbnQsIFRleHRNYW5hZ2VbXT4gPSBuZXcgV2Vha01hcCgpO1xuIl19
@@ -747,13 +747,13 @@ const getFirstTextManage = (element) => {
747
747
  }
748
748
  return textManage;
749
749
  };
750
- const getTextEditors = (element) => {
750
+ const getTextEditorsByElement = (element) => {
751
751
  return getTextManages(element).map(manage => {
752
752
  return manage.componentRef.instance.editor;
753
753
  });
754
754
  };
755
755
  const getFirstTextEditor = (element) => {
756
- const textEditor = getTextEditors(element)[0];
756
+ const textEditor = getTextEditorsByElement(element)[0];
757
757
  if (!textEditor) {
758
758
  console.warn('can not find textManage');
759
759
  }
@@ -763,7 +763,7 @@ const findFirstTextEditor = (board) => {
763
763
  const selectedElements = getSelectedElements(board);
764
764
  let firstEditor = null;
765
765
  selectedElements.forEach(element => {
766
- const editors = getTextEditors(element);
766
+ const editors = getTextEditorsByElement(element);
767
767
  if (!firstEditor && editors && editors.length > 0) {
768
768
  firstEditor = editors[0];
769
769
  }
@@ -771,7 +771,7 @@ const findFirstTextEditor = (board) => {
771
771
  return firstEditor;
772
772
  };
773
773
  const getTextMarksByElement = (element) => {
774
- const editors = getTextEditors(element);
774
+ const editors = getTextEditorsByElement(element);
775
775
  const editor = editors[0];
776
776
  if (!editor) {
777
777
  return {};
@@ -788,7 +788,7 @@ const getElementsText = (elements) => {
788
788
  return elements
789
789
  .map(item => {
790
790
  try {
791
- const editors = getTextEditors(item);
791
+ const editors = getTextEditorsByElement(item);
792
792
  if (editors.length) {
793
793
  return editors
794
794
  .map(editor => {
@@ -806,6 +806,35 @@ const getElementsText = (elements) => {
806
806
  .filter(item => item)
807
807
  .join(' ');
808
808
  };
809
+ const getTextEditors = (board, elements) => {
810
+ const selectedElements = elements || getSelectedElements(board);
811
+ if (selectedElements.length) {
812
+ const textManages = [];
813
+ selectedElements.forEach(item => {
814
+ textManages.push(...getTextManages(item));
815
+ });
816
+ const editingTextManage = textManages.find(textManage => textManage.isEditing);
817
+ if (editingTextManage) {
818
+ return [editingTextManage.componentRef.instance.editor];
819
+ }
820
+ return textManages.map(item => {
821
+ return item.componentRef.instance.editor;
822
+ });
823
+ }
824
+ return undefined;
825
+ };
826
+ const getEditingTextEditor = (board, elements) => {
827
+ const selectedElements = elements || getSelectedElements(board);
828
+ const textManages = [];
829
+ selectedElements.forEach(item => {
830
+ textManages.push(...getTextManages(item));
831
+ });
832
+ const editingTextManage = textManages.find(textManage => textManage.isEditing);
833
+ if (editingTextManage) {
834
+ return editingTextManage.componentRef.instance.editor;
835
+ }
836
+ return undefined;
837
+ };
809
838
  const ELEMENT_TO_TEXT_MANAGES = new WeakMap();
810
839
 
811
840
  const selectImage = (board, defaultImageWidth, handle, acceptImageTypes = ['png', 'jpeg', 'gif', 'bmp']) => {
@@ -1413,54 +1442,60 @@ const setTextMarks = (board, mark) => {
1413
1442
  }
1414
1443
  const activeMarks = PlaitMarkEditor.getMarks(firstEditor);
1415
1444
  const elements = selectedElements.filter(element => {
1416
- const editors = getTextEditors(element);
1445
+ const editors = getTextEditorsByElement(element);
1417
1446
  return editors.some(editor => {
1418
1447
  const elementMarks = PlaitMarkEditor.getMarks(editor);
1419
1448
  return elementMarks[mark] === activeMarks[mark];
1420
1449
  });
1421
1450
  });
1422
- elements.forEach(element => {
1423
- const editors = getTextEditors(element);
1424
- editors.forEach(editor => PlaitMarkEditor.toggleMark(editor, mark));
1425
- });
1451
+ const editors = getTextEditors(board, elements);
1452
+ if (editors && editors.length) {
1453
+ editors.forEach(editor => {
1454
+ PlaitMarkEditor.toggleMark(editor, mark);
1455
+ });
1456
+ }
1426
1457
  }
1427
1458
  };
1428
1459
  const setFontSize = (board, size, defaultFontSize) => {
1429
- const selectedElements = getSelectedElements(board);
1430
- if (selectedElements.length) {
1431
- selectedElements.forEach(element => {
1432
- const editors = getTextEditors(element);
1433
- const finalDefaultFontSize = typeof defaultFontSize === 'function' ? defaultFontSize(element) : defaultFontSize;
1434
- editors.forEach(editor => PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize));
1460
+ const editors = getTextEditors(board);
1461
+ if (editors && editors.length) {
1462
+ const selectedElements = getSelectedElements(board);
1463
+ editors.forEach(editor => {
1464
+ let finalDefaultFontSize;
1465
+ if (typeof defaultFontSize === 'function') {
1466
+ const element = selectedElements.find(element => {
1467
+ const textEditors = getTextEditorsByElement(element);
1468
+ return textEditors.includes(editor);
1469
+ });
1470
+ finalDefaultFontSize = defaultFontSize(element);
1471
+ }
1472
+ else {
1473
+ finalDefaultFontSize = defaultFontSize;
1474
+ }
1475
+ PlaitMarkEditor.setFontSizeMark(editor, size, finalDefaultFontSize);
1435
1476
  });
1436
1477
  }
1437
1478
  };
1438
1479
  const setTextColor = (board, color, textSelection) => {
1439
- const selectedElements = getSelectedElements(board);
1440
- if (selectedElements?.length) {
1441
- selectedElements.forEach(element => {
1442
- const editors = getTextEditors(element);
1443
- editors.forEach(editor => {
1444
- if (textSelection) {
1445
- Transforms$1.select(editor, textSelection);
1446
- }
1447
- if (color === 'transparent') {
1448
- Editor.removeMark(editor, MarkTypes.color);
1449
- }
1450
- else {
1451
- PlaitMarkEditor.setColorMark(editor, color);
1452
- }
1453
- });
1480
+ const editors = getTextEditors(board);
1481
+ if (editors && editors.length) {
1482
+ editors.forEach(editor => {
1483
+ if (textSelection) {
1484
+ Transforms$1.select(editor, textSelection);
1485
+ }
1486
+ if (color === 'transparent') {
1487
+ Editor.removeMark(editor, MarkTypes.color);
1488
+ }
1489
+ else {
1490
+ PlaitMarkEditor.setColorMark(editor, color);
1491
+ }
1454
1492
  });
1455
1493
  }
1456
1494
  };
1457
1495
  const setTextAlign = (board, align) => {
1458
- const selectedElements = getSelectedElements(board);
1459
- if (selectedElements?.length) {
1460
- selectedElements.forEach(element => {
1461
- const editors = getTextEditors(element);
1462
- editors.forEach(editor => AlignEditor.setAlign(editor, align));
1463
- });
1496
+ const editors = getTextEditors(board);
1497
+ if (editors && editors.length) {
1498
+ editors.forEach(editor => AlignEditor.setAlign(editor, align));
1464
1499
  }
1465
1500
  };
1466
1501
  const TextTransforms = { setTextAlign, setTextColor, setFontSize, setTextMarks };
@@ -1949,10 +1984,10 @@ class ImageBaseComponent {
1949
1984
  this.activeGenerator.destroy();
1950
1985
  }
1951
1986
  }
1952
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1953
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.1", type: ImageBaseComponent, inputs: { element: "element", imageItem: "imageItem", board: "board", isFocus: "isFocus", getRectangle: "getRectangle", hasResizeHandle: "hasResizeHandle" }, host: { classAttribute: "plait-image-container" }, ngImport: i0 }); }
1987
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ImageBaseComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
1988
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.4", type: ImageBaseComponent, inputs: { element: "element", imageItem: "imageItem", board: "board", isFocus: "isFocus", getRectangle: "getRectangle", hasResizeHandle: "hasResizeHandle" }, host: { classAttribute: "plait-image-container" }, ngImport: i0 }); }
1954
1989
  }
1955
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImport: i0, type: ImageBaseComponent, decorators: [{
1990
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImport: i0, type: ImageBaseComponent, decorators: [{
1956
1991
  type: Directive,
1957
1992
  args: [{
1958
1993
  host: {
@@ -1981,5 +2016,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.1", ngImpor
1981
2016
  * Generated bundle index. Do not edit.
1982
2017
  */
1983
2018
 
1984
- export { AStar, ActiveGenerator, AlignTransform, BASE, BoardCreationMode, CommonElementFlavour, DEFAULT_ROUTE_MARGIN, ELEMENT_TO_TEXT_MANAGES, Generator, IS_RESIZING, IS_ROTATING, ImageBaseComponent, ImageGenerator, MediaKeys, PICTURE_ACCEPTED_UPLOAD_SIZE, PRIMARY_COLOR, PlaitCommonElementRef, PointGraph, PointNode, PriorityQueue, PropertyTransforms, RESIZE_HANDLE_DIAMETER, ROTATE_HANDLE_DISTANCE_TO_ELEMENT, ROTATE_HANDLE_SIZE, ResizeHandle, TRANSPARENT, TextTransforms, WithCommonPluginKey, WithTextPluginKey, acceptImageTypes, addElementOfFocusedImage, addResizing, addRotating, alignBottom, alignHorizontalCenter, alignLeft, alignRight, alignTop, alignVerticalCenter, buildImage, calculatePolylineLength, canResize, createGraph, distributeHorizontal, distributeVertical, drawFillPrimaryHandle, drawHandle, drawPrimaryHandle, drawRotateHandle, findFirstTextEditor, generateElbowLineRoute, getCreationMode, getCrossingPointsBetweenPointAndSegment, getDirectionBetweenPointAndPoint, getDirectionByPointOfRectangle, getDirectionByVector, getDirectionFactor, getDirectionFactorByDirectionComponent, getElementOfFocusedImage, getElementsText, getExtendPoint, getFirstTextEditor, getFirstTextManage, getGraphPoints, getIndexByResizeHandle, getMemorizedLatest, getNextPoint, getOppositeDirection, getPointByVectorComponent, getPointByVectorDirectionComponent, getPointOnPolyline, getPoints, getRatioByPoint, getRectangleResizeHandleRefs, getResizeHandleByIndex, getResizeHandlePointByIndex, getRotatedResizeCursorClassByAngle, getSourceAndTargetOuterRectangle, getSymmetricHandleIndex, getTextEditors, getTextManages, getTextMarksByElement, getUnitVectorByPointAndPoint, hasAfterDraw, isCornerHandle, isDelete, isDndMode, isDrawingMode, isEdgeHandle, isEnterHotkey, isExpandHotkey, isPointOnSegment, isResizing, isResizingByCondition, isRotating, isSourceAndTargetIntersect, isSpaceHotkey, isTabHotkey, isVirtualKey, memorizeLatest, normalizeShapePoints, reduceRouteMargin, removeDuplicatePoints, removeElementOfFocusedImage, removeResizing, removeRotating, resetPointsAfterResize, rotateVector, rotateVectorAnti90, routeAdjust, selectImage, setCreationMode, setProperty, simplifyOrthogonalPoints, withGroup, withResize };
2019
+ export { AStar, ActiveGenerator, AlignTransform, BASE, BoardCreationMode, CommonElementFlavour, DEFAULT_ROUTE_MARGIN, ELEMENT_TO_TEXT_MANAGES, Generator, IS_RESIZING, IS_ROTATING, ImageBaseComponent, ImageGenerator, MediaKeys, PICTURE_ACCEPTED_UPLOAD_SIZE, PRIMARY_COLOR, PlaitCommonElementRef, PointGraph, PointNode, PriorityQueue, PropertyTransforms, RESIZE_HANDLE_DIAMETER, ROTATE_HANDLE_DISTANCE_TO_ELEMENT, ROTATE_HANDLE_SIZE, ResizeHandle, TRANSPARENT, TextTransforms, WithCommonPluginKey, WithTextPluginKey, acceptImageTypes, addElementOfFocusedImage, addResizing, addRotating, alignBottom, alignHorizontalCenter, alignLeft, alignRight, alignTop, alignVerticalCenter, buildImage, calculatePolylineLength, canResize, createGraph, distributeHorizontal, distributeVertical, drawFillPrimaryHandle, drawHandle, drawPrimaryHandle, drawRotateHandle, findFirstTextEditor, generateElbowLineRoute, getCreationMode, getCrossingPointsBetweenPointAndSegment, getDirectionBetweenPointAndPoint, getDirectionByPointOfRectangle, getDirectionByVector, getDirectionFactor, getDirectionFactorByDirectionComponent, getEditingTextEditor, getElementOfFocusedImage, getElementsText, getExtendPoint, getFirstTextEditor, getFirstTextManage, getGraphPoints, getIndexByResizeHandle, getMemorizedLatest, getNextPoint, getOppositeDirection, getPointByVectorComponent, getPointByVectorDirectionComponent, getPointOnPolyline, getPoints, getRatioByPoint, getRectangleResizeHandleRefs, getResizeHandleByIndex, getResizeHandlePointByIndex, getRotatedResizeCursorClassByAngle, getSourceAndTargetOuterRectangle, getSymmetricHandleIndex, getTextEditors, getTextEditorsByElement, getTextManages, getTextMarksByElement, getUnitVectorByPointAndPoint, hasAfterDraw, isCornerHandle, isDelete, isDndMode, isDrawingMode, isEdgeHandle, isEnterHotkey, isExpandHotkey, isPointOnSegment, isResizing, isResizingByCondition, isRotating, isSourceAndTargetIntersect, isSpaceHotkey, isTabHotkey, isVirtualKey, memorizeLatest, normalizeShapePoints, reduceRouteMargin, removeDuplicatePoints, removeElementOfFocusedImage, removeResizing, removeRotating, resetPointsAfterResize, rotateVector, rotateVectorAnti90, routeAdjust, selectImage, setCreationMode, setProperty, simplifyOrthogonalPoints, withGroup, withResize };
1985
2020
  //# sourceMappingURL=plait-common.mjs.map