mind-elixir 5.2.0-beta.6 → 5.2.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.
@@ -33,408 +33,8 @@ export declare const getTranslate: (styleText: string) => {
33
33
  x: number;
34
34
  y: number;
35
35
  };
36
- export declare const on: (list: ({
36
+ export declare const on: (list: { [K in keyof GlobalEventHandlersEventMap]: {
37
37
  dom: EventTarget;
38
- evt: "keypress";
39
- func: (this: EventTarget, ev: KeyboardEvent) => void;
40
- } | {
41
- dom: EventTarget;
42
- evt: "input";
43
- func: (this: EventTarget, ev: Event) => void;
44
- } | {
45
- dom: EventTarget;
46
- evt: "progress";
47
- func: (this: EventTarget, ev: ProgressEvent<EventTarget>) => void;
48
- } | {
49
- dom: EventTarget;
50
- evt: "select";
51
- func: (this: EventTarget, ev: Event) => void;
52
- } | {
53
- dom: EventTarget;
54
- evt: "keydown";
55
- func: (this: EventTarget, ev: KeyboardEvent) => void;
56
- } | {
57
- dom: EventTarget;
58
- evt: "abort";
59
- func: (this: EventTarget, ev: UIEvent) => void;
60
- } | {
61
- dom: EventTarget;
62
- evt: "animationcancel";
63
- func: (this: EventTarget, ev: AnimationEvent) => void;
64
- } | {
65
- dom: EventTarget;
66
- evt: "animationend";
67
- func: (this: EventTarget, ev: AnimationEvent) => void;
68
- } | {
69
- dom: EventTarget;
70
- evt: "animationiteration";
71
- func: (this: EventTarget, ev: AnimationEvent) => void;
72
- } | {
73
- dom: EventTarget;
74
- evt: "animationstart";
75
- func: (this: EventTarget, ev: AnimationEvent) => void;
76
- } | {
77
- dom: EventTarget;
78
- evt: "auxclick";
79
- func: (this: EventTarget, ev: MouseEvent) => void;
80
- } | {
81
- dom: EventTarget;
82
- evt: "beforeinput";
83
- func: (this: EventTarget, ev: InputEvent) => void;
84
- } | {
85
- dom: EventTarget;
86
- evt: "beforetoggle";
87
- func: (this: EventTarget, ev: Event) => void;
88
- } | {
89
- dom: EventTarget;
90
- evt: "blur";
91
- func: (this: EventTarget, ev: FocusEvent) => void;
92
- } | {
93
- dom: EventTarget;
94
- evt: "cancel";
95
- func: (this: EventTarget, ev: Event) => void;
96
- } | {
97
- dom: EventTarget;
98
- evt: "canplay";
99
- func: (this: EventTarget, ev: Event) => void;
100
- } | {
101
- dom: EventTarget;
102
- evt: "canplaythrough";
103
- func: (this: EventTarget, ev: Event) => void;
104
- } | {
105
- dom: EventTarget;
106
- evt: "change";
107
- func: (this: EventTarget, ev: Event) => void;
108
- } | {
109
- dom: EventTarget;
110
- evt: "click";
111
- func: (this: EventTarget, ev: MouseEvent) => void;
112
- } | {
113
- dom: EventTarget;
114
- evt: "close";
115
- func: (this: EventTarget, ev: Event) => void;
116
- } | {
117
- dom: EventTarget;
118
- evt: "compositionend";
119
- func: (this: EventTarget, ev: CompositionEvent) => void;
120
- } | {
121
- dom: EventTarget;
122
- evt: "compositionstart";
123
- func: (this: EventTarget, ev: CompositionEvent) => void;
124
- } | {
125
- dom: EventTarget;
126
- evt: "compositionupdate";
127
- func: (this: EventTarget, ev: CompositionEvent) => void;
128
- } | {
129
- dom: EventTarget;
130
- evt: "contextmenu";
131
- func: (this: EventTarget, ev: MouseEvent) => void;
132
- } | {
133
- dom: EventTarget;
134
- evt: "copy";
135
- func: (this: EventTarget, ev: ClipboardEvent) => void;
136
- } | {
137
- dom: EventTarget;
138
- evt: "cuechange";
139
- func: (this: EventTarget, ev: Event) => void;
140
- } | {
141
- dom: EventTarget;
142
- evt: "cut";
143
- func: (this: EventTarget, ev: ClipboardEvent) => void;
144
- } | {
145
- dom: EventTarget;
146
- evt: "dblclick";
147
- func: (this: EventTarget, ev: MouseEvent) => void;
148
- } | {
149
- dom: EventTarget;
150
- evt: "drag";
151
- func: (this: EventTarget, ev: DragEvent) => void;
152
- } | {
153
- dom: EventTarget;
154
- evt: "dragend";
155
- func: (this: EventTarget, ev: DragEvent) => void;
156
- } | {
157
- dom: EventTarget;
158
- evt: "dragenter";
159
- func: (this: EventTarget, ev: DragEvent) => void;
160
- } | {
161
- dom: EventTarget;
162
- evt: "dragleave";
163
- func: (this: EventTarget, ev: DragEvent) => void;
164
- } | {
165
- dom: EventTarget;
166
- evt: "dragover";
167
- func: (this: EventTarget, ev: DragEvent) => void;
168
- } | {
169
- dom: EventTarget;
170
- evt: "dragstart";
171
- func: (this: EventTarget, ev: DragEvent) => void;
172
- } | {
173
- dom: EventTarget;
174
- evt: "drop";
175
- func: (this: EventTarget, ev: DragEvent) => void;
176
- } | {
177
- dom: EventTarget;
178
- evt: "durationchange";
179
- func: (this: EventTarget, ev: Event) => void;
180
- } | {
181
- dom: EventTarget;
182
- evt: "emptied";
183
- func: (this: EventTarget, ev: Event) => void;
184
- } | {
185
- dom: EventTarget;
186
- evt: "ended";
187
- func: (this: EventTarget, ev: Event) => void;
188
- } | {
189
- dom: EventTarget;
190
- evt: "error";
191
- func: (this: EventTarget, ev: ErrorEvent) => void;
192
- } | {
193
- dom: EventTarget;
194
- evt: "focus";
195
- func: (this: EventTarget, ev: FocusEvent) => void;
196
- } | {
197
- dom: EventTarget;
198
- evt: "focusin";
199
- func: (this: EventTarget, ev: FocusEvent) => void;
200
- } | {
201
- dom: EventTarget;
202
- evt: "focusout";
203
- func: (this: EventTarget, ev: FocusEvent) => void;
204
- } | {
205
- dom: EventTarget;
206
- evt: "formdata";
207
- func: (this: EventTarget, ev: FormDataEvent) => void;
208
- } | {
209
- dom: EventTarget;
210
- evt: "gotpointercapture";
211
- func: (this: EventTarget, ev: PointerEvent) => void;
212
- } | {
213
- dom: EventTarget;
214
- evt: "invalid";
215
- func: (this: EventTarget, ev: Event) => void;
216
- } | {
217
- dom: EventTarget;
218
- evt: "keyup";
219
- func: (this: EventTarget, ev: KeyboardEvent) => void;
220
- } | {
221
- dom: EventTarget;
222
- evt: "load";
223
- func: (this: EventTarget, ev: Event) => void;
224
- } | {
225
- dom: EventTarget;
226
- evt: "loadeddata";
227
- func: (this: EventTarget, ev: Event) => void;
228
- } | {
229
- dom: EventTarget;
230
- evt: "loadedmetadata";
231
- func: (this: EventTarget, ev: Event) => void;
232
- } | {
233
- dom: EventTarget;
234
- evt: "loadstart";
235
- func: (this: EventTarget, ev: Event) => void;
236
- } | {
237
- dom: EventTarget;
238
- evt: "lostpointercapture";
239
- func: (this: EventTarget, ev: PointerEvent) => void;
240
- } | {
241
- dom: EventTarget;
242
- evt: "mousedown";
243
- func: (this: EventTarget, ev: MouseEvent) => void;
244
- } | {
245
- dom: EventTarget;
246
- evt: "mouseenter";
247
- func: (this: EventTarget, ev: MouseEvent) => void;
248
- } | {
249
- dom: EventTarget;
250
- evt: "mouseleave";
251
- func: (this: EventTarget, ev: MouseEvent) => void;
252
- } | {
253
- dom: EventTarget;
254
- evt: "mousemove";
255
- func: (this: EventTarget, ev: MouseEvent) => void;
256
- } | {
257
- dom: EventTarget;
258
- evt: "mouseout";
259
- func: (this: EventTarget, ev: MouseEvent) => void;
260
- } | {
261
- dom: EventTarget;
262
- evt: "mouseover";
263
- func: (this: EventTarget, ev: MouseEvent) => void;
264
- } | {
265
- dom: EventTarget;
266
- evt: "mouseup";
267
- func: (this: EventTarget, ev: MouseEvent) => void;
268
- } | {
269
- dom: EventTarget;
270
- evt: "paste";
271
- func: (this: EventTarget, ev: ClipboardEvent) => void;
272
- } | {
273
- dom: EventTarget;
274
- evt: "pause";
275
- func: (this: EventTarget, ev: Event) => void;
276
- } | {
277
- dom: EventTarget;
278
- evt: "play";
279
- func: (this: EventTarget, ev: Event) => void;
280
- } | {
281
- dom: EventTarget;
282
- evt: "playing";
283
- func: (this: EventTarget, ev: Event) => void;
284
- } | {
285
- dom: EventTarget;
286
- evt: "pointercancel";
287
- func: (this: EventTarget, ev: PointerEvent) => void;
288
- } | {
289
- dom: EventTarget;
290
- evt: "pointerdown";
291
- func: (this: EventTarget, ev: PointerEvent) => void;
292
- } | {
293
- dom: EventTarget;
294
- evt: "pointerenter";
295
- func: (this: EventTarget, ev: PointerEvent) => void;
296
- } | {
297
- dom: EventTarget;
298
- evt: "pointerleave";
299
- func: (this: EventTarget, ev: PointerEvent) => void;
300
- } | {
301
- dom: EventTarget;
302
- evt: "pointermove";
303
- func: (this: EventTarget, ev: PointerEvent) => void;
304
- } | {
305
- dom: EventTarget;
306
- evt: "pointerout";
307
- func: (this: EventTarget, ev: PointerEvent) => void;
308
- } | {
309
- dom: EventTarget;
310
- evt: "pointerover";
311
- func: (this: EventTarget, ev: PointerEvent) => void;
312
- } | {
313
- dom: EventTarget;
314
- evt: "pointerup";
315
- func: (this: EventTarget, ev: PointerEvent) => void;
316
- } | {
317
- dom: EventTarget;
318
- evt: "ratechange";
319
- func: (this: EventTarget, ev: Event) => void;
320
- } | {
321
- dom: EventTarget;
322
- evt: "reset";
323
- func: (this: EventTarget, ev: Event) => void;
324
- } | {
325
- dom: EventTarget;
326
- evt: "resize";
327
- func: (this: EventTarget, ev: UIEvent) => void;
328
- } | {
329
- dom: EventTarget;
330
- evt: "scroll";
331
- func: (this: EventTarget, ev: Event) => void;
332
- } | {
333
- dom: EventTarget;
334
- evt: "scrollend";
335
- func: (this: EventTarget, ev: Event) => void;
336
- } | {
337
- dom: EventTarget;
338
- evt: "securitypolicyviolation";
339
- func: (this: EventTarget, ev: SecurityPolicyViolationEvent) => void;
340
- } | {
341
- dom: EventTarget;
342
- evt: "seeked";
343
- func: (this: EventTarget, ev: Event) => void;
344
- } | {
345
- dom: EventTarget;
346
- evt: "seeking";
347
- func: (this: EventTarget, ev: Event) => void;
348
- } | {
349
- dom: EventTarget;
350
- evt: "selectionchange";
351
- func: (this: EventTarget, ev: Event) => void;
352
- } | {
353
- dom: EventTarget;
354
- evt: "selectstart";
355
- func: (this: EventTarget, ev: Event) => void;
356
- } | {
357
- dom: EventTarget;
358
- evt: "slotchange";
359
- func: (this: EventTarget, ev: Event) => void;
360
- } | {
361
- dom: EventTarget;
362
- evt: "stalled";
363
- func: (this: EventTarget, ev: Event) => void;
364
- } | {
365
- dom: EventTarget;
366
- evt: "submit";
367
- func: (this: EventTarget, ev: SubmitEvent) => void;
368
- } | {
369
- dom: EventTarget;
370
- evt: "suspend";
371
- func: (this: EventTarget, ev: Event) => void;
372
- } | {
373
- dom: EventTarget;
374
- evt: "timeupdate";
375
- func: (this: EventTarget, ev: Event) => void;
376
- } | {
377
- dom: EventTarget;
378
- evt: "toggle";
379
- func: (this: EventTarget, ev: Event) => void;
380
- } | {
381
- dom: EventTarget;
382
- evt: "touchcancel";
383
- func: (this: EventTarget, ev: TouchEvent) => void;
384
- } | {
385
- dom: EventTarget;
386
- evt: "touchend";
387
- func: (this: EventTarget, ev: TouchEvent) => void;
388
- } | {
389
- dom: EventTarget;
390
- evt: "touchmove";
391
- func: (this: EventTarget, ev: TouchEvent) => void;
392
- } | {
393
- dom: EventTarget;
394
- evt: "touchstart";
395
- func: (this: EventTarget, ev: TouchEvent) => void;
396
- } | {
397
- dom: EventTarget;
398
- evt: "transitioncancel";
399
- func: (this: EventTarget, ev: TransitionEvent) => void;
400
- } | {
401
- dom: EventTarget;
402
- evt: "transitionend";
403
- func: (this: EventTarget, ev: TransitionEvent) => void;
404
- } | {
405
- dom: EventTarget;
406
- evt: "transitionrun";
407
- func: (this: EventTarget, ev: TransitionEvent) => void;
408
- } | {
409
- dom: EventTarget;
410
- evt: "transitionstart";
411
- func: (this: EventTarget, ev: TransitionEvent) => void;
412
- } | {
413
- dom: EventTarget;
414
- evt: "volumechange";
415
- func: (this: EventTarget, ev: Event) => void;
416
- } | {
417
- dom: EventTarget;
418
- evt: "waiting";
419
- func: (this: EventTarget, ev: Event) => void;
420
- } | {
421
- dom: EventTarget;
422
- evt: "webkitanimationend";
423
- func: (this: EventTarget, ev: Event) => void;
424
- } | {
425
- dom: EventTarget;
426
- evt: "webkitanimationiteration";
427
- func: (this: EventTarget, ev: Event) => void;
428
- } | {
429
- dom: EventTarget;
430
- evt: "webkitanimationstart";
431
- func: (this: EventTarget, ev: Event) => void;
432
- } | {
433
- dom: EventTarget;
434
- evt: "webkittransitionend";
435
- func: (this: EventTarget, ev: Event) => void;
436
- } | {
437
- dom: EventTarget;
438
- evt: "wheel";
439
- func: (this: EventTarget, ev: WheelEvent) => void;
440
- })[]) => () => void;
38
+ evt: K;
39
+ func: (this: EventTarget, ev: GlobalEventHandlersEventMap[K]) => void;
40
+ }; }[keyof GlobalEventHandlersEventMap][]) => () => void;
@@ -60,6 +60,7 @@ export type EventMap = {
60
60
  selectNodes: (nodeObj: NodeObj[]) => void;
61
61
  unselectNodes: (nodeObj: NodeObj[]) => void;
62
62
  expandNode: (nodeObj: NodeObj) => void;
63
+ changeDirection: (direction: number) => void;
63
64
  linkDiv: () => void;
64
65
  scale: (scale: number) => void;
65
66
  move: (data: {
@@ -75,7 +76,7 @@ export type EventMap = {
75
76
  export declare function createBus<T extends Record<string, (...args: any[]) => void> = EventMap>(): {
76
77
  handlers: Record<keyof T, ((...arg: any[]) => void)[]>;
77
78
  addListener: <K extends keyof T>(type: K, handler: T[K]) => void;
78
- fire: <K_1 extends keyof T>(type: K_1, ...payload: Parameters<T[K_1]>) => void;
79
- removeListener: <K_2 extends keyof T>(type: K_2, handler: T[K_2]) => void;
79
+ fire: <K extends keyof T>(type: K, ...payload: Parameters<T[K]>) => void;
80
+ removeListener: <K extends keyof T>(type: K, handler: T[K]) => void;
80
81
  };
81
82
  export {};
@@ -29,7 +29,7 @@ export declare const createArrowGroup: (d: string, arrowd1: string, arrowd2: str
29
29
  stroke?: string;
30
30
  strokeWidth?: string | number;
31
31
  strokeDasharray?: string;
32
- strokeLinecap?: 'butt' | 'round' | 'square';
32
+ strokeLinecap?: "butt" | "round" | "square";
33
33
  opacity?: string | number;
34
34
  }) => CustomSvg;
35
35
  export declare const editSvgText: (mei: MindElixirInstance, textEl: HTMLDivElement, node: Summary | Arrow) => void;
package/package.json CHANGED
@@ -1,108 +1,108 @@
1
- {
2
- "name": "mind-elixir",
3
- "version": "5.2.0-beta.6",
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
- "test:clean": "rimraf .nyc_output coverage",
22
- "test:coverage": "pnpm test:clean && pnpm test && pnpm nyc && npx http-server ./coverage",
23
- "nyc": "nyc report --reporter=html",
24
- "doc": "api-extractor run --local --verbose",
25
- "doc:md": "api-documenter markdown --input-folder ./api --output-folder ./md",
26
- "beta": "npm run build && npm publish --tag beta"
27
- },
28
- "exports": {
29
- ".": {
30
- "types": "./dist/types/index.d.ts",
31
- "import": "./dist/MindElixir.js",
32
- "require": "./dist/MindElixir.js"
33
- },
34
- "./lite": {
35
- "import": "./dist/MindElixirLite.iife.js"
36
- },
37
- "./example": {
38
- "types": "./dist/types/exampleData/1.d.ts",
39
- "import": "./dist/example.js",
40
- "require": "./dist/example.js"
41
- },
42
- "./LayoutSsr": {
43
- "types": "./dist/types/utils/LayoutSsr.d.ts",
44
- "import": "./dist/LayoutSsr.js",
45
- "require": "./dist/LayoutSsr.js"
46
- },
47
- "./readme.md": "./readme.md",
48
- "./package.json": "./package.json",
49
- "./style": "./dist/style.css",
50
- "./style.css": "./dist/style.css"
51
- },
52
- "typesVersions": {
53
- "*": {
54
- "example": [
55
- "./dist/types/exampleData/1.d.ts"
56
- ]
57
- }
58
- },
59
- "main": "dist/MindElixir.js",
60
- "types": "dist/types/index.d.ts",
61
- "lint-staged": {
62
- "src/**/*.{ts,js}": [
63
- "eslint --cache --fix"
64
- ],
65
- "src/**/*.{json,less}": [
66
- "prettier --write"
67
- ]
68
- },
69
- "files": [
70
- "package.json",
71
- "dist"
72
- ],
73
- "repository": {
74
- "type": "git",
75
- "url": "https://github.com/ssshooter/mind-elixir-core"
76
- },
77
- "homepage": "https://mind-elixir.com/",
78
- "author": "ssshooter",
79
- "license": "MIT",
80
- "devDependencies": {
81
- "@commitlint/cli": "^17.8.1",
82
- "@commitlint/config-conventional": "^17.8.1",
83
- "@microsoft/api-documenter": "^7.25.21",
84
- "@microsoft/api-extractor": "^7.47.11",
85
- "@playwright/test": "^1.55.0",
86
- "@rollup/plugin-strip": "^3.0.4",
87
- "@types/node": "^20.14.2",
88
- "@typescript-eslint/eslint-plugin": "^5.62.0",
89
- "@typescript-eslint/parser": "^5.62.0",
90
- "@viselect/vanilla": "3.9.0",
91
- "@zumer/snapdom": "^1.3.0",
92
- "eslint": "^8.57.0",
93
- "eslint-config-prettier": "^8.10.0",
94
- "eslint-plugin-prettier": "^4.2.1",
95
- "husky": "^8.0.3",
96
- "katex": "^0.16.22",
97
- "less": "^4.2.0",
98
- "lint-staged": "^13.3.0",
99
- "marked": "^16.2.0",
100
- "nyc": "^17.1.0",
101
- "prettier": "2.8.4",
102
- "rimraf": "^6.0.1",
103
- "simple-markdown-to-html": "^1.0.0",
104
- "typescript": "^5.4.5",
105
- "vite": "^4.5.3",
106
- "vite-plugin-istanbul": "^7.1.0"
107
- }
1
+ {
2
+ "name": "mind-elixir",
3
+ "version": "5.2.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
+ "test:clean": "rimraf .nyc_output coverage",
22
+ "test:coverage": "pnpm test:clean && pnpm test && pnpm nyc && npx http-server ./coverage",
23
+ "nyc": "nyc report --reporter=html",
24
+ "doc": "api-extractor run --local --verbose",
25
+ "doc:md": "api-documenter markdown --input-folder ./api --output-folder ./md",
26
+ "beta": "npm run build && npm publish --tag beta"
27
+ },
28
+ "exports": {
29
+ ".": {
30
+ "types": "./dist/types/index.d.ts",
31
+ "import": "./dist/MindElixir.js",
32
+ "require": "./dist/MindElixir.js"
33
+ },
34
+ "./lite": {
35
+ "import": "./dist/MindElixirLite.iife.js"
36
+ },
37
+ "./example": {
38
+ "types": "./dist/types/exampleData/1.d.ts",
39
+ "import": "./dist/example.js",
40
+ "require": "./dist/example.js"
41
+ },
42
+ "./LayoutSsr": {
43
+ "types": "./dist/types/utils/LayoutSsr.d.ts",
44
+ "import": "./dist/LayoutSsr.js",
45
+ "require": "./dist/LayoutSsr.js"
46
+ },
47
+ "./readme.md": "./readme.md",
48
+ "./package.json": "./package.json",
49
+ "./style": "./dist/style.css",
50
+ "./style.css": "./dist/style.css"
51
+ },
52
+ "typesVersions": {
53
+ "*": {
54
+ "example": [
55
+ "./dist/types/exampleData/1.d.ts"
56
+ ]
57
+ }
58
+ },
59
+ "main": "dist/MindElixir.js",
60
+ "types": "dist/types/index.d.ts",
61
+ "lint-staged": {
62
+ "src/**/*.{ts,js}": [
63
+ "eslint --cache --fix"
64
+ ],
65
+ "src/**/*.{json,less}": [
66
+ "prettier --write"
67
+ ]
68
+ },
69
+ "files": [
70
+ "package.json",
71
+ "dist"
72
+ ],
73
+ "repository": {
74
+ "type": "git",
75
+ "url": "https://github.com/ssshooter/mind-elixir-core"
76
+ },
77
+ "homepage": "https://mind-elixir.com/",
78
+ "author": "ssshooter",
79
+ "license": "MIT",
80
+ "devDependencies": {
81
+ "@commitlint/cli": "^17.8.1",
82
+ "@commitlint/config-conventional": "^17.8.1",
83
+ "@microsoft/api-documenter": "^7.25.21",
84
+ "@microsoft/api-extractor": "^7.47.11",
85
+ "@playwright/test": "^1.55.0",
86
+ "@rollup/plugin-strip": "^3.0.4",
87
+ "@types/node": "^20.14.2",
88
+ "@typescript-eslint/eslint-plugin": "^5.62.0",
89
+ "@typescript-eslint/parser": "^5.62.0",
90
+ "@viselect/vanilla": "3.9.0",
91
+ "@zumer/snapdom": "^1.3.0",
92
+ "eslint": "^8.57.0",
93
+ "eslint-config-prettier": "^8.10.0",
94
+ "eslint-plugin-prettier": "^4.2.1",
95
+ "husky": "^8.0.3",
96
+ "katex": "^0.16.22",
97
+ "less": "^4.2.0",
98
+ "lint-staged": "^13.3.0",
99
+ "marked": "^16.2.0",
100
+ "nyc": "^17.1.0",
101
+ "prettier": "2.8.4",
102
+ "rimraf": "^6.0.1",
103
+ "simple-markdown-to-html": "^1.0.0",
104
+ "typescript": "^5.4.5",
105
+ "vite": "^4.5.3",
106
+ "vite-plugin-istanbul": "^7.1.0"
107
+ }
108
108
  }