@plait/mind 0.76.0 → 0.77.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.
@@ -9,3 +9,6 @@ export declare const QUICK_INSERT_CIRCLE_OFFSET = 9;
9
9
  export declare const QUICK_INSERT_CIRCLE_COLOR = "#6698FF";
10
10
  export declare const QUICK_INSERT_INNER_CROSS_COLOR = "white";
11
11
  export declare const DEFAULT_MIND_IMAGE_WIDTH = 240;
12
+ export declare enum MindI18nKey {
13
+ mindCentralText = "mind-center-text"
14
+ }
@@ -1,7 +1,5 @@
1
1
  export declare const TOPIC_FONT_SIZE = 14;
2
2
  export declare const ROOT_TOPIC_FONT_SIZE = 18;
3
- export declare const ROOT_TOPIC_HEIGHT = 25;
4
- export declare const ROOT_TOPIC_WIDTH = 72;
5
3
  export declare const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
6
4
  export declare const DEFAULT_FONT_FAMILY = "PingFangSC-Regular, \"PingFang SC\"";
7
5
  export declare const BRANCH_FONT_FAMILY = "PingFangSC-Medium, \"PingFang SC\"";
@@ -9,4 +9,8 @@ export const QUICK_INSERT_CIRCLE_OFFSET = 9;
9
9
  export const QUICK_INSERT_CIRCLE_COLOR = '#6698FF';
10
10
  export const QUICK_INSERT_INNER_CROSS_COLOR = 'white';
11
11
  export const DEFAULT_MIND_IMAGE_WIDTH = 240;
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2NvbnN0YW50cy9kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFFOUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQztBQUM1QyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxTQUFTLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsT0FBTyxDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBXaXRoTWluZFBsdWdpbktleSA9ICdwbGFpdC1taW5kLXBsdWdpbi1rZXknO1xuXG5leHBvcnQgY29uc3QgQkFTRSA9IDQ7XG5leHBvcnQgY29uc3QgUFJJTUFSWV9DT0xPUiA9ICcjNjY5OEZGJztcbmV4cG9ydCBjb25zdCBHUkFZX0NPTE9SID0gJyNBQUFBQUEnO1xuZXhwb3J0IGNvbnN0IFNUUk9LRV9XSURUSCA9IDM7XG5cbmV4cG9ydCBjb25zdCBFWFRFTkRfT0ZGU0VUID0gODtcbmV4cG9ydCBjb25zdCBFWFRFTkRfRElBTUVURVIgPSAxNjtcblxuZXhwb3J0IGNvbnN0IFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUID0gOTtcbmV4cG9ydCBjb25zdCBRVUlDS19JTlNFUlRfQ0lSQ0xFX0NPTE9SID0gJyM2Njk4RkYnO1xuZXhwb3J0IGNvbnN0IFFVSUNLX0lOU0VSVF9JTk5FUl9DUk9TU19DT0xPUiA9ICd3aGl0ZSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01JTkRfSU1BR0VfV0lEVEggPSAyNDA7XG4iXX0=
12
+ export var MindI18nKey;
13
+ (function (MindI18nKey) {
14
+ MindI18nKey["mindCentralText"] = "mind-center-text";
15
+ })(MindI18nKey || (MindI18nKey = {}));
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2NvbnN0YW50cy9kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHVCQUF1QixDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLElBQUksR0FBRyxDQUFDLENBQUM7QUFDdEIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQztBQUN2QyxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFDO0FBQ3BDLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxDQUFDLENBQUM7QUFFOUIsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQztBQUMvQixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFDO0FBRWxDLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLENBQUMsQ0FBQztBQUM1QyxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxTQUFTLENBQUM7QUFDbkQsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUcsT0FBTyxDQUFDO0FBRXRELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLEdBQUcsQ0FBQztBQUU1QyxNQUFNLENBQU4sSUFBWSxXQUVYO0FBRkQsV0FBWSxXQUFXO0lBQ25CLG1EQUFvQyxDQUFBO0FBQ3hDLENBQUMsRUFGVyxXQUFXLEtBQVgsV0FBVyxRQUV0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBXaXRoTWluZFBsdWdpbktleSA9ICdwbGFpdC1taW5kLXBsdWdpbi1rZXknO1xuXG5leHBvcnQgY29uc3QgQkFTRSA9IDQ7XG5leHBvcnQgY29uc3QgUFJJTUFSWV9DT0xPUiA9ICcjNjY5OEZGJztcbmV4cG9ydCBjb25zdCBHUkFZX0NPTE9SID0gJyNBQUFBQUEnO1xuZXhwb3J0IGNvbnN0IFNUUk9LRV9XSURUSCA9IDM7XG5cbmV4cG9ydCBjb25zdCBFWFRFTkRfT0ZGU0VUID0gODtcbmV4cG9ydCBjb25zdCBFWFRFTkRfRElBTUVURVIgPSAxNjtcblxuZXhwb3J0IGNvbnN0IFFVSUNLX0lOU0VSVF9DSVJDTEVfT0ZGU0VUID0gOTtcbmV4cG9ydCBjb25zdCBRVUlDS19JTlNFUlRfQ0lSQ0xFX0NPTE9SID0gJyM2Njk4RkYnO1xuZXhwb3J0IGNvbnN0IFFVSUNLX0lOU0VSVF9JTk5FUl9DUk9TU19DT0xPUiA9ICd3aGl0ZSc7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX01JTkRfSU1BR0VfV0lEVEggPSAyNDA7XG5cbmV4cG9ydCBlbnVtIE1pbmRJMThuS2V5IHtcbiAgICBtaW5kQ2VudHJhbFRleHQgPSAnbWluZC1jZW50ZXItdGV4dCdcbn0iXX0=
@@ -1,11 +1,9 @@
1
1
  export const TOPIC_FONT_SIZE = 14;
2
2
  export const ROOT_TOPIC_FONT_SIZE = 18;
3
- export const ROOT_TOPIC_HEIGHT = 25;
4
- export const ROOT_TOPIC_WIDTH = 72;
5
3
  export const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
6
4
  export const DEFAULT_FONT_FAMILY = 'PingFangSC-Regular, "PingFang SC"';
7
5
  export const BRANCH_FONT_FAMILY = 'PingFangSC-Medium, "PingFang SC"';
8
6
  export const NodeTopicThreshold = {
9
7
  defaultTextMaxWidth: 34 * 14
10
8
  };
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10b3BpYy1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2NvbnN0YW50cy9ub2RlLXRvcGljLXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztBQUVwQyxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsRUFBRSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLG1DQUFtQyxDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGtDQUFrQyxDQUFDO0FBRXJFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHO0lBQzlCLG1CQUFtQixFQUFFLEVBQUUsR0FBRyxFQUFFO0NBQy9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgVE9QSUNfRk9OVF9TSVpFID0gMTQ7XG5cbmV4cG9ydCBjb25zdCBST09UX1RPUElDX0ZPTlRfU0laRSA9IDE4O1xuXG5leHBvcnQgY29uc3QgUk9PVF9UT1BJQ19IRUlHSFQgPSAyNTtcblxuZXhwb3J0IGNvbnN0IFJPT1RfVE9QSUNfV0lEVEggPSA3MjtcblxuZXhwb3J0IGNvbnN0IFRPUElDX0RFRkFVTFRfTUFYX1dPUkRfQ09VTlQgPSAzNDtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRk9OVF9GQU1JTFkgPSAnUGluZ0ZhbmdTQy1SZWd1bGFyLCBcIlBpbmdGYW5nIFNDXCInO1xuXG5leHBvcnQgY29uc3QgQlJBTkNIX0ZPTlRfRkFNSUxZID0gJ1BpbmdGYW5nU0MtTWVkaXVtLCBcIlBpbmdGYW5nIFNDXCInO1xuXG5leHBvcnQgY29uc3QgTm9kZVRvcGljVGhyZXNob2xkID0ge1xuICAgIGRlZmF1bHRUZXh0TWF4V2lkdGg6IDM0ICogMTRcbn07XG4iXX0=
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9kZS10b3BpYy1zdHlsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21pbmQvc3JjL2NvbnN0YW50cy9ub2RlLXRvcGljLXN0eWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxFQUFFLENBQUM7QUFFbEMsTUFBTSxDQUFDLE1BQU0sb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLEVBQUUsQ0FBQztBQUUvQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxtQ0FBbUMsQ0FBQztBQUV2RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxrQ0FBa0MsQ0FBQztBQUVyRSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUM5QixtQkFBbUIsRUFBRSxFQUFFLEdBQUcsRUFBRTtDQUMvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRPUElDX0ZPTlRfU0laRSA9IDE0O1xuXG5leHBvcnQgY29uc3QgUk9PVF9UT1BJQ19GT05UX1NJWkUgPSAxODtcblxuZXhwb3J0IGNvbnN0IFRPUElDX0RFRkFVTFRfTUFYX1dPUkRfQ09VTlQgPSAzNDtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfRk9OVF9GQU1JTFkgPSAnUGluZ0ZhbmdTQy1SZWd1bGFyLCBcIlBpbmdGYW5nIFNDXCInO1xuXG5leHBvcnQgY29uc3QgQlJBTkNIX0ZPTlRfRkFNSUxZID0gJ1BpbmdGYW5nU0MtTWVkaXVtLCBcIlBpbmdGYW5nIFNDXCInO1xuXG5leHBvcnQgY29uc3QgTm9kZVRvcGljVGhyZXNob2xkID0ge1xuICAgIGRlZmF1bHRUZXh0TWF4V2lkdGg6IDM0ICogMTRcbn07XG4iXX0=
@@ -6,10 +6,10 @@ import { AbstractNode, getNonAbstractChildren } from '@plait/layouts';
6
6
  import { getRelativeStartEndByAbstractRef, getOverallAbstracts, getValidAbstractRefs } from './abstract/common';
7
7
  import { createMindElement } from './node/create-node';
8
8
  import { adjustAbstractToNode, adjustNodeToRoot, adjustRootToNode } from './node/adjust-node';
9
- import { BRANCH_FONT_FAMILY, DEFAULT_FONT_FAMILY, ROOT_TOPIC_FONT_SIZE, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE } from '../constants/node-topic-style';
10
9
  import { findNewChildNodePath } from './path';
11
10
  import { getFontSizeBySlateElement } from './space/node-space';
12
- import { buildText, measureElement } from '@plait/common';
11
+ import { buildText } from '@plait/common';
12
+ import { getTopicSize } from './common';
13
13
  export const buildClipboardData = (board, selectedElements, startPoint) => {
14
14
  let result = [];
15
15
  // get overall abstract
@@ -17,15 +17,15 @@ export const buildClipboardData = (board, selectedElements, startPoint) => {
17
17
  // get valid abstract refs
18
18
  const validAbstractRefs = getValidAbstractRefs(board, [...selectedElements, ...overallAbstracts]);
19
19
  // keep correct order
20
- const newSelectedElements = selectedElements.filter(value => !validAbstractRefs.find(ref => ref.abstract === value));
21
- newSelectedElements.push(...validAbstractRefs.map(value => value.abstract));
22
- const selectedMindNodes = newSelectedElements.map(value => MindElement.getNode(value));
20
+ const newSelectedElements = selectedElements.filter((value) => !validAbstractRefs.find((ref) => ref.abstract === value));
21
+ newSelectedElements.push(...validAbstractRefs.map((value) => value.abstract));
22
+ const selectedMindNodes = newSelectedElements.map((value) => MindElement.getNode(value));
23
23
  newSelectedElements.forEach((element, index) => {
24
24
  // handle relative location
25
25
  const nodeRectangle = getRectangleByNode(selectedMindNodes[index]);
26
26
  const points = [[nodeRectangle.x - startPoint[0], nodeRectangle.y - startPoint[1]]];
27
27
  // handle invalid abstract
28
- const abstractRef = validAbstractRefs.find(ref => ref.abstract === element);
28
+ const abstractRef = validAbstractRefs.find((ref) => ref.abstract === element);
29
29
  if (AbstractNode.isAbstract(element) && abstractRef) {
30
30
  const { start, end } = getRelativeStartEndByAbstractRef(abstractRef, newSelectedElements);
31
31
  result.push({
@@ -105,17 +105,4 @@ export const insertClipboardText = (board, targetParent, text) => {
105
105
  export const getTopicSizeByElement = (element, parentElement) => {
106
106
  return getTopicSize(PlaitMind.isMind(element), (parentElement && PlaitMind.isMind(parentElement)) || false, element.data.topic, element.manualWidth);
107
107
  };
108
- export const getTopicSize = (isRoot, isBranch, topic, manualWidth) => {
109
- let fontFamily = DEFAULT_FONT_FAMILY;
110
- let fontSize = TOPIC_FONT_SIZE;
111
- if (isRoot) {
112
- fontFamily = BRANCH_FONT_FAMILY;
113
- fontSize = ROOT_TOPIC_FONT_SIZE;
114
- }
115
- else if (isBranch) {
116
- fontFamily = BRANCH_FONT_FAMILY;
117
- }
118
- const maxWidth = fontSize * TOPIC_DEFAULT_MAX_WORD_COUNT;
119
- return measureElement(topic, { fontSize, fontFamily }, manualWidth ? manualWidth : maxWidth);
120
- };
121
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvY2xpcGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBUSxVQUFVLEVBQXVCLFVBQVUsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNySSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RixPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixvQkFBb0IsRUFDcEIsNEJBQTRCLEVBQzVCLGVBQWUsRUFDbEIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRTVFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBaUIsRUFBRSxnQkFBK0IsRUFBRSxVQUFpQixFQUFFLEVBQUU7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O0lBQy9CLElBQUksTUFBTSxFQUFFLENBQUM7UUFDVCxVQUFVLEdBQUcsa0JBQWtCLENBQUM7UUFDaEMsUUFBUSxHQUFHLG9CQUFvQixDQUFDO0lBQ3BDLENBQUM7U0FBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsUUFBUSxHQUFHLDRCQUE0QixDQUFDO0lBQ3pELE9BQU8sY0FBYyxDQUNqQixLQUFLLEVBQ0wsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEVBQ3hCLFdBQVcsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQ3ZDLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRTZWxlY3RlZEVsZW1lbnRzLCBQYXRoLCBQbGFpdEJvYXJkLCBQbGFpdEVsZW1lbnQsIFBvaW50LCBUcmFuc2Zvcm1zLCBXcml0YWJsZUNsaXBib2FyZE9wZXJhdGlvblR5cGUgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kRWxlbWVudCwgUGxhaXRNaW5kIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBjb3B5TmV3Tm9kZSB9IGZyb20gJy4vbWluZCc7XG5pbXBvcnQgeyBnZXRSZWN0YW5nbGVCeU5vZGUgfSBmcm9tICcuL3Bvc2l0aW9uL25vZGUnO1xuaW1wb3J0IHsgQWJzdHJhY3ROb2RlLCBnZXROb25BYnN0cmFjdENoaWxkcmVuIH0gZnJvbSAnQHBsYWl0L2xheW91dHMnO1xuaW1wb3J0IHsgZ2V0UmVsYXRpdmVTdGFydEVuZEJ5QWJzdHJhY3RSZWYsIGdldE92ZXJhbGxBYnN0cmFjdHMsIGdldFZhbGlkQWJzdHJhY3RSZWZzIH0gZnJvbSAnLi9hYnN0cmFjdC9jb21tb24nO1xuaW1wb3J0IHsgY3JlYXRlTWluZEVsZW1lbnQgfSBmcm9tICcuL25vZGUvY3JlYXRlLW5vZGUnO1xuaW1wb3J0IHsgYWRqdXN0QWJzdHJhY3RUb05vZGUsIGFkanVzdE5vZGVUb1Jvb3QsIGFkanVzdFJvb3RUb05vZGUgfSBmcm9tICcuL25vZGUvYWRqdXN0LW5vZGUnO1xuaW1wb3J0IHsgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7XG4gICAgQlJBTkNIX0ZPTlRfRkFNSUxZLFxuICAgIERFRkFVTFRfRk9OVF9GQU1JTFksXG4gICAgUk9PVF9UT1BJQ19GT05UX1NJWkUsXG4gICAgVE9QSUNfREVGQVVMVF9NQVhfV09SRF9DT1VOVCxcbiAgICBUT1BJQ19GT05UX1NJWkVcbn0gZnJvbSAnLi4vY29uc3RhbnRzL25vZGUtdG9waWMtc3R5bGUnO1xuaW1wb3J0IHsgZmluZE5ld0NoaWxkTm9kZVBhdGggfSBmcm9tICcuL3BhdGgnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBnZXRGb250U2l6ZUJ5U2xhdGVFbGVtZW50IH0gZnJvbSAnLi9zcGFjZS9ub2RlLXNwYWNlJztcbmltcG9ydCB7IGJ1aWxkVGV4dCwgbWVhc3VyZUVsZW1lbnQsIFBhcmFncmFwaEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IGJ1aWxkQ2xpcGJvYXJkRGF0YSA9IChib2FyZDogUGxhaXRCb2FyZCwgc2VsZWN0ZWRFbGVtZW50czogTWluZEVsZW1lbnRbXSwgc3RhcnRQb2ludDogUG9pbnQpID0+IHtcbiAgICBsZXQgcmVzdWx0OiBNaW5kRWxlbWVudFtdID0gW107XG5cbiAgICAvLyBnZXQgb3ZlcmFsbCBhYnN0cmFjdFxuICAgIGNvbnN0IG92ZXJhbGxBYnN0cmFjdHMgPSBnZXRPdmVyYWxsQWJzdHJhY3RzKGJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzKSBhcyBNaW5kRWxlbWVudFtdO1xuICAgIC8vIGdldCB2YWxpZCBhYnN0cmFjdCByZWZzXG4gICAgY29uc3QgdmFsaWRBYnN0cmFjdFJlZnMgPSBnZXRWYWxpZEFic3RyYWN0UmVmcyhib2FyZCwgWy4uLnNlbGVjdGVkRWxlbWVudHMsIC4uLm92ZXJhbGxBYnN0cmFjdHNdKTtcblxuICAgIC8vIGtlZXAgY29ycmVjdCBvcmRlclxuICAgIGNvbnN0IG5ld1NlbGVjdGVkRWxlbWVudHMgPSBzZWxlY3RlZEVsZW1lbnRzLmZpbHRlcih2YWx1ZSA9PiAhdmFsaWRBYnN0cmFjdFJlZnMuZmluZChyZWYgPT4gcmVmLmFic3RyYWN0ID09PSB2YWx1ZSkpO1xuICAgIG5ld1NlbGVjdGVkRWxlbWVudHMucHVzaCguLi52YWxpZEFic3RyYWN0UmVmcy5tYXAodmFsdWUgPT4gdmFsdWUuYWJzdHJhY3QpKTtcblxuICAgIGNvbnN0IHNlbGVjdGVkTWluZE5vZGVzID0gbmV3U2VsZWN0ZWRFbGVtZW50cy5tYXAodmFsdWUgPT4gTWluZEVsZW1lbnQuZ2V0Tm9kZSh2YWx1ZSkpO1xuICAgIG5ld1NlbGVjdGVkRWxlbWVudHMuZm9yRWFjaCgoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICAgICAgLy8gaGFuZGxlIHJlbGF0aXZlIGxvY2F0aW9uXG4gICAgICAgIGNvbnN0IG5vZGVSZWN0YW5nbGUgPSBnZXRSZWN0YW5nbGVCeU5vZGUoc2VsZWN0ZWRNaW5kTm9kZXNbaW5kZXhdKTtcbiAgICAgICAgY29uc3QgcG9pbnRzID0gW1tub2RlUmVjdGFuZ2xlLnggLSBzdGFydFBvaW50WzBdLCBub2RlUmVjdGFuZ2xlLnkgLSBzdGFydFBvaW50WzFdXV0gYXMgUG9pbnRbXTtcblxuICAgICAgICAvLyBoYW5kbGUgaW52YWxpZCBhYnN0cmFjdFxuICAgICAgICBjb25zdCBhYnN0cmFjdFJlZiA9IHZhbGlkQWJzdHJhY3RSZWZzLmZpbmQocmVmID0+IHJlZi5hYnN0cmFjdCA9PT0gZWxlbWVudCk7XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSAmJiBhYnN0cmFjdFJlZikge1xuICAgICAgICAgICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZihhYnN0cmFjdFJlZiwgbmV3U2VsZWN0ZWRFbGVtZW50cyk7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgZW5kXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdFbGVtZW50ID0geyAuLi5lbGVtZW50LCBwb2ludHMgfSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICBkZWxldGUgbmV3RWxlbWVudC5zdGFydDtcbiAgICAgICAgICAgICAgICBkZWxldGUgbmV3RWxlbWVudC5lbmQ7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3RWxlbWVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBwb2ludHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Q2xpcGJvYXJkRGF0YSA9IChcbiAgICBib2FyZDogUGxhaXRNaW5kQm9hcmQsXG4gICAgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdLFxuICAgIHRhcmdldFBvaW50OiBQb2ludCxcbiAgICBvcGVyYXRpb25UeXBlPzogV3JpdGFibGVDbGlwYm9hcmRPcGVyYXRpb25UeXBlXG4pID0+IHtcbiAgICBsZXQgbmV3RWxlbWVudDogTWluZEVsZW1lbnQsIHBhdGg6IFBhdGg7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGxldCBuZXdFTGVtZW50czogUGxhaXRFbGVtZW50W10gPSBbXTtcblxuICAgIGNvbnN0IGhhc1RhcmdldFBhcmVudCA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxO1xuICAgIGNvbnN0IHRhcmdldFBhcmVudCA9IHNlbGVjdGVkRWxlbWVudHNbMF07XG4gICAgY29uc3QgdGFyZ2V0UGFyZW50UGF0aCA9IHRhcmdldFBhcmVudCAmJiBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCB0YXJnZXRQYXJlbnQpO1xuICAgIGNvbnN0IG5vbkFic3RyYWN0Q2hpbGRyZW5MZW5ndGggPSB0YXJnZXRQYXJlbnQgJiYgZ2V0Tm9uQWJzdHJhY3RDaGlsZHJlbih0YXJnZXRQYXJlbnQpLmxlbmd0aDtcblxuICAgIGVsZW1lbnRzLmZvckVhY2goKGl0ZW06IFBsYWl0RWxlbWVudCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBuZXdFbGVtZW50ID0gY29weU5ld05vZGUoaXRlbSBhcyBNaW5kRWxlbWVudCk7XG4gICAgICAgIGlmIChoYXNUYXJnZXRQYXJlbnQgJiYgb3BlcmF0aW9uVHlwZSAhPT0gV3JpdGFibGVDbGlwYm9hcmRPcGVyYXRpb25UeXBlLmR1cGxpY2F0ZSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaXNSb290KSB7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IGFkanVzdFJvb3RUb05vZGUoYm9hcmQsIG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZ2V0VG9waWNTaXplQnlFbGVtZW50KG5ld0VsZW1lbnQsIHRhcmdldFBhcmVudCBhcyBNaW5kRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudC53aWR0aCA9IHdpZHRoO1xuICAgICAgICAgICAgICAgIG5ld0VsZW1lbnQuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaGFuZGxlIGFic3RyYWN0IHN0YXJ0IGFuZCBlbmRcbiAgICAgICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChuZXdFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIG5ld0VsZW1lbnQuc3RhcnQgPSBuZXdFbGVtZW50LnN0YXJ0ICsgbm9uQWJzdHJhY3RDaGlsZHJlbkxlbmd0aDtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LmVuZCA9IG5ld0VsZW1lbnQuZW5kICsgbm9uQWJzdHJhY3RDaGlsZHJlbkxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGggPSBbLi4udGFyZ2V0UGFyZW50UGF0aCwgbm9uQWJzdHJhY3RDaGlsZHJlbkxlbmd0aCArIGluZGV4XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50OiBQb2ludCA9IFt0YXJnZXRQb2ludFswXSArIGl0ZW0ucG9pbnRzIVswXVswXSwgdGFyZ2V0UG9pbnRbMV0gKyBpdGVtLnBvaW50cyFbMF1bMV1dO1xuICAgICAgICAgICAgbmV3RWxlbWVudC5wb2ludHMgPSBbcG9pbnRdO1xuICAgICAgICAgICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IGFkanVzdEFic3RyYWN0VG9Ob2RlKG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpdGVtLmlzUm9vdCkge1xuICAgICAgICAgICAgICAgIG5ld0VsZW1lbnQgPSBhZGp1c3ROb2RlVG9Sb290KGJvYXJkLCBuZXdFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldFRvcGljU2l6ZUJ5RWxlbWVudChuZXdFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LndpZHRoID0gd2lkdGg7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudC5oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXRoID0gW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF07XG4gICAgICAgIH1cbiAgICAgICAgbmV3RUxlbWVudHMucHVzaChuZXdFbGVtZW50KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH0pO1xuICAgIFRyYW5zZm9ybXMuYWRkU2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkLCBuZXdFTGVtZW50cyk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Q2xpcGJvYXJkVGV4dCA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIHRhcmdldFBhcmVudDogUGxhaXRFbGVtZW50LCB0ZXh0OiBzdHJpbmcgfCBFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRUb3BpY1NpemUoZmFsc2UsIFBsYWl0TWluZC5pc01pbmQodGFyZ2V0UGFyZW50KSwgYnVpbGRUZXh0KHRleHQpKTtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0gY3JlYXRlTWluZEVsZW1lbnQodGV4dCwgTWF0aC5tYXgod2lkdGgsIGdldEZvbnRTaXplQnlTbGF0ZUVsZW1lbnQodGV4dCkpLCBoZWlnaHQsIHt9KTtcbiAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIGZpbmROZXdDaGlsZE5vZGVQYXRoKGJvYXJkLCB0YXJnZXRQYXJlbnQpKTtcbiAgICBUcmFuc2Zvcm1zLmFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgW25ld0VsZW1lbnRdKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUb3BpY1NpemVCeUVsZW1lbnQgPSAoZWxlbWVudDogTWluZEVsZW1lbnQsIHBhcmVudEVsZW1lbnQ/OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIHJldHVybiBnZXRUb3BpY1NpemUoXG4gICAgICAgIFBsYWl0TWluZC5pc01pbmQoZWxlbWVudCksXG4gICAgICAgIChwYXJlbnRFbGVtZW50ICYmIFBsYWl0TWluZC5pc01pbmQocGFyZW50RWxlbWVudCkpIHx8IGZhbHNlLFxuICAgICAgICBlbGVtZW50LmRhdGEudG9waWMsXG4gICAgICAgIGVsZW1lbnQubWFudWFsV2lkdGhcbiAgICApO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFRvcGljU2l6ZSA9IChpc1Jvb3Q6IGJvb2xlYW4sIGlzQnJhbmNoOiBib29sZWFuLCB0b3BpYzogUGFyYWdyYXBoRWxlbWVudCwgbWFudWFsV2lkdGg/OiBudW1iZXIpID0+IHtcbiAgICBsZXQgZm9udEZhbWlseSA9IERFRkFVTFRfRk9OVF9GQU1JTFk7XG4gICAgbGV0IGZvbnRTaXplID0gVE9QSUNfRk9OVF9TSVpFO1xuICAgIGlmIChpc1Jvb3QpIHtcbiAgICAgICAgZm9udEZhbWlseSA9IEJSQU5DSF9GT05UX0ZBTUlMWTtcbiAgICAgICAgZm9udFNpemUgPSBST09UX1RPUElDX0ZPTlRfU0laRTtcbiAgICB9IGVsc2UgaWYgKGlzQnJhbmNoKSB7XG4gICAgICAgIGZvbnRGYW1pbHkgPSBCUkFOQ0hfRk9OVF9GQU1JTFk7XG4gICAgfVxuICAgIGNvbnN0IG1heFdpZHRoID0gZm9udFNpemUgKiBUT1BJQ19ERUZBVUxUX01BWF9XT1JEX0NPVU5UO1xuICAgIHJldHVybiBtZWFzdXJlRWxlbWVudChcbiAgICAgICAgdG9waWMsXG4gICAgICAgIHsgZm9udFNpemUsIGZvbnRGYW1pbHkgfSxcbiAgICAgICAgbWFudWFsV2lkdGggPyBtYW51YWxXaWR0aCA6IG1heFdpZHRoXG4gICAgKTtcbn07XG4iXX0=
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpcGJvYXJkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvY2xpcGJvYXJkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxtQkFBbUIsRUFBUSxVQUFVLEVBQXVCLFVBQVUsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNySSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNoSCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsS0FBaUIsRUFBRSxnQkFBK0IsRUFBRSxVQUFpQixFQUFFLEVBQUU7SUFDeEcsSUFBSSxNQUFNLEdBQWtCLEVBQUUsQ0FBQztJQUUvQix1QkFBdUI7SUFDdkIsTUFBTSxnQkFBZ0IsR0FB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QUFFLFlBQTBCLEVBQUUsSUFBc0IsRUFBRSxFQUFFO0lBQzdHLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQy9GLE1BQU0sVUFBVSxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztJQUN6RyxVQUFVLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxVQUFVLEVBQUUsb0JBQW9CLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUM7SUFDcEYsVUFBVSxDQUFDLGlDQUFpQyxDQUFDLEtBQUssRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7QUFDdEUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxPQUFvQixFQUFFLGFBQTJCLEVBQUUsRUFBRTtJQUN2RixPQUFPLFlBQVksQ0FDZixTQUFTLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUN6QixDQUFDLGFBQWEsSUFBSSxTQUFTLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUMzRCxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssRUFDbEIsT0FBTyxDQUFDLFdBQVcsQ0FDdEIsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFNlbGVjdGVkRWxlbWVudHMsIFBhdGgsIFBsYWl0Qm9hcmQsIFBsYWl0RWxlbWVudCwgUG9pbnQsIFRyYW5zZm9ybXMsIFdyaXRhYmxlQ2xpcGJvYXJkT3BlcmF0aW9uVHlwZSB9IGZyb20gJ0BwbGFpdC9jb3JlJztcbmltcG9ydCB7IE1pbmRFbGVtZW50LCBQbGFpdE1pbmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IGNvcHlOZXdOb2RlIH0gZnJvbSAnLi9taW5kJztcbmltcG9ydCB7IGdldFJlY3RhbmdsZUJ5Tm9kZSB9IGZyb20gJy4vcG9zaXRpb24vbm9kZSc7XG5pbXBvcnQgeyBBYnN0cmFjdE5vZGUsIGdldE5vbkFic3RyYWN0Q2hpbGRyZW4gfSBmcm9tICdAcGxhaXQvbGF5b3V0cyc7XG5pbXBvcnQgeyBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZiwgZ2V0T3ZlcmFsbEFic3RyYWN0cywgZ2V0VmFsaWRBYnN0cmFjdFJlZnMgfSBmcm9tICcuL2Fic3RyYWN0L2NvbW1vbic7XG5pbXBvcnQgeyBjcmVhdGVNaW5kRWxlbWVudCB9IGZyb20gJy4vbm9kZS9jcmVhdGUtbm9kZSc7XG5pbXBvcnQgeyBhZGp1c3RBYnN0cmFjdFRvTm9kZSwgYWRqdXN0Tm9kZVRvUm9vdCwgYWRqdXN0Um9vdFRvTm9kZSB9IGZyb20gJy4vbm9kZS9hZGp1c3Qtbm9kZSc7XG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgZmluZE5ld0NoaWxkTm9kZVBhdGggfSBmcm9tICcuL3BhdGgnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBnZXRGb250U2l6ZUJ5U2xhdGVFbGVtZW50IH0gZnJvbSAnLi9zcGFjZS9ub2RlLXNwYWNlJztcbmltcG9ydCB7IGJ1aWxkVGV4dCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgZ2V0VG9waWNTaXplIH0gZnJvbSAnLi9jb21tb24nO1xuXG5leHBvcnQgY29uc3QgYnVpbGRDbGlwYm9hcmREYXRhID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBzZWxlY3RlZEVsZW1lbnRzOiBNaW5kRWxlbWVudFtdLCBzdGFydFBvaW50OiBQb2ludCkgPT4ge1xuICAgIGxldCByZXN1bHQ6IE1pbmRFbGVtZW50W10gPSBbXTtcblxuICAgIC8vIGdldCBvdmVyYWxsIGFic3RyYWN0XG4gICAgY29uc3Qgb3ZlcmFsbEFic3RyYWN0cyA9IGdldE92ZXJhbGxBYnN0cmFjdHMoYm9hcmQsIHNlbGVjdGVkRWxlbWVudHMpIGFzIE1pbmRFbGVtZW50W107XG4gICAgLy8gZ2V0IHZhbGlkIGFic3RyYWN0IHJlZnNcbiAgICBjb25zdCB2YWxpZEFic3RyYWN0UmVmcyA9IGdldFZhbGlkQWJzdHJhY3RSZWZzKGJvYXJkLCBbLi4uc2VsZWN0ZWRFbGVtZW50cywgLi4ub3ZlcmFsbEFic3RyYWN0c10pO1xuXG4gICAgLy8ga2VlcCBjb3JyZWN0IG9yZGVyXG4gICAgY29uc3QgbmV3U2VsZWN0ZWRFbGVtZW50cyA9IHNlbGVjdGVkRWxlbWVudHMuZmlsdGVyKCh2YWx1ZSkgPT4gIXZhbGlkQWJzdHJhY3RSZWZzLmZpbmQoKHJlZikgPT4gcmVmLmFic3RyYWN0ID09PSB2YWx1ZSkpO1xuICAgIG5ld1NlbGVjdGVkRWxlbWVudHMucHVzaCguLi52YWxpZEFic3RyYWN0UmVmcy5tYXAoKHZhbHVlKSA9PiB2YWx1ZS5hYnN0cmFjdCkpO1xuXG4gICAgY29uc3Qgc2VsZWN0ZWRNaW5kTm9kZXMgPSBuZXdTZWxlY3RlZEVsZW1lbnRzLm1hcCgodmFsdWUpID0+IE1pbmRFbGVtZW50LmdldE5vZGUodmFsdWUpKTtcbiAgICBuZXdTZWxlY3RlZEVsZW1lbnRzLmZvckVhY2goKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgIC8vIGhhbmRsZSByZWxhdGl2ZSBsb2NhdGlvblxuICAgICAgICBjb25zdCBub2RlUmVjdGFuZ2xlID0gZ2V0UmVjdGFuZ2xlQnlOb2RlKHNlbGVjdGVkTWluZE5vZGVzW2luZGV4XSk7XG4gICAgICAgIGNvbnN0IHBvaW50cyA9IFtbbm9kZVJlY3RhbmdsZS54IC0gc3RhcnRQb2ludFswXSwgbm9kZVJlY3RhbmdsZS55IC0gc3RhcnRQb2ludFsxXV1dIGFzIFBvaW50W107XG5cbiAgICAgICAgLy8gaGFuZGxlIGludmFsaWQgYWJzdHJhY3RcbiAgICAgICAgY29uc3QgYWJzdHJhY3RSZWYgPSB2YWxpZEFic3RyYWN0UmVmcy5maW5kKChyZWYpID0+IHJlZi5hYnN0cmFjdCA9PT0gZWxlbWVudCk7XG4gICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSAmJiBhYnN0cmFjdFJlZikge1xuICAgICAgICAgICAgY29uc3QgeyBzdGFydCwgZW5kIH0gPSBnZXRSZWxhdGl2ZVN0YXJ0RW5kQnlBYnN0cmFjdFJlZihhYnN0cmFjdFJlZiwgbmV3U2VsZWN0ZWRFbGVtZW50cyk7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgICAgICAgICBwb2ludHMsXG4gICAgICAgICAgICAgICAgc3RhcnQsXG4gICAgICAgICAgICAgICAgZW5kXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIGxldCBuZXdFbGVtZW50ID0geyAuLi5lbGVtZW50LCBwb2ludHMgfSBhcyBNaW5kRWxlbWVudDtcbiAgICAgICAgICAgICAgICBkZWxldGUgbmV3RWxlbWVudC5zdGFydDtcbiAgICAgICAgICAgICAgICBkZWxldGUgbmV3RWxlbWVudC5lbmQ7XG4gICAgICAgICAgICAgICAgcmVzdWx0LnB1c2gobmV3RWxlbWVudCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgLi4uZWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBwb2ludHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Q2xpcGJvYXJkRGF0YSA9IChcbiAgICBib2FyZDogUGxhaXRNaW5kQm9hcmQsXG4gICAgZWxlbWVudHM6IFBsYWl0RWxlbWVudFtdLFxuICAgIHRhcmdldFBvaW50OiBQb2ludCxcbiAgICBvcGVyYXRpb25UeXBlPzogV3JpdGFibGVDbGlwYm9hcmRPcGVyYXRpb25UeXBlXG4pID0+IHtcbiAgICBsZXQgbmV3RWxlbWVudDogTWluZEVsZW1lbnQsIHBhdGg6IFBhdGg7XG4gICAgY29uc3Qgc2VsZWN0ZWRFbGVtZW50cyA9IGdldFNlbGVjdGVkRWxlbWVudHMoYm9hcmQpO1xuICAgIGxldCBuZXdFTGVtZW50czogUGxhaXRFbGVtZW50W10gPSBbXTtcblxuICAgIGNvbnN0IGhhc1RhcmdldFBhcmVudCA9IHNlbGVjdGVkRWxlbWVudHMubGVuZ3RoID09PSAxO1xuICAgIGNvbnN0IHRhcmdldFBhcmVudCA9IHNlbGVjdGVkRWxlbWVudHNbMF07XG4gICAgY29uc3QgdGFyZ2V0UGFyZW50UGF0aCA9IHRhcmdldFBhcmVudCAmJiBQbGFpdEJvYXJkLmZpbmRQYXRoKGJvYXJkLCB0YXJnZXRQYXJlbnQpO1xuICAgIGNvbnN0IG5vbkFic3RyYWN0Q2hpbGRyZW5MZW5ndGggPSB0YXJnZXRQYXJlbnQgJiYgZ2V0Tm9uQWJzdHJhY3RDaGlsZHJlbih0YXJnZXRQYXJlbnQpLmxlbmd0aDtcblxuICAgIGVsZW1lbnRzLmZvckVhY2goKGl0ZW06IFBsYWl0RWxlbWVudCwgaW5kZXg6IG51bWJlcikgPT4ge1xuICAgICAgICBuZXdFbGVtZW50ID0gY29weU5ld05vZGUoaXRlbSBhcyBNaW5kRWxlbWVudCk7XG4gICAgICAgIGlmIChoYXNUYXJnZXRQYXJlbnQgJiYgb3BlcmF0aW9uVHlwZSAhPT0gV3JpdGFibGVDbGlwYm9hcmRPcGVyYXRpb25UeXBlLmR1cGxpY2F0ZSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0uaXNSb290KSB7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IGFkanVzdFJvb3RUb05vZGUoYm9hcmQsIG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gZ2V0VG9waWNTaXplQnlFbGVtZW50KG5ld0VsZW1lbnQsIHRhcmdldFBhcmVudCBhcyBNaW5kRWxlbWVudCk7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudC53aWR0aCA9IHdpZHRoO1xuICAgICAgICAgICAgICAgIG5ld0VsZW1lbnQuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gaGFuZGxlIGFic3RyYWN0IHN0YXJ0IGFuZCBlbmRcbiAgICAgICAgICAgIGlmIChBYnN0cmFjdE5vZGUuaXNBYnN0cmFjdChuZXdFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIG5ld0VsZW1lbnQuc3RhcnQgPSBuZXdFbGVtZW50LnN0YXJ0ICsgbm9uQWJzdHJhY3RDaGlsZHJlbkxlbmd0aDtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LmVuZCA9IG5ld0VsZW1lbnQuZW5kICsgbm9uQWJzdHJhY3RDaGlsZHJlbkxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGggPSBbLi4udGFyZ2V0UGFyZW50UGF0aCwgbm9uQWJzdHJhY3RDaGlsZHJlbkxlbmd0aCArIGluZGV4XTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBvaW50OiBQb2ludCA9IFt0YXJnZXRQb2ludFswXSArIGl0ZW0ucG9pbnRzIVswXVswXSwgdGFyZ2V0UG9pbnRbMV0gKyBpdGVtLnBvaW50cyFbMF1bMV1dO1xuICAgICAgICAgICAgbmV3RWxlbWVudC5wb2ludHMgPSBbcG9pbnRdO1xuICAgICAgICAgICAgaWYgKEFic3RyYWN0Tm9kZS5pc0Fic3RyYWN0KGl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudCA9IGFkanVzdEFic3RyYWN0VG9Ob2RlKG5ld0VsZW1lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFpdGVtLmlzUm9vdCkge1xuICAgICAgICAgICAgICAgIG5ld0VsZW1lbnQgPSBhZGp1c3ROb2RlVG9Sb290KGJvYXJkLCBuZXdFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHdpZHRoLCBoZWlnaHQgfSA9IGdldFRvcGljU2l6ZUJ5RWxlbWVudChuZXdFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBuZXdFbGVtZW50LndpZHRoID0gd2lkdGg7XG4gICAgICAgICAgICAgICAgbmV3RWxlbWVudC5oZWlnaHQgPSBoZWlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXRoID0gW2JvYXJkLmNoaWxkcmVuLmxlbmd0aF07XG4gICAgICAgIH1cbiAgICAgICAgbmV3RUxlbWVudHMucHVzaChuZXdFbGVtZW50KTtcbiAgICAgICAgVHJhbnNmb3Jtcy5pbnNlcnROb2RlKGJvYXJkLCBuZXdFbGVtZW50LCBwYXRoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH0pO1xuICAgIFRyYW5zZm9ybXMuYWRkU2VsZWN0aW9uV2l0aFRlbXBvcmFyeUVsZW1lbnRzKGJvYXJkLCBuZXdFTGVtZW50cyk7XG59O1xuXG5leHBvcnQgY29uc3QgaW5zZXJ0Q2xpcGJvYXJkVGV4dCA9IChib2FyZDogUGxhaXRNaW5kQm9hcmQsIHRhcmdldFBhcmVudDogUGxhaXRFbGVtZW50LCB0ZXh0OiBzdHJpbmcgfCBFbGVtZW50KSA9PiB7XG4gICAgY29uc3QgeyB3aWR0aCwgaGVpZ2h0IH0gPSBnZXRUb3BpY1NpemUoZmFsc2UsIFBsYWl0TWluZC5pc01pbmQodGFyZ2V0UGFyZW50KSwgYnVpbGRUZXh0KHRleHQpKTtcbiAgICBjb25zdCBuZXdFbGVtZW50ID0gY3JlYXRlTWluZEVsZW1lbnQodGV4dCwgTWF0aC5tYXgod2lkdGgsIGdldEZvbnRTaXplQnlTbGF0ZUVsZW1lbnQodGV4dCkpLCBoZWlnaHQsIHt9KTtcbiAgICBUcmFuc2Zvcm1zLmluc2VydE5vZGUoYm9hcmQsIG5ld0VsZW1lbnQsIGZpbmROZXdDaGlsZE5vZGVQYXRoKGJvYXJkLCB0YXJnZXRQYXJlbnQpKTtcbiAgICBUcmFuc2Zvcm1zLmFkZFNlbGVjdGlvbldpdGhUZW1wb3JhcnlFbGVtZW50cyhib2FyZCwgW25ld0VsZW1lbnRdKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRUb3BpY1NpemVCeUVsZW1lbnQgPSAoZWxlbWVudDogTWluZEVsZW1lbnQsIHBhcmVudEVsZW1lbnQ/OiBNaW5kRWxlbWVudCkgPT4ge1xuICAgIHJldHVybiBnZXRUb3BpY1NpemUoXG4gICAgICAgIFBsYWl0TWluZC5pc01pbmQoZWxlbWVudCksXG4gICAgICAgIChwYXJlbnRFbGVtZW50ICYmIFBsYWl0TWluZC5pc01pbmQocGFyZW50RWxlbWVudCkpIHx8IGZhbHNlLFxuICAgICAgICBlbGVtZW50LmRhdGEudG9waWMsXG4gICAgICAgIGVsZW1lbnQubWFudWFsV2lkdGhcbiAgICApO1xufTtcbiJdfQ==
@@ -0,0 +1,22 @@
1
+ import { getI18nValue } from '@plait/core';
2
+ import { MindI18nKey } from '../constants/default';
3
+ import { BRANCH_FONT_FAMILY, DEFAULT_FONT_FAMILY, ROOT_TOPIC_FONT_SIZE, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE } from '../constants';
4
+ import { measureElement } from '@plait/common';
5
+ export const MIND_CENTRAL_TEXT = '中心主题';
6
+ export const getDefaultMindNameText = (board) => {
7
+ return getI18nValue(board, MindI18nKey.mindCentralText, MIND_CENTRAL_TEXT);
8
+ };
9
+ export const getTopicSize = (isRoot, isBranch, topic, manualWidth) => {
10
+ let fontFamily = DEFAULT_FONT_FAMILY;
11
+ let fontSize = TOPIC_FONT_SIZE;
12
+ if (isRoot) {
13
+ fontFamily = BRANCH_FONT_FAMILY;
14
+ fontSize = ROOT_TOPIC_FONT_SIZE;
15
+ }
16
+ else if (isBranch) {
17
+ fontFamily = BRANCH_FONT_FAMILY;
18
+ }
19
+ const maxWidth = fontSize * TOPIC_DEFAULT_MAX_WORD_COUNT;
20
+ return measureElement(topic, { fontSize, fontFamily }, manualWidth ? manualWidth : maxWidth);
21
+ };
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvbWluZC9zcmMvdXRpbHMvY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQWMsTUFBTSxhQUFhLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxvQkFBb0IsRUFBRSw0QkFBNEIsRUFBRSxlQUFlLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUksT0FBTyxFQUFFLGNBQWMsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFFakUsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLENBQUMsS0FBaUIsRUFBRSxFQUFFO0lBQ3hELE9BQU8sWUFBWSxDQUFDLEtBQUssRUFBRSxXQUFXLENBQUMsZUFBZSxFQUFFLGlCQUFpQixDQUFDLENBQUM7QUFDL0UsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBZSxFQUFFLFFBQWlCLEVBQUUsS0FBdUIsRUFBRSxXQUFvQixFQUFFLEVBQUU7SUFDOUcsSUFBSSxVQUFVLEdBQUcsbUJBQW1CLENBQUM7SUFDckMsSUFBSSxRQUFRLEdBQUcsZUFBZSxDQUFDO0lBQy9CLElBQUksTUFBTSxFQUFFLENBQUM7UUFDVCxVQUFVLEdBQUcsa0JBQWtCLENBQUM7UUFDaEMsUUFBUSxHQUFHLG9CQUFvQixDQUFDO0lBQ3BDLENBQUM7U0FBTSxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2xCLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsTUFBTSxRQUFRLEdBQUcsUUFBUSxHQUFHLDRCQUE0QixDQUFDO0lBQ3pELE9BQU8sY0FBYyxDQUFDLEtBQUssRUFBRSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7QUFDakcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0STE4blZhbHVlLCBQbGFpdEJvYXJkIH0gZnJvbSAnQHBsYWl0L2NvcmUnO1xuaW1wb3J0IHsgTWluZEkxOG5LZXkgfSBmcm9tICcuLi9jb25zdGFudHMvZGVmYXVsdCc7XG5pbXBvcnQgeyBCUkFOQ0hfRk9OVF9GQU1JTFksIERFRkFVTFRfRk9OVF9GQU1JTFksIFJPT1RfVE9QSUNfRk9OVF9TSVpFLCBUT1BJQ19ERUZBVUxUX01BWF9XT1JEX0NPVU5ULCBUT1BJQ19GT05UX1NJWkUgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgbWVhc3VyZUVsZW1lbnQsIFBhcmFncmFwaEVsZW1lbnQgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcblxuZXhwb3J0IGNvbnN0IE1JTkRfQ0VOVFJBTF9URVhUID0gJ+S4reW/g+S4u+mimCc7XG5cbmV4cG9ydCBjb25zdCBnZXREZWZhdWx0TWluZE5hbWVUZXh0ID0gKGJvYXJkOiBQbGFpdEJvYXJkKSA9PiB7XG4gICAgcmV0dXJuIGdldEkxOG5WYWx1ZShib2FyZCwgTWluZEkxOG5LZXkubWluZENlbnRyYWxUZXh0LCBNSU5EX0NFTlRSQUxfVEVYVCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VG9waWNTaXplID0gKGlzUm9vdDogYm9vbGVhbiwgaXNCcmFuY2g6IGJvb2xlYW4sIHRvcGljOiBQYXJhZ3JhcGhFbGVtZW50LCBtYW51YWxXaWR0aD86IG51bWJlcikgPT4ge1xuICAgIGxldCBmb250RmFtaWx5ID0gREVGQVVMVF9GT05UX0ZBTUlMWTtcbiAgICBsZXQgZm9udFNpemUgPSBUT1BJQ19GT05UX1NJWkU7XG4gICAgaWYgKGlzUm9vdCkge1xuICAgICAgICBmb250RmFtaWx5ID0gQlJBTkNIX0ZPTlRfRkFNSUxZO1xuICAgICAgICBmb250U2l6ZSA9IFJPT1RfVE9QSUNfRk9OVF9TSVpFO1xuICAgIH0gZWxzZSBpZiAoaXNCcmFuY2gpIHtcbiAgICAgICAgZm9udEZhbWlseSA9IEJSQU5DSF9GT05UX0ZBTUlMWTtcbiAgICB9XG4gICAgY29uc3QgbWF4V2lkdGggPSBmb250U2l6ZSAqIFRPUElDX0RFRkFVTFRfTUFYX1dPUkRfQ09VTlQ7XG4gICAgcmV0dXJuIG1lYXN1cmVFbGVtZW50KHRvcGljLCB7IGZvbnRTaXplLCBmb250RmFtaWx5IH0sIG1hbnVhbFdpZHRoID8gbWFudWFsV2lkdGggOiBtYXhXaWR0aCk7XG59O1xuIl19
@@ -13,4 +13,5 @@ export * from './node/right-node-count';
13
13
  export * from './space/node-space';
14
14
  export * from './space';
15
15
  export * from './path';
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcG9zaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi93ZWFrLW1hcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9taW5kJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtc3R5bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kbmQvY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kL2RldGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhdy9ub2RlLWRuZCc7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0L2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0L3Jlc2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUvcmlnaHQtbm9kZS1jb3VudCc7XG5leHBvcnQgKiBmcm9tICcuL3NwYWNlL25vZGUtc3BhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhdGgnO1xuIl19
16
+ export * from './common';
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcG9zaXRpb24nO1xuZXhwb3J0ICogZnJvbSAnLi93ZWFrLW1hcHMnO1xuZXhwb3J0ICogZnJvbSAnLi9taW5kJztcbmV4cG9ydCAqIGZyb20gJy4vbGF5b3V0JztcbmV4cG9ydCAqIGZyb20gJy4vbm9kZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUtc3R5bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kbmQvY29tbW9uJztcbmV4cG9ydCAqIGZyb20gJy4vZG5kL2RldGVjdG9yJztcbmV4cG9ydCAqIGZyb20gJy4vZHJhdy9ub2RlLWRuZCc7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0L2NvbW1vbic7XG5leHBvcnQgKiBmcm9tICcuL2Fic3RyYWN0L3Jlc2l6ZSc7XG5leHBvcnQgKiBmcm9tICcuL25vZGUvcmlnaHQtbm9kZS1jb3VudCc7XG5leHBvcnQgKiBmcm9tICcuL3NwYWNlL25vZGUtc3BhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zcGFjZSc7XG5leHBvcnQgKiBmcm9tICcuL3BhdGgnO1xuZXhwb3J0ICogZnJvbSAnLi9jb21tb24nO1xuIl19
@@ -1,11 +1,12 @@
1
1
  import { idCreator, isNullOrUndefined } from '@plait/core';
2
2
  import { MindLayoutType } from '@plait/layouts';
3
- import { ROOT_TOPIC_HEIGHT, ROOT_TOPIC_WIDTH } from '../../constants/node-topic-style';
4
3
  import { NodeSpace } from '../space';
5
4
  import { buildText } from '@plait/common';
6
- import { TEXT_DEFAULT_HEIGHT } from '@plait/text-plugins';
5
+ import { getDefaultMindNameText, getTopicSize } from '../common';
7
6
  export const createEmptyMind = (board, point) => {
8
- const element = createMindElement('思维导图', ROOT_TOPIC_WIDTH, ROOT_TOPIC_HEIGHT, { layout: MindLayoutType.right });
7
+ const text = getDefaultMindNameText(board);
8
+ const topicSize = getTopicSize(true, false, buildText(text));
9
+ const element = createMindElement(text, topicSize.width, topicSize.height, { layout: MindLayoutType.right });
9
10
  element.isRoot = true;
10
11
  element.type = 'mindmap';
11
12
  const width = NodeSpace.getNodeWidth(board, element);
@@ -13,18 +14,6 @@ export const createEmptyMind = (board, point) => {
13
14
  element.points = [[point[0] - width / 2, point[1] - height / 2]];
14
15
  return element;
15
16
  };
16
- export const createDefaultMind = (point, rightNodeCount, layout) => {
17
- const root = createMindElement('思维导图', ROOT_TOPIC_WIDTH, ROOT_TOPIC_HEIGHT, { layout });
18
- root.rightNodeCount = rightNodeCount;
19
- root.isRoot = true;
20
- root.type = 'mindmap';
21
- root.points = [point];
22
- const children = [1, 1, 1].map(() => {
23
- return createMindElement('新建节点', 56, TEXT_DEFAULT_HEIGHT, {});
24
- });
25
- root.children = children;
26
- return root;
27
- };
28
17
  export const createMindElement = (text, width, height, options) => {
29
18
  const newElement = {
30
19
  id: idCreator(),
@@ -54,4 +43,4 @@ export const INHERIT_ATTRIBUTE_KEYS = [
54
43
  'branchWidth',
55
44
  'branchShape'
56
45
  ];
57
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9ub2RlL2NyZWF0ZS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUV2RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFMUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsS0FBaUIsRUFBRSxLQUFZLEVBQUUsRUFBRTtJQUMvRCxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDakgsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDdEIsT0FBTyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7SUFDekIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxLQUFZLEVBQUUsY0FBc0IsRUFBRSxNQUFzQixFQUFFLEVBQUU7SUFDOUYsTUFBTSxJQUFJLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUN4RixJQUFJLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztJQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztJQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQztJQUN0QixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEIsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7UUFDaEMsT0FBTyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsRUFBRSxFQUFFLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ2xFLENBQUMsQ0FBQyxDQUFDO0lBQ0gsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDekIsT0FBTyxJQUFJLENBQUM7QUFDaEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsT0FBeUIsRUFBRSxFQUFFO0lBQ2xILE1BQU0sVUFBVSxHQUFnQjtRQUM1QixFQUFFLEVBQUUsU0FBUyxFQUFFO1FBQ2YsSUFBSSxFQUFFO1lBQ0YsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDekI7UUFDRCxRQUFRLEVBQUUsRUFBRTtRQUNaLEtBQUs7UUFDTCxNQUFNO0tBQ1QsQ0FBQztJQUVGLElBQUksR0FBeUIsQ0FBQztJQUM5QixLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxVQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQWNGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ2xDLE1BQU07SUFDTixhQUFhO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIGlkQ3JlYXRvciwgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IEJyYW5jaFNoYXBlLCBNaW5kRWxlbWVudCwgTWluZEVsZW1lbnRTaGFwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBST09UX1RPUElDX0hFSUdIVCwgUk9PVF9UT1BJQ19XSURUSCB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9ub2RlLXRvcGljLXN0eWxlJztcbmltcG9ydCB7IEVsZW1lbnQgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBOb2RlU3BhY2UgfSBmcm9tICcuLi9zcGFjZSc7XG5pbXBvcnQgeyBQbGFpdE1pbmRCb2FyZCB9IGZyb20gJy4uLy4uL3BsdWdpbnMvd2l0aC1taW5kLmJvYXJkJztcbmltcG9ydCB7IGJ1aWxkVGV4dCB9IGZyb20gJ0BwbGFpdC9jb21tb24nO1xuaW1wb3J0IHsgVEVYVF9ERUZBVUxUX0hFSUdIVCB9IGZyb20gJ0BwbGFpdC90ZXh0LXBsdWdpbnMnO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRW1wdHlNaW5kID0gKGJvYXJkOiBQbGFpdEJvYXJkLCBwb2ludDogUG9pbnQpID0+IHtcbiAgICBjb25zdCBlbGVtZW50ID0gY3JlYXRlTWluZEVsZW1lbnQoJ+aAnee7tOWvvOWbvicsIFJPT1RfVE9QSUNfV0lEVEgsIFJPT1RfVE9QSUNfSEVJR0hULCB7IGxheW91dDogTWluZExheW91dFR5cGUucmlnaHQgfSk7XG4gICAgZWxlbWVudC5pc1Jvb3QgPSB0cnVlO1xuICAgIGVsZW1lbnQudHlwZSA9ICdtaW5kbWFwJztcbiAgICBjb25zdCB3aWR0aCA9IE5vZGVTcGFjZS5nZXROb2RlV2lkdGgoYm9hcmQgYXMgUGxhaXRNaW5kQm9hcmQsIGVsZW1lbnQpO1xuICAgIGNvbnN0IGhlaWdodCA9IE5vZGVTcGFjZS5nZXROb2RlSGVpZ2h0KGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50KTtcbiAgICBlbGVtZW50LnBvaW50cyA9IFtbcG9pbnRbMF0gLSB3aWR0aCAvIDIsIHBvaW50WzFdIC0gaGVpZ2h0IC8gMl1dO1xuICAgIHJldHVybiBlbGVtZW50O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZURlZmF1bHRNaW5kID0gKHBvaW50OiBQb2ludCwgcmlnaHROb2RlQ291bnQ6IG51bWJlciwgbGF5b3V0OiBNaW5kTGF5b3V0VHlwZSkgPT4ge1xuICAgIGNvbnN0IHJvb3QgPSBjcmVhdGVNaW5kRWxlbWVudCgn5oCd57u05a+85Zu+JywgUk9PVF9UT1BJQ19XSURUSCwgUk9PVF9UT1BJQ19IRUlHSFQsIHsgbGF5b3V0IH0pO1xuICAgIHJvb3QucmlnaHROb2RlQ291bnQgPSByaWdodE5vZGVDb3VudDtcbiAgICByb290LmlzUm9vdCA9IHRydWU7XG4gICAgcm9vdC50eXBlID0gJ21pbmRtYXAnO1xuICAgIHJvb3QucG9pbnRzID0gW3BvaW50XTtcbiAgICBjb25zdCBjaGlsZHJlbiA9IFsxLCAxLCAxXS5tYXAoKCkgPT4ge1xuICAgICAgICByZXR1cm4gY3JlYXRlTWluZEVsZW1lbnQoJ+aWsOW7uuiKgueCuScsIDU2LCBURVhUX0RFRkFVTFRfSEVJR0hULCB7fSk7XG4gICAgfSk7XG4gICAgcm9vdC5jaGlsZHJlbiA9IGNoaWxkcmVuO1xuICAgIHJldHVybiByb290O1xufTtcblxuZXhwb3J0IGNvbnN0IGNyZWF0ZU1pbmRFbGVtZW50ID0gKHRleHQ6IHN0cmluZyB8IEVsZW1lbnQsIHdpZHRoOiBudW1iZXIsIGhlaWdodDogbnVtYmVyLCBvcHRpb25zOiBJbmhlcml0QXR0cmlidXRlKSA9PiB7XG4gICAgY29uc3QgbmV3RWxlbWVudDogTWluZEVsZW1lbnQgPSB7XG4gICAgICAgIGlkOiBpZENyZWF0b3IoKSxcbiAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgdG9waWM6IGJ1aWxkVGV4dCh0ZXh0KVxuICAgICAgICB9LFxuICAgICAgICBjaGlsZHJlbjogW10sXG4gICAgICAgIHdpZHRoLFxuICAgICAgICBoZWlnaHRcbiAgICB9O1xuXG4gICAgbGV0IGtleToga2V5b2YgdHlwZW9mIG9wdGlvbnM7XG4gICAgZm9yIChrZXkgaW4gb3B0aW9ucykge1xuICAgICAgICBpZiAoIWlzTnVsbE9yVW5kZWZpbmVkKG9wdGlvbnNba2V5XSkpIHtcbiAgICAgICAgICAgIChuZXdFbGVtZW50IGFzIGFueSlba2V5XSA9IG9wdGlvbnNba2V5XTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXdFbGVtZW50O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJbmhlcml0QXR0cmlidXRlIHtcbiAgICBmaWxsPzogc3RyaW5nO1xuICAgIHN0cm9rZUNvbG9yPzogc3RyaW5nO1xuICAgIHN0cm9rZVdpZHRoPzogbnVtYmVyO1xuICAgIHN0cm9rZVN0eWxlPzogbnVtYmVyO1xuICAgIHNoYXBlPzogTWluZEVsZW1lbnRTaGFwZTtcbiAgICBsYXlvdXQ/OiBNaW5kTGF5b3V0VHlwZTtcbiAgICBicmFuY2hDb2xvcj86IHN0cmluZztcbiAgICBicmFuY2hXaWR0aD86IG51bWJlcjtcbiAgICBicmFuY2hTaGFwZT86IEJyYW5jaFNoYXBlO1xufVxuXG5leHBvcnQgY29uc3QgSU5IRVJJVF9BVFRSSUJVVEVfS0VZUyA9IFtcbiAgICAnZmlsbCcsXG4gICAgJ3N0cm9rZUNvbG9yJyxcbiAgICAnc3Ryb2tlV2lkdGgnLFxuICAgICdzdHJva2VTdHlsZScsXG4gICAgJ3NoYXBlJyxcbiAgICAnbGF5b3V0JyxcbiAgICAnYnJhbmNoQ29sb3InLFxuICAgICdicmFuY2hXaWR0aCcsXG4gICAgJ2JyYW5jaFNoYXBlJ1xuXTtcbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW5vZGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9taW5kL3NyYy91dGlscy9ub2RlL2NyZWF0ZS1ub2RlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdoRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXJDLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLHNCQUFzQixFQUFFLFlBQVksRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVqRSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsQ0FBQyxLQUFpQixFQUFFLEtBQVksRUFBRSxFQUFFO0lBQy9ELE1BQU0sSUFBSSxHQUFHLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELE1BQU0sT0FBTyxHQUFHLGlCQUFpQixDQUFDLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDN0csT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUM7SUFDdEIsT0FBTyxDQUFDLElBQUksR0FBRyxTQUFTLENBQUM7SUFDekIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZFLE1BQU0sTUFBTSxHQUFHLFNBQVMsQ0FBQyxhQUFhLENBQUMsS0FBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN6RSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxHQUFHLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsT0FBTyxPQUFPLENBQUM7QUFDbkIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxJQUFzQixFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsT0FBeUIsRUFBRSxFQUFFO0lBQ2xILE1BQU0sVUFBVSxHQUFnQjtRQUM1QixFQUFFLEVBQUUsU0FBUyxFQUFFO1FBQ2YsSUFBSSxFQUFFO1lBQ0YsS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUM7U0FDekI7UUFDRCxRQUFRLEVBQUUsRUFBRTtRQUNaLEtBQUs7UUFDTCxNQUFNO0tBQ1QsQ0FBQztJQUVGLElBQUksR0FBeUIsQ0FBQztJQUM5QixLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxVQUFrQixDQUFDLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3RCLENBQUMsQ0FBQztBQWNGLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHO0lBQ2xDLE1BQU07SUFDTixhQUFhO0lBQ2IsYUFBYTtJQUNiLGFBQWE7SUFDYixPQUFPO0lBQ1AsUUFBUTtJQUNSLGFBQWE7SUFDYixhQUFhO0lBQ2IsYUFBYTtDQUNoQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGxhaXRCb2FyZCwgUG9pbnQsIGlkQ3JlYXRvciwgaXNOdWxsT3JVbmRlZmluZWQgfSBmcm9tICdAcGxhaXQvY29yZSc7XG5pbXBvcnQgeyBNaW5kTGF5b3V0VHlwZSB9IGZyb20gJ0BwbGFpdC9sYXlvdXRzJztcbmltcG9ydCB7IEJyYW5jaFNoYXBlLCBNaW5kRWxlbWVudCwgTWluZEVsZW1lbnRTaGFwZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZWxlbWVudCc7XG5pbXBvcnQgeyBFbGVtZW50IH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgTm9kZVNwYWNlIH0gZnJvbSAnLi4vc3BhY2UnO1xuaW1wb3J0IHsgUGxhaXRNaW5kQm9hcmQgfSBmcm9tICcuLi8uLi9wbHVnaW5zL3dpdGgtbWluZC5ib2FyZCc7XG5pbXBvcnQgeyBidWlsZFRleHQgfSBmcm9tICdAcGxhaXQvY29tbW9uJztcbmltcG9ydCB7IGdldERlZmF1bHRNaW5kTmFtZVRleHQsIGdldFRvcGljU2l6ZSB9IGZyb20gJy4uL2NvbW1vbic7XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVFbXB0eU1pbmQgPSAoYm9hcmQ6IFBsYWl0Qm9hcmQsIHBvaW50OiBQb2ludCkgPT4ge1xuICAgIGNvbnN0IHRleHQgPSBnZXREZWZhdWx0TWluZE5hbWVUZXh0KGJvYXJkKTtcbiAgICBjb25zdCB0b3BpY1NpemUgPSBnZXRUb3BpY1NpemUodHJ1ZSwgZmFsc2UsIGJ1aWxkVGV4dCh0ZXh0KSk7XG4gICAgY29uc3QgZWxlbWVudCA9IGNyZWF0ZU1pbmRFbGVtZW50KHRleHQsIHRvcGljU2l6ZS53aWR0aCwgdG9waWNTaXplLmhlaWdodCwgeyBsYXlvdXQ6IE1pbmRMYXlvdXRUeXBlLnJpZ2h0IH0pO1xuICAgIGVsZW1lbnQuaXNSb290ID0gdHJ1ZTtcbiAgICBlbGVtZW50LnR5cGUgPSAnbWluZG1hcCc7XG4gICAgY29uc3Qgd2lkdGggPSBOb2RlU3BhY2UuZ2V0Tm9kZVdpZHRoKGJvYXJkIGFzIFBsYWl0TWluZEJvYXJkLCBlbGVtZW50KTtcbiAgICBjb25zdCBoZWlnaHQgPSBOb2RlU3BhY2UuZ2V0Tm9kZUhlaWdodChib2FyZCBhcyBQbGFpdE1pbmRCb2FyZCwgZWxlbWVudCk7XG4gICAgZWxlbWVudC5wb2ludHMgPSBbW3BvaW50WzBdIC0gd2lkdGggLyAyLCBwb2ludFsxXSAtIGhlaWdodCAvIDJdXTtcbiAgICByZXR1cm4gZWxlbWVudDtcbn07XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVNaW5kRWxlbWVudCA9ICh0ZXh0OiBzdHJpbmcgfCBFbGVtZW50LCB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciwgb3B0aW9uczogSW5oZXJpdEF0dHJpYnV0ZSkgPT4ge1xuICAgIGNvbnN0IG5ld0VsZW1lbnQ6IE1pbmRFbGVtZW50ID0ge1xuICAgICAgICBpZDogaWRDcmVhdG9yKCksXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgIHRvcGljOiBidWlsZFRleHQodGV4dClcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IFtdLFxuICAgICAgICB3aWR0aCxcbiAgICAgICAgaGVpZ2h0XG4gICAgfTtcblxuICAgIGxldCBrZXk6IGtleW9mIHR5cGVvZiBvcHRpb25zO1xuICAgIGZvciAoa2V5IGluIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKCFpc051bGxPclVuZGVmaW5lZChvcHRpb25zW2tleV0pKSB7XG4gICAgICAgICAgICAobmV3RWxlbWVudCBhcyBhbnkpW2tleV0gPSBvcHRpb25zW2tleV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbmV3RWxlbWVudDtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5oZXJpdEF0dHJpYnV0ZSB7XG4gICAgZmlsbD86IHN0cmluZztcbiAgICBzdHJva2VDb2xvcj86IHN0cmluZztcbiAgICBzdHJva2VXaWR0aD86IG51bWJlcjtcbiAgICBzdHJva2VTdHlsZT86IG51bWJlcjtcbiAgICBzaGFwZT86IE1pbmRFbGVtZW50U2hhcGU7XG4gICAgbGF5b3V0PzogTWluZExheW91dFR5cGU7XG4gICAgYnJhbmNoQ29sb3I/OiBzdHJpbmc7XG4gICAgYnJhbmNoV2lkdGg/OiBudW1iZXI7XG4gICAgYnJhbmNoU2hhcGU/OiBCcmFuY2hTaGFwZTtcbn1cblxuZXhwb3J0IGNvbnN0IElOSEVSSVRfQVRUUklCVVRFX0tFWVMgPSBbXG4gICAgJ2ZpbGwnLFxuICAgICdzdHJva2VDb2xvcicsXG4gICAgJ3N0cm9rZVdpZHRoJyxcbiAgICAnc3Ryb2tlU3R5bGUnLFxuICAgICdzaGFwZScsXG4gICAgJ2xheW91dCcsXG4gICAgJ2JyYW5jaENvbG9yJyxcbiAgICAnYnJhbmNoV2lkdGgnLFxuICAgICdicmFuY2hTaGFwZSdcbl07XG4iXX0=
@@ -1,6 +1,6 @@
1
- import { DefaultThemeColor, DEFAULT_COLOR, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DarkThemeColor, StarryThemeColor, PlaitElement, PlaitNode, Path, isNullOrUndefined, PlaitBoard, getSelectedElements, idCreator, Transforms, clearSelectedElement, addSelectedElement, distanceBetweenPointAndRectangle, RectangleClient, setDragging, depthFirstRecursion, getIsRecursionFunc, drawRoundRectangle, drawLinearPath, drawBezierPath, setStrokeLinecap, createG, createForeignObject, updateForeignObject, getRectangleByElements, toActiveRectangleFromViewBoxRectangle, ACTIVE_STROKE_WIDTH, SELECTION_RECTANGLE_CLASS_NAME, NODE_TO_PARENT, removeSelectedElement, PlaitHistoryBoard, createText, PlaitPointerType, NODE_TO_INDEX, isMainPointer, toViewBoxPoint, toHostPoint, getHitElementByPoint, distanceBetweenPointAndPoint, isDragging, CoreTransforms, toActivePointFromViewBoxPoint, BoardTransforms, throttleRAF, isContextmenu, temporaryDisableSelection, hotkeys, createClipboardContext, WritableClipboardType, ResizeCursorClass, Point, WritableClipboardOperationType, addOrCreateClipboardContext } from '@plait/core';
1
+ import { DefaultThemeColor, DEFAULT_COLOR, ColorfulThemeColor, SoftThemeColor, RetroThemeColor, DarkThemeColor, StarryThemeColor, PlaitElement, PlaitNode, Path, isNullOrUndefined, PlaitBoard, getSelectedElements, getI18nValue, idCreator, Transforms, clearSelectedElement, addSelectedElement, distanceBetweenPointAndRectangle, RectangleClient, setDragging, depthFirstRecursion, getIsRecursionFunc, drawRoundRectangle, drawLinearPath, drawBezierPath, setStrokeLinecap, createG, createForeignObject, updateForeignObject, getRectangleByElements, toActiveRectangleFromViewBoxRectangle, ACTIVE_STROKE_WIDTH, SELECTION_RECTANGLE_CLASS_NAME, NODE_TO_PARENT, removeSelectedElement, PlaitHistoryBoard, createText, PlaitPointerType, NODE_TO_INDEX, isMainPointer, toViewBoxPoint, toHostPoint, getHitElementByPoint, distanceBetweenPointAndPoint, isDragging, CoreTransforms, toActivePointFromViewBoxPoint, BoardTransforms, throttleRAF, isContextmenu, temporaryDisableSelection, hotkeys, createClipboardContext, WritableClipboardType, ResizeCursorClass, Point, WritableClipboardOperationType, addOrCreateClipboardContext } from '@plait/core';
2
2
  import { MindLayoutType, AbstractNode, isIndentedLayout, isHorizontalLayout, isHorizontalLogicLayout, ConnectingPosition, getNonAbstractChildren, isStandardLayout, isLeftLayout, isRightLayout, isVerticalLogicLayout, isTopLayout, isBottomLayout, getCorrectStartEnd, getAbstractLayout, GlobalLayout } from '@plait/layouts';
3
- import { StrokeStyle, getFirstTextManage, buildText, getFirstTextEditor, RESIZE_HANDLE_DIAMETER, getRectangleResizeHandleRefs, addElementOfFocusedImage, ImageGenerator, removeElementOfFocusedImage, getStrokeLineDash, Generator, PropertyTransforms, CommonElementFlavour, WithTextPluginKey, TextManage, isDrawingMode, isDndMode, setCreationMode, BoardCreationMode, isExpandHotkey, isTabHotkey, isEnterHotkey, isVirtualKey, isDelete, isSpaceHotkey, getElementOfFocusedImage, acceptImageTypes, buildImage, withResize, measureElement, getElementsText } from '@plait/common';
3
+ import { StrokeStyle, getFirstTextManage, measureElement, buildText, getFirstTextEditor, RESIZE_HANDLE_DIAMETER, getRectangleResizeHandleRefs, addElementOfFocusedImage, ImageGenerator, removeElementOfFocusedImage, getStrokeLineDash, Generator, PropertyTransforms, CommonElementFlavour, WithTextPluginKey, TextManage, isDrawingMode, isDndMode, setCreationMode, BoardCreationMode, isExpandHotkey, isTabHotkey, isEnterHotkey, isVirtualKey, isDelete, isSpaceHotkey, getElementOfFocusedImage, acceptImageTypes, buildImage, withResize, getElementsText } from '@plait/common';
4
4
  import { TEXT_DEFAULT_HEIGHT, PlaitMarkEditor, MarkTypes, DEFAULT_FONT_SIZE } from '@plait/text-plugins';
5
5
  import { Node as Node$1, Path as Path$1 } from 'slate';
6
6
  import { pointsOnBezierCurves } from 'points-on-curve';
@@ -186,6 +186,10 @@ const QUICK_INSERT_CIRCLE_OFFSET = 9;
186
186
  const QUICK_INSERT_CIRCLE_COLOR = '#6698FF';
187
187
  const QUICK_INSERT_INNER_CROSS_COLOR = 'white';
188
188
  const DEFAULT_MIND_IMAGE_WIDTH = 240;
189
+ var MindI18nKey;
190
+ (function (MindI18nKey) {
191
+ MindI18nKey["mindCentralText"] = "mind-center-text";
192
+ })(MindI18nKey || (MindI18nKey = {}));
189
193
 
190
194
  function getEmojisWidthHeight(board, element) {
191
195
  const options = board.getPluginOptions(WithMindPluginKey);
@@ -491,17 +495,6 @@ const getSelectedMindElements = (board, elements) => {
491
495
  return selectedElements.filter(value => MindElement.isMindElement(board, value));
492
496
  };
493
497
 
494
- const TOPIC_FONT_SIZE = 14;
495
- const ROOT_TOPIC_FONT_SIZE = 18;
496
- const ROOT_TOPIC_HEIGHT = 25;
497
- const ROOT_TOPIC_WIDTH = 72;
498
- const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
499
- const DEFAULT_FONT_FAMILY = 'PingFangSC-Regular, "PingFang SC"';
500
- const BRANCH_FONT_FAMILY = 'PingFangSC-Medium, "PingFang SC"';
501
- const NodeTopicThreshold = {
502
- defaultTextMaxWidth: 34 * 14
503
- };
504
-
505
498
  const getBranchDirectionsByLayouts = (branchLayouts) => {
506
499
  const branchDirections = [];
507
500
  branchLayouts.forEach(l => {
@@ -669,8 +662,42 @@ const getLayoutOptions = (board) => {
669
662
  };
670
663
  };
671
664
 
665
+ const TOPIC_FONT_SIZE = 14;
666
+ const ROOT_TOPIC_FONT_SIZE = 18;
667
+ const TOPIC_DEFAULT_MAX_WORD_COUNT = 34;
668
+ const DEFAULT_FONT_FAMILY = 'PingFangSC-Regular, "PingFang SC"';
669
+ const BRANCH_FONT_FAMILY = 'PingFangSC-Medium, "PingFang SC"';
670
+ const NodeTopicThreshold = {
671
+ defaultTextMaxWidth: 34 * 14
672
+ };
673
+
674
+ const ABSTRACT_HANDLE_COLOR = '#6698FF80'; //primary color 50% opacity
675
+ const ABSTRACT_INCLUDED_OUTLINE_OFFSET = 3.5;
676
+ const ABSTRACT_HANDLE_LENGTH = 10;
677
+ const ABSTRACT_HANDLE_MASK_WIDTH = 8;
678
+
679
+ const MIND_CENTRAL_TEXT = '中心主题';
680
+ const getDefaultMindNameText = (board) => {
681
+ return getI18nValue(board, MindI18nKey.mindCentralText, MIND_CENTRAL_TEXT);
682
+ };
683
+ const getTopicSize = (isRoot, isBranch, topic, manualWidth) => {
684
+ let fontFamily = DEFAULT_FONT_FAMILY;
685
+ let fontSize = TOPIC_FONT_SIZE;
686
+ if (isRoot) {
687
+ fontFamily = BRANCH_FONT_FAMILY;
688
+ fontSize = ROOT_TOPIC_FONT_SIZE;
689
+ }
690
+ else if (isBranch) {
691
+ fontFamily = BRANCH_FONT_FAMILY;
692
+ }
693
+ const maxWidth = fontSize * TOPIC_DEFAULT_MAX_WORD_COUNT;
694
+ return measureElement(topic, { fontSize, fontFamily }, manualWidth ? manualWidth : maxWidth);
695
+ };
696
+
672
697
  const createEmptyMind = (board, point) => {
673
- const element = createMindElement('思维导图', ROOT_TOPIC_WIDTH, ROOT_TOPIC_HEIGHT, { layout: MindLayoutType.right });
698
+ const text = getDefaultMindNameText(board);
699
+ const topicSize = getTopicSize(true, false, buildText(text));
700
+ const element = createMindElement(text, topicSize.width, topicSize.height, { layout: MindLayoutType.right });
674
701
  element.isRoot = true;
675
702
  element.type = 'mindmap';
676
703
  const width = NodeSpace.getNodeWidth(board, element);
@@ -678,18 +705,6 @@ const createEmptyMind = (board, point) => {
678
705
  element.points = [[point[0] - width / 2, point[1] - height / 2]];
679
706
  return element;
680
707
  };
681
- const createDefaultMind = (point, rightNodeCount, layout) => {
682
- const root = createMindElement('思维导图', ROOT_TOPIC_WIDTH, ROOT_TOPIC_HEIGHT, { layout });
683
- root.rightNodeCount = rightNodeCount;
684
- root.isRoot = true;
685
- root.type = 'mindmap';
686
- root.points = [point];
687
- const children = [1, 1, 1].map(() => {
688
- return createMindElement('新建节点', 56, TEXT_DEFAULT_HEIGHT, {});
689
- });
690
- root.children = children;
691
- return root;
692
- };
693
708
  const createMindElement = (text, width, height, options) => {
694
709
  const newElement = {
695
710
  id: idCreator(),
@@ -1346,11 +1361,6 @@ function drawRoundRectangleByElement(board, nodeRectangle, element) {
1346
1361
  return nodeG;
1347
1362
  }
1348
1363
 
1349
- const ABSTRACT_HANDLE_COLOR = '#6698FF80'; //primary color 50% opacity
1350
- const ABSTRACT_INCLUDED_OUTLINE_OFFSET = 3.5;
1351
- const ABSTRACT_HANDLE_LENGTH = 10;
1352
- const ABSTRACT_HANDLE_MASK_WIDTH = 8;
1353
-
1354
1364
  var HorizontalPlacement;
1355
1365
  (function (HorizontalPlacement) {
1356
1366
  HorizontalPlacement["left"] = "left";
@@ -3849,15 +3859,15 @@ const buildClipboardData = (board, selectedElements, startPoint) => {
3849
3859
  // get valid abstract refs
3850
3860
  const validAbstractRefs = getValidAbstractRefs(board, [...selectedElements, ...overallAbstracts]);
3851
3861
  // keep correct order
3852
- const newSelectedElements = selectedElements.filter(value => !validAbstractRefs.find(ref => ref.abstract === value));
3853
- newSelectedElements.push(...validAbstractRefs.map(value => value.abstract));
3854
- const selectedMindNodes = newSelectedElements.map(value => MindElement.getNode(value));
3862
+ const newSelectedElements = selectedElements.filter((value) => !validAbstractRefs.find((ref) => ref.abstract === value));
3863
+ newSelectedElements.push(...validAbstractRefs.map((value) => value.abstract));
3864
+ const selectedMindNodes = newSelectedElements.map((value) => MindElement.getNode(value));
3855
3865
  newSelectedElements.forEach((element, index) => {
3856
3866
  // handle relative location
3857
3867
  const nodeRectangle = getRectangleByNode(selectedMindNodes[index]);
3858
3868
  const points = [[nodeRectangle.x - startPoint[0], nodeRectangle.y - startPoint[1]]];
3859
3869
  // handle invalid abstract
3860
- const abstractRef = validAbstractRefs.find(ref => ref.abstract === element);
3870
+ const abstractRef = validAbstractRefs.find((ref) => ref.abstract === element);
3861
3871
  if (AbstractNode.isAbstract(element) && abstractRef) {
3862
3872
  const { start, end } = getRelativeStartEndByAbstractRef(abstractRef, newSelectedElements);
3863
3873
  result.push({
@@ -3937,19 +3947,6 @@ const insertClipboardText = (board, targetParent, text) => {
3937
3947
  const getTopicSizeByElement = (element, parentElement) => {
3938
3948
  return getTopicSize(PlaitMind.isMind(element), (parentElement && PlaitMind.isMind(parentElement)) || false, element.data.topic, element.manualWidth);
3939
3949
  };
3940
- const getTopicSize = (isRoot, isBranch, topic, manualWidth) => {
3941
- let fontFamily = DEFAULT_FONT_FAMILY;
3942
- let fontSize = TOPIC_FONT_SIZE;
3943
- if (isRoot) {
3944
- fontFamily = BRANCH_FONT_FAMILY;
3945
- fontSize = ROOT_TOPIC_FONT_SIZE;
3946
- }
3947
- else if (isBranch) {
3948
- fontFamily = BRANCH_FONT_FAMILY;
3949
- }
3950
- const maxWidth = fontSize * TOPIC_DEFAULT_MAX_WORD_COUNT;
3951
- return measureElement(topic, { fontSize, fontFamily }, manualWidth ? manualWidth : maxWidth);
3952
- };
3953
3950
 
3954
3951
  const withMindFragment = (baseBoard) => {
3955
3952
  const board = baseBoard;
@@ -4233,5 +4230,5 @@ class MindEmojiBaseComponent {
4233
4230
  * Generated bundle index. Do not edit.
4234
4231
  */
4235
4232
 
4236
- export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, AbstractHandlePosition, AbstractResizeState, BASE, BRANCH_FONT_FAMILY, BranchShape, DEFAULT_FONT_FAMILY, DEFAULT_MIND_IMAGE_WIDTH, DefaultAbstractNodeStyle, DefaultNodeStyle, ELEMENT_TO_NODE, EXTEND_DIAMETER, EXTEND_OFFSET, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, LayoutDirection, LayoutDirectionsMap, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms, NodeSpace, NodeTopicThreshold, PRIMARY_COLOR, PlaitMind, PlaitMindComponent, QUICK_INSERT_CIRCLE_COLOR, QUICK_INSERT_CIRCLE_OFFSET, QUICK_INSERT_INNER_CROSS_COLOR, ROOT_TOPIC_FONT_SIZE, ROOT_TOPIC_HEIGHT, ROOT_TOPIC_WIDTH, STROKE_WIDTH, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE, WithMindPluginKey, addActiveOnDragOrigin, addImageFocus, adjustAbstractToNode, adjustNodeToRoot, adjustRootToNode, canSetAbstract, copyNewNode, correctLayoutByDirection, createDefaultMind, createEmptyMind, createMindElement, deleteElementHandleAbstract, deleteElementsHandleRightNodeCount, detectDropTarget, directionCorrector, directionDetector, divideElementByParent, drawFakeDragNode, drawFakeDropNode, editTopic, findLastChild, findLocationLeftIndex, findNewChildNodePath, findNewSiblingNodePath, getAbstractBranchColor, getAbstractBranchWidth, getAbstractHandleRectangle, getAllowedDirection, getAvailableSubLayoutsByLayoutDirections, getBehindAbstracts, getBranchColorByMindElement, getBranchDirectionsByLayouts, getBranchShapeByMindElement, getBranchWidthByMindElement, getChildrenCount, getCorrespondingAbstract, getDefaultBranchColor, getDefaultBranchColorByIndex, getDefaultLayout, getDefaultMindElementFontSize, getEmojiFontSize, getEmojiForeignRectangle, getEmojiRectangle, getEmojisWidthHeight, getFillByElement, getFirstLevelElement, getFontSizeBySlateElement, getHitAbstractHandle, getHitImageResizeHandleDirection, getImageForeignRectangle, getInCorrectLayoutDirection, getLayoutDirection$1 as getLayoutDirection, getLayoutOptions, getLayoutReverseDirection, getLocationScope, getMindThemeColor, getNewNodeHeight, getNextBranchColor, getOverallAbstracts, getPathByDropTarget, getRectangleByElement, getRectangleByNode, getRectangleByResizingLocation, getRelativeStartEndByAbstractRef, getRootLayout, getSelectedMindElements, getShapeByElement, getStrokeColorByElement, getStrokeStyleByElement, getStrokeWidthByElement, getTopicRectangleByElement, getTopicRectangleByNode, getValidAbstractRefs, handleTouchedAbstract, hasPreviousOrNextOfDropPath, insertElementHandleAbstract, insertElementHandleRightNodeCount, insertMindElement, isChildElement, isChildOfAbstract, isChildRight, isChildUp, isCorrectLayout, isDropStandardRight, isHitEmojis, isHitImage, isHitMindElement, isInRightBranchOfStandardLayout, isMixedLayout, isSetAbstract, isValidTarget, removeActiveOnDragOrigin, removeImageFocus, separateChildren, setMindDragging, withEmoji, withMind, withMindExtend };
4233
+ export { ABSTRACT_HANDLE_COLOR, ABSTRACT_HANDLE_LENGTH, ABSTRACT_HANDLE_MASK_WIDTH, ABSTRACT_INCLUDED_OUTLINE_OFFSET, AbstractHandlePosition, AbstractResizeState, BASE, BRANCH_FONT_FAMILY, BranchShape, DEFAULT_FONT_FAMILY, DEFAULT_MIND_IMAGE_WIDTH, DefaultAbstractNodeStyle, DefaultNodeStyle, ELEMENT_TO_NODE, EXTEND_DIAMETER, EXTEND_OFFSET, GRAY_COLOR, INHERIT_ATTRIBUTE_KEYS, LayoutDirection, LayoutDirectionsMap, MIND_CENTRAL_TEXT, MindColorfulThemeColor, MindDarkThemeColor, MindDefaultThemeColor, MindElement, MindElementShape, MindEmojiBaseComponent, MindI18nKey, MindNode, MindNodeComponent, MindPointerType, MindQueries, MindRetroThemeColor, MindSoftThemeColor, MindStarryThemeColor, MindThemeColor, MindThemeColors, MindTransforms, NodeSpace, NodeTopicThreshold, PRIMARY_COLOR, PlaitMind, PlaitMindComponent, QUICK_INSERT_CIRCLE_COLOR, QUICK_INSERT_CIRCLE_OFFSET, QUICK_INSERT_INNER_CROSS_COLOR, ROOT_TOPIC_FONT_SIZE, STROKE_WIDTH, TOPIC_DEFAULT_MAX_WORD_COUNT, TOPIC_FONT_SIZE, WithMindPluginKey, addActiveOnDragOrigin, addImageFocus, adjustAbstractToNode, adjustNodeToRoot, adjustRootToNode, canSetAbstract, copyNewNode, correctLayoutByDirection, createEmptyMind, createMindElement, deleteElementHandleAbstract, deleteElementsHandleRightNodeCount, detectDropTarget, directionCorrector, directionDetector, divideElementByParent, drawFakeDragNode, drawFakeDropNode, editTopic, findLastChild, findLocationLeftIndex, findNewChildNodePath, findNewSiblingNodePath, getAbstractBranchColor, getAbstractBranchWidth, getAbstractHandleRectangle, getAllowedDirection, getAvailableSubLayoutsByLayoutDirections, getBehindAbstracts, getBranchColorByMindElement, getBranchDirectionsByLayouts, getBranchShapeByMindElement, getBranchWidthByMindElement, getChildrenCount, getCorrespondingAbstract, getDefaultBranchColor, getDefaultBranchColorByIndex, getDefaultLayout, getDefaultMindElementFontSize, getDefaultMindNameText, getEmojiFontSize, getEmojiForeignRectangle, getEmojiRectangle, getEmojisWidthHeight, getFillByElement, getFirstLevelElement, getFontSizeBySlateElement, getHitAbstractHandle, getHitImageResizeHandleDirection, getImageForeignRectangle, getInCorrectLayoutDirection, getLayoutDirection$1 as getLayoutDirection, getLayoutOptions, getLayoutReverseDirection, getLocationScope, getMindThemeColor, getNewNodeHeight, getNextBranchColor, getOverallAbstracts, getPathByDropTarget, getRectangleByElement, getRectangleByNode, getRectangleByResizingLocation, getRelativeStartEndByAbstractRef, getRootLayout, getSelectedMindElements, getShapeByElement, getStrokeColorByElement, getStrokeStyleByElement, getStrokeWidthByElement, getTopicRectangleByElement, getTopicRectangleByNode, getTopicSize, getValidAbstractRefs, handleTouchedAbstract, hasPreviousOrNextOfDropPath, insertElementHandleAbstract, insertElementHandleRightNodeCount, insertMindElement, isChildElement, isChildOfAbstract, isChildRight, isChildUp, isCorrectLayout, isDropStandardRight, isHitEmojis, isHitImage, isHitMindElement, isInRightBranchOfStandardLayout, isMixedLayout, isSetAbstract, isValidTarget, removeActiveOnDragOrigin, removeImageFocus, separateChildren, setMindDragging, withEmoji, withMind, withMindExtend };
4237
4234
  //# sourceMappingURL=plait-mind.mjs.map