mind-elixir 4.5.2 → 5.0.0-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/dist/MindElixir.iife.js +9 -14
- package/dist/MindElixir.js +1253 -1177
- package/dist/MindElixirLite.iife.js +7 -12
- package/dist/MindElixirLite.js +778 -1208
- package/dist/example.iife.js +1 -1
- package/dist/example.js +14 -13
- package/dist/types/arrow.d.ts +1 -0
- package/dist/types/index.d.ts +17 -24
- package/dist/types/interact.d.ts +10 -13
- package/dist/types/methods.d.ts +16 -14
- package/dist/types/nodeOperation.d.ts +1 -2
- package/dist/types/summary.d.ts +2 -2
- package/dist/types/types/dom.d.ts +4 -1
- package/dist/types/types/index.d.ts +8 -6
- package/dist/types/utils/dragMoveHelper.d.ts +4 -3
- package/dist/types/utils/index.d.ts +5 -1
- package/dist/types/utils/pubsub.d.ts +12 -16
- package/dist/types/utils/svg.d.ts +3 -1
- package/dist/types/vanilla/src/EventEmitter.d.ts +13 -0
- package/dist/types/vanilla/src/index.d.ts +112 -0
- package/dist/types/vanilla/src/types.d.ts +84 -0
- package/dist/types/vanilla/src/utils/arrayify.d.ts +1 -0
- package/dist/types/vanilla/src/utils/browser.d.ts +2 -0
- package/dist/types/vanilla/src/utils/css.d.ts +10 -0
- package/dist/types/vanilla/src/utils/domRect.d.ts +1 -0
- package/dist/types/vanilla/src/utils/events.d.ts +29 -0
- package/dist/types/vanilla/src/utils/frames.d.ts +7 -0
- package/dist/types/vanilla/src/utils/intersects.d.ts +9 -0
- package/dist/types/vanilla/src/utils/matchesTrigger.d.ts +16 -0
- package/dist/types/vanilla/src/utils/selectAll.d.ts +8 -0
- package/package.json +3 -3
- package/readme.md +12 -1
package/dist/example.iife.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
var example=function(){"use strict";return{nodeData:{id:"me-root",topic:"Mind Elixir",tags:["Mind Map Core"],children:[{topic:"logo2",id:"56dae51a90d350a8",direction:0,expanded:!0,children:[{id:"use-image",topic:"mind-elixir",image:{url:"https://raw.githubusercontent.com/ssshooter/mind-elixir-core/master/images/logo2.png",height:100,width:90,fit:"contain"}}]},{topic:"What is Mind Elixir",id:"bd4313fbac40284b",direction:0,expanded:!0,children:[{topic:"A mind map core",id:"beeb823afd6d2114"},{topic:"Free",id:"c1f068377de9f3a0"},{topic:"Open-Source",id:"c1f06d38a09f23ca"},{topic:"Use without JavaScript framework",id:"c1f06e4cbcf16463",expanded:!0,children:[]},{topic:"Use in your own project",id:"c1f1f11a7fbf7550",children:[{topic:"import MindElixir from 'mind-elixir'",id:"c1f1e245b0a89f9b"},{topic:"new MindElixir({...}).init(data)",id:"c1f1ebc7072c8928"}]},{topic:"Easy to use",id:"c1f0723c07b408d7",expanded:!0,children:[{topic:"Use it like other mind map application",id:"c1f09612fd89920d"}]}]},{topic:"Basics",id:"bd1b66c4b56754d9",direction:0,expanded:!0,children:[{topic:"tab - Create a child node",id:"bd1b6892bcab126a"},{topic:"enter - Create a sibling node",id:"bd1b6b632a434b27"},{topic:"del - Remove a node",id:"bd1b983085187c0a"}]},{topic:"Focus mode",id:"bd1b9b94a9a7a913",direction:1,expanded:!0,children:[{topic:"Right click and select Focus Mode",id:"bd1bb2ac4bbab458"},{topic:"Right click and select Cancel Focus Mode",id:"bd1bb4b14d6697c3"}]},{topic:"Left menu",id:"bd1b9d1816ede134",direction:0,expanded:!0,children:[{topic:"Node distribution",id:"bd1ba11e620c3c1a",expanded:!0,children:[{topic:"Left",id:"bd1c1cb51e6745d3"},{topic:"Right",id:"bd1c1e12fd603ff6"},{topic:"Both l & r",id:"bd1c1f03def5c97b"}]}]},{topic:"Bottom menu",id:"bd1ba66996df4ba4",direction:1,expanded:!0,children:[{topic:"Full screen",id:"bd1ba81d9bc95a7e"},{topic:"Return to Center",id:"bd1babdd5c18a7a2"},{topic:"Zoom in",id:"bd1bae68e0ab186e"},{topic:"Zoom out",id:"bd1bb06377439977"}]},{topic:"Link",id:"bd1beff607711025",direction:0,expanded:!0,children:[{topic:"Right click and select Link",id:"bd1bf320da90046a"},{topic:"Click the target you want to link",id:"bd1bf6f94ff2e642"},{topic:"Modify link with control points",id:"bd1c0c4a487bd036"},{topic:"Bidirectional link is",id:"4da8dbbc7b71be99"},{topic:"Also available.",id:"4da8ded27033a710"}]},{topic:"Node style",id:"bd1c217f9d0b20bd",direction:0,expanded:!0,children:[{topic:"Font Size",id:"bd1c24420cd2c2f5",style:{fontSize:"32",color:"#3298db"}},{topic:"Font Color",id:"bd1c2a59b9a2739c",style:{color:"#c0392c"}},{topic:"Background Color",id:"bd1c2de33f057eb4",style:{color:"#bdc3c7",background:"#2c3e50"}},{topic:"Add tags",id:"bd1cff58364436d0",tags:["Completed"]},{topic:"Add icons",id:"bd1d0317f7e8a61a",icons:["😂"],tags:["www"]},{topic:"Bolder",id:"bd41fd4ca32322a4",style:{fontWeight:"bold"}},{topic:"Hyper link",id:"bd41fd4ca32322a5",hyperLink:"https://github.com/ssshooter/mind-elixir-core"}]},{topic:"Draggable",id:"bd1f03fee1f63bc6",direction:1,expanded:!0,children:[{topic:`Drag a node to another node
|
|
2
2
|
and the former one will become a child node of latter one`,id:"bd1f07c598e729dc"}]},{topic:"Export data",id:"beeb7586973430db",direction:1,expanded:!0,children:[{topic:"JSON",id:"beeb784cc189375f"},{topic:"HTML",id:"beeb7a6bec2d68f5"},{topic:"SVG",id:"beeb7a6bec2d68e6"}]},{topic:"dangerouslySetInnerHTML",id:"c00a1cf60baa44f0",children:[{topic:"Katex",id:"c00a2264f4532611",children:[{topic:"",id:"c00a2264f4532612",dangerouslySetInnerHTML:'<div class="math math-display"><span class="katex-display"><span class="katex"><span class="katex-html" aria-hidden="true"><span class="base"><span class="strut" style="height:2.4em;vertical-align:-0.95em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size1">[</span></span><span class="mord"><span class="mtable"><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.85em;"><span style="top:-3.01em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">x</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.35em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:0.85em;"><span style="top:-3.01em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal" style="margin-right:0.03588em;">y</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.35em;"><span></span></span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size1">]</span></span></span><span class="mspace" style="margin-right:0.1667em;"></span><span class="minner"><span class="mopen delimcenter" style="top:0em;"><span class="delimsizing size3">[</span></span><span class="mord"><span class="mtable"><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.45em;"><span style="top:-3.61em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">a</span></span></span><span style="top:-2.41em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">b</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.95em;"><span></span></span></span></span></span><span class="arraycolsep" style="width:0.5em;"></span><span class="arraycolsep" style="width:0.5em;"></span><span class="col-align-c"><span class="vlist-t vlist-t2"><span class="vlist-r"><span class="vlist" style="height:1.45em;"><span style="top:-3.61em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">c</span></span></span><span style="top:-2.41em;"><span class="pstrut" style="height:3em;"></span><span class="mord"><span class="mord mathnormal">d</span></span></span></span><span class="vlist-s">​</span></span><span class="vlist-r"><span class="vlist" style="height:0.95em;"><span></span></span></span></span></span></span></span><span class="mclose delimcenter" style="top:0em;"><span class="delimsizing size3">]</span></span></span></span></span></span></span></div>'}]},{topic:"Code Block",id:"c00a2264fdaw32612",children:[{topic:"",id:"c00a2264f4532613",dangerouslySetInnerHTML:`<pre class="language-javascript"><code class="language-javascript"><span class="token keyword">let</span> message <span class="token operator">=</span> <span class="token string">'Hello world'</span>
|
|
3
|
-
<span class="token function">alert</span><span class="token punctuation">(</span>message<span class="token punctuation">)</span></code></pre>`}]},{topic:"Customized Div",id:"c00a2264f4532615",children:[{topic:"",id:"c00a2264f4532614",dangerouslySetInnerHTML:'<div><style>.title{font-size:50px}</style><div class="title">Title</div><div style="color: red; font-size: 20px;">Hello world</div></div>'}]}
|
|
3
|
+
<span class="token function">alert</span><span class="token punctuation">(</span>message<span class="token punctuation">)</span></code></pre>`}]},{topic:"Customized Div",id:"c00a2264f4532615",children:[{topic:"",id:"c00a2264f4532614",dangerouslySetInnerHTML:'<div><style>.title{font-size:50px}</style><div class="title">Title</div><div style="color: red; font-size: 20px;">Hello world</div></div>'}]}],direction:1},{topic:"Caution",id:"bd42dad21aaf6bae",direction:0,style:{background:"#f1c40e"},expanded:!0,children:[{topic:"Only save manually",id:"bd42e1d0163ebf04",expanded:!0,children:[{topic:"Save button in the top-right corner",id:"bd42e619051878b3",branchColor:"green",expanded:!0,children:[]},{topic:"ctrl + S",id:"bd42e97d7ac35e99"}]}]}],expanded:!0},arrows:[{id:"ac5fb1df7345e9c4",label:"Render",from:"beeb784cc189375f",to:"beeb7a6bec2d68f5",delta1:{x:142.8828125,y:-57},delta2:{x:146.1171875,y:45},bidirectional:!1},{id:"4da8e3367b63b640",label:"Bidirectional!",from:"4da8dbbc7b71be99",to:"4da8ded27033a710",delta1:{x:-186,y:7},delta2:{x:-155,y:28},bidirectional:!0}],summaries:[{id:"a5e68e6a2ce1b648",parent:"bd42e1d0163ebf04",start:0,end:1,label:"summary"},{id:"a5e6978f1bc69f4a",parent:"bd4313fbac40284b",start:3,end:5,label:"summary"}],direction:2,theme:{name:"Latte",palette:["#dd7878","#ea76cb","#8839ef","#e64553","#fe640b","#df8e1d","#40a02b","#209fb5","#1e66f5","#7287fd"],cssVar:{"--main-color":"#444446","--main-bgcolor":"#ffffff","--color":"#777777","--bgcolor":"#f6f6f6","--panel-color":"#444446","--panel-bgcolor":"#ffffff","--panel-border-color":"#eaeaea"}}}}();
|
package/dist/example.js
CHANGED
|
@@ -312,18 +312,19 @@ and the former one will become a child node of latter one`,
|
|
|
312
312
|
dangerouslySetInnerHTML: '<div><style>.title{font-size:50px}</style><div class="title">Title</div><div style="color: red; font-size: 20px;">Hello world</div></div>'
|
|
313
313
|
}
|
|
314
314
|
]
|
|
315
|
-
},
|
|
316
|
-
{
|
|
317
|
-
topic: "Video",
|
|
318
|
-
id: "c00a2264ffadw19",
|
|
319
|
-
children: [
|
|
320
|
-
{
|
|
321
|
-
topic: "",
|
|
322
|
-
id: "c00a2264f453fv14",
|
|
323
|
-
dangerouslySetInnerHTML: '<iframe src="//player.bilibili.com/player.html?bvid=BV1aTxMehEjK&poster=1&autoplay=0&danmaku=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>'
|
|
324
|
-
}
|
|
325
|
-
]
|
|
326
315
|
}
|
|
316
|
+
// {
|
|
317
|
+
// topic: 'Video',
|
|
318
|
+
// id: 'c00a2264ffadw19',
|
|
319
|
+
// children: [
|
|
320
|
+
// {
|
|
321
|
+
// topic: '',
|
|
322
|
+
// id: 'c00a2264f453fv14',
|
|
323
|
+
// dangerouslySetInnerHTML:
|
|
324
|
+
// '<iframe src="//player.bilibili.com/player.html?bvid=BV1aTxMehEjK&poster=1&autoplay=0&danmaku=0" scrolling="no" border="0" frameborder="no" framespacing="0" allowfullscreen="true"></iframe>',
|
|
325
|
+
// },
|
|
326
|
+
// ],
|
|
327
|
+
// },
|
|
327
328
|
],
|
|
328
329
|
direction: 1
|
|
329
330
|
},
|
|
@@ -397,14 +398,14 @@ and the former one will become a child node of latter one`,
|
|
|
397
398
|
parent: "bd42e1d0163ebf04",
|
|
398
399
|
start: 0,
|
|
399
400
|
end: 1,
|
|
400
|
-
|
|
401
|
+
label: "summary"
|
|
401
402
|
},
|
|
402
403
|
{
|
|
403
404
|
id: "a5e6978f1bc69f4a",
|
|
404
405
|
parent: "bd4313fbac40284b",
|
|
405
406
|
start: 3,
|
|
406
407
|
end: 5,
|
|
407
|
-
|
|
408
|
+
label: "summary"
|
|
408
409
|
}
|
|
409
410
|
],
|
|
410
411
|
direction: 2,
|
package/dist/types/arrow.d.ts
CHANGED
|
@@ -45,6 +45,7 @@ export type ArrowOptions = {
|
|
|
45
45
|
bidirectional?: boolean;
|
|
46
46
|
};
|
|
47
47
|
export declare const createArrow: (this: MindElixirInstance, from: Topic, to: Topic, options?: ArrowOptions) => void;
|
|
48
|
+
export declare const createArrowFrom: (this: MindElixirInstance, arrow: Omit<Arrow, 'id'>) => void;
|
|
48
49
|
export declare const removeArrow: (this: MindElixirInstance, linkSvg?: CustomSvg) => void;
|
|
49
50
|
export declare const selectArrow: (this: MindElixirInstance, link: CustomSvg) => void;
|
|
50
51
|
export declare const unselectArrow: (this: MindElixirInstance) => void;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -2,15 +2,14 @@ import './index.less';
|
|
|
2
2
|
import './iconfont/iconfont.js';
|
|
3
3
|
import { LEFT, RIGHT, SIDE, DARK_THEME, THEME } from './const';
|
|
4
4
|
import { findEle } from './utils/dom';
|
|
5
|
-
import dragMoveHelper from './utils/dragMoveHelper';
|
|
6
5
|
import type { MindElixirData, MindElixirInstance, MindElixirMethods, Options } from './types/index';
|
|
7
6
|
declare function MindElixir(this: MindElixirInstance, { el, direction, locale, draggable, editable, contextMenu, contextMenuOption, toolBar, keypress, mouseSelectionButton, selectionContainer, before, newTopicName, allowUndo, generateMainBranch, generateSubBranch, overflowHidden, theme, alignment, }: Options): void;
|
|
8
7
|
declare namespace MindElixir {
|
|
9
8
|
export var prototype: {
|
|
10
9
|
init(this: MindElixirInstance, data: MindElixirData): Error | undefined;
|
|
11
10
|
destroy(this: Partial<MindElixirInstance>): void;
|
|
12
|
-
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Blob;
|
|
13
|
-
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Promise<Blob | null>;
|
|
11
|
+
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string | undefined) => Blob;
|
|
12
|
+
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string | undefined) => Promise<Blob | null>;
|
|
14
13
|
createSummary: (this: MindElixirInstance) => void;
|
|
15
14
|
createSummaryFrom: (this: MindElixirInstance, summary: Omit<import("./summary").Summary, "id">) => void;
|
|
16
15
|
removeSummary: (this: MindElixirInstance, id: string) => void;
|
|
@@ -22,7 +21,8 @@ declare namespace MindElixir {
|
|
|
22
21
|
editArrowLabel(this: MindElixirInstance, el: import("./types/dom").CustomSvg): void;
|
|
23
22
|
tidyArrow(this: MindElixirInstance): void;
|
|
24
23
|
createArrow: (this: MindElixirInstance, from: import("./types/dom").Topic, to: import("./types/dom").Topic, options?: import("./arrow").ArrowOptions) => void;
|
|
25
|
-
|
|
24
|
+
createArrowFrom: (this: MindElixirInstance, arrow: Omit<import("./arrow").Arrow, "id">) => void;
|
|
25
|
+
removeArrow: (this: MindElixirInstance, linkSvg?: import("./types/dom").CustomSvg | undefined) => void;
|
|
26
26
|
selectArrow: (this: MindElixirInstance, link: import("./types/dom").CustomSvg) => void;
|
|
27
27
|
unselectArrow: (this: MindElixirInstance) => void;
|
|
28
28
|
rmSubline: (this: MindElixirInstance, tpc: import("./types/dom").Topic) => Promise<void>;
|
|
@@ -34,26 +34,26 @@ declare namespace MindElixir {
|
|
|
34
34
|
copyNodes: (this: MindElixirInstance, tpcs: import("./types/dom").Topic[], to: import("./types/dom").Topic) => Promise<void>;
|
|
35
35
|
moveUpNode: (this: MindElixirInstance, el?: import("./types/dom").Topic | undefined) => Promise<void>;
|
|
36
36
|
moveDownNode: (this: MindElixirInstance, el?: import("./types/dom").Topic | undefined) => Promise<void>;
|
|
37
|
-
removeNode: (this: MindElixirInstance, el?: import("./types/dom").Topic | undefined) => Promise<void>;
|
|
38
37
|
removeNodes: (this: MindElixirInstance, tpcs: import("./types/dom").Topic[]) => Promise<void>;
|
|
39
38
|
moveNodeIn: (this: MindElixirInstance, from: import("./types/dom").Topic[], to: import("./types/dom").Topic) => Promise<void>;
|
|
40
39
|
moveNodeBefore: (this: MindElixirInstance, from: import("./types/dom").Topic[], to: import("./types/dom").Topic) => Promise<void>;
|
|
41
40
|
moveNodeAfter: (this: MindElixirInstance, from: import("./types/dom").Topic[], to: import("./types/dom").Topic) => Promise<void>;
|
|
42
41
|
beginEdit: (this: MindElixirInstance, el?: import("./types/dom").Topic | undefined) => Promise<void>;
|
|
43
42
|
setNodeTopic: (this: MindElixirInstance, el: import("./types/dom").Topic, topic: string) => Promise<void>;
|
|
44
|
-
selectNode: (this: MindElixirInstance,
|
|
45
|
-
unselectNode: (this: MindElixirInstance) => void;
|
|
43
|
+
selectNode: (this: MindElixirInstance, tpc: import("./types/dom").Topic, isNewNode?: boolean | undefined, e?: MouseEvent | undefined) => void;
|
|
46
44
|
selectNodes: (this: MindElixirInstance, tpc: import("./types/dom").Topic[]) => void;
|
|
47
|
-
unselectNodes: (
|
|
48
|
-
this: MindElixirInstance) => void;
|
|
45
|
+
unselectNodes: (this: MindElixirInstance, tpc: import("./types/dom").Topic[]) => void;
|
|
49
46
|
clearSelection: (this: MindElixirInstance) => void;
|
|
50
47
|
getDataString: (this: MindElixirInstance) => string;
|
|
51
48
|
getData: (this: MindElixirInstance) => MindElixirData;
|
|
52
|
-
getDataMd: (this: MindElixirInstance) => string;
|
|
53
49
|
enableEdit: (this: MindElixirInstance) => void;
|
|
54
50
|
disableEdit: (this: MindElixirInstance) => void;
|
|
55
|
-
scale: (this: MindElixirInstance, scaleVal: number
|
|
51
|
+
scale: (this: MindElixirInstance, scaleVal: number, offset?: {
|
|
52
|
+
x: number;
|
|
53
|
+
y: number;
|
|
54
|
+
}) => void;
|
|
56
55
|
scaleFit: (this: MindElixirInstance) => void;
|
|
56
|
+
move: (this: MindElixirInstance, dx: number, dy: number) => void;
|
|
57
57
|
toCenter: (this: MindElixirInstance) => void;
|
|
58
58
|
install: (this: MindElixirInstance, plugin: (instance: MindElixirInstance) => void) => void;
|
|
59
59
|
focusNode: (this: MindElixirInstance, el: import("./types/dom").Topic) => void;
|
|
@@ -62,14 +62,14 @@ declare namespace MindElixir {
|
|
|
62
62
|
initRight: (this: MindElixirInstance) => void;
|
|
63
63
|
initSide: (this: MindElixirInstance) => void;
|
|
64
64
|
setLocale: (this: MindElixirInstance, locale: import("./i18n").Locale) => void;
|
|
65
|
-
expandNode: (this: MindElixirInstance, el: import("./types/dom").Topic, isExpand?: boolean) => void;
|
|
66
|
-
refresh: (this: MindElixirInstance, data?: MindElixirData) => void;
|
|
65
|
+
expandNode: (this: MindElixirInstance, el: import("./types/dom").Topic, isExpand?: boolean | undefined) => void;
|
|
66
|
+
refresh: (this: MindElixirInstance, data?: MindElixirData | undefined) => void;
|
|
67
67
|
getObjById: (id: string, data: import("./types/index").NodeObj) => import("./types/index").NodeObj | null;
|
|
68
68
|
generateNewObj: (this: MindElixirInstance) => import("./types/index").NodeObjExport;
|
|
69
69
|
layout: (this: MindElixirInstance) => void;
|
|
70
|
-
linkDiv: (this: MindElixirInstance, mainNode?: import("./types/dom").Wrapper) => void;
|
|
70
|
+
linkDiv: (this: MindElixirInstance, mainNode?: import("./types/dom").Wrapper | undefined) => void;
|
|
71
71
|
editTopic: (this: MindElixirInstance, el: import("./types/dom").Topic) => void;
|
|
72
|
-
createWrapper: (this: MindElixirInstance, nodeObj: import("./types/index").NodeObj, omitChildren?: boolean) => {
|
|
72
|
+
createWrapper: (this: MindElixirInstance, nodeObj: import("./types/index").NodeObj, omitChildren?: boolean | undefined) => {
|
|
73
73
|
grp: import("./types/dom").Wrapper;
|
|
74
74
|
top: import("./types/dom").Parent;
|
|
75
75
|
tpc: import("./types/dom").Topic;
|
|
@@ -80,7 +80,7 @@ declare namespace MindElixir {
|
|
|
80
80
|
};
|
|
81
81
|
createChildren: (this: MindElixirInstance, wrappers: import("./types/dom").Wrapper[]) => import("./types/dom").Children;
|
|
82
82
|
createTopic: (this: MindElixirInstance, nodeObj: import("./types/index").NodeObj) => import("./types/dom").Topic;
|
|
83
|
-
findEle: (id: string, instance?: MindElixirInstance) => import("./types/dom").Topic;
|
|
83
|
+
findEle: (id: string, instance?: MindElixirInstance | undefined) => import("./types/dom").Topic;
|
|
84
84
|
changeTheme: (this: MindElixirInstance, theme: import("./types/index").Theme, shouldRefresh?: boolean) => void;
|
|
85
85
|
};
|
|
86
86
|
export var LEFT: number;
|
|
@@ -89,14 +89,8 @@ declare namespace MindElixir {
|
|
|
89
89
|
export var THEME: import("./types/index").Theme;
|
|
90
90
|
export var DARK_THEME: import("./types/index").Theme;
|
|
91
91
|
export var version: any;
|
|
92
|
-
export var E: (id: string, instance?: MindElixirInstance) => import("./types/dom").Topic;
|
|
92
|
+
export var E: (id: string, instance?: MindElixirInstance | undefined) => import("./types/dom").Topic;
|
|
93
93
|
var _a: (topic: string) => MindElixirData;
|
|
94
|
-
export var dragMoveHelper: {
|
|
95
|
-
moved: boolean;
|
|
96
|
-
mousedown: boolean;
|
|
97
|
-
onMove(e: MouseEvent, mind: MindElixirInstance): void;
|
|
98
|
-
clear(): void;
|
|
99
|
-
};
|
|
100
94
|
export { _a as new };
|
|
101
95
|
}
|
|
102
96
|
export interface MindElixirCtor {
|
|
@@ -110,7 +104,6 @@ export interface MindElixirCtor {
|
|
|
110
104
|
THEME: typeof THEME;
|
|
111
105
|
DARK_THEME: typeof DARK_THEME;
|
|
112
106
|
prototype: MindElixirMethods;
|
|
113
|
-
dragMoveHelper: typeof dragMoveHelper;
|
|
114
107
|
}
|
|
115
108
|
declare const _default: MindElixirCtor;
|
|
116
109
|
export default _default;
|
package/dist/types/interact.d.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { Locale } from './i18n';
|
|
2
2
|
import type { Topic } from './types/dom';
|
|
3
3
|
import type { MindElixirData, MindElixirInstance } from './types/index';
|
|
4
|
-
export declare const selectNode: (this: MindElixirInstance,
|
|
5
|
-
export declare const unselectNode: (this: MindElixirInstance) => void;
|
|
4
|
+
export declare const selectNode: (this: MindElixirInstance, tpc: Topic, isNewNode?: boolean, e?: MouseEvent) => void;
|
|
6
5
|
export declare const selectNodes: (this: MindElixirInstance, tpc: Topic[]) => void;
|
|
7
|
-
export declare const unselectNodes: (this: MindElixirInstance) => void;
|
|
6
|
+
export declare const unselectNodes: (this: MindElixirInstance, tpc: Topic[]) => void;
|
|
8
7
|
export declare const clearSelection: (this: MindElixirInstance) => void;
|
|
9
8
|
/**
|
|
10
9
|
* @function
|
|
@@ -24,15 +23,6 @@ export declare const getDataString: (this: MindElixirInstance) => string;
|
|
|
24
23
|
* @return {Object}
|
|
25
24
|
*/
|
|
26
25
|
export declare const getData: (this: MindElixirInstance) => MindElixirData;
|
|
27
|
-
/**
|
|
28
|
-
* @function
|
|
29
|
-
* @instance
|
|
30
|
-
* @name getDataMd
|
|
31
|
-
* @description Get all node data as markdown.
|
|
32
|
-
* @memberof MapInteraction
|
|
33
|
-
* @return {String}
|
|
34
|
-
*/
|
|
35
|
-
export declare const getDataMd: (this: MindElixirInstance) => string;
|
|
36
26
|
/**
|
|
37
27
|
* @function
|
|
38
28
|
* @instance
|
|
@@ -55,11 +45,18 @@ export declare const disableEdit: (this: MindElixirInstance) => void;
|
|
|
55
45
|
* @memberof MapInteraction
|
|
56
46
|
* @param {number}
|
|
57
47
|
*/
|
|
58
|
-
export declare const scale: (this: MindElixirInstance, scaleVal: number
|
|
48
|
+
export declare const scale: (this: MindElixirInstance, scaleVal: number, offset?: {
|
|
49
|
+
x: number;
|
|
50
|
+
y: number;
|
|
51
|
+
}) => void;
|
|
59
52
|
/**
|
|
60
53
|
* Better to use with option `alignment: 'nodes'`.
|
|
61
54
|
*/
|
|
62
55
|
export declare const scaleFit: (this: MindElixirInstance) => void;
|
|
56
|
+
/**
|
|
57
|
+
* Move the map by `dx` and `dy`.
|
|
58
|
+
*/
|
|
59
|
+
export declare const move: (this: MindElixirInstance, dx: number, dy: number) => void;
|
|
63
60
|
/**
|
|
64
61
|
* @function
|
|
65
62
|
* @instance
|
package/dist/types/methods.d.ts
CHANGED
|
@@ -13,8 +13,8 @@ export type MindElixirMethods = typeof methods;
|
|
|
13
13
|
declare const methods: {
|
|
14
14
|
init(this: MindElixirInstance, data: MindElixirData): Error | undefined;
|
|
15
15
|
destroy(this: Partial<MindElixirInstance>): void;
|
|
16
|
-
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Blob;
|
|
17
|
-
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string) => Promise<Blob | null>;
|
|
16
|
+
exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string | undefined) => Blob;
|
|
17
|
+
exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string | undefined) => Promise<Blob | null>;
|
|
18
18
|
createSummary: (this: MindElixirInstance) => void;
|
|
19
19
|
createSummaryFrom: (this: MindElixirInstance, summary: Omit<summary.Summary, "id">) => void;
|
|
20
20
|
removeSummary: (this: MindElixirInstance, id: string) => void;
|
|
@@ -26,7 +26,8 @@ declare const methods: {
|
|
|
26
26
|
editArrowLabel(this: MindElixirInstance, el: import("./index").CustomSvg): void;
|
|
27
27
|
tidyArrow(this: MindElixirInstance): void;
|
|
28
28
|
createArrow: (this: MindElixirInstance, from: import("./index").Topic, to: import("./index").Topic, options?: arrow.ArrowOptions) => void;
|
|
29
|
-
|
|
29
|
+
createArrowFrom: (this: MindElixirInstance, arrow: Omit<arrow.Arrow, "id">) => void;
|
|
30
|
+
removeArrow: (this: MindElixirInstance, linkSvg?: import("./index").CustomSvg | undefined) => void;
|
|
30
31
|
selectArrow: (this: MindElixirInstance, link: import("./index").CustomSvg) => void;
|
|
31
32
|
unselectArrow: (this: MindElixirInstance) => void;
|
|
32
33
|
rmSubline: (this: MindElixirInstance, tpc: import("./index").Topic) => Promise<void>;
|
|
@@ -38,25 +39,26 @@ declare const methods: {
|
|
|
38
39
|
copyNodes: (this: MindElixirInstance, tpcs: import("./index").Topic[], to: import("./index").Topic) => Promise<void>;
|
|
39
40
|
moveUpNode: (this: MindElixirInstance, el?: import("./index").Topic | undefined) => Promise<void>;
|
|
40
41
|
moveDownNode: (this: MindElixirInstance, el?: import("./index").Topic | undefined) => Promise<void>;
|
|
41
|
-
removeNode: (this: MindElixirInstance, el?: import("./index").Topic | undefined) => Promise<void>;
|
|
42
42
|
removeNodes: (this: MindElixirInstance, tpcs: import("./index").Topic[]) => Promise<void>;
|
|
43
43
|
moveNodeIn: (this: MindElixirInstance, from: import("./index").Topic[], to: import("./index").Topic) => Promise<void>;
|
|
44
44
|
moveNodeBefore: (this: MindElixirInstance, from: import("./index").Topic[], to: import("./index").Topic) => Promise<void>;
|
|
45
45
|
moveNodeAfter: (this: MindElixirInstance, from: import("./index").Topic[], to: import("./index").Topic) => Promise<void>;
|
|
46
46
|
beginEdit: (this: MindElixirInstance, el?: import("./index").Topic | undefined) => Promise<void>;
|
|
47
47
|
setNodeTopic: (this: MindElixirInstance, el: import("./index").Topic, topic: string) => Promise<void>;
|
|
48
|
-
selectNode: (this: MindElixirInstance,
|
|
49
|
-
unselectNode: (this: MindElixirInstance) => void;
|
|
48
|
+
selectNode: (this: MindElixirInstance, tpc: import("./index").Topic, isNewNode?: boolean | undefined, e?: MouseEvent | undefined) => void;
|
|
50
49
|
selectNodes: (this: MindElixirInstance, tpc: import("./index").Topic[]) => void;
|
|
51
|
-
unselectNodes: (this: MindElixirInstance) => void;
|
|
50
|
+
unselectNodes: (this: MindElixirInstance, tpc: import("./index").Topic[]) => void;
|
|
52
51
|
clearSelection: (this: MindElixirInstance) => void;
|
|
53
52
|
getDataString: (this: MindElixirInstance) => string;
|
|
54
53
|
getData: (this: MindElixirInstance) => MindElixirData;
|
|
55
|
-
getDataMd: (this: MindElixirInstance) => string;
|
|
56
54
|
enableEdit: (this: MindElixirInstance) => void;
|
|
57
55
|
disableEdit: (this: MindElixirInstance) => void;
|
|
58
|
-
scale: (this: MindElixirInstance, scaleVal: number
|
|
56
|
+
scale: (this: MindElixirInstance, scaleVal: number, offset?: {
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
}) => void;
|
|
59
60
|
scaleFit: (this: MindElixirInstance) => void;
|
|
61
|
+
move: (this: MindElixirInstance, dx: number, dy: number) => void;
|
|
60
62
|
toCenter: (this: MindElixirInstance) => void;
|
|
61
63
|
install: (this: MindElixirInstance, plugin: (instance: MindElixirInstance) => void) => void;
|
|
62
64
|
focusNode: (this: MindElixirInstance, el: import("./index").Topic) => void;
|
|
@@ -65,14 +67,14 @@ declare const methods: {
|
|
|
65
67
|
initRight: (this: MindElixirInstance) => void;
|
|
66
68
|
initSide: (this: MindElixirInstance) => void;
|
|
67
69
|
setLocale: (this: MindElixirInstance, locale: import("./i18n").Locale) => void;
|
|
68
|
-
expandNode: (this: MindElixirInstance, el: import("./index").Topic, isExpand?: boolean) => void;
|
|
69
|
-
refresh: (this: MindElixirInstance, data?: MindElixirData) => void;
|
|
70
|
+
expandNode: (this: MindElixirInstance, el: import("./index").Topic, isExpand?: boolean | undefined) => void;
|
|
71
|
+
refresh: (this: MindElixirInstance, data?: MindElixirData | undefined) => void;
|
|
70
72
|
getObjById: (id: string, data: import("./types").NodeObj) => import("./types").NodeObj | null;
|
|
71
73
|
generateNewObj: (this: MindElixirInstance) => import("./types").NodeObjExport;
|
|
72
74
|
layout: (this: MindElixirInstance) => void;
|
|
73
|
-
linkDiv: (this: MindElixirInstance, mainNode?: import("./index").Wrapper) => void;
|
|
75
|
+
linkDiv: (this: MindElixirInstance, mainNode?: import("./index").Wrapper | undefined) => void;
|
|
74
76
|
editTopic: (this: MindElixirInstance, el: import("./index").Topic) => void;
|
|
75
|
-
createWrapper: (this: MindElixirInstance, nodeObj: import("./types").NodeObj, omitChildren?: boolean) => {
|
|
77
|
+
createWrapper: (this: MindElixirInstance, nodeObj: import("./types").NodeObj, omitChildren?: boolean | undefined) => {
|
|
76
78
|
grp: import("./index").Wrapper;
|
|
77
79
|
top: import("./index").Parent;
|
|
78
80
|
tpc: import("./index").Topic;
|
|
@@ -83,7 +85,7 @@ declare const methods: {
|
|
|
83
85
|
};
|
|
84
86
|
createChildren: (this: MindElixirInstance, wrappers: import("./index").Wrapper[]) => import("./index").Children;
|
|
85
87
|
createTopic: (this: MindElixirInstance, nodeObj: import("./types").NodeObj) => import("./index").Topic;
|
|
86
|
-
findEle: (id: string, instance?: MindElixirInstance) => import("./index").Topic;
|
|
88
|
+
findEle: (id: string, instance?: MindElixirInstance | undefined) => import("./index").Topic;
|
|
87
89
|
changeTheme: (this: MindElixirInstance, theme: import("./types").Theme, shouldRefresh?: boolean) => void;
|
|
88
90
|
};
|
|
89
91
|
export default methods;
|
|
@@ -2,14 +2,13 @@ import type { Topic } from './types/dom';
|
|
|
2
2
|
import { type MindElixirInstance, type NodeObj } from './types/index';
|
|
3
3
|
export declare const rmSubline: (tpc: Topic) => void;
|
|
4
4
|
export declare const reshapeNode: (this: MindElixirInstance, tpc: Topic, patchData: Partial<NodeObj>) => void;
|
|
5
|
-
export declare const insertSibling: (this: MindElixirInstance, type:
|
|
5
|
+
export declare const insertSibling: (this: MindElixirInstance, type: 'before' | 'after', el?: Topic, node?: NodeObj) => void;
|
|
6
6
|
export declare const insertParent: (this: MindElixirInstance, el?: Topic, node?: NodeObj) => void;
|
|
7
7
|
export declare const addChild: (this: MindElixirInstance, el?: Topic, node?: NodeObj) => void;
|
|
8
8
|
export declare const copyNode: (this: MindElixirInstance, node: Topic, to: Topic) => void;
|
|
9
9
|
export declare const copyNodes: (this: MindElixirInstance, tpcs: Topic[], to: Topic) => void;
|
|
10
10
|
export declare const moveUpNode: (this: MindElixirInstance, el?: Topic) => void;
|
|
11
11
|
export declare const moveDownNode: (this: MindElixirInstance, el?: Topic) => void;
|
|
12
|
-
export declare const removeNode: (this: MindElixirInstance, el?: Topic) => void;
|
|
13
12
|
export declare const removeNodes: (this: MindElixirInstance, tpcs: Topic[]) => void;
|
|
14
13
|
export declare const moveNodeIn: (this: MindElixirInstance, from: Topic[], to: Topic) => void;
|
|
15
14
|
export declare const moveNodeBefore: (this: MindElixirInstance, from: Topic[], to: Topic) => void;
|
package/dist/types/summary.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { MindElixirInstance } from '.';
|
|
|
4
4
|
*/
|
|
5
5
|
export interface Summary {
|
|
6
6
|
id: string;
|
|
7
|
-
|
|
7
|
+
label: string;
|
|
8
8
|
/**
|
|
9
9
|
* parent node id of the summary
|
|
10
10
|
*/
|
|
@@ -23,7 +23,7 @@ export type SummarySvgGroup = SVGGElement & {
|
|
|
23
23
|
summaryObj: Summary;
|
|
24
24
|
};
|
|
25
25
|
export declare const createSummary: (this: MindElixirInstance) => void;
|
|
26
|
-
export declare const createSummaryFrom: (this: MindElixirInstance, summary: Omit<Summary,
|
|
26
|
+
export declare const createSummaryFrom: (this: MindElixirInstance, summary: Omit<Summary, 'id'>) => void;
|
|
27
27
|
export declare const removeSummary: (this: MindElixirInstance, id: string) => void;
|
|
28
28
|
export declare const selectSummary: (this: MindElixirInstance, el: SummarySvgGroup) => void;
|
|
29
29
|
export declare const unselectSummary: (this: MindElixirInstance) => void;
|
|
@@ -46,5 +46,8 @@ export type CustomLine = SVGPathElement;
|
|
|
46
46
|
export type CustomArrow = SVGPathElement;
|
|
47
47
|
export interface CustomSvg extends SVGGElement {
|
|
48
48
|
arrowObj: Arrow;
|
|
49
|
-
|
|
49
|
+
label: SVGTextElement;
|
|
50
|
+
line: SVGPathElement;
|
|
51
|
+
arrow1: SVGPathElement;
|
|
52
|
+
arrow2: SVGPathElement;
|
|
50
53
|
}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type Bus from '../utils/pubsub';
|
|
2
1
|
import type { Topic, CustomSvg } from './dom';
|
|
3
|
-
import type { EventMap, Operation } from '../utils/pubsub';
|
|
2
|
+
import type { createBus, EventMap, Operation } from '../utils/pubsub';
|
|
4
3
|
import type { MindElixirMethods, OperationMap, Operations } from '../methods';
|
|
5
4
|
import type { LinkDragMoveHelperInstance } from '../utils/LinkDragMoveHelper';
|
|
6
5
|
import type { Arrow } from '../arrow';
|
|
7
6
|
import type { Summary, SummarySvgGroup } from '../summary';
|
|
8
|
-
import type SelectionArea from '@viselect/vanilla';
|
|
9
7
|
import type { MainLineParams, SubLineParams } from '../utils/generateBranch';
|
|
10
8
|
import type { Locale } from '../i18n';
|
|
11
9
|
import type { ContextMenuOption } from '../plugin/contextMenu';
|
|
10
|
+
import type { createDragMoveHelper } from '../utils/dragMoveHelper';
|
|
11
|
+
import type SelectionArea from '../vanilla/src';
|
|
12
12
|
export { type MindElixirMethods } from '../methods';
|
|
13
13
|
export declare enum DirectionClass {
|
|
14
14
|
LHS = "lhs",
|
|
@@ -57,6 +57,7 @@ export type Alignment = 'root' | 'nodes';
|
|
|
57
57
|
* @public
|
|
58
58
|
*/
|
|
59
59
|
export interface MindElixirInstance extends MindElixirMethods {
|
|
60
|
+
dragged: Topic[] | null;
|
|
60
61
|
disposable: Array<() => void>;
|
|
61
62
|
isFocusMode: boolean;
|
|
62
63
|
nodeDataBackup: NodeObj;
|
|
@@ -64,8 +65,8 @@ export interface MindElixirInstance extends MindElixirMethods {
|
|
|
64
65
|
nodeData: NodeObj;
|
|
65
66
|
arrows: Arrow[];
|
|
66
67
|
summaries: Summary[];
|
|
67
|
-
currentNode: Topic | null;
|
|
68
|
-
currentNodes: Topic[]
|
|
68
|
+
readonly currentNode: Topic | null;
|
|
69
|
+
currentNodes: Topic[];
|
|
69
70
|
currentSummary: SummarySvgGroup | null;
|
|
70
71
|
currentArrow: CustomSvg | null;
|
|
71
72
|
waitCopy: Topic[] | null;
|
|
@@ -108,13 +109,14 @@ export interface MindElixirInstance extends MindElixirMethods {
|
|
|
108
109
|
* @internal
|
|
109
110
|
*/
|
|
110
111
|
helper2?: LinkDragMoveHelperInstance;
|
|
111
|
-
bus: ReturnType<typeof
|
|
112
|
+
bus: ReturnType<typeof createBus<EventMap>>;
|
|
112
113
|
history: Operation[];
|
|
113
114
|
undo: () => void;
|
|
114
115
|
redo: () => void;
|
|
115
116
|
selection: SelectionArea;
|
|
116
117
|
selectionContainer?: string | HTMLElement;
|
|
117
118
|
alignment: Alignment;
|
|
119
|
+
dragMoveHelper: ReturnType<typeof createDragMoveHelper>;
|
|
118
120
|
}
|
|
119
121
|
type PathString = string;
|
|
120
122
|
/**
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import type { MindElixirInstance } from '../types/index';
|
|
2
|
-
declare
|
|
2
|
+
export declare function createDragMoveHelper(mei: MindElixirInstance): {
|
|
3
|
+
x: number;
|
|
4
|
+
y: number;
|
|
3
5
|
moved: boolean;
|
|
4
6
|
mousedown: boolean;
|
|
5
|
-
onMove(e: MouseEvent
|
|
7
|
+
onMove(e: MouseEvent): void;
|
|
6
8
|
clear(): void;
|
|
7
9
|
};
|
|
8
|
-
export default _default;
|
|
@@ -14,7 +14,7 @@ export declare function getArrowPoints(p3x: number, p3y: number, p4x: number, p4
|
|
|
14
14
|
y1: number;
|
|
15
15
|
x2: number;
|
|
16
16
|
y2: number;
|
|
17
|
-
};
|
|
17
|
+
} | undefined;
|
|
18
18
|
export declare function generateUUID(): string;
|
|
19
19
|
export declare const generateNewObj: (this: MindElixirInstance) => NodeObjExport;
|
|
20
20
|
export declare function checkMoveValid(from: NodeObj, to: NodeObj): boolean;
|
|
@@ -28,3 +28,7 @@ export declare const setAttributes: (el: HTMLElement | SVGElement, attrs: {
|
|
|
28
28
|
}) => void;
|
|
29
29
|
export declare const isTopic: (target?: HTMLElement) => target is Topic;
|
|
30
30
|
export declare const unionTopics: (nodes: Topic[]) => Topic[];
|
|
31
|
+
export declare const getTranslate: (styleText: string) => {
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
};
|
|
@@ -20,11 +20,6 @@ type NodeOperation = {
|
|
|
20
20
|
name: 'moveNodeAfter' | 'moveNodeBefore' | 'moveNodeIn';
|
|
21
21
|
objs: NodeObj[];
|
|
22
22
|
toObj: NodeObj;
|
|
23
|
-
} | {
|
|
24
|
-
name: 'removeNode';
|
|
25
|
-
obj: NodeObj;
|
|
26
|
-
originIndex?: number;
|
|
27
|
-
originParentId?: string;
|
|
28
23
|
};
|
|
29
24
|
type MultipleNodeOperation = {
|
|
30
25
|
name: 'removeNodes';
|
|
@@ -64,23 +59,24 @@ export type EventMap = {
|
|
|
64
59
|
selectNode: (nodeObj: NodeObj, e?: MouseEvent) => void;
|
|
65
60
|
selectNewNode: (nodeObj: NodeObj) => void;
|
|
66
61
|
selectNodes: (nodeObj: NodeObj[]) => void;
|
|
67
|
-
|
|
68
|
-
unselectNodes: () => void;
|
|
62
|
+
unselectNodes: (nodeObj: NodeObj[]) => void;
|
|
69
63
|
expandNode: (nodeObj: NodeObj) => void;
|
|
70
64
|
linkDiv: () => void;
|
|
71
65
|
scale: (scale: number) => void;
|
|
66
|
+
move: (data: {
|
|
67
|
+
dx: number;
|
|
68
|
+
dy: number;
|
|
69
|
+
}) => void;
|
|
72
70
|
/**
|
|
73
71
|
* please use throttling to prevent performance degradation
|
|
74
72
|
*/
|
|
75
73
|
updateArrowDelta: (arrow: Arrow) => void;
|
|
76
74
|
};
|
|
77
|
-
declare
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
removeListener: <K extends keyof T>(type: K, handler: T[K]) => void;
|
|
84
|
-
};
|
|
75
|
+
export declare function createBus<T extends Record<string, (...args: any[]) => void> = EventMap>(): {
|
|
76
|
+
handlers: Record<keyof T, ((...arg: any[]) => void)[]>;
|
|
77
|
+
showHandler: () => void;
|
|
78
|
+
addListener: <K extends keyof T>(type: K, handler: T[K]) => void;
|
|
79
|
+
fire: <K_1 extends keyof T>(type: K_1, ...payload: Parameters<T[K_1]>) => void;
|
|
80
|
+
removeListener: <K_2 extends keyof T>(type: K_2, handler: T[K_2]) => void;
|
|
85
81
|
};
|
|
86
|
-
export
|
|
82
|
+
export {};
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { Arrow } from '../arrow';
|
|
2
|
+
import type { Summary } from '../summary';
|
|
1
3
|
import type { MindElixirInstance } from '../types';
|
|
2
4
|
import type { CustomSvg } from '../types/dom';
|
|
3
5
|
export declare const createPath: (d: string, color: string, width: string) => SVGPathElement;
|
|
4
6
|
export declare const createLinkSvg: (klass: string) => SVGSVGElement;
|
|
5
7
|
export declare const createLine: () => SVGLineElement;
|
|
6
8
|
export declare const createSvgGroup: (d: string, arrowd1: string, arrowd2: string) => CustomSvg;
|
|
7
|
-
export declare const editSvgText: (mei: MindElixirInstance, textEl: SVGTextElement,
|
|
9
|
+
export declare const editSvgText: (mei: MindElixirInstance, textEl: SVGTextElement, node: Summary | Arrow) => void;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
type AnyFunction = (...args: any[]) => any;
|
|
2
|
+
type EventMap = Record<string, AnyFunction>;
|
|
3
|
+
export declare class EventTarget<Events extends EventMap> {
|
|
4
|
+
private readonly _listeners;
|
|
5
|
+
addEventListener<K extends keyof Events>(event: K, cb: Events[K]): this;
|
|
6
|
+
removeEventListener<K extends keyof Events>(event: K, cb: Events[K]): this;
|
|
7
|
+
dispatchEvent<K extends keyof Events>(event: K, ...data: Parameters<Events[K]>): boolean;
|
|
8
|
+
unbindAllListeners(): void;
|
|
9
|
+
on: <K extends keyof Events>(event: K, cb: Events[K]) => this;
|
|
10
|
+
off: <K extends keyof Events>(event: K, cb: Events[K]) => this;
|
|
11
|
+
emit: <K extends keyof Events>(event: K, ...data: Parameters<Events[K]>) => boolean;
|
|
12
|
+
}
|
|
13
|
+
export {};
|