gitextract_27463ctz/ ├── .browserslistrc ├── .cz-config.js ├── .eslintignore ├── .eslintrc.js ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.md │ │ ├── feature.md │ │ └── question.md │ └── workflows/ │ ├── deploy-demos.yml │ ├── deploy-examples.yml.bak │ ├── e2e.yml │ ├── release.yml │ └── test.yml ├── .gitignore ├── .npmignore ├── .prettierrc.js ├── .vscode/ │ └── settings.json ├── .yarnrc ├── CHANGELOG.md ├── LICENSE ├── README-en.md ├── README.md ├── babel.config.json ├── build/ │ ├── build-all.sh │ ├── config/ │ │ ├── common.js │ │ ├── dev.js │ │ └── prd.js │ └── create-rollup-config.js ├── commitlint.config.js ├── cypress/ │ ├── cypress.d.ts │ ├── fixtures/ │ │ └── example.json │ ├── integration/ │ │ └── editor.spec.ts │ ├── plugins/ │ │ └── index.ts │ ├── support/ │ │ ├── commands.ts │ │ └── index.ts │ └── tsconfig.json ├── cypress.json ├── docs/ │ ├── README.md │ ├── dev.md │ ├── join.md │ ├── publish.md │ └── test.md ├── jest.config.js ├── lerna.json ├── package.json ├── packages/ │ ├── basic-modules/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── blockquote/ │ │ │ │ ├── blockquote-menu.test.ts │ │ │ │ ├── elem-to-html.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── plugin.test.ts │ │ │ │ └── render-elem.test.ts │ │ │ ├── code-block/ │ │ │ │ ├── code-block-menu.test.ts │ │ │ │ ├── elem-to-html.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── plugin.test.ts │ │ │ │ └── render-elem.test.ts │ │ │ ├── color/ │ │ │ │ ├── color-menus.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── render-text-style.test.tsx │ │ │ │ └── text-style-to-html.test.ts │ │ │ ├── divider/ │ │ │ │ ├── elem-to-html.test.ts │ │ │ │ ├── insert-divider-menu.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── plugin.test.ts │ │ │ │ └── render-elem.test.ts │ │ │ ├── emotion/ │ │ │ │ └── emotion-menu.test.ts │ │ │ ├── font-size-family/ │ │ │ │ ├── menu/ │ │ │ │ │ ├── font-family-menu.test.ts │ │ │ │ │ └── font-size-menu.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── render-text-style.test.tsx │ │ │ │ └── text-style-to-html.test.ts │ │ │ ├── full-screen/ │ │ │ │ └── full-screen-menu.test.ts │ │ │ ├── header/ │ │ │ │ ├── elem-to-html.test.ts │ │ │ │ ├── helper.test.ts │ │ │ │ ├── menu/ │ │ │ │ │ ├── header-select-menu.test.ts │ │ │ │ │ └── header1-menu.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── plugin.test.ts │ │ │ │ └── render-elem.test.ts │ │ │ ├── image/ │ │ │ │ ├── elem-to-html.test.ts │ │ │ │ ├── helper.test.ts │ │ │ │ ├── menu/ │ │ │ │ │ ├── del-image.test.ts │ │ │ │ │ ├── edit-image.test.ts │ │ │ │ │ ├── insert-image.test.ts │ │ │ │ │ ├── view-image-link.test.ts │ │ │ │ │ └── width-menus.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── plugin.test.ts │ │ │ │ └── render-elem.test.ts │ │ │ ├── indent/ │ │ │ │ ├── menu/ │ │ │ │ │ ├── decrease-indent-menu.test.ts │ │ │ │ │ └── increase-indent-menu.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── render-text-style.test.tsx │ │ │ │ └── text-style-to-html.test.ts │ │ │ ├── justify/ │ │ │ │ ├── menus.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── render-text-style.test.tsx │ │ │ │ └── text-style-to-html.test.ts │ │ │ ├── line-height/ │ │ │ │ ├── line-height-menu.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── render-text-style.test.tsx │ │ │ │ └── text-style-to-html.test.ts │ │ │ ├── link/ │ │ │ │ ├── elem-to-html.test.ts │ │ │ │ ├── helper.test.ts │ │ │ │ ├── menu/ │ │ │ │ │ ├── edit-link-menu.test.ts │ │ │ │ │ ├── insert-link-menu.test.ts │ │ │ │ │ ├── unlink-menu.test.ts │ │ │ │ │ └── view-link-menu.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── plugin.test.ts │ │ │ │ └── render-elem.test.ts │ │ │ ├── paragraph/ │ │ │ │ ├── elem-to-html.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── plugin.test.ts │ │ │ │ └── render-elem.test.ts │ │ │ ├── text-style/ │ │ │ │ ├── menu/ │ │ │ │ │ ├── clear-style-menu.test.ts │ │ │ │ │ └── menus.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── parse-style-html.test.ts │ │ │ │ ├── text-style.test.tsx │ │ │ │ └── text-to-html.test.ts │ │ │ ├── todo/ │ │ │ │ ├── elem-to-html.test.ts │ │ │ │ ├── menu/ │ │ │ │ │ └── todo-menu.test.ts │ │ │ │ ├── parse-html.test.ts │ │ │ │ ├── plugin.test.ts │ │ │ │ ├── pre-parse-html.test.ts │ │ │ │ └── render-elem.test.ts │ │ │ └── undo-redo/ │ │ │ ├── redo-menu.test.ts │ │ │ └── undo-menu.test.ts │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ ├── blockquote.less │ │ │ │ ├── code-block.less │ │ │ │ ├── color.less │ │ │ │ ├── divider.less │ │ │ │ ├── emotion.less │ │ │ │ ├── image.less │ │ │ │ ├── index.less │ │ │ │ └── simple-style.less │ │ │ ├── constants/ │ │ │ │ └── icon-svg.ts │ │ │ ├── index.ts │ │ │ ├── locale/ │ │ │ │ ├── en.ts │ │ │ │ ├── index.ts │ │ │ │ └── zh-CN.ts │ │ │ ├── modules/ │ │ │ │ ├── blockquote/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── elem-to-html.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── BlockquoteMenu.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-elem-html.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── render-elem.tsx │ │ │ │ ├── code-block/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── elem-to-html.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── CodeBlockMenu.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-elem-html.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ ├── pre-parse-html.ts │ │ │ │ │ └── render-elem.tsx │ │ │ │ ├── color/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── BaseMenu.ts │ │ │ │ │ │ ├── BgColorMenu.ts │ │ │ │ │ │ ├── ColorMenu.ts │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-style-html.ts │ │ │ │ │ ├── pre-parse-html.ts │ │ │ │ │ ├── render-style.tsx │ │ │ │ │ └── style-to-html.ts │ │ │ │ ├── common/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── menu/ │ │ │ │ │ ├── EnterMenu.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── divider/ │ │ │ │ │ ├── README.md │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── elem-to-html.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── DeleteDividerMenu.ts.bak │ │ │ │ │ │ ├── InsertDividerMenu.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-elem-html.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── render-elem.tsx │ │ │ │ ├── emotion/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── menu/ │ │ │ │ │ ├── EmotionMenu.ts │ │ │ │ │ ├── config.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── font-size-family/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── BaseMenu.ts │ │ │ │ │ │ ├── FontFamilyMenu.ts │ │ │ │ │ │ ├── FontSizeMenu.ts │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-style-html.ts │ │ │ │ │ ├── pre-parse-html.ts │ │ │ │ │ ├── render-style.tsx │ │ │ │ │ └── style-to-html.ts │ │ │ │ ├── full-screen/ │ │ │ │ │ ├── index.ts │ │ │ │ │ └── menu/ │ │ │ │ │ ├── FullScreen.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── header/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── elem-to-html.ts │ │ │ │ │ ├── helper.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── Header1ButtonMenu.ts │ │ │ │ │ │ ├── Header2ButtonMenu.ts │ │ │ │ │ │ ├── Header3ButtonMenu.ts │ │ │ │ │ │ ├── Header4ButtonMenu.ts │ │ │ │ │ │ ├── Header5ButtonMenu.ts │ │ │ │ │ │ ├── HeaderButtonMenuBase.ts │ │ │ │ │ │ ├── HeaderSelectMenu.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-elem-html.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── render-elem.tsx │ │ │ │ ├── image/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── elem-to-html.ts │ │ │ │ │ ├── helper.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── DeleteImage.ts │ │ │ │ │ │ ├── EditImage.ts │ │ │ │ │ │ ├── InsertImage.ts │ │ │ │ │ │ ├── ViewImageLink.ts │ │ │ │ │ │ ├── Width100.ts │ │ │ │ │ │ ├── Width30.ts │ │ │ │ │ │ ├── Width50.ts │ │ │ │ │ │ ├── WidthBase.ts │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-elem-html.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── render-elem.tsx │ │ │ │ ├── indent/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── BaseMenu.ts │ │ │ │ │ │ ├── DecreaseIndentMenu.ts │ │ │ │ │ │ ├── IncreaseIndentMenu.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-style-html.ts │ │ │ │ │ ├── pre-parse-html.ts │ │ │ │ │ ├── render-style.tsx │ │ │ │ │ └── style-to-html.ts │ │ │ │ ├── justify/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── BaseMenu.ts │ │ │ │ │ │ ├── JustifyCenterMenu.ts │ │ │ │ │ │ ├── JustifyJustifyMenu.ts │ │ │ │ │ │ ├── JustifyLeftMenu.ts │ │ │ │ │ │ ├── JustifyRightMenu.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-style-html.ts │ │ │ │ │ ├── render-style.tsx │ │ │ │ │ └── style-to-html.ts │ │ │ │ ├── line-height/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── LineHeightMenu.ts │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-style-html.ts │ │ │ │ │ ├── render-style.tsx │ │ │ │ │ └── style-to-html.ts │ │ │ │ ├── link/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── elem-to-html.ts │ │ │ │ │ ├── helper.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── EditLink.ts │ │ │ │ │ │ ├── InsertLink.ts │ │ │ │ │ │ ├── UnLink.ts │ │ │ │ │ │ ├── ViewLink.ts │ │ │ │ │ │ ├── config.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-elem-html.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── render-elem.tsx │ │ │ │ ├── paragraph/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── elem-to-html.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── parse-elem-html.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ └── render-elem.tsx │ │ │ │ ├── text-style/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── helper.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── BaseMenu.ts │ │ │ │ │ │ ├── BoldMenu.ts │ │ │ │ │ │ ├── ClearStyleMenu.ts │ │ │ │ │ │ ├── CodeMenu.ts │ │ │ │ │ │ ├── ItalicMenu.ts │ │ │ │ │ │ ├── SubMenu.ts │ │ │ │ │ │ ├── SupMenu.ts │ │ │ │ │ │ ├── ThroughMenu.ts │ │ │ │ │ │ ├── UnderlineMenu.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-style-html.ts │ │ │ │ │ ├── render-style.tsx │ │ │ │ │ └── style-to-html.ts │ │ │ │ ├── todo/ │ │ │ │ │ ├── custom-types.ts │ │ │ │ │ ├── elem-to-html.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── menu/ │ │ │ │ │ │ ├── Todo.ts │ │ │ │ │ │ └── index.ts │ │ │ │ │ ├── parse-elem-html.ts │ │ │ │ │ ├── plugin.ts │ │ │ │ │ ├── pre-parse-html.ts │ │ │ │ │ └── render-elem.tsx │ │ │ │ └── undo-redo/ │ │ │ │ ├── index.ts │ │ │ │ └── menu/ │ │ │ │ ├── RedoMenu.ts │ │ │ │ ├── UndoMenu.ts │ │ │ │ └── index.ts │ │ │ └── utils/ │ │ │ ├── dom.ts │ │ │ ├── util.ts │ │ │ └── vdom.ts │ │ └── tsconfig.json │ ├── code-highlight/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── content.ts │ │ │ ├── decorate.test.ts │ │ │ ├── elem-to-html.test.ts │ │ │ ├── parse-html.test.ts │ │ │ ├── render-text-style.test.tsx │ │ │ └── select-lang-menu.test.ts │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ └── index.less │ │ │ ├── constants/ │ │ │ │ └── svg.ts │ │ │ ├── custom-types.ts │ │ │ ├── decorate/ │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── locale/ │ │ │ │ ├── en.ts │ │ │ │ ├── index.ts │ │ │ │ └── zh-CN.ts │ │ │ ├── module/ │ │ │ │ ├── elem-to-html.ts │ │ │ │ ├── index.ts │ │ │ │ ├── menu/ │ │ │ │ │ ├── SelectLangMenu.ts │ │ │ │ │ ├── config.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── parse-style-html.ts │ │ │ │ └── render-style.tsx │ │ │ ├── utils/ │ │ │ │ ├── dom.ts │ │ │ │ └── vdom.ts │ │ │ └── vendor/ │ │ │ └── prism.ts │ │ └── tsconfig.json │ ├── core/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── config/ │ │ │ │ ├── editor-config.test.ts │ │ │ │ ├── menu-config.test.ts │ │ │ │ └── toolbar-config.test.ts │ │ │ ├── create/ │ │ │ │ └── content-to-html.test.ts │ │ │ ├── create-core-editor.ts │ │ │ ├── editor/ │ │ │ │ ├── dom-editor.test.ts │ │ │ │ └── plugins/ │ │ │ │ ├── with-config.test.ts │ │ │ │ ├── with-content.test.ts │ │ │ │ ├── with-dom.test.ts │ │ │ │ ├── with-emitter.test.ts │ │ │ │ └── with-selection.test.ts │ │ │ ├── i18n/ │ │ │ │ └── index.test.ts │ │ │ ├── menus/ │ │ │ │ ├── README.md │ │ │ │ └── register-menus/ │ │ │ │ ├── index.ts │ │ │ │ ├── register-button-menu.ts │ │ │ │ ├── register-modal-menu.ts │ │ │ │ └── register-select-menu.ts │ │ │ ├── parse-html/ │ │ │ │ └── README.md │ │ │ ├── render/ │ │ │ │ └── README.md │ │ │ ├── to-html/ │ │ │ │ └── README.md │ │ │ ├── upload/ │ │ │ │ └── uploader.test.ts │ │ │ └── utils/ │ │ │ ├── util.test.ts │ │ │ └── vdom.test.ts │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ ├── bar-item.less │ │ │ │ ├── bar.less │ │ │ │ ├── common.less │ │ │ │ ├── drop-panel.less │ │ │ │ ├── full-screen.less │ │ │ │ ├── index.less │ │ │ │ ├── modal.less │ │ │ │ ├── progress.less │ │ │ │ ├── select-list.less │ │ │ │ └── textarea.less │ │ │ ├── config/ │ │ │ │ ├── index.ts │ │ │ │ ├── interface.ts │ │ │ │ └── register.ts │ │ │ ├── constants/ │ │ │ │ ├── index.ts │ │ │ │ └── svg.ts │ │ │ ├── create/ │ │ │ │ ├── bind-node-relation.ts │ │ │ │ ├── create-editor.ts │ │ │ │ ├── create-toolbar.ts │ │ │ │ ├── helper.ts │ │ │ │ └── index.ts │ │ │ ├── editor/ │ │ │ │ ├── dom-editor.ts │ │ │ │ ├── interface.ts │ │ │ │ └── plugins/ │ │ │ │ ├── with-config.ts │ │ │ │ ├── with-content.ts │ │ │ │ ├── with-dom.ts │ │ │ │ ├── with-emitter.ts │ │ │ │ ├── with-event-data.ts │ │ │ │ ├── with-max-length.ts │ │ │ │ └── with-selection.ts │ │ │ ├── i18n/ │ │ │ │ └── index.ts │ │ │ ├── index.ts │ │ │ ├── menus/ │ │ │ │ ├── README.md │ │ │ │ ├── bar/ │ │ │ │ │ ├── HoverBar.ts │ │ │ │ │ └── Toolbar.ts │ │ │ │ ├── bar-item/ │ │ │ │ │ ├── BaseButton.ts │ │ │ │ │ ├── DropPanelButton.ts │ │ │ │ │ ├── GroupButton.ts │ │ │ │ │ ├── ModalButton.ts │ │ │ │ │ ├── Select.ts │ │ │ │ │ ├── SimpleButton.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── tooltip.ts │ │ │ │ ├── helpers/ │ │ │ │ │ ├── helpers.ts │ │ │ │ │ └── position.ts │ │ │ │ ├── index.ts │ │ │ │ ├── interface.ts │ │ │ │ ├── panel-and-modal/ │ │ │ │ │ ├── BaseClass.ts │ │ │ │ │ ├── DropPanel.ts │ │ │ │ │ ├── Modal.ts │ │ │ │ │ └── SelectList.ts │ │ │ │ └── register.ts │ │ │ ├── parse-html/ │ │ │ │ ├── README.md │ │ │ │ ├── helper.ts │ │ │ │ ├── index.ts │ │ │ │ ├── parse-common-elem-html.ts │ │ │ │ ├── parse-elem-html.ts │ │ │ │ └── parse-text-elem-html.ts │ │ │ ├── render/ │ │ │ │ ├── README.md │ │ │ │ ├── element/ │ │ │ │ │ ├── getRenderElem.tsx │ │ │ │ │ ├── renderElement.tsx │ │ │ │ │ └── renderStyle.ts │ │ │ │ ├── helper.ts │ │ │ │ ├── index.ts │ │ │ │ ├── node2Vnode.ts │ │ │ │ └── text/ │ │ │ │ ├── genVnode.tsx │ │ │ │ ├── renderStyle.ts │ │ │ │ └── renderText.tsx │ │ │ ├── text-area/ │ │ │ │ ├── TextArea.ts │ │ │ │ ├── event-handlers/ │ │ │ │ │ ├── beforeInput.ts │ │ │ │ │ ├── blur.ts │ │ │ │ │ ├── click.ts │ │ │ │ │ ├── composition.ts │ │ │ │ │ ├── copy.ts │ │ │ │ │ ├── cut.ts │ │ │ │ │ ├── drag.ts │ │ │ │ │ ├── drop.ts │ │ │ │ │ ├── focus.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ ├── keydown.ts │ │ │ │ │ ├── keypress.ts │ │ │ │ │ └── paste.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── place-holder.ts │ │ │ │ ├── syncSelection.ts │ │ │ │ └── update-view.ts │ │ │ ├── to-html/ │ │ │ │ ├── README.md │ │ │ │ ├── elem2html.ts │ │ │ │ ├── index.ts │ │ │ │ ├── node2html.ts │ │ │ │ └── text2html.ts │ │ │ ├── upload/ │ │ │ │ ├── createUploader.ts │ │ │ │ ├── index.ts │ │ │ │ └── interface.ts │ │ │ └── utils/ │ │ │ ├── dom.ts │ │ │ ├── hotkeys.ts │ │ │ ├── key.ts │ │ │ ├── line.ts │ │ │ ├── ua.ts │ │ │ ├── util.ts │ │ │ ├── vdom.ts │ │ │ └── weak-maps.ts │ │ └── tsconfig.json │ ├── custom-types.d.ts │ ├── editor/ │ │ ├── CHANGELOG.md │ │ ├── README-en.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ └── create.test.ts │ │ ├── demo/ │ │ │ ├── README.md │ │ │ ├── catalog.html │ │ │ ├── code-highlight.html │ │ │ ├── css/ │ │ │ │ ├── layout.css │ │ │ │ └── view.css │ │ │ ├── extend-menu-drop-panel.html │ │ │ ├── extend-menu-modal.html │ │ │ ├── extend-menu-select.html │ │ │ ├── extend-menu.html │ │ │ ├── get-html.html │ │ │ ├── huge-doc.html │ │ │ ├── index.html │ │ │ ├── js/ │ │ │ │ ├── custom-elem.js │ │ │ │ └── huge-content.js │ │ │ ├── like-qq-doc.html │ │ │ ├── max-length.html │ │ │ ├── multi-editor.html │ │ │ ├── set-html.html │ │ │ └── simple-mode.html │ │ ├── examples/ │ │ │ ├── README.md │ │ │ ├── batch-destroy.html │ │ │ ├── check.html │ │ │ ├── code-highlight.html │ │ │ ├── content-to-html.html │ │ │ ├── css/ │ │ │ │ ├── editor.css │ │ │ │ └── view.css │ │ │ ├── default-mode.html │ │ │ ├── dom7-demo.html │ │ │ ├── headers.html │ │ │ ├── huge-doc.html │ │ │ ├── i18n.html │ │ │ ├── index.html │ │ │ ├── js/ │ │ │ │ ├── huge-content.js │ │ │ │ └── init-content.js │ │ │ ├── like-yuque.html │ │ │ ├── maxlength.html │ │ │ ├── menu.html │ │ │ ├── modal-appendTo-body.html │ │ │ ├── multi-editors.html │ │ │ ├── new-menu.html │ │ │ ├── parse-html.html │ │ │ ├── shadow-dom.html │ │ │ ├── simple-mode.html │ │ │ ├── theme.html │ │ │ ├── todo.html │ │ │ ├── upload-image.html │ │ │ └── upload-video.html │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── Boot.ts │ │ │ ├── assets/ │ │ │ │ └── index.less │ │ │ ├── constants/ │ │ │ │ └── svg.ts │ │ │ ├── create.ts │ │ │ ├── index.ts │ │ │ ├── init-default-config/ │ │ │ │ ├── config/ │ │ │ │ │ ├── hoverbar.ts │ │ │ │ │ ├── index.ts │ │ │ │ │ └── toolbar.ts │ │ │ │ └── index.ts │ │ │ ├── locale/ │ │ │ │ ├── en.ts │ │ │ │ ├── index.ts │ │ │ │ └── zh-CN.ts │ │ │ ├── register-builtin-modules/ │ │ │ │ ├── index.ts │ │ │ │ └── register.ts │ │ │ └── utils/ │ │ │ ├── browser-polyfill.ts │ │ │ ├── dom.ts │ │ │ └── node-polyfill.ts │ │ └── tsconfig.json │ ├── list-module/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── elem-to-html.test.ts │ │ │ ├── menu/ │ │ │ │ ├── bulleted-list-menu.test.ts │ │ │ │ └── numbered-list-menu.test.ts │ │ │ ├── parse-html.test.ts │ │ │ ├── plugin.test.ts │ │ │ └── render-elem.test.ts │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ └── index.less │ │ │ ├── constants/ │ │ │ │ └── svg.ts │ │ │ ├── index.ts │ │ │ ├── locale/ │ │ │ │ ├── en.ts │ │ │ │ ├── index.ts │ │ │ │ └── zh-CN.ts │ │ │ ├── module/ │ │ │ │ ├── custom-types.ts │ │ │ │ ├── elem-to-html.ts │ │ │ │ ├── index.ts │ │ │ │ ├── menu/ │ │ │ │ │ ├── BaseMenu.ts │ │ │ │ │ ├── BulletedListMenu.ts │ │ │ │ │ ├── NumberedListMenu.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── parse-elem-html.ts │ │ │ │ ├── plugin.ts │ │ │ │ └── render-elem.tsx │ │ │ └── utils/ │ │ │ ├── dom.ts │ │ │ └── maps.ts │ │ └── tsconfig.json │ ├── table-module/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── elem-to-html.test.ts │ │ │ ├── menu/ │ │ │ │ ├── delete-col.test.ts │ │ │ │ ├── delete-row.test.ts │ │ │ │ ├── delete-table.test.ts │ │ │ │ ├── full-width.test.ts │ │ │ │ ├── insert-col.test.ts │ │ │ │ ├── insert-row.test.ts │ │ │ │ ├── insert-table.test.ts │ │ │ │ └── table-header.test.ts │ │ │ ├── parse-html.test.ts │ │ │ ├── plugin.test.ts │ │ │ └── render-elem.test.ts │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ └── index.less │ │ │ ├── constants/ │ │ │ │ └── svg.ts │ │ │ ├── index.ts │ │ │ ├── locale/ │ │ │ │ ├── en.ts │ │ │ │ ├── index.ts │ │ │ │ └── zh-CN.ts │ │ │ ├── module/ │ │ │ │ ├── custom-types.ts │ │ │ │ ├── elem-to-html.ts │ │ │ │ ├── helpers.ts │ │ │ │ ├── index.ts │ │ │ │ ├── menu/ │ │ │ │ │ ├── DeleteCol.ts │ │ │ │ │ ├── DeleteRow.ts │ │ │ │ │ ├── DeleteTable.ts │ │ │ │ │ ├── FullWidth.ts │ │ │ │ │ ├── InsertCol.ts │ │ │ │ │ ├── InsertRow.ts │ │ │ │ │ ├── InsertTable.ts │ │ │ │ │ ├── TableHeader.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── parse-elem-html.ts │ │ │ │ ├── plugin.ts │ │ │ │ ├── pre-parse-html.ts │ │ │ │ └── render-elem/ │ │ │ │ ├── index.ts │ │ │ │ ├── render-cell.tsx │ │ │ │ ├── render-row.tsx │ │ │ │ └── render-table.tsx │ │ │ └── utils/ │ │ │ ├── dom.ts │ │ │ └── util.ts │ │ └── tsconfig.json │ ├── upload-image-module/ │ │ ├── CHANGELOG.md │ │ ├── README.md │ │ ├── __tests__/ │ │ │ ├── config.test.ts │ │ │ ├── plugin.test.ts │ │ │ ├── upload-files.test.ts │ │ │ └── upload-image-menu.test.ts │ │ ├── package.json │ │ ├── rollup.config.js │ │ ├── src/ │ │ │ ├── assets/ │ │ │ │ └── index.less │ │ │ ├── constants/ │ │ │ │ └── svg.ts │ │ │ ├── index.ts │ │ │ ├── locale/ │ │ │ │ ├── en.ts │ │ │ │ ├── index.ts │ │ │ │ └── zh-CN.ts │ │ │ ├── module/ │ │ │ │ ├── index.ts │ │ │ │ ├── menu/ │ │ │ │ │ ├── UploadImageMenu.ts │ │ │ │ │ ├── config.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── plugin.ts │ │ │ │ └── upload-images.ts │ │ │ └── utils/ │ │ │ └── dom.ts │ │ └── tsconfig.json │ ├── vars.less │ └── video-module/ │ ├── CHANGELOG.md │ ├── README.md │ ├── __tests__/ │ │ ├── elem-to-html.test.ts │ │ ├── helpler.test.ts │ │ ├── menu/ │ │ │ ├── delete-video-menu.test.ts.bak │ │ │ ├── insert-video-menu.test.ts │ │ │ └── upload-video-menu.test.ts │ │ ├── parse-html.test.ts │ │ ├── plugin.test.ts │ │ ├── render-elem.test.ts │ │ └── util.test.ts │ ├── package.json │ ├── rollup.config.js │ ├── src/ │ │ ├── assets/ │ │ │ └── index.less │ │ ├── constants/ │ │ │ └── svg.ts │ │ ├── index.ts │ │ ├── locale/ │ │ │ ├── en.ts │ │ │ ├── index.ts │ │ │ └── zh-CN.ts │ │ ├── module/ │ │ │ ├── custom-types.ts │ │ │ ├── elem-to-html.ts │ │ │ ├── helper/ │ │ │ │ ├── insert-video.ts │ │ │ │ └── upload-videos.ts │ │ │ ├── index.ts │ │ │ ├── menu/ │ │ │ │ ├── DeleteVideoMenu.ts.bak │ │ │ │ ├── EditVideoSizeMenu.ts │ │ │ │ ├── InsertVideoMenu.ts │ │ │ │ ├── UploadVideoMenu.ts │ │ │ │ ├── config.ts │ │ │ │ └── index.ts │ │ │ ├── parse-elem-html.ts │ │ │ ├── plugin.ts │ │ │ ├── pre-parse-html.ts │ │ │ └── render-elem.tsx │ │ └── utils/ │ │ ├── dom.ts │ │ └── util.ts │ └── tsconfig.json ├── scripts/ │ └── release-tag.js ├── tests/ │ ├── setup/ │ │ └── index.ts │ └── utils/ │ ├── create-editor.ts │ ├── create-toolbar.ts │ └── stylesMock.js └── tsconfig.json