完善功能。发布 1.0.0 版本。
This commit is contained in:
183
README.md
183
README.md
@@ -1,32 +1,179 @@
|
||||
## 项目名称
|
||||
> 请介绍一下你的项目吧
|
||||
# UAI Editor:有爱文档,有爱、有AI、有UI。
|
||||
|
||||
> 💪打造现代 UI 风格、面向 AI 的最强、最轻量级的个人&团队文档。
|
||||
> UAI Editor 是一个面向 AI 的、现代 UI 风格的下一代富文本编辑器。开箱即用、支持所有前端框架。
|
||||
|
||||
- **【全行业】** 无论您是:金融、教育、医疗、零售、互联网还是传统行业。
|
||||
- **【全场景】** 无论您是:文章创作、会议记录、学术论文还是知识库管理。
|
||||
- **【全功能】** 功能丰富:文本编辑、格式排版、多媒体插入、表格制作等。
|
||||
- **【全模态】** 人工智能:文字、语音、图片、视频,全模态功能创作体验。
|
||||
|
||||
## 运行条件
|
||||
> 列出运行该项目所必须的条件和相关依赖
|
||||
* 条件一
|
||||
* 条件二
|
||||
* 条件三
|
||||
## 与众不同
|
||||
|
||||
UAI Editor 提供了完善的文档编辑能力和 AI 创作能力,支持 Markdown 语法,支持基础的富文本编辑功能,支持插入多种节点类型,提供了多种类型的实用工具。作为一个独立的纯前端文档编辑器,UAI Editor 可以轻松无缝集成到 Vue、React、Layui、Angular 等几乎任何前端框架。
|
||||
|
||||
### 场景丰富
|
||||
|
||||
## 运行说明
|
||||
> 说明如何运行和使用你的项目,建议给出具体的步骤说明
|
||||
* 操作一
|
||||
* 操作二
|
||||
* 操作三
|
||||
* 无论您是:金融、教育、医疗、零售、互联网还是传统行业。
|
||||
* 无论您是:文章创作、会议记录、学术论文还是知识库管理。
|
||||
* 即便是个人笔记整理,UAI Editor 都能成为您得力的助手。
|
||||
|
||||
### 功能全面
|
||||
|
||||
* **基础:** 标题、正文、字体、字号、加粗、斜体、下划线、删除线、链接、行内代码、上标、下标、分割线、引用...
|
||||
* **增强:** 撤销、重做、格式刷、橡皮擦、字体颜色、背景颜色、对齐方式、行高、待办事项、有(无)序列表、段落缩进...
|
||||
* **附件:** 支持图片、语音、视频、文件功能,支持选择上传、支持拖动调整大小...
|
||||
* **Markdown:** 标题、引用、表格、图片、代码块、高亮块、各种列表、粗体、斜体、删除线...
|
||||
* **AI:** AI 续写、AI 优化、AI 校对、AI 翻译、自定义 AI 菜单及其 Prompts...
|
||||
* **更多:** 国际化、主题切换...
|
||||
|
||||
## 测试说明
|
||||
> 如果有测试相关内容需要说明,请填写在这里
|
||||
### 简单易用
|
||||
|
||||
* UAI Editor 基于 Web Component 开发,支持与任意主流的前端框架集成。
|
||||
* UAI Editor 提供了友好的 UI 界面,强大的工具栏支持,助您轻松实现文档编辑。
|
||||
* UAI Editor 提供了便捷的快捷键支持,让您的文档编辑快人一步。
|
||||
|
||||
### AI 驱动
|
||||
|
||||
## 技术架构
|
||||
> 使用的技术框架或系统架构图等相关说明,请填写在这里
|
||||
* UAI Editor 旨在解决 Web 应用中文档编辑的复杂性,提供类似 Microsoft Word 的强大编辑能力,同时保持 Web 应用的便捷性。
|
||||
* UAI Editor 打造了一个完全由 AI 驱动的富文本编辑器,同时支持对接任意大模型,包括私有的大模型。
|
||||
* UAI Editor 支持全模态大模型,包括文本生成、语音识别、语音生成、文生图、图生图、局部重绘、图片理解、文生视频、图生视频、视频理解等。
|
||||
* UAI Editor 私有模型适配多种环境,包括英伟达显卡、天数智芯显卡、Pytorch、IPEX等。
|
||||
|
||||
## 软件安装
|
||||
|
||||
## 协作者
|
||||
> 高效的协作会激发无尽的创造力,将他们的名字记录在这里吧
|
||||
### 基础软件安装
|
||||
|
||||
首先,我们需要安装 `nodejs`、`npm`等用于开发的基础软件。
|
||||
|
||||
Node.js 可以通过不同的方式安装,所有主要平台的官方软件包均可在 [https://nodejs.cn/download/](https://nodejs.cn/download/) 获得。
|
||||
|
||||
一种非常方便的安装 Node.js 的方法是通过包管理器,[https://nodejs.cn/download/package-manager/](https://nodejs.cn/download/package-manager/) 中列出了适用于 macOS、Linux 和 Windows 的其他软件包管理器。
|
||||
|
||||
### 有爱文档安装
|
||||
|
||||
其次,我们需要安装 UAI Editor 软件,软件已经打包发布到 [https://www.npmjs.com/](https://www.npmjs.com/) 平台,可以直接通过以下命令安装:
|
||||
|
||||
```bash
|
||||
npm i uai-editor
|
||||
```
|
||||
|
||||
## 软件集成
|
||||
|
||||
然后,我们可以将 UAI Editor 与自己的项目进行集成。
|
||||
|
||||
作为一个独立的纯前端文档编辑器,UAI Editor 可以独立使用,也可以轻松无缝集成到 Vue、React、Layui、Angular 等几乎任何前端框架。
|
||||
|
||||
### 独立使用
|
||||
|
||||
* index.html
|
||||
|
||||
```html
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
|
||||
<title>UAI Editor</title>
|
||||
<link rel="icon" href="/favicon.png" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="uai-editor"></div>
|
||||
<script type="module" src="/src/main.ts"></script>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
* main.ts
|
||||
|
||||
```js
|
||||
import { UAIEditor } from "uai-editor";
|
||||
import "uai-editor/dist/style.css";
|
||||
|
||||
new UAIEditor({
|
||||
element: "#uai-editor",
|
||||
content: 'UAI Editor 是一个面向 AI 的、现代 UI 风格的下一代富文本编辑器。开箱即用、支持所有前端框架。',
|
||||
})
|
||||
```
|
||||
|
||||
### 与 VUE 集成
|
||||
|
||||
```ts
|
||||
<template>
|
||||
<div ref="editorDiv"/>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { UAIEditor } from "uai-editor";
|
||||
import "uai-editor/dist/style.css";
|
||||
|
||||
export default {
|
||||
mounted(){
|
||||
new UAIEditor({
|
||||
element: this.$refs.editorDiv as Element,
|
||||
content: 'UAI Editor 是一个面向 AI 的、现代 UI 风格的下一代富文本编辑器。开箱即用、支持所有前端框架。',
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
```
|
||||
|
||||
### 与 React 集成
|
||||
|
||||
```js
|
||||
import {useEffect, useRef} from 'react';
|
||||
import { UAIEditor } from "uai-editor";
|
||||
import "uai-editor/dist/style.css";
|
||||
|
||||
function App() {
|
||||
const divRef = useRef(null);
|
||||
useEffect(() => {
|
||||
if (divRef.current) {
|
||||
const uaiEditor = new UAIEditor({
|
||||
element: divRef.current,
|
||||
content: 'UAI Editor 是一个面向 AI 的、现代 UI 风格的下一代富文本编辑器。开箱即用、支持所有前端框架。',
|
||||
})
|
||||
return ()=>{
|
||||
uaiEditor.destroy();
|
||||
}
|
||||
}
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<>
|
||||
<div ref={divRef} />
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
export default App
|
||||
```
|
||||
|
||||
## 软件运行
|
||||
|
||||
最后,我们需要运行项目,执行以下命令可以运行项目或自己的项目:
|
||||
|
||||
```bash
|
||||
npm i
|
||||
|
||||
npm run dev
|
||||
```
|
||||
|
||||
## 开源优势
|
||||
|
||||
* **免费使用:** 作为开源项目,UAI Editor 采用 [MIT 许可证](LICENSE) 对所有用户免费开放,无需担心版权问题。
|
||||
|
||||
* **持续更新:** UAI Editor 将持续迭代,不断优化功能,提升用户体验。
|
||||
|
||||
* **定制开发:** 开发者可根据项目需求进行定制化开发,打造专属的文档编辑器。
|
||||
|
||||
## 开源协议
|
||||
|
||||
UAI Editor 采用 [MIT 许可证](LICENSE),您可以自由地使用、修改和分发软件,可以用于个人项目或商业项目,**但禁止用于参加创新、创意类比赛**。
|
||||
|
||||
## 支持我们
|
||||
|
||||
如果您觉得 UAI Editor 有用,请考虑通过以下方式支持我们:
|
||||
|
||||
* ⭐ 给 UAI Editor 仓库 点个 Star,表示对项目的支持。
|
||||
* 🔗 如果您在项目中使用了 UAI Editor,请添加一个链接到 [https://gitee.com/AI-Labs/uai-editor](https://gitee.com/AI-Labs/uai-editor)。
|
||||
7003
package-lock.json
generated
Normal file
7003
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
115
package.json
Normal file
115
package.json
Normal file
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"name": "uai-editor",
|
||||
"author": "wux-labs",
|
||||
"version": "1.0.0",
|
||||
"type": "module",
|
||||
"keywords": [
|
||||
"editor",
|
||||
"ai",
|
||||
"uai editor"
|
||||
],
|
||||
"main": "./dist/index.cjs",
|
||||
"module": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts",
|
||||
"exports": {
|
||||
".": {
|
||||
"require": "./dist/index.cjs",
|
||||
"import": "./dist/index.js",
|
||||
"types": "./dist/index.d.ts"
|
||||
},
|
||||
"./dist/style.css": {
|
||||
"import": "./dist/style.css",
|
||||
"require": "./dist/style.css"
|
||||
}
|
||||
},
|
||||
"files": [
|
||||
"dist",
|
||||
"LICENSE",
|
||||
"README.md"
|
||||
],
|
||||
"scripts": {
|
||||
"dev": "vite --host --open --force",
|
||||
"build": "tsc && vite build",
|
||||
"preview": "vite preview"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tiptap-pro/extension-export": "^2.16.1",
|
||||
"@tiptap-pro/extension-mathematics": "^2.16.2",
|
||||
"@tiptap-pro/extension-table-of-contents": "^2.17.0",
|
||||
"@types/markdown-it": "^14.1.2",
|
||||
"@types/markdown-it-container": "^2.0.10",
|
||||
"@types/node": "^20.9.0",
|
||||
"@types/turndown": "^5.0.5",
|
||||
"less": "^4.2.0",
|
||||
"typescript": "^5.0.2",
|
||||
"vite": "^5.4.6",
|
||||
"vite-plugin-dts": "^3.6.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tiptap/core": "^2.10.3",
|
||||
"@tiptap/extension-bubble-menu": "^2.10.3",
|
||||
"@tiptap/extension-bullet-list": "^2.10.3",
|
||||
"@tiptap/extension-character-count": "^2.10.3",
|
||||
"@tiptap/extension-code-block-lowlight": "^2.10.3",
|
||||
"@tiptap/extension-color": "^2.10.3",
|
||||
"@tiptap/extension-font-family": "^2.10.3",
|
||||
"@tiptap/extension-gapcursor": "^2.10.3",
|
||||
"@tiptap/extension-heading": "^2.10.3",
|
||||
"@tiptap/extension-highlight": "^2.10.3",
|
||||
"@tiptap/extension-image": "^2.10.3",
|
||||
"@tiptap/extension-link": "^2.10.3",
|
||||
"@tiptap/extension-list-item": "^2.10.3",
|
||||
"@tiptap/extension-mention": "^2.10.3",
|
||||
"@tiptap/extension-placeholder": "^2.10.3",
|
||||
"@tiptap/extension-subscript": "^2.10.3",
|
||||
"@tiptap/extension-superscript": "^2.10.3",
|
||||
"@tiptap/extension-table": "^2.10.3",
|
||||
"@tiptap/extension-table-cell": "^2.10.3",
|
||||
"@tiptap/extension-table-header": "^2.10.3",
|
||||
"@tiptap/extension-table-row": "^2.10.3",
|
||||
"@tiptap/extension-task-item": "^2.10.3",
|
||||
"@tiptap/extension-task-list": "^2.10.3",
|
||||
"@tiptap/extension-text-align": "^2.10.3",
|
||||
"@tiptap/extension-text-style": "^2.10.3",
|
||||
"@tiptap/extension-underline": "^2.10.3",
|
||||
"@tiptap/pm": "^2.10.3",
|
||||
"@tiptap/starter-kit": "^2.10.3",
|
||||
"@tiptap/suggestion": "^2.10.3",
|
||||
"@types/bootstrap": "^5.2.10",
|
||||
"@types/evaluatex": "^2.2.8",
|
||||
"@types/file-saver": "^2.0.7",
|
||||
"@types/katex": "^0.16.7",
|
||||
"@vscode/markdown-it-katex": "^1.1.0",
|
||||
"bootstrap": "^5.3.3",
|
||||
"crypto-js": "^4.2.0",
|
||||
"dom-to-image-more": "^3.5.0",
|
||||
"evaluatex": "^2.2.0",
|
||||
"fast-glob": "^3.3.2",
|
||||
"fetch-event-stream": "^0.1.5",
|
||||
"file-saver": "^2.0.5",
|
||||
"github-markdown-css": "^5.7.0",
|
||||
"i18next": "^23.16.2",
|
||||
"katex": "^0.16.11",
|
||||
"lowlight": "^3.1.0",
|
||||
"markdown-it": "^14.1.0",
|
||||
"markdown-it-container": "^4.0.0",
|
||||
"monaco-editor": "^0.52.2",
|
||||
"openai": "^4.77.0",
|
||||
"tippy.js": "^6.3.7",
|
||||
"turndown": "^7.2.0",
|
||||
"vite-plugin-svg-icons": "^2.0.1"
|
||||
},
|
||||
"publishConfig": {
|
||||
"access": "public",
|
||||
"registry": "https://registry.npmjs.org/"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://gitee.com/AI-Labs/uai-editor"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://gitee.com/AI-Labs/uai-editor/issues"
|
||||
},
|
||||
"homepage": "https://gitee.com/AI-Labs/uai-editor#readme",
|
||||
"license": "MIT"
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
/**
|
||||
* 模型对话的基本配置信息
|
||||
*/
|
||||
|
||||
BIN
src/assets/images/watermark-compact.png
Normal file
BIN
src/assets/images/watermark-compact.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.7 KiB |
BIN
src/assets/images/watermark-spacious.png
Normal file
BIN
src/assets/images/watermark-spacious.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.4 KiB |
@@ -2,6 +2,7 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../core/UAIEditor.ts";
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../core/UAIEditor.ts";
|
||||
|
||||
import { ToggleToc } from "./menus/toolbar/page/ToggleToc";
|
||||
|
||||
@@ -1,17 +1,20 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
|
||||
import { InnerEditor, UAIEditorEventListener, UAIEditorOptions } from "../core/UAIEditor.ts";
|
||||
import { Ribbon } from "./menus/toolbar/Ribbon.ts";
|
||||
import { Classic } from "./menus/toolbar/Classic.ts";
|
||||
|
||||
import expandDownIcon from "../assets/icons/expand-down.svg";
|
||||
import toolbarRibbon from "../assets/icons/toolbar-ribbon.svg";
|
||||
import toolbarClassic from "../assets/icons/toolbar-classic.svg";
|
||||
import toolbarSource from "../assets/icons/toolbar-source.svg";
|
||||
import codeblock from "../assets/icons/codeblock.svg";
|
||||
import { Ribbon } from "./menus/toolbar/Ribbon";
|
||||
import { Classic } from "./menus/toolbar/Classic";
|
||||
import { InnerEditor, UAIEditorEventListener, UAIEditorOptions } from "../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
|
||||
/**
|
||||
* 文档顶部菜单栏
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
/**
|
||||
* 定义常用的图标
|
||||
*/
|
||||
|
||||
@@ -3,15 +3,17 @@
|
||||
// @ ts-nocheck
|
||||
import { Editor, EditorEvents } from "@tiptap/core";
|
||||
import { Slice } from "@tiptap/pm/model";
|
||||
import iconTask from "../../assets/icons/task-list.svg";
|
||||
|
||||
import { Icons } from "../Icons";
|
||||
import { AICommand } from "../../ai/config/AIConfig";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { InnerEditor, UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor";
|
||||
import { markdownToHtml } from "../../utils/MarkdownUtil";
|
||||
import { t } from "i18next";
|
||||
import { MenuButton, MenuButtonOptions } from "../menus/MenuButton";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { AICommand } from "../../ai/config/AIConfig";
|
||||
import { Icons } from "../Icons";
|
||||
|
||||
import iconTask from "../../assets/icons/task-list.svg";
|
||||
|
||||
/**
|
||||
* 抽象AI Action类
|
||||
|
||||
@@ -1,19 +1,21 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import closeIcon from "../../assets/icons/close.svg";
|
||||
import titleIcon from "../../assets/icons/chat-bot.svg";
|
||||
import sendIcon from "../../assets/icons/send-message.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import OpenAI from "openai";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
import { createAvatar } from "../../utils/CreateAvatar.ts";
|
||||
import { Icons } from "../Icons.ts";
|
||||
import OpenAI from "openai";
|
||||
import { AIChatConfig } from "../../ai/config/AIConfig.ts";
|
||||
import { markdownToHtml } from "../../utils/MarkdownUtil.ts";
|
||||
import { AIRequestAction, AIChatResponseAction } from "../ai/AIAction.ts";
|
||||
|
||||
import closeIcon from "../../assets/icons/close.svg";
|
||||
import titleIcon from "../../assets/icons/chat-bot.svg";
|
||||
import sendIcon from "../../assets/icons/send-message.svg";
|
||||
|
||||
/**
|
||||
* 定义聊天对话界面的容器
|
||||
*/
|
||||
|
||||
@@ -1,19 +1,22 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import closeIcon from "../../assets/icons/close.svg";
|
||||
import titleIcon from "../../assets/icons/image-bot.svg";
|
||||
import sendIcon from "../../assets/icons/send-message.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
import OpenAI from "openai";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
import { createAvatar } from "../../utils/CreateAvatar.ts";
|
||||
import { Icons } from "../Icons.ts";
|
||||
import OpenAI from "openai";
|
||||
import { AIChatConfig } from "../../ai/config/AIConfig.ts";
|
||||
import { markdownToHtml } from "../../utils/MarkdownUtil.ts";
|
||||
import { AIRequestAction, AIImageResponseAction } from "../ai/AIAction.ts";
|
||||
|
||||
import closeIcon from "../../assets/icons/close.svg";
|
||||
import titleIcon from "../../assets/icons/image-bot.svg";
|
||||
import sendIcon from "../../assets/icons/send-message.svg";
|
||||
|
||||
/**
|
||||
* 定义图像处理容器
|
||||
*/
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import closeIcon from "../../assets/icons/close.svg";
|
||||
import titleIcon from "../../assets/icons/toc.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditor, UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import { TextSelection } from "@tiptap/pm/state";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditor, UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
|
||||
import closeIcon from "../../assets/icons/close.svg";
|
||||
import titleIcon from "../../assets/icons/toc.svg";
|
||||
|
||||
/**
|
||||
* 定义文档大纲容器
|
||||
*/
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { defineCustomElement } from "../utils/DefineCustomElement.ts";
|
||||
|
||||
import { Header } from "../components/Header.ts";
|
||||
import { Editor } from "../components/Editor.ts";
|
||||
import { Footer } from "../components/Footer.ts";
|
||||
|
||||
@@ -2,8 +2,10 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
import { Icons } from "../Icons.ts";
|
||||
|
||||
/**
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditor, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
|
||||
import { AlignLeft } from "../common/AlignLeft.ts";
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import {
|
||||
Editor, isNodeSelection, posToDOMRect,
|
||||
} from '@tiptap/core'
|
||||
import { EditorState, Plugin, PluginKey } from '@tiptap/pm/state'
|
||||
import { EditorView } from '@tiptap/pm/view'
|
||||
|
||||
import tippy, { Instance, Props } from 'tippy.js'
|
||||
|
||||
export type BubbleMenuPluginOptions = {
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditor, UAIEditorOptions } from "../../../core/UAIEditor";
|
||||
|
||||
import { AlignLeft } from "../common/AlignLeft.ts";
|
||||
|
||||
@@ -2,7 +2,9 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditor, UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor";
|
||||
|
||||
import { Bold } from "../common/Bold";
|
||||
import { FontSizeDecrease } from "../common/FontSizeDecrease";
|
||||
import { FontSizeIncrease } from "../common/FontSizeIncrease";
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditor, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
|
||||
import { AlignLeft } from "../common/AlignLeft.ts";
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/image-flip-x.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import { getSelectionNode } from "../../../../extensions/Selection.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/image-flip-x.svg";
|
||||
|
||||
/**
|
||||
* 定义垂直翻转功能
|
||||
*/
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/image-flip.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import { getSelectionNode } from "../../../../extensions/Selection.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/image-flip.svg";
|
||||
|
||||
/**
|
||||
* 定义水平翻转功能
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/align-center.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/align-center.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:居中对齐
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/align-distributed.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/align-distributed.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:分散对齐
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/align-justify.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/align-justify.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:两端对齐
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/align-left.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/align-left.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:左对齐
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/align-right.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/align-right.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:右对齐
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/bold.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/bold.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:粗体
|
||||
*/
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/color.svg";
|
||||
import { t } from "i18next";
|
||||
import { InnerEditor, UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
|
||||
import tippy from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import { ColorPicker } from "../../popups/ColorPicker.ts";
|
||||
|
||||
import icon from "../../../assets/icons/color.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:设置字体颜色
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/font-size-decrease.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/font-size-decrease.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:减小字号
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/font-size-increase.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/font-size-increase.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:增大字号
|
||||
*/
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/highlight.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import { ColorPicker } from "../../popups/ColorPicker.ts";
|
||||
|
||||
import icon from "../../../assets/icons/highlight.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:高亮
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/italic.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/italic.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:斜体
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/node-delete.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/node-delete.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:删除节点
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/strike.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/strike.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:删除线
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/subscript.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/subscript.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:设置下标
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/superscript.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/superscript.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:设置上标
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/underline.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/underline.svg";
|
||||
|
||||
/**
|
||||
* 公共菜单:添加下划线
|
||||
*/
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
|
||||
/**
|
||||
* 状态栏菜单:字数统计
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/message.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/message.svg";
|
||||
|
||||
/**
|
||||
* 状态栏菜单:问题与建议
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { InnerEditor, UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import fullIcon from "../../../assets/icons/full-screen.svg";
|
||||
import exitIcon from "../../../assets/icons/full-screen-exit.svg";
|
||||
import { t } from "i18next";
|
||||
import { InnerEditor, UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
/**
|
||||
* 状态栏菜单:全屏
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
import icon from "../../../assets/icons/home-page.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../MenuButton.ts";
|
||||
|
||||
import icon from "../../../assets/icons/home-page.svg";
|
||||
|
||||
/**
|
||||
* 状态栏菜单:技术支持
|
||||
*/
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
|
||||
import menuIcon from "../../../assets/icons/menu.svg";
|
||||
import { ScrollableDiv } from "./ScrollableDiv.ts";
|
||||
|
||||
import { FontSizeIncrease } from "../common/FontSizeIncrease.ts";
|
||||
@@ -80,6 +80,8 @@ import { ExportImage } from "./export/ExportImage.ts";
|
||||
import { ToggleChat } from "./ai/ToggleChat.ts";
|
||||
import { ToggleImage } from "./ai/ToggleImage.ts";
|
||||
|
||||
import menuIcon from "../../../assets/icons/menu.svg";
|
||||
|
||||
/**
|
||||
* 传统菜单栏
|
||||
*/
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
import { ScrollableDiv } from "./ScrollableDiv.ts";
|
||||
import { Icons } from "../../Icons.ts";
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../core/UAIEditor.ts";
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/chat-bot.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/chat-bot.svg";
|
||||
|
||||
/**
|
||||
* 人工智能菜单:聊天
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/image-bot.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/image-bot.svg";
|
||||
|
||||
/**
|
||||
* 人工智能菜单:画图
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/blockquote.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/blockquote.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:引用
|
||||
*/
|
||||
|
||||
@@ -1,6 +1,11 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon0 from "../../../../assets/icons/bullet-list.svg";
|
||||
@@ -8,11 +13,6 @@ import icon1 from "../../../../assets/icons/bullet-list-disc.svg";
|
||||
import icon2 from "../../../../assets/icons/bullet-list-circle.svg";
|
||||
import icon3 from "../../../../assets/icons/bullet-list-square.svg";
|
||||
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
|
||||
/**
|
||||
* 基础菜单:无序列表
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/clear-format.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/clear-format.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:清除格式
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/codeblock.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/codeblock.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:设置代码块
|
||||
*/
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
/**
|
||||
* 基础菜单:设置字体
|
||||
*/
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
/**
|
||||
* 基础菜单:设置字号
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/format-painter.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/format-painter.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:格式刷
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/indent.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/indent.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:向右缩进
|
||||
*/
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/line-height.svg";
|
||||
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
|
||||
/**
|
||||
* 基础菜单:行高
|
||||
*/
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon0 from "../../../../assets/icons/ordered-list.svg";
|
||||
@@ -13,11 +19,6 @@ import icon6 from "../../../../assets/icons/ordered-list-upper-latin.svg";
|
||||
import icon7 from "../../../../assets/icons/ordered-list-trad-chinese-informal.svg";
|
||||
import icon8 from "../../../../assets/icons/ordered-list-simp-chinese-formal.svg";
|
||||
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
|
||||
/**
|
||||
* 基础菜单:有序列表
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/outdent.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/outdent.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:向左缩进
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/print.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/print.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:打印
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/redo.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/redo.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:重做
|
||||
*/
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/task-list.svg";
|
||||
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
|
||||
/**
|
||||
* 基础菜单:任务列表
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/undo.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/undo.svg";
|
||||
|
||||
/**
|
||||
* 基础菜单:撤销
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/file-docx.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/file-docx.svg";
|
||||
|
||||
/**
|
||||
* 导出菜单:导出Docx
|
||||
*/
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/image.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import domtoimage from 'dom-to-image-more';
|
||||
import { saveAs } from 'file-saver';
|
||||
import { t } from "i18next";
|
||||
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/image.svg";
|
||||
|
||||
/**
|
||||
* 导出菜单:导出图片
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/file-markdown.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/file-markdown.svg";
|
||||
|
||||
/**
|
||||
* 导出菜单:导出Markdown
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/file-odt.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/file-odt.svg";
|
||||
|
||||
/**
|
||||
* 导出菜单:导出Odt
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/file-pdf.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/file-pdf.svg";
|
||||
|
||||
/**
|
||||
* 导出菜单:导出PDF
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/audio.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/audio.svg";
|
||||
|
||||
/**
|
||||
* 插入菜单:插入音频
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/emoji.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/emoji.svg";
|
||||
|
||||
/**
|
||||
* 插入菜单:插入表情
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/hard-break.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/hard-break.svg";
|
||||
|
||||
/**
|
||||
* 插入菜单:插入换行
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/image.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/image.svg";
|
||||
|
||||
/**
|
||||
* 插入菜单:插入图片
|
||||
*/
|
||||
|
||||
@@ -1,13 +1,16 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/link.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import { CenterModal } from "../../../modals/CenterModal.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/link.svg";
|
||||
|
||||
/**
|
||||
* 插入菜单:插入链接
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/math.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/math.svg";
|
||||
|
||||
/**
|
||||
* 插入菜单:插入公式
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/symbol.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/symbol.svg";
|
||||
|
||||
/**
|
||||
* 插入菜单:插入符号
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/toc.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/toc.svg";
|
||||
/**
|
||||
* 插入菜单:插入大纲
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/video.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/video.svg";
|
||||
|
||||
/**
|
||||
* 插入菜单:插入视频
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/page-background.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/page-background.svg";
|
||||
|
||||
/**
|
||||
* 页面菜单:设置背景色
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/toc.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/toc.svg";
|
||||
|
||||
/**
|
||||
* 页面菜单:打开文档大纲
|
||||
*/
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/watermark.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
import domtoimage from 'dom-to-image-more';
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/watermark.svg";
|
||||
|
||||
/**
|
||||
* 页面菜单:设置水印
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/table-add-column-after.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/table-add-column-after.svg";
|
||||
|
||||
/**
|
||||
* 表格菜单:后面添加列
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/table-add-column-after.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/table-add-column-after.svg";
|
||||
|
||||
/**
|
||||
* 表格菜单:前面添加列
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/table-add-row-after.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/table-add-row-after.svg";
|
||||
|
||||
/**
|
||||
* 表格菜单:后面添加行
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/table-add-row-before.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/table-add-row-before.svg";
|
||||
|
||||
/**
|
||||
* 表格菜单:前面添加行
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/table-delete-column.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/table-delete-column.svg";
|
||||
|
||||
/**
|
||||
* 表格菜单:删除列
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/table-delete-row.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/table-delete-row.svg";
|
||||
|
||||
/**
|
||||
* 表格菜单:删除行
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/table-delete.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/table-delete.svg";
|
||||
|
||||
/**
|
||||
* 表格菜单:删除表格
|
||||
*/
|
||||
|
||||
@@ -1,12 +1,15 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/table.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import tippy, { Instance, Props } from "tippy.js";
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/table.svg";
|
||||
|
||||
/**
|
||||
* 表格菜单:插入表格
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import icon from "../../../../assets/icons/diagrams.svg";
|
||||
import { t } from "i18next";
|
||||
import { UAIEditorEventListener, UAIEditorOptions, InnerEditor } from "../../../../core/UAIEditor.ts";
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../../../core/UAIEditor.ts";
|
||||
import { MenuButton, MenuButtonOptions } from "../../MenuButton.ts";
|
||||
import { FullScreenModal } from "../../../modals/FullScreenModal.ts";
|
||||
import DiagramEditor from "../../../../utils/DiagramEditor.ts";
|
||||
import { uuid } from "../../../../utils/UUID.ts";
|
||||
|
||||
import icon from "../../../../assets/icons/diagrams.svg";
|
||||
|
||||
/**
|
||||
* 工具菜单:插入流程图
|
||||
*/
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { Modal } from "bootstrap";
|
||||
|
||||
import 'bootstrap/dist/css/bootstrap.css';
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { Modal } from "bootstrap";
|
||||
import closeIcon from "../../assets/icons/close.svg";
|
||||
|
||||
import 'bootstrap/dist/css/bootstrap.css';
|
||||
|
||||
import closeIcon from "../../assets/icons/close.svg";
|
||||
|
||||
/**
|
||||
* 全屏的模态弹出框
|
||||
*/
|
||||
|
||||
@@ -2,9 +2,11 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { EditorEvents } from "@tiptap/core";
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
|
||||
import { t } from "i18next";
|
||||
|
||||
import { UAIEditorEventListener, UAIEditorOptions } from "../../core/UAIEditor.ts";
|
||||
|
||||
/**
|
||||
* 所有可选颜色
|
||||
*/
|
||||
|
||||
@@ -1,15 +1,19 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import {
|
||||
Editor as TipTap,
|
||||
EditorEvents,
|
||||
EditorOptions,
|
||||
} from "@tiptap/core";
|
||||
|
||||
import { DOMParser } from "@tiptap/pm/model";
|
||||
|
||||
import { TableOfContentData } from "@tiptap-pro/extension-table-of-contents";
|
||||
|
||||
import * as monaco from 'monaco-editor';
|
||||
import HtmlWorker from 'monaco-editor/esm/vs/language/html/html.worker.js?worker';
|
||||
import i18next from "i18next";
|
||||
import { Resource } from "i18next";
|
||||
|
||||
import "../components"
|
||||
import { Header } from "../components/Header.ts";
|
||||
import { ChatContainer } from "../components/containers/ChatContainer.ts";
|
||||
@@ -17,14 +21,10 @@ import { ImageContainer } from "../components/containers/ImageContainer.ts";
|
||||
import { TocContainer } from "../components/containers/TocContainer.ts";
|
||||
import { Editor } from "../components/Editor.ts";
|
||||
import { Footer } from "../components/Footer.ts";
|
||||
import * as monaco from 'monaco-editor';
|
||||
import HtmlWorker from 'monaco-editor/esm/vs/language/html/html.worker.js?worker';
|
||||
|
||||
import "../styles";
|
||||
|
||||
import i18next from "i18next";
|
||||
import { zh } from "../i18n/zh.ts";
|
||||
import { Resource } from "i18next";
|
||||
import { allExtensions } from "./UAIExtensions.ts";
|
||||
import { AICommand } from "../ai/config/AIConfig.ts";
|
||||
import { AIChatConfig, Text2ImageConfig } from "../ai/config/AIConfig.ts";
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
// @ ts-nocheck
|
||||
import { Extension, Extensions, getTextBetween } from "@tiptap/core";
|
||||
import { UAIEditor, UAIEditorOptions } from "./UAIEditor";
|
||||
|
||||
import { StarterKit } from "@tiptap/starter-kit";
|
||||
import { CharacterCount } from "@tiptap/extension-character-count";
|
||||
@@ -26,6 +25,7 @@ import { Export } from '@tiptap-pro/extension-export';
|
||||
import { Mathematics } from '@tiptap-pro/extension-mathematics';
|
||||
import { TableOfContents, getHierarchicalIndexes } from '@tiptap-pro/extension-table-of-contents'
|
||||
|
||||
import { UAIEditor, UAIEditorOptions } from "./UAIEditor";
|
||||
import Audio from "../extensions/Audio.ts";
|
||||
import BulletList from "../extensions/BulletList.ts";
|
||||
import FontSize from "../extensions/FontSize.ts";
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { mergeAttributes, Node } from '@tiptap/core'
|
||||
import { resize } from '../utils/resize.ts'
|
||||
|
||||
import { resize } from '../utils/Resize.ts'
|
||||
|
||||
declare module '@tiptap/core' {
|
||||
interface Commands<ReturnType> {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import BulletList from '@tiptap/extension-bullet-list'
|
||||
|
||||
// https://www.npmjs.com/package/tiptap-extension-bullet-list
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { Extension } from '@tiptap/core'
|
||||
|
||||
export interface FontSizeOptions {
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { NodeViewRendererProps } from '@tiptap/core'
|
||||
import Image from '@tiptap/extension-image'
|
||||
import { resize } from '../utils/resize.ts'
|
||||
|
||||
import { resize } from '../utils/Resize.ts'
|
||||
|
||||
declare module '@tiptap/core' {
|
||||
interface Commands<ReturnType> {
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { Command, Extension } from '@tiptap/core';
|
||||
|
||||
import { AllSelection, TextSelection, Transaction } from 'prosemirror-state';
|
||||
|
||||
export interface IndentOptions {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
// Copyright (c) 2024-present AI-Labs
|
||||
|
||||
// @ ts-nocheck
|
||||
import { Extension } from '@tiptap/core'
|
||||
|
||||
export interface LineHeightOptions {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user