mind-elixir 4.5.1 → 5.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,15 +4,14 @@ import { LEFT, RIGHT, SIDE, DARK_THEME, THEME } from './const';
4
4
  import { findEle } from './utils/dom';
5
5
  import dragMoveHelper from './utils/dragMoveHelper';
6
6
  import type { MindElixirData, MindElixirInstance, MindElixirMethods, Options } from './types/index';
7
- 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;
7
+ declare function MindElixir(this: MindElixirInstance, { el, direction, locale, draggable, editable, contextMenu, contextMenuOption, toolBar, keypress, mouseSelectionButton, selectionContainer, before, newTopicName, allowUndo, generateMainBranch, generateSubBranch, overflowHidden, theme, }: Options): void;
8
8
  declare namespace MindElixir {
9
9
  export var prototype: {
10
10
  init(this: MindElixirInstance, data: MindElixirData): Error | undefined;
11
11
  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>;
12
+ exportSvg: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string | undefined) => Blob;
13
+ exportPng: (this: MindElixirInstance, noForeignObject?: boolean, injectCss?: string | undefined) => Promise<Blob | null>;
14
14
  createSummary: (this: MindElixirInstance) => void;
15
- createSummaryFrom: (this: MindElixirInstance, summary: Omit<import("./summary").Summary, "id">) => void;
16
15
  removeSummary: (this: MindElixirInstance, id: string) => void;
17
16
  selectSummary: (this: MindElixirInstance, el: import("./summary").SummarySvgGroup) => void;
18
17
  unselectSummary: (this: MindElixirInstance) => void;
@@ -22,7 +21,7 @@ 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
- removeArrow: (this: MindElixirInstance, linkSvg?: import("./types/dom").CustomSvg) => void;
24
+ removeArrow: (this: MindElixirInstance, linkSvg?: import("./types/dom").CustomSvg | undefined) => void;
26
25
  selectArrow: (this: MindElixirInstance, link: import("./types/dom").CustomSvg) => void;
27
26
  unselectArrow: (this: MindElixirInstance) => void;
28
27
  rmSubline: (this: MindElixirInstance, tpc: import("./types/dom").Topic) => Promise<void>;
@@ -41,11 +40,10 @@ declare namespace MindElixir {
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, targetElement: import("./types/dom").Topic, isNewNode?: boolean, e?: MouseEvent) => void;
43
+ selectNode: (this: MindElixirInstance, targetElement: import("./types/dom").Topic, isNewNode?: boolean | undefined, e?: MouseEvent | undefined) => void;
45
44
  unselectNode: (this: MindElixirInstance) => void;
46
45
  selectNodes: (this: MindElixirInstance, tpc: import("./types/dom").Topic[]) => void;
47
- unselectNodes: (// record the direction before enter focus mode, must true in focus mode, reset to null after exit focus
48
- this: MindElixirInstance) => void;
46
+ unselectNodes: (this: MindElixirInstance) => void;
49
47
  clearSelection: (this: MindElixirInstance) => void;
50
48
  getDataString: (this: MindElixirInstance) => string;
51
49
  getData: (this: MindElixirInstance) => MindElixirData;
@@ -53,7 +51,6 @@ declare namespace MindElixir {
53
51
  enableEdit: (this: MindElixirInstance) => void;
54
52
  disableEdit: (this: MindElixirInstance) => void;
55
53
  scale: (this: MindElixirInstance, scaleVal: number) => void;
56
- scaleFit: (this: MindElixirInstance) => void;
57
54
  toCenter: (this: MindElixirInstance) => void;
58
55
  install: (this: MindElixirInstance, plugin: (instance: MindElixirInstance) => void) => void;
59
56
  focusNode: (this: MindElixirInstance, el: import("./types/dom").Topic) => void;
@@ -62,14 +59,14 @@ declare namespace MindElixir {
62
59
  initRight: (this: MindElixirInstance) => void;
63
60
  initSide: (this: MindElixirInstance) => void;
64
61
  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;
62
+ expandNode: (this: MindElixirInstance, el: import("./types/dom").Topic, isExpand?: boolean | undefined) => void;
63
+ refresh: (this: MindElixirInstance, data?: MindElixirData | undefined) => void;
67
64
  getObjById: (id: string, data: import("./types/index").NodeObj) => import("./types/index").NodeObj | null;
68
65
  generateNewObj: (this: MindElixirInstance) => import("./types/index").NodeObjExport;
69
66
  layout: (this: MindElixirInstance) => void;
70
- linkDiv: (this: MindElixirInstance, mainNode?: import("./types/dom").Wrapper) => void;
67
+ linkDiv: (this: MindElixirInstance, mainNode?: import("./types/dom").Wrapper | undefined) => void;
71
68
  editTopic: (this: MindElixirInstance, el: import("./types/dom").Topic) => void;
72
- createWrapper: (this: MindElixirInstance, nodeObj: import("./types/index").NodeObj, omitChildren?: boolean) => {
69
+ createWrapper: (this: MindElixirInstance, nodeObj: import("./types/index").NodeObj, omitChildren?: boolean | undefined) => {
73
70
  grp: import("./types/dom").Wrapper;
74
71
  top: import("./types/dom").Parent;
75
72
  tpc: import("./types/dom").Topic;
@@ -80,7 +77,7 @@ declare namespace MindElixir {
80
77
  };
81
78
  createChildren: (this: MindElixirInstance, wrappers: import("./types/dom").Wrapper[]) => import("./types/dom").Children;
82
79
  createTopic: (this: MindElixirInstance, nodeObj: import("./types/index").NodeObj) => import("./types/dom").Topic;
83
- findEle: (id: string, instance?: MindElixirInstance) => import("./types/dom").Topic;
80
+ findEle: (id: string, instance?: MindElixirInstance | undefined) => import("./types/dom").Topic;
84
81
  changeTheme: (this: MindElixirInstance, theme: import("./types/index").Theme, shouldRefresh?: boolean) => void;
85
82
  };
86
83
  export var LEFT: number;
@@ -89,12 +86,12 @@ declare namespace MindElixir {
89
86
  export var THEME: import("./types/index").Theme;
90
87
  export var DARK_THEME: import("./types/index").Theme;
91
88
  export var version: any;
92
- export var E: (id: string, instance?: MindElixirInstance) => import("./types/dom").Topic;
89
+ export var E: (id: string, instance?: MindElixirInstance | undefined) => import("./types/dom").Topic;
93
90
  var _a: (topic: string) => MindElixirData;
94
91
  export var dragMoveHelper: {
95
92
  moved: boolean;
96
93
  mousedown: boolean;
97
- onMove(e: MouseEvent, mind: MindElixirInstance): void;
94
+ onMove(e: MouseEvent, container: HTMLElement): void;
98
95
  clear(): void;
99
96
  };
100
97
  export { _a as new };
@@ -56,10 +56,6 @@ export declare const disableEdit: (this: MindElixirInstance) => void;
56
56
  * @param {number}
57
57
  */
58
58
  export declare const scale: (this: MindElixirInstance, scaleVal: number) => void;
59
- /**
60
- * Better to use with option `alignment: 'nodes'`.
61
- */
62
- export declare const scaleFit: (this: MindElixirInstance) => void;
63
59
  /**
64
60
  * @function
65
61
  * @instance
@@ -13,10 +13,9 @@ 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
- createSummaryFrom: (this: MindElixirInstance, summary: Omit<summary.Summary, "id">) => void;
20
19
  removeSummary: (this: MindElixirInstance, id: string) => void;
21
20
  selectSummary: (this: MindElixirInstance, el: summary.SummarySvgGroup) => void;
22
21
  unselectSummary: (this: MindElixirInstance) => void;
@@ -26,7 +25,7 @@ declare const methods: {
26
25
  editArrowLabel(this: MindElixirInstance, el: import("./index").CustomSvg): void;
27
26
  tidyArrow(this: MindElixirInstance): void;
28
27
  createArrow: (this: MindElixirInstance, from: import("./index").Topic, to: import("./index").Topic, options?: arrow.ArrowOptions) => void;
29
- removeArrow: (this: MindElixirInstance, linkSvg?: import("./index").CustomSvg) => void;
28
+ removeArrow: (this: MindElixirInstance, linkSvg?: import("./index").CustomSvg | undefined) => void;
30
29
  selectArrow: (this: MindElixirInstance, link: import("./index").CustomSvg) => void;
31
30
  unselectArrow: (this: MindElixirInstance) => void;
32
31
  rmSubline: (this: MindElixirInstance, tpc: import("./index").Topic) => Promise<void>;
@@ -45,7 +44,7 @@ declare const methods: {
45
44
  moveNodeAfter: (this: MindElixirInstance, from: import("./index").Topic[], to: import("./index").Topic) => Promise<void>;
46
45
  beginEdit: (this: MindElixirInstance, el?: import("./index").Topic | undefined) => Promise<void>;
47
46
  setNodeTopic: (this: MindElixirInstance, el: import("./index").Topic, topic: string) => Promise<void>;
48
- selectNode: (this: MindElixirInstance, targetElement: import("./index").Topic, isNewNode?: boolean, e?: MouseEvent) => void;
47
+ selectNode: (this: MindElixirInstance, targetElement: import("./index").Topic, isNewNode?: boolean | undefined, e?: MouseEvent | undefined) => void;
49
48
  unselectNode: (this: MindElixirInstance) => void;
50
49
  selectNodes: (this: MindElixirInstance, tpc: import("./index").Topic[]) => void;
51
50
  unselectNodes: (this: MindElixirInstance) => void;
@@ -56,7 +55,6 @@ declare const methods: {
56
55
  enableEdit: (this: MindElixirInstance) => void;
57
56
  disableEdit: (this: MindElixirInstance) => void;
58
57
  scale: (this: MindElixirInstance, scaleVal: number) => void;
59
- scaleFit: (this: MindElixirInstance) => void;
60
58
  toCenter: (this: MindElixirInstance) => void;
61
59
  install: (this: MindElixirInstance, plugin: (instance: MindElixirInstance) => void) => void;
62
60
  focusNode: (this: MindElixirInstance, el: import("./index").Topic) => void;
@@ -65,14 +63,14 @@ declare const methods: {
65
63
  initRight: (this: MindElixirInstance) => void;
66
64
  initSide: (this: MindElixirInstance) => void;
67
65
  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;
66
+ expandNode: (this: MindElixirInstance, el: import("./index").Topic, isExpand?: boolean | undefined) => void;
67
+ refresh: (this: MindElixirInstance, data?: MindElixirData | undefined) => void;
70
68
  getObjById: (id: string, data: import("./types").NodeObj) => import("./types").NodeObj | null;
71
69
  generateNewObj: (this: MindElixirInstance) => import("./types").NodeObjExport;
72
70
  layout: (this: MindElixirInstance) => void;
73
- linkDiv: (this: MindElixirInstance, mainNode?: import("./index").Wrapper) => void;
71
+ linkDiv: (this: MindElixirInstance, mainNode?: import("./index").Wrapper | undefined) => void;
74
72
  editTopic: (this: MindElixirInstance, el: import("./index").Topic) => void;
75
- createWrapper: (this: MindElixirInstance, nodeObj: import("./types").NodeObj, omitChildren?: boolean) => {
73
+ createWrapper: (this: MindElixirInstance, nodeObj: import("./types").NodeObj, omitChildren?: boolean | undefined) => {
76
74
  grp: import("./index").Wrapper;
77
75
  top: import("./index").Parent;
78
76
  tpc: import("./index").Topic;
@@ -83,7 +81,7 @@ declare const methods: {
83
81
  };
84
82
  createChildren: (this: MindElixirInstance, wrappers: import("./index").Wrapper[]) => import("./index").Children;
85
83
  createTopic: (this: MindElixirInstance, nodeObj: import("./types").NodeObj) => import("./index").Topic;
86
- findEle: (id: string, instance?: MindElixirInstance) => import("./index").Topic;
84
+ findEle: (id: string, instance?: MindElixirInstance | undefined) => import("./index").Topic;
87
85
  changeTheme: (this: MindElixirInstance, theme: import("./types").Theme, shouldRefresh?: boolean) => void;
88
86
  };
89
87
  export default methods;
@@ -2,7 +2,7 @@ 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: "before" | "after", el?: Topic, node?: NodeObj) => void;
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;
@@ -23,7 +23,6 @@ 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, "id">) => void;
27
26
  export declare const removeSummary: (this: MindElixirInstance, id: string) => void;
28
27
  export declare const selectSummary: (this: MindElixirInstance, el: SummarySvgGroup) => void;
29
28
  export declare const unselectSummary: (this: MindElixirInstance) => void;
@@ -0,0 +1,11 @@
1
+ // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
+ // It should be published with your NPM package. It should not be tracked by Git.
3
+ {
4
+ "tsdocVersion": "0.12",
5
+ "toolPackages": [
6
+ {
7
+ "packageName": "@microsoft/api-extractor",
8
+ "packageVersion": "7.47.11"
9
+ }
10
+ ]
11
+ }
@@ -50,7 +50,6 @@ export type Theme = {
50
50
  '--panel-border-color': string;
51
51
  }>;
52
52
  };
53
- export type Alignment = 'root' | 'nodes';
54
53
  /**
55
54
  * The MindElixir instance
56
55
  *
@@ -86,6 +85,8 @@ export interface MindElixirInstance extends MindElixirMethods {
86
85
  newTopicName: string;
87
86
  allowUndo: boolean;
88
87
  overflowHidden: boolean;
88
+ mainBranchStyle: number;
89
+ subBranchStyle: number;
89
90
  generateMainBranch: (params: MainLineParams) => PathString;
90
91
  generateSubBranch: (params: SubLineParams) => PathString;
91
92
  container: HTMLElement;
@@ -114,7 +115,6 @@ export interface MindElixirInstance extends MindElixirMethods {
114
115
  redo: () => void;
115
116
  selection: SelectionArea;
116
117
  selectionContainer?: string | HTMLElement;
117
- alignment: Alignment;
118
118
  }
119
119
  type PathString = string;
120
120
  /**
@@ -142,7 +142,6 @@ export type Options = {
142
142
  theme?: Theme;
143
143
  nodeMenu?: boolean;
144
144
  selectionContainer?: string | HTMLElement;
145
- alignment?: Alignment;
146
145
  };
147
146
  export type Uid = string;
148
147
  export type Left = 0;
@@ -152,7 +151,7 @@ export type Right = 1;
152
151
  *
153
152
  * @public
154
153
  */
155
- export interface NodeObj {
154
+ export type NodeObj = {
156
155
  topic: string;
157
156
  id: Uid;
158
157
  style?: {
@@ -173,27 +172,10 @@ export interface NodeObj {
173
172
  height: number;
174
173
  fit?: 'fill' | 'contain' | 'cover';
175
174
  };
176
- /**
177
- * The color of the branch.
178
- */
179
175
  branchColor?: string;
180
- /**
181
- * This property is added programatically, do not set it manually.
182
- *
183
- * the Root node has no parent!
184
- */
185
176
  parent?: NodeObj;
186
- /**
187
- * Render custom HTML in the node.
188
- *
189
- * Everything in the node will be replaced by this property.
190
- */
191
177
  dangerouslySetInnerHTML?: string;
192
- /**
193
- * Extra data for the node, which can be used to store any custom data.
194
- */
195
- note?: string;
196
- }
178
+ };
197
179
  export type NodeObjExport = Omit<NodeObj, 'parent'>;
198
180
  /**
199
181
  * The exported data of MindElixir
@@ -1,5 +1,5 @@
1
1
  import type { MindElixirInstance, NodeObj } from '../types';
2
2
  import type { Topic, Wrapper } from '../types/dom';
3
- export declare const judgeDirection: ({ map, direction }: MindElixirInstance, obj: NodeObj) => 0 | 1 | undefined;
3
+ export declare const judgeDirection: (direction: number, obj: NodeObj) => 0 | 1 | undefined;
4
4
  export declare const addChildDom: (mei: MindElixirInstance, to: Topic, wrapper: Wrapper) => void;
5
5
  export declare const removeNodeDom: (tpc: Topic, siblingLength: number) => void;
@@ -1,8 +1,7 @@
1
- import type { MindElixirInstance } from '../types/index';
2
1
  declare const _default: {
3
2
  moved: boolean;
4
3
  mousedown: boolean;
5
- onMove(e: MouseEvent, mind: MindElixirInstance): void;
4
+ onMove(e: MouseEvent, container: HTMLElement): void;
6
5
  clear(): void;
7
6
  };
8
7
  export default _default;
@@ -79,8 +79,8 @@ declare const Bus: {
79
79
  handlers: Record<keyof T, ((...arg: any[]) => void)[]>;
80
80
  showHandler: () => void;
81
81
  addListener: <K extends keyof T>(type: K, handler: T[K]) => void;
82
- fire: <K extends keyof T>(type: K, ...payload: Parameters<T[K]>) => void;
83
- removeListener: <K extends keyof T>(type: K, handler: T[K]) => void;
82
+ fire: <K_1 extends keyof T>(type: K_1, ...payload: Parameters<T[K_1]>) => void;
83
+ removeListener: <K_2 extends keyof T>(type: K_2, handler: T[K_2]) => void;
84
84
  };
85
85
  };
86
86
  export default Bus;
package/package.json CHANGED
@@ -1,92 +1,92 @@
1
- {
2
- "name": "mind-elixir",
3
- "version": "4.5.1",
4
- "type": "module",
5
- "description": "Mind elixir is a free open source mind map core.",
6
- "keywords": [
7
- "mind-elixir",
8
- "mindmap",
9
- "dom",
10
- "visualization"
11
- ],
12
- "scripts": {
13
- "prepare": "husky install",
14
- "lint": "eslint --cache --max-warnings 0 \"src/**/*.{js,json,ts}\" --fix",
15
- "dev": "vite",
16
- "build": "node build.js && tsc",
17
- "tsc": "tsc",
18
- "preview": "vite preview",
19
- "test": "playwright test",
20
- "test:ui": "playwright test --ui",
21
- "doc": "api-extractor run --local --verbose",
22
- "doc:md": "api-documenter markdown --input-folder ./api --output-folder ./md",
23
- "beta": "npm run build && npm publish --tag beta"
24
- },
25
- "exports": {
26
- ".": {
27
- "types": "./dist/types/index.d.ts",
28
- "import": "./dist/MindElixir.js",
29
- "require": "./dist/MindElixir.js"
30
- },
31
- "./lite": {
32
- "import": "./dist/MindElixirLite.iife.js"
33
- },
34
- "./example": {
35
- "types": "./dist/types/exampleData/1.d.ts",
36
- "import": "./dist/example.js",
37
- "require": "./dist/example.js"
38
- },
39
- "./readme.md": "./readme.md",
40
- "./package.json": "./package.json"
41
- },
42
- "typesVersions": {
43
- "*": {
44
- "example": [
45
- "./dist/types/exampleData/1.d.ts"
46
- ]
47
- }
48
- },
49
- "main": "dist/MindElixir.js",
50
- "types": "dist/types/index.d.ts",
51
- "lint-staged": {
52
- "src/**/*.{ts,js}": [
53
- "eslint --cache --fix"
54
- ],
55
- "src/**/*.{json,less}": [
56
- "prettier --write"
57
- ]
58
- },
59
- "files": [
60
- "package.json",
61
- "dist"
62
- ],
63
- "repository": {
64
- "type": "git",
65
- "url": "https://github.com/ssshooter/mind-elixir-core"
66
- },
67
- "homepage": "https://mind-elixir.com/",
68
- "author": "ssshooter",
69
- "license": "MIT",
70
- "devDependencies": {
71
- "@commitlint/cli": "^17.8.1",
72
- "@commitlint/config-conventional": "^17.8.1",
73
- "@microsoft/api-documenter": "^7.25.21",
74
- "@microsoft/api-extractor": "^7.47.11",
75
- "@playwright/test": "^1.44.1",
76
- "@rollup/plugin-strip": "^3.0.4",
77
- "@types/node": "^20.14.2",
78
- "@typescript-eslint/eslint-plugin": "^5.62.0",
79
- "@typescript-eslint/parser": "^5.62.0",
80
- "@viselect/vanilla": "3.5.1",
81
- "eslint": "^8.57.0",
82
- "eslint-config-prettier": "^8.10.0",
83
- "eslint-plugin-prettier": "^4.2.1",
84
- "husky": "^8.0.3",
85
- "less": "^4.2.0",
86
- "lint-staged": "^13.3.0",
87
- "prettier": "2.8.4",
88
- "typescript": "^5.4.5",
89
- "vite": "^4.5.3",
90
- "vite-plugin-css-injected-by-js": "^3.5.1"
91
- }
92
- }
1
+ {
2
+ "name": "mind-elixir",
3
+ "version": "5.0.0-beta.1",
4
+ "type": "module",
5
+ "description": "Mind elixir is a free open source mind map core.",
6
+ "keywords": [
7
+ "mind-elixir",
8
+ "mindmap",
9
+ "dom",
10
+ "visualization"
11
+ ],
12
+ "scripts": {
13
+ "prepare": "husky install",
14
+ "lint": "eslint --cache --max-warnings 0 \"src/**/*.{js,json,ts}\" --fix",
15
+ "dev": "vite",
16
+ "build": "node build.js && tsc",
17
+ "tsc": "tsc",
18
+ "preview": "vite preview",
19
+ "test": "playwright test",
20
+ "test:ui": "playwright test --ui",
21
+ "doc": "api-extractor run --local --verbose",
22
+ "doc:md": "api-documenter markdown --input-folder ./api --output-folder ./md",
23
+ "beta": "npm run build && npm publish --tag beta"
24
+ },
25
+ "exports": {
26
+ ".": {
27
+ "types": "./dist/types/index.d.ts",
28
+ "import": "./dist/MindElixir.js",
29
+ "require": "./dist/MindElixir.js"
30
+ },
31
+ "./lite": {
32
+ "import": "./dist/MindElixirLite.iife.js"
33
+ },
34
+ "./example": {
35
+ "types": "./dist/types/exampleData/1.d.ts",
36
+ "import": "./dist/example.js",
37
+ "require": "./dist/example.js"
38
+ },
39
+ "./readme.md": "./readme.md",
40
+ "./package.json": "./package.json"
41
+ },
42
+ "typesVersions": {
43
+ "*": {
44
+ "example": [
45
+ "./dist/types/exampleData/1.d.ts"
46
+ ]
47
+ }
48
+ },
49
+ "main": "dist/MindElixir.js",
50
+ "types": "dist/types/index.d.ts",
51
+ "lint-staged": {
52
+ "src/**/*.{ts,js}": [
53
+ "eslint --cache --fix"
54
+ ],
55
+ "src/**/*.{json,less}": [
56
+ "prettier --write"
57
+ ]
58
+ },
59
+ "files": [
60
+ "package.json",
61
+ "dist"
62
+ ],
63
+ "repository": {
64
+ "type": "git",
65
+ "url": "https://github.com/ssshooter/mind-elixir-core"
66
+ },
67
+ "homepage": "https://mind-elixir.com/",
68
+ "author": "ssshooter",
69
+ "license": "MIT",
70
+ "devDependencies": {
71
+ "@commitlint/cli": "^17.8.1",
72
+ "@commitlint/config-conventional": "^17.8.1",
73
+ "@microsoft/api-documenter": "^7.25.21",
74
+ "@microsoft/api-extractor": "^7.47.11",
75
+ "@playwright/test": "^1.44.1",
76
+ "@rollup/plugin-strip": "^3.0.4",
77
+ "@types/node": "^20.14.2",
78
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
79
+ "@typescript-eslint/parser": "^5.62.0",
80
+ "@viselect/vanilla": "3.5.1",
81
+ "eslint": "^8.57.0",
82
+ "eslint-config-prettier": "^8.10.0",
83
+ "eslint-plugin-prettier": "^4.2.1",
84
+ "husky": "^8.0.3",
85
+ "less": "^4.2.0",
86
+ "lint-staged": "^13.3.0",
87
+ "prettier": "2.8.4",
88
+ "typescript": "^5.4.5",
89
+ "vite": "^4.5.3",
90
+ "vite-plugin-css-injected-by-js": "^3.5.1"
91
+ }
92
+ }