diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..443306a
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,32 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist-ssr
+*.local
+.ossutil_checkpoint
+ossutil_output
+deps/
+aimp/
+/docs/.vitepress/dist/
+/demos/vanilla-ts/dist/
+
+dist
+
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
+
+.npmrc
\ No newline at end of file
diff --git a/.npmignore b/.npmignore
new file mode 100644
index 0000000..9b589d9
--- /dev/null
+++ b/.npmignore
@@ -0,0 +1,23 @@
+// Ignore all files and folders starting with a dot
+.*
+
+// Ignore logs
+*.log*
+
+// Ignore timestamp files
+*.timestamp*
+
+// Ignore development files
+node_modules
+src/
+public/
+biome.json
+eslint.config.mjs
+index.html
+jsconfig.json
+package.json
+TODO
+tsconfig.json
+vite.config.ts
+vitest.config.ts
+yarn.lock
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..feb56fb
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2024-present AI-Labs
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..6c09ff3
--- /dev/null
+++ b/index.html
@@ -0,0 +1,14 @@
+
+
+
+
+
+ 有爱文档(UAI Editor)
+
+
+
+
+
+
+
+
diff --git a/src/assets/icons/align-center.svg b/src/assets/icons/align-center.svg
new file mode 100644
index 0000000..4fcd406
--- /dev/null
+++ b/src/assets/icons/align-center.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/align-distributed.svg b/src/assets/icons/align-distributed.svg
new file mode 100644
index 0000000..13235af
--- /dev/null
+++ b/src/assets/icons/align-distributed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/align-justify.svg b/src/assets/icons/align-justify.svg
new file mode 100644
index 0000000..74e67c9
--- /dev/null
+++ b/src/assets/icons/align-justify.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/align-left.svg b/src/assets/icons/align-left.svg
new file mode 100644
index 0000000..329cfda
--- /dev/null
+++ b/src/assets/icons/align-left.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/align-right.svg b/src/assets/icons/align-right.svg
new file mode 100644
index 0000000..8fcdbf8
--- /dev/null
+++ b/src/assets/icons/align-right.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/arrow-down.svg b/src/assets/icons/arrow-down.svg
new file mode 100644
index 0000000..8cd49e5
--- /dev/null
+++ b/src/assets/icons/arrow-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/arrow.svg b/src/assets/icons/arrow.svg
new file mode 100644
index 0000000..0ed89d8
--- /dev/null
+++ b/src/assets/icons/arrow.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/assistant.svg b/src/assets/icons/assistant.svg
new file mode 100644
index 0000000..8a6725c
--- /dev/null
+++ b/src/assets/icons/assistant.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/audio.svg b/src/assets/icons/audio.svg
new file mode 100644
index 0000000..5b8a196
--- /dev/null
+++ b/src/assets/icons/audio.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/auto-width.svg b/src/assets/icons/auto-width.svg
new file mode 100644
index 0000000..a19a8df
--- /dev/null
+++ b/src/assets/icons/auto-width.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/background-color.svg b/src/assets/icons/background-color.svg
new file mode 100644
index 0000000..e92fc49
--- /dev/null
+++ b/src/assets/icons/background-color.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/barcode.svg b/src/assets/icons/barcode.svg
new file mode 100644
index 0000000..12bc50e
--- /dev/null
+++ b/src/assets/icons/barcode.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/block-add.svg b/src/assets/icons/block-add.svg
new file mode 100644
index 0000000..0c49d3f
--- /dev/null
+++ b/src/assets/icons/block-add.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/block-menu.svg b/src/assets/icons/block-menu.svg
new file mode 100644
index 0000000..8633633
--- /dev/null
+++ b/src/assets/icons/block-menu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/blockquote.svg b/src/assets/icons/blockquote.svg
new file mode 100644
index 0000000..e49b990
--- /dev/null
+++ b/src/assets/icons/blockquote.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/bold.svg b/src/assets/icons/bold.svg
new file mode 100644
index 0000000..27572c6
--- /dev/null
+++ b/src/assets/icons/bold.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/border-none.svg b/src/assets/icons/border-none.svg
new file mode 100644
index 0000000..1d15541
--- /dev/null
+++ b/src/assets/icons/border-none.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/border.svg b/src/assets/icons/border.svg
new file mode 100644
index 0000000..1cf6b5d
--- /dev/null
+++ b/src/assets/icons/border.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/bullet-list-2.svg b/src/assets/icons/bullet-list-2.svg
new file mode 100644
index 0000000..c9805ce
--- /dev/null
+++ b/src/assets/icons/bullet-list-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/bullet-list-circle.svg b/src/assets/icons/bullet-list-circle.svg
new file mode 100644
index 0000000..ec96166
--- /dev/null
+++ b/src/assets/icons/bullet-list-circle.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/bullet-list-disc.svg b/src/assets/icons/bullet-list-disc.svg
new file mode 100644
index 0000000..b6158f6
--- /dev/null
+++ b/src/assets/icons/bullet-list-disc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/bullet-list-square.svg b/src/assets/icons/bullet-list-square.svg
new file mode 100644
index 0000000..8ce41f6
--- /dev/null
+++ b/src/assets/icons/bullet-list-square.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/bullet-list.svg b/src/assets/icons/bullet-list.svg
new file mode 100644
index 0000000..529c6e6
--- /dev/null
+++ b/src/assets/icons/bullet-list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chat-bot.svg b/src/assets/icons/chat-bot.svg
new file mode 100644
index 0000000..3a9f609
--- /dev/null
+++ b/src/assets/icons/chat-bot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/check.svg b/src/assets/icons/check.svg
new file mode 100644
index 0000000..b0c9a01
--- /dev/null
+++ b/src/assets/icons/check.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/chinese-case.svg b/src/assets/icons/chinese-case.svg
new file mode 100644
index 0000000..55dd077
--- /dev/null
+++ b/src/assets/icons/chinese-case.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/clear-cache.svg b/src/assets/icons/clear-cache.svg
new file mode 100644
index 0000000..3e52a40
--- /dev/null
+++ b/src/assets/icons/clear-cache.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/clear-format.svg b/src/assets/icons/clear-format.svg
new file mode 100644
index 0000000..3293d47
--- /dev/null
+++ b/src/assets/icons/clear-format.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/close.svg b/src/assets/icons/close.svg
new file mode 100644
index 0000000..94a5a34
--- /dev/null
+++ b/src/assets/icons/close.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/code-block.svg b/src/assets/icons/code-block.svg
new file mode 100644
index 0000000..a8bd95a
--- /dev/null
+++ b/src/assets/icons/code-block.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/code-line-number.svg b/src/assets/icons/code-line-number.svg
new file mode 100644
index 0000000..59efb35
--- /dev/null
+++ b/src/assets/icons/code-line-number.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/code-word-wrap.svg b/src/assets/icons/code-word-wrap.svg
new file mode 100644
index 0000000..15dfe92
--- /dev/null
+++ b/src/assets/icons/code-word-wrap.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/codeblock.svg b/src/assets/icons/codeblock.svg
new file mode 100644
index 0000000..2ad4950
--- /dev/null
+++ b/src/assets/icons/codeblock.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/color.svg b/src/assets/icons/color.svg
new file mode 100644
index 0000000..694393c
--- /dev/null
+++ b/src/assets/icons/color.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/comment.svg b/src/assets/icons/comment.svg
new file mode 100644
index 0000000..4b6f8db
--- /dev/null
+++ b/src/assets/icons/comment.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/copy.svg b/src/assets/icons/copy.svg
new file mode 100644
index 0000000..fdf5888
--- /dev/null
+++ b/src/assets/icons/copy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/date.svg b/src/assets/icons/date.svg
new file mode 100644
index 0000000..ed005d3
--- /dev/null
+++ b/src/assets/icons/date.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/diagrams.svg b/src/assets/icons/diagrams.svg
new file mode 100644
index 0000000..a7031e2
--- /dev/null
+++ b/src/assets/icons/diagrams.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/download.svg b/src/assets/icons/download.svg
new file mode 100644
index 0000000..347921e
--- /dev/null
+++ b/src/assets/icons/download.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/edit.svg b/src/assets/icons/edit.svg
new file mode 100644
index 0000000..8ff42ea
--- /dev/null
+++ b/src/assets/icons/edit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/embed.svg b/src/assets/icons/embed.svg
new file mode 100644
index 0000000..31835bf
--- /dev/null
+++ b/src/assets/icons/embed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/emoji.svg b/src/assets/icons/emoji.svg
new file mode 100644
index 0000000..75f90ff
--- /dev/null
+++ b/src/assets/icons/emoji.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/equal-proportion.svg b/src/assets/icons/equal-proportion.svg
new file mode 100644
index 0000000..c7a2bb7
--- /dev/null
+++ b/src/assets/icons/equal-proportion.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/exit.svg b/src/assets/icons/exit.svg
new file mode 100644
index 0000000..ce90f76
--- /dev/null
+++ b/src/assets/icons/exit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/expand-down.svg b/src/assets/icons/expand-down.svg
new file mode 100644
index 0000000..b24e4db
--- /dev/null
+++ b/src/assets/icons/expand-down.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/file-docx.svg b/src/assets/icons/file-docx.svg
new file mode 100644
index 0000000..7e13d0d
--- /dev/null
+++ b/src/assets/icons/file-docx.svg
@@ -0,0 +1,41 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/file-markdown.svg b/src/assets/icons/file-markdown.svg
new file mode 100644
index 0000000..e47610f
--- /dev/null
+++ b/src/assets/icons/file-markdown.svg
@@ -0,0 +1,3 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/file-odt.svg b/src/assets/icons/file-odt.svg
new file mode 100644
index 0000000..5b6d124
--- /dev/null
+++ b/src/assets/icons/file-odt.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/file-pdf.svg b/src/assets/icons/file-pdf.svg
new file mode 100644
index 0000000..74b6731
--- /dev/null
+++ b/src/assets/icons/file-pdf.svg
@@ -0,0 +1,43 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/assets/icons/file-view.svg b/src/assets/icons/file-view.svg
new file mode 100644
index 0000000..d44903b
--- /dev/null
+++ b/src/assets/icons/file-view.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/file.svg b/src/assets/icons/file.svg
new file mode 100644
index 0000000..4663dee
--- /dev/null
+++ b/src/assets/icons/file.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/font-size-decrease.svg b/src/assets/icons/font-size-decrease.svg
new file mode 100644
index 0000000..a016ab8
--- /dev/null
+++ b/src/assets/icons/font-size-decrease.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/font-size-increase.svg b/src/assets/icons/font-size-increase.svg
new file mode 100644
index 0000000..67626ea
--- /dev/null
+++ b/src/assets/icons/font-size-increase.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/format-painter.svg b/src/assets/icons/format-painter.svg
new file mode 100644
index 0000000..734d6e4
--- /dev/null
+++ b/src/assets/icons/format-painter.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/format.svg b/src/assets/icons/format.svg
new file mode 100644
index 0000000..87805cd
--- /dev/null
+++ b/src/assets/icons/format.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/full-screen-exit.svg b/src/assets/icons/full-screen-exit.svg
new file mode 100644
index 0000000..66f503d
--- /dev/null
+++ b/src/assets/icons/full-screen-exit.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/full-screen.svg b/src/assets/icons/full-screen.svg
new file mode 100644
index 0000000..9bfd595
--- /dev/null
+++ b/src/assets/icons/full-screen.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/hard-break.svg b/src/assets/icons/hard-break.svg
new file mode 100644
index 0000000..32be71c
--- /dev/null
+++ b/src/assets/icons/hard-break.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/heading.svg b/src/assets/icons/heading.svg
new file mode 100644
index 0000000..86e8f47
--- /dev/null
+++ b/src/assets/icons/heading.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/help.svg b/src/assets/icons/help.svg
new file mode 100644
index 0000000..c5eaf22
--- /dev/null
+++ b/src/assets/icons/help.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/hide-toolbar.svg b/src/assets/icons/hide-toolbar.svg
new file mode 100644
index 0000000..870a2c7
--- /dev/null
+++ b/src/assets/icons/hide-toolbar.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/highlight.svg b/src/assets/icons/highlight.svg
new file mode 100644
index 0000000..c90f327
--- /dev/null
+++ b/src/assets/icons/highlight.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/home-page.svg b/src/assets/icons/home-page.svg
new file mode 100644
index 0000000..41ebd69
--- /dev/null
+++ b/src/assets/icons/home-page.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/hr.svg b/src/assets/icons/hr.svg
new file mode 100644
index 0000000..6f8d7e5
--- /dev/null
+++ b/src/assets/icons/hr.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/html5.svg b/src/assets/icons/html5.svg
new file mode 100644
index 0000000..d484d2a
--- /dev/null
+++ b/src/assets/icons/html5.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-bot.svg b/src/assets/icons/image-bot.svg
new file mode 100644
index 0000000..b4df3d2
--- /dev/null
+++ b/src/assets/icons/image-bot.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-draggable.svg b/src/assets/icons/image-draggable.svg
new file mode 100644
index 0000000..649fe2c
--- /dev/null
+++ b/src/assets/icons/image-draggable.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-failed.svg b/src/assets/icons/image-failed.svg
new file mode 100644
index 0000000..f8a2a82
--- /dev/null
+++ b/src/assets/icons/image-failed.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-flip-x.svg b/src/assets/icons/image-flip-x.svg
new file mode 100644
index 0000000..efc656b
--- /dev/null
+++ b/src/assets/icons/image-flip-x.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-flip.svg b/src/assets/icons/image-flip.svg
new file mode 100644
index 0000000..9fcb553
--- /dev/null
+++ b/src/assets/icons/image-flip.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-inpainting.svg b/src/assets/icons/image-inpainting.svg
new file mode 100644
index 0000000..8e6515e
--- /dev/null
+++ b/src/assets/icons/image-inpainting.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-open.svg b/src/assets/icons/image-open.svg
new file mode 100644
index 0000000..d1a01bc
--- /dev/null
+++ b/src/assets/icons/image-open.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-preview.svg b/src/assets/icons/image-preview.svg
new file mode 100644
index 0000000..cde0553
--- /dev/null
+++ b/src/assets/icons/image-preview.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-remove-background.svg b/src/assets/icons/image-remove-background.svg
new file mode 100644
index 0000000..04c0d42
--- /dev/null
+++ b/src/assets/icons/image-remove-background.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-reset.svg b/src/assets/icons/image-reset.svg
new file mode 100644
index 0000000..1b73e74
--- /dev/null
+++ b/src/assets/icons/image-reset.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image-rotate.svg b/src/assets/icons/image-rotate.svg
new file mode 100644
index 0000000..8f5c457
--- /dev/null
+++ b/src/assets/icons/image-rotate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/image.svg b/src/assets/icons/image.svg
new file mode 100644
index 0000000..5ff0834
--- /dev/null
+++ b/src/assets/icons/image.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/indent.svg b/src/assets/icons/indent.svg
new file mode 100644
index 0000000..7df4dfb
--- /dev/null
+++ b/src/assets/icons/indent.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/italic.svg b/src/assets/icons/italic.svg
new file mode 100644
index 0000000..76e4559
--- /dev/null
+++ b/src/assets/icons/italic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/laser-pointer.svg b/src/assets/icons/laser-pointer.svg
new file mode 100644
index 0000000..d0864b9
--- /dev/null
+++ b/src/assets/icons/laser-pointer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/line-height.svg b/src/assets/icons/line-height.svg
new file mode 100644
index 0000000..a42e416
--- /dev/null
+++ b/src/assets/icons/line-height.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/line-number.svg b/src/assets/icons/line-number.svg
new file mode 100644
index 0000000..75e3b68
--- /dev/null
+++ b/src/assets/icons/line-number.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/link.svg b/src/assets/icons/link.svg
new file mode 100644
index 0000000..52e02c3
--- /dev/null
+++ b/src/assets/icons/link.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/loading.svg b/src/assets/icons/loading.svg
new file mode 100644
index 0000000..80ca487
--- /dev/null
+++ b/src/assets/icons/loading.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/margin.svg b/src/assets/icons/margin.svg
new file mode 100644
index 0000000..e956301
--- /dev/null
+++ b/src/assets/icons/margin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/markdown.svg b/src/assets/icons/markdown.svg
new file mode 100644
index 0000000..2279836
--- /dev/null
+++ b/src/assets/icons/markdown.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/math.svg b/src/assets/icons/math.svg
new file mode 100644
index 0000000..986f6f0
--- /dev/null
+++ b/src/assets/icons/math.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/menu.svg b/src/assets/icons/menu.svg
new file mode 100644
index 0000000..260deba
--- /dev/null
+++ b/src/assets/icons/menu.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/mermaid.svg b/src/assets/icons/mermaid.svg
new file mode 100644
index 0000000..bbdaba8
--- /dev/null
+++ b/src/assets/icons/mermaid.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/message.svg b/src/assets/icons/message.svg
new file mode 100644
index 0000000..e0c1fb3
--- /dev/null
+++ b/src/assets/icons/message.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/mind-map.svg b/src/assets/icons/mind-map.svg
new file mode 100644
index 0000000..f0f328f
--- /dev/null
+++ b/src/assets/icons/mind-map.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/minus.svg b/src/assets/icons/minus.svg
new file mode 100644
index 0000000..4ab2509
--- /dev/null
+++ b/src/assets/icons/minus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/node-add.svg b/src/assets/icons/node-add.svg
new file mode 100644
index 0000000..50aca08
--- /dev/null
+++ b/src/assets/icons/node-add.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/node-clear-format.svg b/src/assets/icons/node-clear-format.svg
new file mode 100644
index 0000000..6d9c88f
--- /dev/null
+++ b/src/assets/icons/node-clear-format.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/node-copy.svg b/src/assets/icons/node-copy.svg
new file mode 100644
index 0000000..728f7e1
--- /dev/null
+++ b/src/assets/icons/node-copy.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/node-cut.svg b/src/assets/icons/node-cut.svg
new file mode 100644
index 0000000..2ac40fe
--- /dev/null
+++ b/src/assets/icons/node-cut.svg
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/src/assets/icons/node-delete-2.svg b/src/assets/icons/node-delete-2.svg
new file mode 100644
index 0000000..db5da95
--- /dev/null
+++ b/src/assets/icons/node-delete-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/node-delete.svg b/src/assets/icons/node-delete.svg
new file mode 100644
index 0000000..d62dd48
--- /dev/null
+++ b/src/assets/icons/node-delete.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/node-duplicate.svg b/src/assets/icons/node-duplicate.svg
new file mode 100644
index 0000000..dac4838
--- /dev/null
+++ b/src/assets/icons/node-duplicate.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-2.svg b/src/assets/icons/ordered-list-2.svg
new file mode 100644
index 0000000..75e3b68
--- /dev/null
+++ b/src/assets/icons/ordered-list-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-decimal-leading-zero.svg b/src/assets/icons/ordered-list-decimal-leading-zero.svg
new file mode 100644
index 0000000..b44686e
--- /dev/null
+++ b/src/assets/icons/ordered-list-decimal-leading-zero.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-decimal.svg b/src/assets/icons/ordered-list-decimal.svg
new file mode 100644
index 0000000..86af573
--- /dev/null
+++ b/src/assets/icons/ordered-list-decimal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-lower-latin.svg b/src/assets/icons/ordered-list-lower-latin.svg
new file mode 100644
index 0000000..e4b7db1
--- /dev/null
+++ b/src/assets/icons/ordered-list-lower-latin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-lower-roman.svg b/src/assets/icons/ordered-list-lower-roman.svg
new file mode 100644
index 0000000..e7c3196
--- /dev/null
+++ b/src/assets/icons/ordered-list-lower-roman.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-simp-chinese-formal.svg b/src/assets/icons/ordered-list-simp-chinese-formal.svg
new file mode 100644
index 0000000..e50b8e4
--- /dev/null
+++ b/src/assets/icons/ordered-list-simp-chinese-formal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-trad-chinese-informal.svg b/src/assets/icons/ordered-list-trad-chinese-informal.svg
new file mode 100644
index 0000000..1358b9a
--- /dev/null
+++ b/src/assets/icons/ordered-list-trad-chinese-informal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-upper-latin.svg b/src/assets/icons/ordered-list-upper-latin.svg
new file mode 100644
index 0000000..9062c9a
--- /dev/null
+++ b/src/assets/icons/ordered-list-upper-latin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list-upper-roman.svg b/src/assets/icons/ordered-list-upper-roman.svg
new file mode 100644
index 0000000..ad6e663
--- /dev/null
+++ b/src/assets/icons/ordered-list-upper-roman.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/ordered-list.svg b/src/assets/icons/ordered-list.svg
new file mode 100644
index 0000000..f3a120b
--- /dev/null
+++ b/src/assets/icons/ordered-list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/outdent.svg b/src/assets/icons/outdent.svg
new file mode 100644
index 0000000..d230285
--- /dev/null
+++ b/src/assets/icons/outdent.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/page-background.svg b/src/assets/icons/page-background.svg
new file mode 100644
index 0000000..2468129
--- /dev/null
+++ b/src/assets/icons/page-background.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/page-break.svg b/src/assets/icons/page-break.svg
new file mode 100644
index 0000000..9daf60f
--- /dev/null
+++ b/src/assets/icons/page-break.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/page-footer.svg b/src/assets/icons/page-footer.svg
new file mode 100644
index 0000000..2627564
--- /dev/null
+++ b/src/assets/icons/page-footer.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/page-header.svg b/src/assets/icons/page-header.svg
new file mode 100644
index 0000000..22c69d2
--- /dev/null
+++ b/src/assets/icons/page-header.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/page-margin.svg b/src/assets/icons/page-margin.svg
new file mode 100644
index 0000000..d41bfb1
--- /dev/null
+++ b/src/assets/icons/page-margin.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/page-orientation.svg b/src/assets/icons/page-orientation.svg
new file mode 100644
index 0000000..b31fb23
--- /dev/null
+++ b/src/assets/icons/page-orientation.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/page-size.svg b/src/assets/icons/page-size.svg
new file mode 100644
index 0000000..b02ba30
--- /dev/null
+++ b/src/assets/icons/page-size.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/page.svg b/src/assets/icons/page.svg
new file mode 100644
index 0000000..6be8493
--- /dev/null
+++ b/src/assets/icons/page.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/palette-color.svg b/src/assets/icons/palette-color.svg
new file mode 100644
index 0000000..8e6515e
--- /dev/null
+++ b/src/assets/icons/palette-color.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/paragraph.svg b/src/assets/icons/paragraph.svg
new file mode 100644
index 0000000..c562063
--- /dev/null
+++ b/src/assets/icons/paragraph.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/pdf.svg b/src/assets/icons/pdf.svg
new file mode 100644
index 0000000..bff8e79
--- /dev/null
+++ b/src/assets/icons/pdf.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/plus.svg b/src/assets/icons/plus.svg
new file mode 100644
index 0000000..36601c1
--- /dev/null
+++ b/src/assets/icons/plus.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/preview.svg b/src/assets/icons/preview.svg
new file mode 100644
index 0000000..04c4418
--- /dev/null
+++ b/src/assets/icons/preview.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/print.svg b/src/assets/icons/print.svg
new file mode 100644
index 0000000..4392cb6
--- /dev/null
+++ b/src/assets/icons/print.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/qrcode.svg b/src/assets/icons/qrcode.svg
new file mode 100644
index 0000000..a61d310
--- /dev/null
+++ b/src/assets/icons/qrcode.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/redo.svg b/src/assets/icons/redo.svg
new file mode 100644
index 0000000..8f432db
--- /dev/null
+++ b/src/assets/icons/redo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/reload.svg b/src/assets/icons/reload.svg
new file mode 100644
index 0000000..838e7a1
--- /dev/null
+++ b/src/assets/icons/reload.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/reply.svg b/src/assets/icons/reply.svg
new file mode 100644
index 0000000..5a4c466
--- /dev/null
+++ b/src/assets/icons/reply.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/seal.svg b/src/assets/icons/seal.svg
new file mode 100644
index 0000000..c4c8b3b
--- /dev/null
+++ b/src/assets/icons/seal.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/search-replace.svg b/src/assets/icons/search-replace.svg
new file mode 100644
index 0000000..8d9974f
--- /dev/null
+++ b/src/assets/icons/search-replace.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/select-all.svg b/src/assets/icons/select-all.svg
new file mode 100644
index 0000000..409e9b5
--- /dev/null
+++ b/src/assets/icons/select-all.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/send-message.svg b/src/assets/icons/send-message.svg
new file mode 100644
index 0000000..46889e8
--- /dev/null
+++ b/src/assets/icons/send-message.svg
@@ -0,0 +1,4 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/setting.svg b/src/assets/icons/setting.svg
new file mode 100644
index 0000000..6f9535e
--- /dev/null
+++ b/src/assets/icons/setting.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/share.svg b/src/assets/icons/share.svg
new file mode 100644
index 0000000..26ef503
--- /dev/null
+++ b/src/assets/icons/share.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/shortcut.svg b/src/assets/icons/shortcut.svg
new file mode 100644
index 0000000..d49133c
--- /dev/null
+++ b/src/assets/icons/shortcut.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/signature.svg b/src/assets/icons/signature.svg
new file mode 100644
index 0000000..6e9cbc4
--- /dev/null
+++ b/src/assets/icons/signature.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/spellcheck.svg b/src/assets/icons/spellcheck.svg
new file mode 100644
index 0000000..5064494
--- /dev/null
+++ b/src/assets/icons/spellcheck.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/strike.svg b/src/assets/icons/strike.svg
new file mode 100644
index 0000000..462e854
--- /dev/null
+++ b/src/assets/icons/strike.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/subscript.svg b/src/assets/icons/subscript.svg
new file mode 100644
index 0000000..10d5a12
--- /dev/null
+++ b/src/assets/icons/subscript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/superscript.svg b/src/assets/icons/superscript.svg
new file mode 100644
index 0000000..c1a842c
--- /dev/null
+++ b/src/assets/icons/superscript.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/symbol.svg b/src/assets/icons/symbol.svg
new file mode 100644
index 0000000..f2eb16a
--- /dev/null
+++ b/src/assets/icons/symbol.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-add-column-after.svg b/src/assets/icons/table-add-column-after.svg
new file mode 100644
index 0000000..8e0a026
--- /dev/null
+++ b/src/assets/icons/table-add-column-after.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-add-column-before.svg b/src/assets/icons/table-add-column-before.svg
new file mode 100644
index 0000000..3bacc2a
--- /dev/null
+++ b/src/assets/icons/table-add-column-before.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-add-row-after.svg b/src/assets/icons/table-add-row-after.svg
new file mode 100644
index 0000000..fe7f2d9
--- /dev/null
+++ b/src/assets/icons/table-add-row-after.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-add-row-before.svg b/src/assets/icons/table-add-row-before.svg
new file mode 100644
index 0000000..d7fdd2f
--- /dev/null
+++ b/src/assets/icons/table-add-row-before.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-cells-align.svg b/src/assets/icons/table-cells-align.svg
new file mode 100644
index 0000000..3f094bc
--- /dev/null
+++ b/src/assets/icons/table-cells-align.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-cells-background.svg b/src/assets/icons/table-cells-background.svg
new file mode 100644
index 0000000..d52cc24
--- /dev/null
+++ b/src/assets/icons/table-cells-background.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-delete-column.svg b/src/assets/icons/table-delete-column.svg
new file mode 100644
index 0000000..8d00b28
--- /dev/null
+++ b/src/assets/icons/table-delete-column.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-delete-row.svg b/src/assets/icons/table-delete-row.svg
new file mode 100644
index 0000000..fe52657
--- /dev/null
+++ b/src/assets/icons/table-delete-row.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-delete.svg b/src/assets/icons/table-delete.svg
new file mode 100644
index 0000000..b481a8e
--- /dev/null
+++ b/src/assets/icons/table-delete.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-fix.svg b/src/assets/icons/table-fix.svg
new file mode 100644
index 0000000..5643fcc
--- /dev/null
+++ b/src/assets/icons/table-fix.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-header-cell.svg b/src/assets/icons/table-header-cell.svg
new file mode 100644
index 0000000..4e01e32
--- /dev/null
+++ b/src/assets/icons/table-header-cell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-header-column.svg b/src/assets/icons/table-header-column.svg
new file mode 100644
index 0000000..100c665
--- /dev/null
+++ b/src/assets/icons/table-header-column.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-header-row.svg b/src/assets/icons/table-header-row.svg
new file mode 100644
index 0000000..3f5d708
--- /dev/null
+++ b/src/assets/icons/table-header-row.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-merge-cell.svg b/src/assets/icons/table-merge-cell.svg
new file mode 100644
index 0000000..001970c
--- /dev/null
+++ b/src/assets/icons/table-merge-cell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-next-cell.svg b/src/assets/icons/table-next-cell.svg
new file mode 100644
index 0000000..a4e7efd
--- /dev/null
+++ b/src/assets/icons/table-next-cell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-previous-cell.svg b/src/assets/icons/table-previous-cell.svg
new file mode 100644
index 0000000..64fa408
--- /dev/null
+++ b/src/assets/icons/table-previous-cell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table-split-cell.svg b/src/assets/icons/table-split-cell.svg
new file mode 100644
index 0000000..f8c18d5
--- /dev/null
+++ b/src/assets/icons/table-split-cell.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/table.svg b/src/assets/icons/table.svg
new file mode 100644
index 0000000..34df1a9
--- /dev/null
+++ b/src/assets/icons/table.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/task-list-2.svg b/src/assets/icons/task-list-2.svg
new file mode 100644
index 0000000..80594c1
--- /dev/null
+++ b/src/assets/icons/task-list-2.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/task-list.svg b/src/assets/icons/task-list.svg
new file mode 100644
index 0000000..eb48339
--- /dev/null
+++ b/src/assets/icons/task-list.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/template.svg b/src/assets/icons/template.svg
new file mode 100644
index 0000000..f386e2d
--- /dev/null
+++ b/src/assets/icons/template.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/text-box.svg b/src/assets/icons/text-box.svg
new file mode 100644
index 0000000..58e2531
--- /dev/null
+++ b/src/assets/icons/text-box.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/text.svg b/src/assets/icons/text.svg
new file mode 100644
index 0000000..c1b3d06
--- /dev/null
+++ b/src/assets/icons/text.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/time.svg b/src/assets/icons/time.svg
new file mode 100644
index 0000000..942ee7f
--- /dev/null
+++ b/src/assets/icons/time.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/toc.svg b/src/assets/icons/toc.svg
new file mode 100644
index 0000000..781eba3
--- /dev/null
+++ b/src/assets/icons/toc.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/toolbar-classic.svg b/src/assets/icons/toolbar-classic.svg
new file mode 100644
index 0000000..ae32576
--- /dev/null
+++ b/src/assets/icons/toolbar-classic.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/toolbar-ribbon.svg b/src/assets/icons/toolbar-ribbon.svg
new file mode 100644
index 0000000..ea78604
--- /dev/null
+++ b/src/assets/icons/toolbar-ribbon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/toolbar-source.svg b/src/assets/icons/toolbar-source.svg
new file mode 100644
index 0000000..4feeb01
--- /dev/null
+++ b/src/assets/icons/toolbar-source.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/underline.svg b/src/assets/icons/underline.svg
new file mode 100644
index 0000000..5fb954c
--- /dev/null
+++ b/src/assets/icons/underline.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/undo.svg b/src/assets/icons/undo.svg
new file mode 100644
index 0000000..df1c6e7
--- /dev/null
+++ b/src/assets/icons/undo.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/video.svg b/src/assets/icons/video.svg
new file mode 100644
index 0000000..cb8fa74
--- /dev/null
+++ b/src/assets/icons/video.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/view.svg b/src/assets/icons/view.svg
new file mode 100644
index 0000000..b22fc0c
--- /dev/null
+++ b/src/assets/icons/view.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/watermark.svg b/src/assets/icons/watermark.svg
new file mode 100644
index 0000000..4d7757c
--- /dev/null
+++ b/src/assets/icons/watermark.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/web-page.svg b/src/assets/icons/web-page.svg
new file mode 100644
index 0000000..e6a6013
--- /dev/null
+++ b/src/assets/icons/web-page.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/assets/icons/word.svg b/src/assets/icons/word.svg
new file mode 100644
index 0000000..8ed3382
--- /dev/null
+++ b/src/assets/icons/word.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..1c0e1fd
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,23 @@
+{
+ "compilerOptions": {
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "module": "ESNext",
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ },
+ "include": ["src"],
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..4b961fe
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,55 @@
+import { defineConfig } from 'vite'
+import { resolve } from 'path';
+import dts from 'vite-plugin-dts'
+import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
+
+export default defineConfig({
+ define: { 'process.env': process.env },
+ build: {
+ minify: "esbuild",
+ lib: {
+ entry: resolve(__dirname, './src/index.ts'),
+ name: 'uai-editor',
+ // fileName: (format) => `index.${format}.js`,
+ fileName: `index`,
+ formats: ['es', 'cjs']
+ },
+ },
+ css: {
+ preprocessorOptions: {
+ less: {
+ modifyVars: { '@prefix': 'uai' },
+ javascriptEnabled: true,
+ },
+ },
+ },
+ plugins: [
+ dts({ rollupTypes: true }),
+ createSvgIconsPlugin({
+ iconDirs: [`${process.cwd()}/src/assets/icons`],
+ symbolId: 'uai-icon-[name]',
+ customDomId: 'uai-icons',
+ })
+ // legacy({
+ // targets: ['defaults', 'not IE 11','chrome 52'],
+ // }),
+ ],
+ server: {
+ proxy: {
+ // 选项写法
+ '/api': {
+ target: 'http://127.0.0.1:8000',
+ changeOrigin: true,
+ rewrite: (path) => path.replace(/^\/api/, '')
+ },
+ 'https://internlm-chat.intern-ai.org.cn/puyu': {
+ target: 'https://internlm-chat.intern-ai.org.cn',
+ changeOrigin: true
+ }
+ },
+ hmr: {
+ overlay: false
+ },
+ host: '0.0.0.0'
+ }
+})