diff --git a/package-lock.json b/package-lock.json
index 30bd13ea..b2c74b78 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -13,7 +13,10 @@
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@douyinfe/semi-ui": "^2.77.1",
- "@lexical/react": "^0.12.5",
+ "@lexical/react": "^0.12.6",
+ "@lexical/rich-text": "^0.38.2",
+ "@lexical/selection": "^0.38.2",
+ "@lexical/utils": "^0.12.6",
"@monaco-editor/react": "^4.7.0",
"@vercel/analytics": "^1.2.2",
"@vercel/speed-insights": "^1.2.0",
@@ -29,7 +32,7 @@
"jsonschema": "^1.4.1",
"jspdf": "^3.0.2",
"jszip": "^3.10.1",
- "lexical": "^0.12.5",
+ "lexical": "^0.12.6",
"lodash": "^4.17.21",
"luxon": "^3.7.1",
"nanoid": "^5.1.5",
@@ -1229,6 +1232,15 @@
"lexical": "0.12.6"
}
},
+ "node_modules/@lexical/clipboard/node_modules/@lexical/selection": {
+ "version": "0.12.6",
+ "resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.12.6.tgz",
+ "integrity": "sha512-HJBEazVwOe6duyHV6+vB/MS4kUBlCV05Cfcigdx8HlLLFQRWPqHrTpaxKz4jfb9ar0SlI2W1BUNbySAxMkC/HQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "lexical": "0.12.6"
+ }
+ },
"node_modules/@lexical/code": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/@lexical/code/-/code-0.12.6.tgz",
@@ -1251,6 +1263,83 @@
"lexical": "0.12.6"
}
},
+ "node_modules/@lexical/extension": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/extension/-/extension-0.38.2.tgz",
+ "integrity": "sha512-qbUNxEVjAC0kxp7hEMTzktj0/51SyJoIJWK6Gm790b4yNBq82fEPkksfuLkRg9VQUteD0RT1Nkjy8pho8nNamw==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/utils": "0.38.2",
+ "@preact/signals-core": "^1.11.0",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/extension/node_modules/@lexical/clipboard": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/clipboard/-/clipboard-0.38.2.tgz",
+ "integrity": "sha512-dDShUplCu8/o6BB9ousr3uFZ9bltR+HtleF/Tl8FXFNPpZ4AXhbLKUoJuucRuIr+zqT7RxEv/3M6pk/HEoE6NQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/html": "0.38.2",
+ "@lexical/list": "0.38.2",
+ "@lexical/selection": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/extension/node_modules/@lexical/html": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/html/-/html-0.38.2.tgz",
+ "integrity": "sha512-pC5AV+07bmHistRwgG3NJzBMlIzSdxYO6rJU4eBNzyR4becdiLsI4iuv+aY7PhfSv+SCs7QJ9oc4i5caq48Pkg==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/selection": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/extension/node_modules/@lexical/list": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/list/-/list-0.38.2.tgz",
+ "integrity": "sha512-OQm9TzatlMrDZGxMxbozZEHzMJhKxAbH1TOnOGyFfzpfjbnFK2y8oLeVsfQZfZRmiqQS4Qc/rpFnRP2Ax5dsbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/extension": "0.38.2",
+ "@lexical/selection": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/extension/node_modules/@lexical/table": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/table/-/table-0.38.2.tgz",
+ "integrity": "sha512-uu0i7yz0nbClmHOO5ZFsinRJE6vQnFz2YPblYHAlNigiBedhqMwSv5bedrzDq8nTTHwych3mC63tcyKIrM+I1g==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/clipboard": "0.38.2",
+ "@lexical/extension": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/extension/node_modules/@lexical/utils": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/utils/-/utils-0.38.2.tgz",
+ "integrity": "sha512-y+3rw15r4oAWIEXicUdNjfk8018dbKl7dWHqGHVEtqzAYefnEYdfD2FJ5KOTXfeoYfxi8yOW7FvzS4NZDi8Bfw==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/list": "0.38.2",
+ "@lexical/selection": "0.38.2",
+ "@lexical/table": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/extension/node_modules/lexical": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/lexical/-/lexical-0.38.2.tgz",
+ "integrity": "sha512-JJmfsG3c4gwBHzUGffbV7ifMNkKAWMCnYE3xJl87gty7hjyV5f3xq7eqTjP5HFYvO4XpjJvvWO2/djHp5S10tw==",
+ "license": "MIT"
+ },
"node_modules/@lexical/hashtag": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/@lexical/hashtag/-/hashtag-0.12.6.tgz",
@@ -1288,6 +1377,15 @@
"lexical": "0.12.6"
}
},
+ "node_modules/@lexical/html/node_modules/@lexical/selection": {
+ "version": "0.12.6",
+ "resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.12.6.tgz",
+ "integrity": "sha512-HJBEazVwOe6duyHV6+vB/MS4kUBlCV05Cfcigdx8HlLLFQRWPqHrTpaxKz4jfb9ar0SlI2W1BUNbySAxMkC/HQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "lexical": "0.12.6"
+ }
+ },
"node_modules/@lexical/link": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/@lexical/link/-/link-0.12.6.tgz",
@@ -1341,33 +1439,43 @@
"lexical": "0.12.6"
}
},
- "node_modules/@lexical/offset": {
+ "node_modules/@lexical/markdown/node_modules/@lexical/rich-text": {
"version": "0.12.6",
- "resolved": "https://registry.npmjs.org/@lexical/offset/-/offset-0.12.6.tgz",
- "integrity": "sha512-5NgIaWCvMuOQNf3SZSNn459QfsN7SmLl+Tu4ISqxyZRoMV5Sfojzion9MjCVmt1YSsIS4B29NYQvGQ/li1saOw==",
+ "resolved": "https://registry.npmjs.org/@lexical/rich-text/-/rich-text-0.12.6.tgz",
+ "integrity": "sha512-fRZHy2ug6Pq+pJK7trr9phTGaD2ba3If8o36dphOsl27MtUllpz68lcXL6mUonzJhAu4um1e9u7GFR3dLp+cVA==",
"license": "MIT",
"peerDependencies": {
+ "@lexical/clipboard": "0.12.6",
+ "@lexical/selection": "0.12.6",
+ "@lexical/utils": "0.12.6",
"lexical": "0.12.6"
}
},
- "node_modules/@lexical/overflow": {
+ "node_modules/@lexical/markdown/node_modules/@lexical/selection": {
"version": "0.12.6",
- "resolved": "https://registry.npmjs.org/@lexical/overflow/-/overflow-0.12.6.tgz",
- "integrity": "sha512-4TZJhTGkn7xvR+rumSYW9U/OIsbith0kVGOvZZf+DM/t9fb0IVQWWSWmMlXJ5XNt/qXLFof3HFyJhK84dsN3NA==",
+ "resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.12.6.tgz",
+ "integrity": "sha512-HJBEazVwOe6duyHV6+vB/MS4kUBlCV05Cfcigdx8HlLLFQRWPqHrTpaxKz4jfb9ar0SlI2W1BUNbySAxMkC/HQ==",
"license": "MIT",
+ "peer": true,
"peerDependencies": {
"lexical": "0.12.6"
}
},
- "node_modules/@lexical/plain-text": {
+ "node_modules/@lexical/offset": {
"version": "0.12.6",
- "resolved": "https://registry.npmjs.org/@lexical/plain-text/-/plain-text-0.12.6.tgz",
- "integrity": "sha512-YF+EaWGQIxR1SHgeSuPrrqqSK8RYDxGv9RYyuIPvWXpt3M9NWw7hyAn7zxmXGgv2BhIicyHGPy5CyQgt3Mkb/w==",
+ "resolved": "https://registry.npmjs.org/@lexical/offset/-/offset-0.12.6.tgz",
+ "integrity": "sha512-5NgIaWCvMuOQNf3SZSNn459QfsN7SmLl+Tu4ISqxyZRoMV5Sfojzion9MjCVmt1YSsIS4B29NYQvGQ/li1saOw==",
+ "license": "MIT",
+ "peerDependencies": {
+ "lexical": "0.12.6"
+ }
+ },
+ "node_modules/@lexical/overflow": {
+ "version": "0.12.6",
+ "resolved": "https://registry.npmjs.org/@lexical/overflow/-/overflow-0.12.6.tgz",
+ "integrity": "sha512-4TZJhTGkn7xvR+rumSYW9U/OIsbith0kVGOvZZf+DM/t9fb0IVQWWSWmMlXJ5XNt/qXLFof3HFyJhK84dsN3NA==",
"license": "MIT",
"peerDependencies": {
- "@lexical/clipboard": "0.12.6",
- "@lexical/selection": "0.12.6",
- "@lexical/utils": "0.12.6",
"lexical": "0.12.6"
}
},
@@ -1402,7 +1510,19 @@
"react-dom": ">=17.x"
}
},
- "node_modules/@lexical/rich-text": {
+ "node_modules/@lexical/react/node_modules/@lexical/plain-text": {
+ "version": "0.12.6",
+ "resolved": "https://registry.npmjs.org/@lexical/plain-text/-/plain-text-0.12.6.tgz",
+ "integrity": "sha512-YF+EaWGQIxR1SHgeSuPrrqqSK8RYDxGv9RYyuIPvWXpt3M9NWw7hyAn7zxmXGgv2BhIicyHGPy5CyQgt3Mkb/w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@lexical/clipboard": "0.12.6",
+ "@lexical/selection": "0.12.6",
+ "@lexical/utils": "0.12.6",
+ "lexical": "0.12.6"
+ }
+ },
+ "node_modules/@lexical/react/node_modules/@lexical/rich-text": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/@lexical/rich-text/-/rich-text-0.12.6.tgz",
"integrity": "sha512-fRZHy2ug6Pq+pJK7trr9phTGaD2ba3If8o36dphOsl27MtUllpz68lcXL6mUonzJhAu4um1e9u7GFR3dLp+cVA==",
@@ -1414,7 +1534,7 @@
"lexical": "0.12.6"
}
},
- "node_modules/@lexical/selection": {
+ "node_modules/@lexical/react/node_modules/@lexical/selection": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.12.6.tgz",
"integrity": "sha512-HJBEazVwOe6duyHV6+vB/MS4kUBlCV05Cfcigdx8HlLLFQRWPqHrTpaxKz4jfb9ar0SlI2W1BUNbySAxMkC/HQ==",
@@ -1423,6 +1543,110 @@
"lexical": "0.12.6"
}
},
+ "node_modules/@lexical/rich-text": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/rich-text/-/rich-text-0.38.2.tgz",
+ "integrity": "sha512-eFjeOT7YnDZYpty7Zlwlct0UxUSaYu53uLYG+Prs3NoKzsfEK7e7nYsy/BbQFfk5HoM1pYuYxFR2iIX62+YHGw==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/clipboard": "0.38.2",
+ "@lexical/dragon": "0.38.2",
+ "@lexical/selection": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/rich-text/node_modules/@lexical/clipboard": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/clipboard/-/clipboard-0.38.2.tgz",
+ "integrity": "sha512-dDShUplCu8/o6BB9ousr3uFZ9bltR+HtleF/Tl8FXFNPpZ4AXhbLKUoJuucRuIr+zqT7RxEv/3M6pk/HEoE6NQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/html": "0.38.2",
+ "@lexical/list": "0.38.2",
+ "@lexical/selection": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/rich-text/node_modules/@lexical/dragon": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/dragon/-/dragon-0.38.2.tgz",
+ "integrity": "sha512-riOhgo+l4oN50RnLGhcqeUokVlMZRc+NDrxRNs2lyKSUdC4vAhAmAVUHDqYPyb4K4ZSw4ebZ3j8hI2zO4O3BbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/extension": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/rich-text/node_modules/@lexical/html": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/html/-/html-0.38.2.tgz",
+ "integrity": "sha512-pC5AV+07bmHistRwgG3NJzBMlIzSdxYO6rJU4eBNzyR4becdiLsI4iuv+aY7PhfSv+SCs7QJ9oc4i5caq48Pkg==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/selection": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/rich-text/node_modules/@lexical/list": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/list/-/list-0.38.2.tgz",
+ "integrity": "sha512-OQm9TzatlMrDZGxMxbozZEHzMJhKxAbH1TOnOGyFfzpfjbnFK2y8oLeVsfQZfZRmiqQS4Qc/rpFnRP2Ax5dsbA==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/extension": "0.38.2",
+ "@lexical/selection": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/rich-text/node_modules/@lexical/table": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/table/-/table-0.38.2.tgz",
+ "integrity": "sha512-uu0i7yz0nbClmHOO5ZFsinRJE6vQnFz2YPblYHAlNigiBedhqMwSv5bedrzDq8nTTHwych3mC63tcyKIrM+I1g==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/clipboard": "0.38.2",
+ "@lexical/extension": "0.38.2",
+ "@lexical/utils": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/rich-text/node_modules/@lexical/utils": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/utils/-/utils-0.38.2.tgz",
+ "integrity": "sha512-y+3rw15r4oAWIEXicUdNjfk8018dbKl7dWHqGHVEtqzAYefnEYdfD2FJ5KOTXfeoYfxi8yOW7FvzS4NZDi8Bfw==",
+ "license": "MIT",
+ "dependencies": {
+ "@lexical/list": "0.38.2",
+ "@lexical/selection": "0.38.2",
+ "@lexical/table": "0.38.2",
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/rich-text/node_modules/lexical": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/lexical/-/lexical-0.38.2.tgz",
+ "integrity": "sha512-JJmfsG3c4gwBHzUGffbV7ifMNkKAWMCnYE3xJl87gty7hjyV5f3xq7eqTjP5HFYvO4XpjJvvWO2/djHp5S10tw==",
+ "license": "MIT"
+ },
+ "node_modules/@lexical/selection": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.38.2.tgz",
+ "integrity": "sha512-eMFiWlBH6bEX9U9sMJ6PXPxVXTrihQfFeiIlWLuTpEIDF2HRz7Uo1KFRC/yN6q0DQaj7d9NZYA6Mei5DoQuz5w==",
+ "license": "MIT",
+ "dependencies": {
+ "lexical": "0.38.2"
+ }
+ },
+ "node_modules/@lexical/selection/node_modules/lexical": {
+ "version": "0.38.2",
+ "resolved": "https://registry.npmjs.org/lexical/-/lexical-0.38.2.tgz",
+ "integrity": "sha512-JJmfsG3c4gwBHzUGffbV7ifMNkKAWMCnYE3xJl87gty7hjyV5f3xq7eqTjP5HFYvO4XpjJvvWO2/djHp5S10tw==",
+ "license": "MIT"
+ },
"node_modules/@lexical/table": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/@lexical/table/-/table-0.12.6.tgz",
@@ -1458,6 +1682,15 @@
"lexical": "0.12.6"
}
},
+ "node_modules/@lexical/utils/node_modules/@lexical/selection": {
+ "version": "0.12.6",
+ "resolved": "https://registry.npmjs.org/@lexical/selection/-/selection-0.12.6.tgz",
+ "integrity": "sha512-HJBEazVwOe6duyHV6+vB/MS4kUBlCV05Cfcigdx8HlLLFQRWPqHrTpaxKz4jfb9ar0SlI2W1BUNbySAxMkC/HQ==",
+ "license": "MIT",
+ "peerDependencies": {
+ "lexical": "0.12.6"
+ }
+ },
"node_modules/@lexical/yjs": {
"version": "0.12.6",
"resolved": "https://registry.npmjs.org/@lexical/yjs/-/yjs-0.12.6.tgz",
@@ -1568,6 +1801,16 @@
"node": ">= 8"
}
},
+ "node_modules/@preact/signals-core": {
+ "version": "1.12.1",
+ "resolved": "https://registry.npmjs.org/@preact/signals-core/-/signals-core-1.12.1.tgz",
+ "integrity": "sha512-BwbTXpj+9QutoZLQvbttRg5x3l5468qaV2kufh+51yha1c53ep5dY4kTuZR35+3pAZxpfQerGJiQqg34ZNZ6uA==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/preact"
+ }
+ },
"node_modules/@remix-run/router": {
"version": "1.23.0",
"resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz",
diff --git a/package.json b/package.json
index bddd6175..3f977d74 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
"type": "module",
"scripts": {
"dev": "vite",
- "build": "vite build",
+ "build": "NODE_OPTIONS='--max-old-space-size=8192' vite build",
"lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview"
},
@@ -15,7 +15,10 @@
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@douyinfe/semi-ui": "^2.77.1",
- "@lexical/react": "^0.12.5",
+ "@lexical/react": "^0.12.6",
+ "@lexical/rich-text": "^0.38.2",
+ "@lexical/selection": "^0.38.2",
+ "@lexical/utils": "^0.12.6",
"@monaco-editor/react": "^4.7.0",
"@vercel/analytics": "^1.2.2",
"@vercel/speed-insights": "^1.2.0",
@@ -31,7 +34,7 @@
"jsonschema": "^1.4.1",
"jspdf": "^3.0.2",
"jszip": "^3.10.1",
- "lexical": "^0.12.5",
+ "lexical": "^0.12.6",
"lodash": "^4.17.21",
"luxon": "^3.7.1",
"nanoid": "^5.1.5",
diff --git a/src/App.jsx b/src/App.jsx
index fcb09811..a2aabf91 100644
--- a/src/App.jsx
+++ b/src/App.jsx
@@ -5,22 +5,25 @@ import BugReport from "./pages/BugReport";
import Templates from "./pages/Templates";
import LandingPage from "./pages/LandingPage";
import SettingsContextProvider from "./context/SettingsContext";
+import ThemeProvider from "./context/ThemeContext";
import NotFound from "./pages/NotFound";
export default function App() {
return (
-