@plait/mind 0.62.0-next.0 → 0.62.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,6 +2,7 @@ import { MindElement } from '../interfaces';
2
2
  import { createForeignObject, createG } from '@plait/core';
3
3
  import { getEmojiFontSize } from '../utils/space/emoji';
4
4
  import { getEmojiForeignRectangle } from '../utils/position/emoji';
5
+ export const FOREIGN_OBJECT_EMOJI_CLASS_NAME = 'foreign-object-emoji';
5
6
  class EmojiGenerator {
6
7
  constructor(board) {
7
8
  this.board = board;
@@ -37,6 +38,7 @@ export class NodeEmojisGenerator {
37
38
  this.g.classList.add('emojis');
38
39
  const foreignRectangle = getEmojiForeignRectangle(this.board, element);
39
40
  const foreignObject = createForeignObject(foreignRectangle.x, foreignRectangle.y, foreignRectangle.width, foreignRectangle.height);
41
+ foreignObject.classList.add(FOREIGN_OBJECT_EMOJI_CLASS_NAME);
40
42
  this.g.append(foreignObject);
41
43
  const container = document.createElement('div');
42
44
  container.classList.add('node-emojis-container');
@@ -58,4 +60,4 @@ export class NodeEmojisGenerator {
58
60
  this.emojiGenerators = [];
59
61
  }
60
62
  }
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1lbW9qaXMuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvZ2VuZXJhdG9ycy9ub2RlLWVtb2ppcy5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFjLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUluRSxNQUFNLGNBQWM7SUFHaEIsWUFBb0IsS0FBdUM7UUFBdkMsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFGM0Qsc0JBQWlCLEdBQTZCLElBQUksQ0FBQztJQUVXLENBQUM7SUFFL0QsSUFBSSxDQUFDLFNBQXFDLEVBQUUsS0FBZ0IsRUFBRSxPQUErQjtRQUN6RixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLEtBQUssR0FBZTtZQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsT0FBTztZQUNQLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7U0FDdEMsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO2FBQ3JCLFFBQUcsR0FBRyx1QkFBdUIsQUFBMUIsQ0FBMkI7SUFNckMsWUFBb0IsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFKekMsb0JBQWUsR0FBcUIsRUFBRSxDQUFDO0lBSUssQ0FBQztJQUU3QyxVQUFVLENBQUMsT0FBb0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsTUFBTSxnQkFBZ0IsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUNyQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQ2xCLGdCQUFnQixDQUFDLENBQUMsRUFDbEIsZ0JBQWdCLENBQUMsS0FBSyxFQUN0QixnQkFBZ0IsQ0FBQyxNQUFNLENBQzFCLENBQUM7WUFDRixJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUM3QixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2hELFNBQVMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLENBQUM7WUFDakQsYUFBYSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDdkQsTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUUsSUFBSSxDQUFDLEtBQXFELENBQUMsQ0FBQztnQkFDL0YsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUMzQyxPQUFPLE1BQU0sQ0FBQztZQUNsQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsQixDQUFDO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNULElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDcEIsQ0FBQztRQUNELElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVtb2ppRGF0YSwgRW1vamlJdGVtLCBNaW5kRWxlbWVudCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgUGxhaXRCb2FyZCwgY3JlYXRlRm9yZWlnbk9iamVjdCwgY3JlYXRlRyB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IGdldEVtb2ppRm9udFNpemUgfSBmcm9tICcuLi91dGlscy9zcGFjZS9lbW9qaSc7XG5pbXBvcnQgeyBnZXRFbW9qaUZvcmVpZ25SZWN0YW5nbGUgfSBmcm9tICcuLi91dGlscy9wb3NpdGlvbi9lbW9qaSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IEVtb2ppQ29tcG9uZW50UmVmLCBFbW9qaVByb3BzLCBQbGFpdE1pbmRFbW9qaUJvYXJkIH0gZnJvbSAnLi4vZW1vamkvd2l0aC1lbW9qaSc7XG5cbmNsYXNzIEVtb2ppR2VuZXJhdG9yIHtcbiAgICBlbW9qaUNvbXBvbmVudFJlZjogRW1vamlDb21wb25lbnRSZWYgfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYm9hcmQ6IFBsYWl0TWluZEVtb2ppQm9hcmQgJiBQbGFpdEJvYXJkKSB7fVxuXG4gICAgZHJhdyhjb250YWluZXI6IEVsZW1lbnQgfCBEb2N1bWVudEZyYWdtZW50LCBlbW9qaTogRW1vamlJdGVtLCBlbGVtZW50OiBNaW5kRWxlbWVudDxFbW9qaURhdGE+KSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgICBjb25zdCBwcm9wczogRW1vamlQcm9wcyA9IHtcbiAgICAgICAgICAgIGJvYXJkOiB0aGlzLmJvYXJkLFxuICAgICAgICAgICAgZW1vamlJdGVtOiBlbW9qaSxcbiAgICAgICAgICAgIGVsZW1lbnQsXG4gICAgICAgICAgICBmb250U2l6ZTogZ2V0RW1vamlGb250U2l6ZShlbGVtZW50KVxuICAgICAgICB9O1xuICAgICAgICB0aGlzLmVtb2ppQ29tcG9uZW50UmVmID0gdGhpcy5ib2FyZC5yZW5kZXJFbW9qaShjb250YWluZXIsIHByb3BzKTtcbiAgICB9XG5cbiAgICBkZXN0cm95KCkge1xuICAgICAgICBpZiAodGhpcy5lbW9qaUNvbXBvbmVudFJlZikge1xuICAgICAgICAgICAgdGhpcy5lbW9qaUNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmVtb2ppQ29tcG9uZW50UmVmID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIE5vZGVFbW9qaXNHZW5lcmF0b3Ige1xuICAgIHN0YXRpYyBrZXkgPSAnbm9kZS1lbW9qaXMtZ2VuZXJhdG9yJztcblxuICAgIGVtb2ppR2VuZXJhdG9yczogRW1vamlHZW5lcmF0b3JbXSA9IFtdO1xuXG4gICAgZz86IFNWR0dFbGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBib2FyZDogUGxhaXRNaW5kQm9hcmQpIHt9XG5cbiAgICBkcmF3RW1vamlzKGVsZW1lbnQ6IE1pbmRFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuZGVzdHJveSgpO1xuICAgICAgICBpZiAoTWluZEVsZW1lbnQuaGFzRW1vamlzKGVsZW1lbnQpKSB7XG4gICAgICAgICAgICB0aGlzLmcgPSBjcmVhdGVHKCk7XG4gICAgICAgICAgICB0aGlzLmcuY2xhc3NMaXN0LmFkZCgnZW1vamlzJyk7XG4gICAgICAgICAgICBjb25zdCBmb3JlaWduUmVjdGFuZ2xlID0gZ2V0RW1vamlGb3JlaWduUmVjdGFuZ2xlKHRoaXMuYm9hcmQsIGVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgZm9yZWlnbk9iamVjdCA9IGNyZWF0ZUZvcmVpZ25PYmplY3QoXG4gICAgICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS54LFxuICAgICAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUueSxcbiAgICAgICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLndpZHRoLFxuICAgICAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUuaGVpZ2h0XG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5nLmFwcGVuZChmb3JlaWduT2JqZWN0KTtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgICAgICAgY29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ25vZGUtZW1vamlzLWNvbnRhaW5lcicpO1xuICAgICAgICAgICAgZm9yZWlnbk9iamVjdC5hcHBlbmQoY29udGFpbmVyKTtcbiAgICAgICAgICAgIHRoaXMuZW1vamlHZW5lcmF0b3JzID0gZWxlbWVudC5kYXRhLmVtb2ppcy5tYXAoZW1vamlJdGVtID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBkcmF3ZXIgPSBuZXcgRW1vamlHZW5lcmF0b3IoKHRoaXMuYm9hcmQgYXMgdW5rbm93bikgYXMgUGxhaXRCb2FyZCAmIFBsYWl0TWluZEVtb2ppQm9hcmQpO1xuICAgICAgICAgICAgICAgIGRyYXdlci5kcmF3KGNvbnRhaW5lciwgZW1vamlJdGVtLCBlbGVtZW50KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZHJhd2VyO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZykge1xuICAgICAgICAgICAgdGhpcy5nLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZW1vamlHZW5lcmF0b3JzLmZvckVhY2goZHJhd2VyID0+IGRyYXdlci5kZXN0cm95KCkpO1xuICAgICAgICB0aGlzLmVtb2ppR2VuZXJhdG9ycyA9IFtdO1xuICAgIH1cbn1cbiJdfQ==
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS1lbW9qaXMuZ2VuZXJhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvZ2VuZXJhdG9ycy9ub2RlLWVtb2ppcy5nZW5lcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEUsT0FBTyxFQUFjLG1CQUFtQixFQUFFLE9BQU8sRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUluRSxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRyxzQkFBc0IsQ0FBQztBQUV0RSxNQUFNLGNBQWM7SUFHaEIsWUFBb0IsS0FBdUM7UUFBdkMsVUFBSyxHQUFMLEtBQUssQ0FBa0M7UUFGM0Qsc0JBQWlCLEdBQTZCLElBQUksQ0FBQztJQUVXLENBQUM7SUFFL0QsSUFBSSxDQUFDLFNBQXFDLEVBQUUsS0FBZ0IsRUFBRSxPQUErQjtRQUN6RixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDZixNQUFNLEtBQUssR0FBZTtZQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsT0FBTztZQUNQLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxPQUFPLENBQUM7U0FDdEMsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLENBQUM7SUFDTCxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8sbUJBQW1CO2FBQ3JCLFFBQUcsR0FBRyx1QkFBdUIsQUFBMUIsQ0FBMkI7SUFNckMsWUFBb0IsS0FBcUI7UUFBckIsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFKekMsb0JBQWUsR0FBcUIsRUFBRSxDQUFDO0lBSUssQ0FBQztJQUU3QyxVQUFVLENBQUMsT0FBb0I7UUFDM0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsSUFBSSxXQUFXLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDL0IsTUFBTSxnQkFBZ0IsR0FBRyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZFLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUNyQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQ2xCLGdCQUFnQixDQUFDLENBQUMsRUFDbEIsZ0JBQWdCLENBQUMsS0FBSyxFQUN0QixnQkFBZ0IsQ0FBQyxNQUFNLENBQzFCLENBQUM7WUFDRixhQUFhLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO1lBQzdELElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1lBQzdCLE1BQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEQsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsdUJBQXVCLENBQUMsQ0FBQztZQUNqRCxhQUFhLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxFQUFFO2dCQUN2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLGNBQWMsQ0FBRSxJQUFJLENBQUMsS0FBcUQsQ0FBQyxDQUFDO2dCQUMvRixNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7Z0JBQzNDLE9BQU8sTUFBTSxDQUFDO1lBQ2xCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ2xCLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBRUQsT0FBTztRQUNILElBQUksSUFBSSxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNwQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN6RCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW1vamlEYXRhLCBFbW9qaUl0ZW0sIE1pbmRFbGVtZW50IH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBQbGFpdEJvYXJkLCBjcmVhdGVGb3JlaWduT2JqZWN0LCBjcmVhdGVHIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgZ2V0RW1vamlGb250U2l6ZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlL2Vtb2ppJztcbmltcG9ydCB7IGdldEVtb2ppRm9yZWlnblJlY3RhbmdsZSB9IGZyb20gJy4uL3V0aWxzL3Bvc2l0aW9uL2Vtb2ppJztcbmltcG9ydCB7IFBsYWl0TWluZEJvYXJkIH0gZnJvbSAnLi4vcGx1Z2lucy93aXRoLW1pbmQuYm9hcmQnO1xuaW1wb3J0IHsgRW1vamlDb21wb25lbnRSZWYsIEVtb2ppUHJvcHMsIFBsYWl0TWluZEVtb2ppQm9hcmQgfSBmcm9tICcuLi9lbW9qaS93aXRoLWVtb2ppJztcblxuZXhwb3J0IGNvbnN0IEZPUkVJR05fT0JKRUNUX0VNT0pJX0NMQVNTX05BTUUgPSAnZm9yZWlnbi1vYmplY3QtZW1vamknO1xuXG5jbGFzcyBFbW9qaUdlbmVyYXRvciB7XG4gICAgZW1vamlDb21wb25lbnRSZWY6IEVtb2ppQ29tcG9uZW50UmVmIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGJvYXJkOiBQbGFpdE1pbmRFbW9qaUJvYXJkICYgUGxhaXRCb2FyZCkge31cblxuICAgIGRyYXcoY29udGFpbmVyOiBFbGVtZW50IHwgRG9jdW1lbnRGcmFnbWVudCwgZW1vamk6IEVtb2ppSXRlbSwgZWxlbWVudDogTWluZEVsZW1lbnQ8RW1vamlEYXRhPikge1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgY29uc3QgcHJvcHM6IEVtb2ppUHJvcHMgPSB7XG4gICAgICAgICAgICBib2FyZDogdGhpcy5ib2FyZCxcbiAgICAgICAgICAgIGVtb2ppSXRlbTogZW1vamksXG4gICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgZm9udFNpemU6IGdldEVtb2ppRm9udFNpemUoZWxlbWVudClcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5lbW9qaUNvbXBvbmVudFJlZiA9IHRoaXMuYm9hcmQucmVuZGVyRW1vamkoY29udGFpbmVyLCBwcm9wcyk7XG4gICAgfVxuXG4gICAgZGVzdHJveSgpIHtcbiAgICAgICAgaWYgKHRoaXMuZW1vamlDb21wb25lbnRSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuZW1vamlDb21wb25lbnRSZWYuZGVzdHJveSgpO1xuICAgICAgICAgICAgdGhpcy5lbW9qaUNvbXBvbmVudFJlZiA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBOb2RlRW1vamlzR2VuZXJhdG9yIHtcbiAgICBzdGF0aWMga2V5ID0gJ25vZGUtZW1vamlzLWdlbmVyYXRvcic7XG5cbiAgICBlbW9qaUdlbmVyYXRvcnM6IEVtb2ppR2VuZXJhdG9yW10gPSBbXTtcblxuICAgIGc/OiBTVkdHRWxlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYm9hcmQ6IFBsYWl0TWluZEJvYXJkKSB7fVxuXG4gICAgZHJhd0Vtb2ppcyhlbGVtZW50OiBNaW5kRWxlbWVudCkge1xuICAgICAgICB0aGlzLmRlc3Ryb3koKTtcbiAgICAgICAgaWYgKE1pbmRFbGVtZW50Lmhhc0Vtb2ppcyhlbGVtZW50KSkge1xuICAgICAgICAgICAgdGhpcy5nID0gY3JlYXRlRygpO1xuICAgICAgICAgICAgdGhpcy5nLmNsYXNzTGlzdC5hZGQoJ2Vtb2ppcycpO1xuICAgICAgICAgICAgY29uc3QgZm9yZWlnblJlY3RhbmdsZSA9IGdldEVtb2ppRm9yZWlnblJlY3RhbmdsZSh0aGlzLmJvYXJkLCBlbGVtZW50KTtcbiAgICAgICAgICAgIGNvbnN0IGZvcmVpZ25PYmplY3QgPSBjcmVhdGVGb3JlaWduT2JqZWN0KFxuICAgICAgICAgICAgICAgIGZvcmVpZ25SZWN0YW5nbGUueCxcbiAgICAgICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLnksXG4gICAgICAgICAgICAgICAgZm9yZWlnblJlY3RhbmdsZS53aWR0aCxcbiAgICAgICAgICAgICAgICBmb3JlaWduUmVjdGFuZ2xlLmhlaWdodFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGZvcmVpZ25PYmplY3QuY2xhc3NMaXN0LmFkZChGT1JFSUdOX09CSkVDVF9FTU9KSV9DTEFTU19OQU1FKTtcbiAgICAgICAgICAgIHRoaXMuZy5hcHBlbmQoZm9yZWlnbk9iamVjdCk7XG4gICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgIGNvbnRhaW5lci5jbGFzc0xpc3QuYWRkKCdub2RlLWVtb2ppcy1jb250YWluZXInKTtcbiAgICAgICAgICAgIGZvcmVpZ25PYmplY3QuYXBwZW5kKGNvbnRhaW5lcik7XG4gICAgICAgICAgICB0aGlzLmVtb2ppR2VuZXJhdG9ycyA9IGVsZW1lbnQuZGF0YS5lbW9qaXMubWFwKGVtb2ppSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgZHJhd2VyID0gbmV3IEVtb2ppR2VuZXJhdG9yKCh0aGlzLmJvYXJkIGFzIHVua25vd24pIGFzIFBsYWl0Qm9hcmQgJiBQbGFpdE1pbmRFbW9qaUJvYXJkKTtcbiAgICAgICAgICAgICAgICBkcmF3ZXIuZHJhdyhjb250YWluZXIsIGVtb2ppSXRlbSwgZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRyYXdlcjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLmcpIHtcbiAgICAgICAgICAgIHRoaXMuZy5yZW1vdmUoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVtb2ppR2VuZXJhdG9ycy5mb3JFYWNoKGRyYXdlciA9PiBkcmF3ZXIuZGVzdHJveSgpKTtcbiAgICAgICAgdGhpcy5lbW9qaUdlbmVyYXRvcnMgPSBbXTtcbiAgICB9XG59XG4iXX0=
@@ -1584,6 +1584,7 @@ function drawLink(board, parentNode, node, isHorizontal, needDrawUnderline, defa
1584
1584
  : drawLogicLink(board, parentNode, node, isHorizontal, defaultStroke, defaultStrokeWidth);
1585
1585
  }
1586
1586
 
1587
+ const FOREIGN_OBJECT_EMOJI_CLASS_NAME = 'foreign-object-emoji';
1587
1588
  class EmojiGenerator {
1588
1589
  constructor(board) {
1589
1590
  this.board = board;
@@ -1619,6 +1620,7 @@ class NodeEmojisGenerator {
1619
1620
  this.g.classList.add('emojis');
1620
1621
  const foreignRectangle = getEmojiForeignRectangle(this.board, element);
1621
1622
  const foreignObject = createForeignObject(foreignRectangle.x, foreignRectangle.y, foreignRectangle.width, foreignRectangle.height);
1623
+ foreignObject.classList.add(FOREIGN_OBJECT_EMOJI_CLASS_NAME);
1622
1624
  this.g.append(foreignObject);
1623
1625
  const container = document.createElement('div');
1624
1626
  container.classList.add('node-emojis-container');