erl-mathtextx-editor 0.1.5 → 0.1.7
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/README.md +253 -251
- package/dist/{CellPropertiesDialogImpl-ra6ImDOd.js → CellPropertiesDialogImpl-HPT77uxM.js} +1 -1
- package/dist/{ContentViewer-COGXSiwX.js → ContentViewer-CWZ30KYR.js} +7 -6
- package/dist/{ImageInsertDialog-CjD1IOEK.js → ImageInsertDialog-DzLFhSDK.js} +1 -1
- package/dist/{InsertTableDialogImpl-BmFE8rOe.js → InsertTableDialogImpl-DZrLgDKN.js} +1 -1
- package/dist/{LinkDialogImpl-BZuaNMx0.js → LinkDialogImpl-DTHugWZM.js} +1 -1
- package/dist/{TableTemplatesDialogImpl-D7cUqz0B.js → TableTemplatesDialogImpl-D0sFSAKl.js} +1 -1
- package/dist/assets/erl-mathtextx-editor.css +1 -1
- package/dist/erl-mathtextx-editor.js +2 -2
- package/dist/erl-mathtextx-editor.umd.cjs +131 -131
- package/dist/{index-K6msjM1s.js → index-Ci20X1Rj.js} +50 -43
- package/dist/viewer.js +1 -1
- package/package.json +133 -133
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as e, jsxs as t, Fragment as Y } from "react/jsx-runtime";
|
|
2
2
|
import re, { useRef as z, useState as M, useEffect as $, useCallback as b, useMemo as fe, lazy as de, Suspense as me, useId as Pa } from "react";
|
|
3
3
|
import { N as Xe, a as Ue, R as Re, m as Ce, E as Ye, T as Sa, A as La, b as Da, c as Ba, d as za, U as Ia, S as Ea, e as Ra, f as Va, C as Ka, g as Fa, h as qa, i as Oa, j as $a, k as Ga, F as Wa, l as ja, H as Xa, L as Ua, I as Ya, P as Ja, n as Qa, u as Za, o as et } from "./tiptap-Bc1mIOtx.js";
|
|
4
|
-
import "./ContentViewer-
|
|
4
|
+
import "./ContentViewer-CWZ30KYR.js";
|
|
5
5
|
function Qe(l) {
|
|
6
6
|
const a = l.closest(".mtx-content");
|
|
7
7
|
if (!a)
|
|
@@ -2479,44 +2479,51 @@ const xt = re.memo(function({
|
|
|
2479
2479
|
}, [n]);
|
|
2480
2480
|
return !a || !n ? null : /* @__PURE__ */ t(Y, { children: [
|
|
2481
2481
|
/* @__PURE__ */ e("button", { type: "button", className: "mtx-table-menu-overlay", onClick: c, "aria-label": "Close image menu" }),
|
|
2482
|
-
/* @__PURE__ */ e(
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
|
|
2504
|
-
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2514
|
-
|
|
2482
|
+
/* @__PURE__ */ e(
|
|
2483
|
+
"div",
|
|
2484
|
+
{
|
|
2485
|
+
className: "mtx-table-menu-dropdown",
|
|
2486
|
+
style: { "--mtx-dropdown-x": `${p.x}px`, "--mtx-dropdown-y": `${p.y}px` },
|
|
2487
|
+
children: /* @__PURE__ */ t("div", { className: "mtx-table-menu", onClick: (h) => h.stopPropagation(), children: [
|
|
2488
|
+
/* @__PURE__ */ t("div", { className: "mtx-table-menu-group", children: [
|
|
2489
|
+
/* @__PURE__ */ e("div", { className: "mtx-table-menu-label", children: "Text Wrapping" }),
|
|
2490
|
+
/* @__PURE__ */ t("button", { className: `mtx-table-menu-item ${i === "left" ? "is-active" : ""}`, onClick: () => g(() => r("left")), children: [
|
|
2491
|
+
/* @__PURE__ */ e("span", { className: "mtx-table-menu-icon", children: "◧" }),
|
|
2492
|
+
/* @__PURE__ */ e("span", { children: "Wrap Left" })
|
|
2493
|
+
] }),
|
|
2494
|
+
/* @__PURE__ */ t("button", { className: `mtx-table-menu-item ${i === "center" ? "is-active" : ""}`, onClick: () => g(() => r("center")), children: [
|
|
2495
|
+
/* @__PURE__ */ e("span", { className: "mtx-table-menu-icon", children: "▣" }),
|
|
2496
|
+
/* @__PURE__ */ e("span", { children: "Wrap Center" })
|
|
2497
|
+
] }),
|
|
2498
|
+
/* @__PURE__ */ t("button", { className: `mtx-table-menu-item ${i === "right" ? "is-active" : ""}`, onClick: () => g(() => r("right")), children: [
|
|
2499
|
+
/* @__PURE__ */ e("span", { className: "mtx-table-menu-icon", children: "◨" }),
|
|
2500
|
+
/* @__PURE__ */ e("span", { children: "Wrap Right" })
|
|
2501
|
+
] }),
|
|
2502
|
+
/* @__PURE__ */ t("button", { className: `mtx-table-menu-item ${i === "full" ? "is-active" : ""}`, onClick: () => g(() => r("full")), children: [
|
|
2503
|
+
/* @__PURE__ */ e("span", { className: "mtx-table-menu-icon", children: "▤" }),
|
|
2504
|
+
/* @__PURE__ */ e("span", { children: "Full Width" })
|
|
2505
|
+
] })
|
|
2506
|
+
] }),
|
|
2507
|
+
w && /* @__PURE__ */ t("div", { className: "mtx-table-menu-group", children: [
|
|
2508
|
+
/* @__PURE__ */ e("div", { className: "mtx-table-menu-label", children: "Image" }),
|
|
2509
|
+
m && /* @__PURE__ */ t("button", { className: "mtx-table-menu-item", onClick: () => g(m), disabled: !o, children: [
|
|
2510
|
+
/* @__PURE__ */ e("span", { className: "mtx-table-menu-icon", children: "↺" }),
|
|
2511
|
+
/* @__PURE__ */ e("span", { children: "Reset Position" })
|
|
2512
|
+
] }),
|
|
2513
|
+
f && /* @__PURE__ */ t("button", { className: "mtx-table-menu-item", onClick: () => g(f), children: [
|
|
2514
|
+
/* @__PURE__ */ e("span", { className: "mtx-table-menu-icon", children: "◎" }),
|
|
2515
|
+
/* @__PURE__ */ e("span", { children: "Center & Reset" })
|
|
2516
|
+
] }),
|
|
2517
|
+
/* @__PURE__ */ t("button", { className: "mtx-table-menu-item", onClick: () => g(w), children: [
|
|
2518
|
+
/* @__PURE__ */ e("span", { className: "mtx-table-menu-icon", children: "✎" }),
|
|
2519
|
+
/* @__PURE__ */ e("span", { children: "Edit Image" })
|
|
2520
|
+
] })
|
|
2521
|
+
] })
|
|
2515
2522
|
] })
|
|
2516
|
-
|
|
2517
|
-
|
|
2523
|
+
}
|
|
2524
|
+
)
|
|
2518
2525
|
] });
|
|
2519
|
-
}), gt = de(() => import("./LinkDialogImpl-
|
|
2526
|
+
}), gt = de(() => import("./LinkDialogImpl-DTHugWZM.js").then((l) => ({ default: l.LinkDialogImpl }))), bt = de(() => import("./InsertTableDialogImpl-DZrLgDKN.js").then((l) => ({ default: l.InsertTableDialogImpl }))), ft = de(() => import("./CellPropertiesDialogImpl-HPT77uxM.js").then((l) => ({ default: l.CellPropertiesDialogImpl }))), vt = de(() => import("./TableTemplatesDialogImpl-D0sFSAKl.js").then((l) => ({ default: l.TableTemplatesDialogImpl }))), wt = de(() => import("./ImageInsertDialog-DzLFhSDK.js").then((l) => ({ default: l.ImageInsertDialog }))), _ = re.memo(function({ icon: a, label: n, onClick: i, isActive: o, isDisabled: c, className: r }) {
|
|
2520
2527
|
return /* @__PURE__ */ e(
|
|
2521
2528
|
"button",
|
|
2522
2529
|
{
|
|
@@ -2524,7 +2531,7 @@ const xt = re.memo(function({
|
|
|
2524
2531
|
className: `mtx-toolbar-btn ${o ? "is-active" : ""} ${r || ""}`,
|
|
2525
2532
|
onClick: i,
|
|
2526
2533
|
disabled: c,
|
|
2527
|
-
|
|
2534
|
+
title: n,
|
|
2528
2535
|
"aria-label": n,
|
|
2529
2536
|
children: a
|
|
2530
2537
|
}
|
|
@@ -4803,7 +4810,7 @@ function Kt({ onInsert: l, onClose: a }) {
|
|
|
4803
4810
|
] })
|
|
4804
4811
|
] });
|
|
4805
4812
|
}
|
|
4806
|
-
const Ft = de(() => import("./ImageInsertDialog-
|
|
4813
|
+
const Ft = de(() => import("./ImageInsertDialog-DzLFhSDK.js").then((l) => ({ default: l.ImageInsertDialog })));
|
|
4807
4814
|
async function je(l) {
|
|
4808
4815
|
return new Promise((a, n) => {
|
|
4809
4816
|
const i = new window.Image();
|
|
@@ -5140,19 +5147,19 @@ function dl({
|
|
|
5140
5147
|
}
|
|
5141
5148
|
);
|
|
5142
5149
|
}
|
|
5143
|
-
const Ot = de(() => import("./LinkDialogImpl-
|
|
5150
|
+
const Ot = de(() => import("./LinkDialogImpl-DTHugWZM.js").then((l) => ({ default: l.LinkDialogImpl }))), $t = re.memo(function(a) {
|
|
5144
5151
|
return /* @__PURE__ */ e(me, { fallback: null, children: /* @__PURE__ */ e(Ot, { ...a }) });
|
|
5145
5152
|
});
|
|
5146
5153
|
$t.displayName = "LinkDialog";
|
|
5147
|
-
const Gt = de(() => import("./InsertTableDialogImpl-
|
|
5154
|
+
const Gt = de(() => import("./InsertTableDialogImpl-DZrLgDKN.js").then((l) => ({ default: l.InsertTableDialogImpl }))), Wt = re.memo(function(a) {
|
|
5148
5155
|
return /* @__PURE__ */ e(me, { fallback: null, children: /* @__PURE__ */ e(Gt, { ...a }) });
|
|
5149
5156
|
});
|
|
5150
5157
|
Wt.displayName = "InsertTableDialog";
|
|
5151
|
-
const jt = de(() => import("./CellPropertiesDialogImpl-
|
|
5158
|
+
const jt = de(() => import("./CellPropertiesDialogImpl-HPT77uxM.js").then((l) => ({ default: l.CellPropertiesDialogImpl }))), Xt = re.memo(function(a) {
|
|
5152
5159
|
return /* @__PURE__ */ e(me, { fallback: null, children: /* @__PURE__ */ e(jt, { ...a }) });
|
|
5153
5160
|
});
|
|
5154
5161
|
Xt.displayName = "CellPropertiesDialog";
|
|
5155
|
-
const Ut = de(() => import("./TableTemplatesDialogImpl-
|
|
5162
|
+
const Ut = de(() => import("./TableTemplatesDialogImpl-D0sFSAKl.js").then((l) => ({ default: l.TableTemplatesDialogImpl }))), Yt = re.memo(function(a) {
|
|
5156
5163
|
return /* @__PURE__ */ e(me, { fallback: null, children: /* @__PURE__ */ e(Ut, { ...a }) });
|
|
5157
5164
|
});
|
|
5158
5165
|
Yt.displayName = "TableTemplatesDialog";
|
package/dist/viewer.js
CHANGED
package/package.json
CHANGED
|
@@ -1,133 +1,133 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "erl-mathtextx-editor",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Visual math editor component for solutest.id — CKEditor replacement with zero-LaTeX approach",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"main": "./dist/erl-mathtextx-editor.umd.cjs",
|
|
7
|
-
"module": "./dist/erl-mathtextx-editor.js",
|
|
8
|
-
"types": "./dist/index.d.ts",
|
|
9
|
-
"exports": {
|
|
10
|
-
".": {
|
|
11
|
-
"import": "./dist/erl-mathtextx-editor.js",
|
|
12
|
-
"require": "./dist/erl-mathtextx-editor.umd.cjs",
|
|
13
|
-
"types": "./dist/index.d.ts"
|
|
14
|
-
},
|
|
15
|
-
"./viewer": {
|
|
16
|
-
"import": "./dist/viewer.js",
|
|
17
|
-
"types": "./dist/viewer.d.ts"
|
|
18
|
-
},
|
|
19
|
-
"./styles": "./dist/assets/erl-mathtextx-editor.css",
|
|
20
|
-
"./viewer/styles": "./dist/viewer-styles.js"
|
|
21
|
-
},
|
|
22
|
-
"files": [
|
|
23
|
-
"dist"
|
|
24
|
-
],
|
|
25
|
-
"scripts": {
|
|
26
|
-
"dev": "vite",
|
|
27
|
-
"build": "tsc && vite build && vite build --config vite.config.umd.ts",
|
|
28
|
-
"preview": "vite preview",
|
|
29
|
-
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
30
|
-
"test": "vitest",
|
|
31
|
-
"test:run": "vitest run",
|
|
32
|
-
"test:coverage": "vitest run --coverage"
|
|
33
|
-
},
|
|
34
|
-
"peerDependencies": {
|
|
35
|
-
"react": "^18.0.0 || ^19.0.0",
|
|
36
|
-
"react-dom": "^18.0.0 || ^19.0.0"
|
|
37
|
-
},
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"@tiptap/core": "^2.11.0",
|
|
40
|
-
"@tiptap/extension-bold": "^2.11.0",
|
|
41
|
-
"@tiptap/extension-bullet-list": "^2.11.0",
|
|
42
|
-
"@tiptap/extension-code-block": "^2.11.0",
|
|
43
|
-
"@tiptap/extension-color": "^2.27.2",
|
|
44
|
-
"@tiptap/extension-document": "^2.11.0",
|
|
45
|
-
"@tiptap/extension-dropcursor": "^2.11.0",
|
|
46
|
-
"@tiptap/extension-font-family": "^2.27.2",
|
|
47
|
-
"@tiptap/extension-gapcursor": "^2.11.0",
|
|
48
|
-
"@tiptap/extension-hard-break": "^2.11.0",
|
|
49
|
-
"@tiptap/extension-heading": "^2.11.0",
|
|
50
|
-
"@tiptap/extension-highlight": "^2.27.2",
|
|
51
|
-
"@tiptap/extension-history": "^2.11.0",
|
|
52
|
-
"@tiptap/extension-horizontal-rule": "^2.11.0",
|
|
53
|
-
"@tiptap/extension-image": "^2.11.0",
|
|
54
|
-
"@tiptap/extension-italic": "^2.11.0",
|
|
55
|
-
"@tiptap/extension-link": "^2.11.0",
|
|
56
|
-
"@tiptap/extension-list-item": "^2.11.0",
|
|
57
|
-
"@tiptap/extension-ordered-list": "^2.11.0",
|
|
58
|
-
"@tiptap/extension-paragraph": "^2.11.0",
|
|
59
|
-
"@tiptap/extension-placeholder": "^2.11.0",
|
|
60
|
-
"@tiptap/extension-strike": "^2.11.0",
|
|
61
|
-
"@tiptap/extension-subscript": "^2.11.0",
|
|
62
|
-
"@tiptap/extension-superscript": "^2.11.0",
|
|
63
|
-
"@tiptap/extension-table": "^2.11.0",
|
|
64
|
-
"@tiptap/extension-table-cell": "^2.11.0",
|
|
65
|
-
"@tiptap/extension-table-header": "^2.11.0",
|
|
66
|
-
"@tiptap/extension-table-row": "^2.11.0",
|
|
67
|
-
"@tiptap/extension-task-item": "^2.11.0",
|
|
68
|
-
"@tiptap/extension-task-list": "^2.11.0",
|
|
69
|
-
"@tiptap/extension-text": "^2.11.0",
|
|
70
|
-
"@tiptap/extension-text-align": "^2.27.2",
|
|
71
|
-
"@tiptap/extension-text-style": "^2.27.2",
|
|
72
|
-
"@tiptap/extension-typography": "^2.27.2",
|
|
73
|
-
"@tiptap/extension-underline": "^2.11.0",
|
|
74
|
-
"@tiptap/pm": "^2.11.0",
|
|
75
|
-
"@tiptap/react": "^2.11.0",
|
|
76
|
-
"@tiptap/starter-kit": "^2.11.0",
|
|
77
|
-
"@weiruo/tiptap-extension-indent": "^2.0.4-1",
|
|
78
|
-
"dompurify": "^3.3.1",
|
|
79
|
-
"function-plot": "^1.25.3",
|
|
80
|
-
"html2canvas": "^1.4.1",
|
|
81
|
-
"jspdf": "^4.1.0",
|
|
82
|
-
"katex": "^0.16.33",
|
|
83
|
-
"mathlive": "^0.101.0"
|
|
84
|
-
},
|
|
85
|
-
"devDependencies": {
|
|
86
|
-
"@eslint/js": "^9.39.2",
|
|
87
|
-
"@fullhuman/postcss-purgecss": "^8.0.0",
|
|
88
|
-
"@types/dompurify": "^3.0.5",
|
|
89
|
-
"@types/react": "^18.2.0",
|
|
90
|
-
"@types/react-dom": "^18.2.0",
|
|
91
|
-
"@typescript-eslint/eslint-plugin": "^8.56.0",
|
|
92
|
-
"@typescript-eslint/parser": "^8.56.0",
|
|
93
|
-
"@vitejs/plugin-react": "^4.3.0",
|
|
94
|
-
"@vitest/coverage-v8": "^2.1.9",
|
|
95
|
-
"eslint": "^9.39.2",
|
|
96
|
-
"eslint-plugin-react": "^7.37.5",
|
|
97
|
-
"eslint-plugin-react-hooks": "^7.0.1",
|
|
98
|
-
"eslint-plugin-react-refresh": "^0.5.0",
|
|
99
|
-
"globals": "^17.3.0",
|
|
100
|
-
"jsdom": "^24.1.3",
|
|
101
|
-
"react": "^18.2.0",
|
|
102
|
-
"react-dom": "^18.2.0",
|
|
103
|
-
"typescript": "^5.5.0",
|
|
104
|
-
"typescript-eslint": "^8.57.0",
|
|
105
|
-
"vite": "^5.4.0",
|
|
106
|
-
"vite-plugin-css-injected-by-js": "^3.5.0",
|
|
107
|
-
"vite-plugin-dts": "^4.0.0",
|
|
108
|
-
"vitest": "^2.1.9"
|
|
109
|
-
},
|
|
110
|
-
"license": "MIT",
|
|
111
|
-
"author": "Erlangga Team",
|
|
112
|
-
"repository": {
|
|
113
|
-
"type": "git",
|
|
114
|
-
"url": "git+https://github.com/erlangga/richtext-editor-research.git"
|
|
115
|
-
},
|
|
116
|
-
"homepage": "https://github.com/erlangga/richtext-editor-research#readme",
|
|
117
|
-
"bugs": {
|
|
118
|
-
"url": "https://github.com/erlangga/richtext-editor-research/issues"
|
|
119
|
-
},
|
|
120
|
-
"publishConfig": {
|
|
121
|
-
"access": "public",
|
|
122
|
-
"registry": "https://registry.npmjs.org/"
|
|
123
|
-
},
|
|
124
|
-
"keywords": [
|
|
125
|
-
"math-editor",
|
|
126
|
-
"tiptap",
|
|
127
|
-
"mathlive",
|
|
128
|
-
"wysiwyg",
|
|
129
|
-
"ckeditor-replacement",
|
|
130
|
-
"solutest",
|
|
131
|
-
"react"
|
|
132
|
-
]
|
|
133
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "erl-mathtextx-editor",
|
|
3
|
+
"version": "0.1.7",
|
|
4
|
+
"description": "Visual math editor component for solutest.id — CKEditor replacement with zero-LaTeX approach",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/erl-mathtextx-editor.umd.cjs",
|
|
7
|
+
"module": "./dist/erl-mathtextx-editor.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"import": "./dist/erl-mathtextx-editor.js",
|
|
12
|
+
"require": "./dist/erl-mathtextx-editor.umd.cjs",
|
|
13
|
+
"types": "./dist/index.d.ts"
|
|
14
|
+
},
|
|
15
|
+
"./viewer": {
|
|
16
|
+
"import": "./dist/viewer.js",
|
|
17
|
+
"types": "./dist/viewer.d.ts"
|
|
18
|
+
},
|
|
19
|
+
"./styles": "./dist/assets/erl-mathtextx-editor.css",
|
|
20
|
+
"./viewer/styles": "./dist/viewer-styles.js"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"dev": "vite",
|
|
27
|
+
"build": "tsc && vite build && vite build --config vite.config.umd.ts",
|
|
28
|
+
"preview": "vite preview",
|
|
29
|
+
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
30
|
+
"test": "vitest",
|
|
31
|
+
"test:run": "vitest run",
|
|
32
|
+
"test:coverage": "vitest run --coverage"
|
|
33
|
+
},
|
|
34
|
+
"peerDependencies": {
|
|
35
|
+
"react": "^18.0.0 || ^19.0.0",
|
|
36
|
+
"react-dom": "^18.0.0 || ^19.0.0"
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"@tiptap/core": "^2.11.0",
|
|
40
|
+
"@tiptap/extension-bold": "^2.11.0",
|
|
41
|
+
"@tiptap/extension-bullet-list": "^2.11.0",
|
|
42
|
+
"@tiptap/extension-code-block": "^2.11.0",
|
|
43
|
+
"@tiptap/extension-color": "^2.27.2",
|
|
44
|
+
"@tiptap/extension-document": "^2.11.0",
|
|
45
|
+
"@tiptap/extension-dropcursor": "^2.11.0",
|
|
46
|
+
"@tiptap/extension-font-family": "^2.27.2",
|
|
47
|
+
"@tiptap/extension-gapcursor": "^2.11.0",
|
|
48
|
+
"@tiptap/extension-hard-break": "^2.11.0",
|
|
49
|
+
"@tiptap/extension-heading": "^2.11.0",
|
|
50
|
+
"@tiptap/extension-highlight": "^2.27.2",
|
|
51
|
+
"@tiptap/extension-history": "^2.11.0",
|
|
52
|
+
"@tiptap/extension-horizontal-rule": "^2.11.0",
|
|
53
|
+
"@tiptap/extension-image": "^2.11.0",
|
|
54
|
+
"@tiptap/extension-italic": "^2.11.0",
|
|
55
|
+
"@tiptap/extension-link": "^2.11.0",
|
|
56
|
+
"@tiptap/extension-list-item": "^2.11.0",
|
|
57
|
+
"@tiptap/extension-ordered-list": "^2.11.0",
|
|
58
|
+
"@tiptap/extension-paragraph": "^2.11.0",
|
|
59
|
+
"@tiptap/extension-placeholder": "^2.11.0",
|
|
60
|
+
"@tiptap/extension-strike": "^2.11.0",
|
|
61
|
+
"@tiptap/extension-subscript": "^2.11.0",
|
|
62
|
+
"@tiptap/extension-superscript": "^2.11.0",
|
|
63
|
+
"@tiptap/extension-table": "^2.11.0",
|
|
64
|
+
"@tiptap/extension-table-cell": "^2.11.0",
|
|
65
|
+
"@tiptap/extension-table-header": "^2.11.0",
|
|
66
|
+
"@tiptap/extension-table-row": "^2.11.0",
|
|
67
|
+
"@tiptap/extension-task-item": "^2.11.0",
|
|
68
|
+
"@tiptap/extension-task-list": "^2.11.0",
|
|
69
|
+
"@tiptap/extension-text": "^2.11.0",
|
|
70
|
+
"@tiptap/extension-text-align": "^2.27.2",
|
|
71
|
+
"@tiptap/extension-text-style": "^2.27.2",
|
|
72
|
+
"@tiptap/extension-typography": "^2.27.2",
|
|
73
|
+
"@tiptap/extension-underline": "^2.11.0",
|
|
74
|
+
"@tiptap/pm": "^2.11.0",
|
|
75
|
+
"@tiptap/react": "^2.11.0",
|
|
76
|
+
"@tiptap/starter-kit": "^2.11.0",
|
|
77
|
+
"@weiruo/tiptap-extension-indent": "^2.0.4-1",
|
|
78
|
+
"dompurify": "^3.3.1",
|
|
79
|
+
"function-plot": "^1.25.3",
|
|
80
|
+
"html2canvas": "^1.4.1",
|
|
81
|
+
"jspdf": "^4.1.0",
|
|
82
|
+
"katex": "^0.16.33",
|
|
83
|
+
"mathlive": "^0.101.0"
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@eslint/js": "^9.39.2",
|
|
87
|
+
"@fullhuman/postcss-purgecss": "^8.0.0",
|
|
88
|
+
"@types/dompurify": "^3.0.5",
|
|
89
|
+
"@types/react": "^18.2.0",
|
|
90
|
+
"@types/react-dom": "^18.2.0",
|
|
91
|
+
"@typescript-eslint/eslint-plugin": "^8.56.0",
|
|
92
|
+
"@typescript-eslint/parser": "^8.56.0",
|
|
93
|
+
"@vitejs/plugin-react": "^4.3.0",
|
|
94
|
+
"@vitest/coverage-v8": "^2.1.9",
|
|
95
|
+
"eslint": "^9.39.2",
|
|
96
|
+
"eslint-plugin-react": "^7.37.5",
|
|
97
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
98
|
+
"eslint-plugin-react-refresh": "^0.5.0",
|
|
99
|
+
"globals": "^17.3.0",
|
|
100
|
+
"jsdom": "^24.1.3",
|
|
101
|
+
"react": "^18.2.0",
|
|
102
|
+
"react-dom": "^18.2.0",
|
|
103
|
+
"typescript": "^5.5.0",
|
|
104
|
+
"typescript-eslint": "^8.57.0",
|
|
105
|
+
"vite": "^5.4.0",
|
|
106
|
+
"vite-plugin-css-injected-by-js": "^3.5.0",
|
|
107
|
+
"vite-plugin-dts": "^4.0.0",
|
|
108
|
+
"vitest": "^2.1.9"
|
|
109
|
+
},
|
|
110
|
+
"license": "MIT",
|
|
111
|
+
"author": "Erlangga Team",
|
|
112
|
+
"repository": {
|
|
113
|
+
"type": "git",
|
|
114
|
+
"url": "git+https://github.com/erlangga/richtext-editor-research.git"
|
|
115
|
+
},
|
|
116
|
+
"homepage": "https://github.com/erlangga/richtext-editor-research#readme",
|
|
117
|
+
"bugs": {
|
|
118
|
+
"url": "https://github.com/erlangga/richtext-editor-research/issues"
|
|
119
|
+
},
|
|
120
|
+
"publishConfig": {
|
|
121
|
+
"access": "public",
|
|
122
|
+
"registry": "https://registry.npmjs.org/"
|
|
123
|
+
},
|
|
124
|
+
"keywords": [
|
|
125
|
+
"math-editor",
|
|
126
|
+
"tiptap",
|
|
127
|
+
"mathlive",
|
|
128
|
+
"wysiwyg",
|
|
129
|
+
"ckeditor-replacement",
|
|
130
|
+
"solutest",
|
|
131
|
+
"react"
|
|
132
|
+
]
|
|
133
|
+
}
|