@maketribe/ms-app 3.2.41 → 3.2.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/basic/doc-editor/editor.vue.js +5 -152
- package/dist/cjs/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/editor.vue2.js +79 -2
- package/dist/cjs/components/basic/doc-editor/editor.vue2.js.map +1 -1
- package/dist/cjs/components/basic/doc-editor/index.js +2 -4
- package/dist/cjs/components/basic/doc-editor/index.js.map +1 -1
- package/dist/cjs/components/basic/{doc-editor/themes → lexical-editor}/DocTheme.js +1 -1
- package/dist/cjs/components/basic/lexical-editor/DocTheme.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/LexicalComposer.vue.js +102 -0
- package/dist/cjs/components/basic/lexical-editor/LexicalComposer.vue.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/core/LexicalComposer.vue2.js → lexical-editor/LexicalComposer.vue3.js} +2 -1
- package/dist/cjs/components/basic/lexical-editor/LexicalComposer.vue3.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/assets/doc-editor-stage.css.js +4 -0
- package/dist/cjs/components/basic/lexical-editor/assets/doc-editor-stage.css.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/assets/doc-editor.css.js +4 -0
- package/dist/cjs/components/basic/lexical-editor/assets/doc-editor.css.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/assets/iconfont.js +37 -0
- package/dist/cjs/components/basic/lexical-editor/assets/iconfont.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/composables/lexicalEditor.js +195 -0
- package/dist/cjs/components/basic/lexical-editor/composables/lexicalEditor.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/composables/listenerManager.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useCharacterLimit.js +187 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useCharacterLimit.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useElementBlockSelection.js +56 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useElementBlockSelection.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useLexicalCommandsLog.js +37 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useLexicalCommandsLog.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useLexicalEditorState.js +237 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useLexicalEditorState.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useLexicalIsTextContentEmpty.js +21 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useLexicalIsTextContentEmpty.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useTableOfContents.js +176 -0
- package/dist/cjs/components/basic/lexical-editor/composables/useTableOfContents.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/core/composables/useMounted.js → lexical-editor/composables/utils.js} +11 -1
- package/dist/cjs/components/basic/lexical-editor/composables/utils.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/HtmlElementDecoratorNode.js +187 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/HtmlElementDecoratorNode.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/HtmlElementNode.js +159 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/HtmlElementNode.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/plugins/ImagePlugin → lexical-editor/nodes}/ImageNode.js +74 -143
- package/dist/cjs/components/basic/lexical-editor/nodes/ImageNode.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/ImageTextWarpNode.js +120 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/ImageTextWarpNode.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js +195 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/ModuleDecoratorWarpNode.js +76 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/ModuleDecoratorWarpNode.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/plugins/TemplatePlugin/commands.js → lexical-editor/nodes/Template.js} +1 -1
- package/dist/cjs/components/basic/lexical-editor/nodes/Template.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/index.js +45 -0
- package/dist/cjs/components/basic/lexical-editor/nodes/index.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.js → lexical-editor/plugins/AutoFocusPlugin.vue.js} +13 -10
- package/dist/cjs/components/basic/lexical-editor/plugins/AutoFocusPlugin.vue.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/AutoFocusPlugin.vue2.js +4 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/AutoFocusPlugin.vue2.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/CheckListPlugin.js +213 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/CheckListPlugin.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ElementBlockSelectionPlugin.vue.js +7 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ElementBlockSelectionPlugin.vue.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ElementBlockSelectionPlugin.vue3.js +386 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ElementBlockSelectionPlugin.vue3.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/HashtagPlugin.js +73 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/HashtagPlugin.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/HistoryPlugin.vue.js +38 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/HistoryPlugin.vue.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/HistoryPlugin.vue2.js +4 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/HistoryPlugin.vue2.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ListPlugin.js +95 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ListPlugin.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/NodeTreeViewPlugin.vue.js +7 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/NodeTreeViewPlugin.vue.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/NodeTreeViewPlugin.vue3.js +100 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/NodeTreeViewPlugin.vue3.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/RichTextEditorPlugin.js +397 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/RichTextEditorPlugin.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/TabIndentationPlugin.vue.js +44 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/TabIndentationPlugin.vue.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/TabIndentationPlugin.vue2.js +4 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/TabIndentationPlugin.vue2.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/TablePlugin.js +137 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/TablePlugin.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ToolbarPlugin.vue.js +8 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ToolbarPlugin.vue.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ToolbarPlugin.vue4.js +433 -0
- package/dist/cjs/components/basic/lexical-editor/plugins/ToolbarPlugin.vue4.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/core/plugins/LexicalRichTextPlugin → lexical-editor/stage}/ContentEditable.vue.js +13 -11
- package/dist/cjs/components/basic/lexical-editor/stage/ContentEditable.vue.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/stage/DecoratedTeleports.js +45 -0
- package/dist/cjs/components/basic/lexical-editor/stage/DecoratedTeleports.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/core/composables/useCanShowPlaceholder.js → lexical-editor/stage/composables.js} +16 -5
- package/dist/cjs/components/basic/lexical-editor/stage/composables.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/stage/index.js +4 -0
- package/dist/cjs/components/basic/lexical-editor/stage/index.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/stage/index.vue.js +7 -0
- package/dist/{esm/components/basic/doc-editor/plugins/AutoLinkPlugin → cjs/components/basic/lexical-editor/stage}/index.vue.js.map +1 -1
- package/dist/cjs/components/basic/lexical-editor/stage/index.vue3.js +133 -0
- package/dist/cjs/components/basic/lexical-editor/stage/index.vue3.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/utils/css.js +27 -0
- package/dist/cjs/components/basic/lexical-editor/utils/css.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/utils/html.js +245 -0
- package/dist/cjs/components/basic/lexical-editor/utils/html.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/plugins/ImagePlugin/utils.js → lexical-editor/utils/image.js} +6 -6
- package/dist/cjs/components/basic/lexical-editor/utils/image.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/plugins/AutoLinkPlugin/LinkEditDialog.js → lexical-editor/utils/link-edit-dialog.js} +3 -3
- package/dist/cjs/components/basic/lexical-editor/utils/link-edit-dialog.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/plugins/ModulePlugin/utils.js → lexical-editor/utils/module.js} +17 -78
- package/dist/cjs/components/basic/lexical-editor/utils/module.js.map +1 -0
- package/dist/cjs/components/basic/{doc-editor/plugins/TemplatePlugin/composables.js → lexical-editor/utils/template.js} +15 -78
- package/dist/cjs/components/basic/lexical-editor/utils/template.js.map +1 -0
- package/dist/cjs/components/basic/lexical-editor/utils/url.js.map +1 -0
- package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js +32 -0
- package/dist/cjs/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js +32 -0
- package/dist/cjs/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort.js +55 -5
- package/dist/cjs/components/data-model/data-table/components/column-sort/column-sort.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js +32 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js +30 -0
- package/dist/cjs/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/cjs/components/data-model/data-table/views/table/table.js +4 -16
- package/dist/cjs/components/data-model/data-table/views/table/table.js.map +1 -1
- package/dist/cjs/index.js +101 -55
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/installer.js +31 -0
- package/dist/cjs/installer.js.map +1 -1
- package/dist/cjs/layouts/components/bar/index.js +32 -1
- package/dist/cjs/layouts/components/bar/index.js.map +1 -1
- package/dist/cjs/layouts/components/header/tools.js +31 -0
- package/dist/cjs/layouts/components/header/tools.js.map +1 -1
- package/dist/cjs/layouts/components/menu/menu-item.js +32 -1
- package/dist/cjs/layouts/components/menu/menu-item.js.map +1 -1
- package/dist/cjs/layouts/container/default.js +32 -1
- package/dist/cjs/layouts/container/default.js.map +1 -1
- package/dist/cjs/message-impl/DialogerImpl.js +32 -1
- package/dist/cjs/message-impl/DialogerImpl.js.map +1 -1
- package/dist/cjs/modules/cms/cms-settings.js +0 -3
- package/dist/cjs/modules/cms/cms-settings.js.map +1 -1
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js +30 -0
- package/dist/cjs/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +31 -1
- package/dist/cjs/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +31 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +0 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +31 -1
- package/dist/cjs/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js +31 -1
- package/dist/cjs/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +36 -5
- package/dist/cjs/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js +30 -0
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js +32 -2
- package/dist/cjs/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +31 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js +32 -1
- package/dist/cjs/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js +41 -8
- package/dist/cjs/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js +32 -1
- package/dist/cjs/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js +0 -18
- package/dist/cjs/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js +34 -1
- package/dist/cjs/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js +31 -0
- package/dist/cjs/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-list/material-list.js +31 -0
- package/dist/cjs/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js +31 -0
- package/dist/cjs/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/cjs/modules/ms/components/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js +9 -0
- package/dist/cjs/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js +31 -0
- package/dist/cjs/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +32 -1
- package/dist/cjs/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js +31 -1
- package/dist/cjs/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js +31 -0
- package/dist/cjs/modules/ms/pages/local-log/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js +32 -2
- package/dist/cjs/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js +31 -0
- package/dist/cjs/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js +30 -0
- package/dist/cjs/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +31 -0
- package/dist/cjs/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js +31 -0
- package/dist/cjs/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/edit.vue2.js +31 -0
- package/dist/cjs/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js +32 -1
- package/dist/cjs/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js +32 -1
- package/dist/cjs/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js +31 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js +31 -0
- package/dist/cjs/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js +32 -1
- package/dist/cjs/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
- package/dist/cjs/page/index/dv/default/table.vue2.js +31 -0
- package/dist/cjs/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/cjs/page/login/index.vue2.js +31 -0
- package/dist/cjs/page/login/index.vue2.js.map +1 -1
- package/dist/cjs/page/signup/index.vue2.js +31 -0
- package/dist/cjs/page/signup/index.vue2.js.map +1 -1
- package/dist/cjs/style.css +263 -0
- package/dist/esm/components/basic/doc-editor/editor.vue.js +5 -152
- package/dist/esm/components/basic/doc-editor/editor.vue.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/editor.vue2.js +78 -1
- package/dist/esm/components/basic/doc-editor/editor.vue2.js.map +1 -1
- package/dist/esm/components/basic/doc-editor/index.js +3 -5
- package/dist/esm/components/basic/doc-editor/index.js.map +1 -1
- package/dist/esm/components/basic/{doc-editor/themes → lexical-editor}/DocTheme.js +1 -1
- package/dist/esm/components/basic/lexical-editor/DocTheme.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/LexicalComposer.vue.js +103 -0
- package/dist/esm/components/basic/lexical-editor/LexicalComposer.vue.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/core/LexicalComposer.vue2.js → lexical-editor/LexicalComposer.vue3.js} +2 -1
- package/dist/esm/components/basic/lexical-editor/LexicalComposer.vue3.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/assets/doc-editor-stage.css.js +5 -0
- package/dist/esm/components/basic/lexical-editor/assets/doc-editor-stage.css.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/assets/doc-editor.css.js +5 -0
- package/dist/esm/components/basic/lexical-editor/assets/doc-editor.css.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/assets/iconfont.js +36 -0
- package/dist/esm/components/basic/lexical-editor/assets/iconfont.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/lexicalEditor.js +195 -0
- package/dist/esm/components/basic/lexical-editor/composables/lexicalEditor.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/listenerManager.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/useCharacterLimit.js +187 -0
- package/dist/esm/components/basic/lexical-editor/composables/useCharacterLimit.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/useElementBlockSelection.js +56 -0
- package/dist/esm/components/basic/lexical-editor/composables/useElementBlockSelection.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/useLexicalCommandsLog.js +37 -0
- package/dist/esm/components/basic/lexical-editor/composables/useLexicalCommandsLog.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/useLexicalEditorState.js +237 -0
- package/dist/esm/components/basic/lexical-editor/composables/useLexicalEditorState.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/useLexicalIsTextContentEmpty.js +21 -0
- package/dist/esm/components/basic/lexical-editor/composables/useLexicalIsTextContentEmpty.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/useTableOfContents.js +176 -0
- package/dist/esm/components/basic/lexical-editor/composables/useTableOfContents.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/composables/utils.js +24 -0
- package/dist/esm/components/basic/lexical-editor/composables/utils.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/nodes/HtmlElementDecoratorNode.js +187 -0
- package/dist/esm/components/basic/lexical-editor/nodes/HtmlElementDecoratorNode.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/nodes/HtmlElementNode.js +159 -0
- package/dist/esm/components/basic/lexical-editor/nodes/HtmlElementNode.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/plugins/ImagePlugin → lexical-editor/nodes}/ImageNode.js +76 -145
- package/dist/esm/components/basic/lexical-editor/nodes/ImageNode.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/nodes/ImageTextWarpNode.js +120 -0
- package/dist/esm/components/basic/lexical-editor/nodes/ImageTextWarpNode.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js +195 -0
- package/dist/esm/components/basic/lexical-editor/nodes/ModuleDecoratorNode.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/nodes/ModuleDecoratorWarpNode.js +76 -0
- package/dist/esm/components/basic/lexical-editor/nodes/ModuleDecoratorWarpNode.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/plugins/TemplatePlugin/commands.js → lexical-editor/nodes/Template.js} +1 -1
- package/dist/esm/components/basic/lexical-editor/nodes/Template.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/nodes/index.js +45 -0
- package/dist/esm/components/basic/lexical-editor/nodes/index.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.js → lexical-editor/plugins/AutoFocusPlugin.vue.js} +13 -10
- package/dist/esm/components/basic/lexical-editor/plugins/AutoFocusPlugin.vue.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/AutoFocusPlugin.vue2.js +5 -0
- package/dist/esm/components/basic/lexical-editor/plugins/AutoFocusPlugin.vue2.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/CheckListPlugin.js +212 -0
- package/dist/esm/components/basic/lexical-editor/plugins/CheckListPlugin.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ElementBlockSelectionPlugin.vue.js +8 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ElementBlockSelectionPlugin.vue.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ElementBlockSelectionPlugin.vue3.js +387 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ElementBlockSelectionPlugin.vue3.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/HashtagPlugin.js +72 -0
- package/dist/esm/components/basic/lexical-editor/plugins/HashtagPlugin.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/HistoryPlugin.vue.js +39 -0
- package/dist/esm/components/basic/lexical-editor/plugins/HistoryPlugin.vue.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/HistoryPlugin.vue2.js +5 -0
- package/dist/esm/components/basic/lexical-editor/plugins/HistoryPlugin.vue2.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ListPlugin.js +95 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ListPlugin.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/NodeTreeViewPlugin.vue.js +8 -0
- package/dist/esm/components/basic/lexical-editor/plugins/NodeTreeViewPlugin.vue.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/NodeTreeViewPlugin.vue3.js +101 -0
- package/dist/esm/components/basic/lexical-editor/plugins/NodeTreeViewPlugin.vue3.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/RichTextEditorPlugin.js +396 -0
- package/dist/esm/components/basic/lexical-editor/plugins/RichTextEditorPlugin.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/TabIndentationPlugin.vue.js +45 -0
- package/dist/esm/components/basic/lexical-editor/plugins/TabIndentationPlugin.vue.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/TabIndentationPlugin.vue2.js +5 -0
- package/dist/esm/components/basic/lexical-editor/plugins/TabIndentationPlugin.vue2.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/TablePlugin.js +136 -0
- package/dist/esm/components/basic/lexical-editor/plugins/TablePlugin.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ToolbarPlugin.vue.js +9 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ToolbarPlugin.vue.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ToolbarPlugin.vue4.js +434 -0
- package/dist/esm/components/basic/lexical-editor/plugins/ToolbarPlugin.vue4.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/core/plugins/LexicalRichTextPlugin → lexical-editor/stage}/ContentEditable.vue.js +12 -10
- package/dist/esm/components/basic/lexical-editor/stage/ContentEditable.vue.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/stage/DecoratedTeleports.js +46 -0
- package/dist/esm/components/basic/lexical-editor/stage/DecoratedTeleports.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/core/composables/useCanShowPlaceholder.js → lexical-editor/stage/composables.js} +13 -2
- package/dist/esm/components/basic/lexical-editor/stage/composables.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/stage/index.js +5 -0
- package/dist/esm/components/basic/lexical-editor/stage/index.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/stage/index.vue.js +8 -0
- package/dist/{cjs/components/basic/doc-editor/plugins/AutoLinkPlugin → esm/components/basic/lexical-editor/stage}/index.vue.js.map +1 -1
- package/dist/esm/components/basic/lexical-editor/stage/index.vue3.js +134 -0
- package/dist/esm/components/basic/lexical-editor/stage/index.vue3.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/utils/css.js +27 -0
- package/dist/esm/components/basic/lexical-editor/utils/css.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/utils/html.js +245 -0
- package/dist/esm/components/basic/lexical-editor/utils/html.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/plugins/ImagePlugin/utils.js → lexical-editor/utils/image.js} +7 -7
- package/dist/esm/components/basic/lexical-editor/utils/image.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/plugins/AutoLinkPlugin/LinkEditDialog.js → lexical-editor/utils/link-edit-dialog.js} +3 -3
- package/dist/esm/components/basic/lexical-editor/utils/link-edit-dialog.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/plugins/ModulePlugin/utils.js → lexical-editor/utils/module.js} +17 -78
- package/dist/esm/components/basic/lexical-editor/utils/module.js.map +1 -0
- package/dist/esm/components/basic/{doc-editor/plugins/TemplatePlugin/composables.js → lexical-editor/utils/template.js} +16 -79
- package/dist/esm/components/basic/lexical-editor/utils/template.js.map +1 -0
- package/dist/esm/components/basic/lexical-editor/utils/url.js.map +1 -0
- package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js +32 -0
- package/dist/esm/components/business/resource-list/components/resource-item/index.vue.js.map +1 -1
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js +32 -0
- package/dist/esm/components/business/resource-manager/resource-manager.vue.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/column-sort/column-sort.js +56 -6
- package/dist/esm/components/data-model/data-table/components/column-sort/column-sort.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js +32 -1
- package/dist/esm/components/data-model/data-table/components/header-components/batch-opt/batch-opt.js.map +1 -1
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js +30 -0
- package/dist/esm/components/data-model/data-table/components/header-components/table-filter/table-filter.js.map +1 -1
- package/dist/esm/components/data-model/data-table/views/table/table.js +4 -16
- package/dist/esm/components/data-model/data-table/views/table/table.js.map +1 -1
- package/dist/esm/index.js +50 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/installer.js +31 -0
- package/dist/esm/installer.js.map +1 -1
- package/dist/esm/layouts/components/bar/index.js +32 -1
- package/dist/esm/layouts/components/bar/index.js.map +1 -1
- package/dist/esm/layouts/components/header/tools.js +31 -0
- package/dist/esm/layouts/components/header/tools.js.map +1 -1
- package/dist/esm/layouts/components/menu/menu-item.js +32 -1
- package/dist/esm/layouts/components/menu/menu-item.js.map +1 -1
- package/dist/esm/layouts/container/default.js +32 -1
- package/dist/esm/layouts/container/default.js.map +1 -1
- package/dist/esm/message-impl/DialogerImpl.js +32 -1
- package/dist/esm/message-impl/DialogerImpl.js.map +1 -1
- package/dist/esm/modules/cms/cms-settings.js +0 -3
- package/dist/esm/modules/cms/cms-settings.js.map +1 -1
- package/dist/esm/modules/cms/components/part-tree/index.vue.js +30 -0
- package/dist/esm/modules/cms/components/part-tree/index.vue.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js +31 -1
- package/dist/esm/modules/cms/dataviews/cms-ad-contents/CmsAdContentsForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js +31 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesForm.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js +0 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/CmsArticlesTable.js.map +1 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js +31 -1
- package/dist/esm/modules/cms/dataviews/cms-articles/cms-article-atlas/CmsArticleAtlasForm.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js +31 -1
- package/dist/esm/modules/cms/pages/cms-ad/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js +36 -5
- package/dist/esm/modules/cms/pages/cms-contents/article-edit-add-page.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js +30 -0
- package/dist/esm/modules/cms/pages/cms-contents/components/article-atlas.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js +32 -2
- package/dist/esm/modules/cms/pages/cms-contents/components/article-list.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js +31 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-banner-edit.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js +32 -1
- package/dist/esm/modules/cms/pages/cms-contents/components/part-info.vue.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js +41 -8
- package/dist/esm/modules/cms/pages/cms-contents/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js +32 -1
- package/dist/esm/modules/cms/pages/cms-resource/index.vue2.js.map +1 -1
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js +0 -18
- package/dist/esm/modules/cms/pages/cms-settigns/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js +34 -1
- package/dist/esm/modules/ms/components/material-list/material-item.vue.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list-options.js +31 -0
- package/dist/esm/modules/ms/components/material-list/material-list-options.js.map +1 -1
- package/dist/esm/modules/ms/components/material-list/material-list.js +31 -0
- package/dist/esm/modules/ms/components/material-list/material-list.js.map +1 -1
- package/dist/esm/modules/ms/components/material-select/material-select-api.js +31 -0
- package/dist/esm/modules/ms/components/material-select/material-select-api.js.map +1 -1
- package/dist/esm/modules/ms/components/rich-text-editor/rich-text-editor.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js +9 -0
- package/dist/esm/modules/ms/dataviews/ms-config/MsConfigTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js +31 -0
- package/dist/esm/modules/ms/dataviews/ms-member/MsMemberTable.js.map +1 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js +32 -1
- package/dist/esm/modules/ms/dataviews/ms-member/components/MemberRolesColumn.js.map +1 -1
- package/dist/esm/modules/ms/pages/icons/index.vue2.js +31 -1
- package/dist/esm/modules/ms/pages/icons/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js +31 -0
- package/dist/esm/modules/ms/pages/local-log/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js +32 -2
- package/dist/esm/modules/ms/pages/ms-material/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js +31 -0
- package/dist/esm/modules/ms/pages/ms-menu/index.vue2.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js +30 -0
- package/dist/esm/modules/ms/pages/ms-role/components/aside.vue.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js +31 -0
- package/dist/esm/modules/ms/pages/ms-role/components/role-permission-config/role-permission-config-options.js.map +1 -1
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js +31 -0
- package/dist/esm/modules/ms/pages/ms-role/index.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/edit.vue2.js +31 -0
- package/dist/esm/page/index/dv/default/edit.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js +32 -1
- package/dist/esm/page/index/dv/default/single/list/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js +32 -1
- package/dist/esm/page/index/dv/default/single/list/normal.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js +31 -0
- package/dist/esm/page/index/dv/default/single/table-tree/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js +31 -0
- package/dist/esm/page/index/dv/default/single/table-tree/normal.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js +32 -1
- package/dist/esm/page/index/dv/default/single/tree/dialog.vue2.js.map +1 -1
- package/dist/esm/page/index/dv/default/table.vue2.js +31 -0
- package/dist/esm/page/index/dv/default/table.vue2.js.map +1 -1
- package/dist/esm/page/login/index.vue2.js +31 -0
- package/dist/esm/page/login/index.vue2.js.map +1 -1
- package/dist/esm/page/signup/index.vue2.js +31 -0
- package/dist/esm/page/signup/index.vue2.js.map +1 -1
- package/dist/esm/style.css +263 -0
- package/dist/style/components/index.css +1 -1
- package/dist/style/index.css +2 -2
- package/dist/style/layouts/default/bar.css +1 -1
- package/dist/style/layouts/default/index.css +1 -1
- package/dist/style/layouts/index.css +1 -1
- package/dist/style/src/components/index.scss +0 -1
- package/dist/style/src/layouts/default/bar.scss +2 -3
- package/dist/types/components/basic/doc-editor/editor.vue.d.ts +27 -7
- package/dist/types/components/basic/doc-editor/index.d.ts +61 -20
- package/dist/types/components/basic/index.d.ts +1 -0
- package/dist/types/components/basic/lexical-editor/DefaultHtmlConfig.d.ts +3 -0
- package/dist/types/components/basic/lexical-editor/LexicalComposer.vue.d.ts +99 -0
- package/dist/types/components/basic/lexical-editor/composables/index.d.ts +9 -0
- package/dist/types/components/basic/lexical-editor/composables/lexicalEditor.d.ts +137 -0
- package/dist/types/components/basic/{doc-editor/core/element-block.d.ts → lexical-editor/composables/useElementBlockSelection.d.ts} +4 -12
- package/dist/types/components/basic/lexical-editor/composables/useLexicalEditorState.d.ts +106 -0
- package/dist/types/components/basic/{doc-editor/core/composables/useEffect.d.ts → lexical-editor/composables/utils.d.ts} +4 -0
- package/dist/types/components/basic/lexical-editor/index.d.ts +5 -0
- package/dist/types/components/basic/lexical-editor/nodes/HtmlElementDecoratorNode.d.ts +108 -0
- package/dist/types/components/basic/lexical-editor/nodes/HtmlElementNode.d.ts +84 -0
- package/dist/types/components/basic/lexical-editor/nodes/ImageNode.d.ts +81 -0
- package/dist/types/components/basic/lexical-editor/nodes/ImageTextWarpNode.d.ts +61 -0
- package/dist/types/components/basic/lexical-editor/nodes/ModuleDecoratorNode.d.ts +95 -0
- package/dist/types/components/basic/lexical-editor/nodes/ModuleDecoratorWarpNode.d.ts +43 -0
- package/dist/types/components/basic/lexical-editor/nodes/index.d.ts +9 -0
- package/dist/types/components/basic/lexical-editor/plugins/CheckListPlugin.d.ts +1 -0
- package/dist/types/components/basic/lexical-editor/plugins/HashtagPlugin.d.ts +1 -0
- package/dist/types/components/basic/lexical-editor/plugins/LexicalMarkdownShortcutPlugin.vue.d.ts +30 -0
- package/dist/types/components/basic/lexical-editor/plugins/ListPlugin.d.ts +1 -0
- package/dist/types/components/basic/lexical-editor/plugins/RichTextEditorPlugin.d.ts +1 -0
- package/dist/types/components/basic/lexical-editor/plugins/TablePlugin.d.ts +1 -0
- package/dist/types/components/basic/{doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.d.ts → lexical-editor/plugins/ToolbarPlugin.vue.d.ts} +3 -12
- package/dist/types/components/basic/lexical-editor/plugins/index.d.ts +6 -0
- package/dist/types/components/basic/{doc-editor/core/plugins/LexicalRichTextPlugin → lexical-editor/stage}/DecoratedTeleports.d.ts +2 -1
- package/dist/types/components/basic/{doc-editor/core/composables/useCanShowPlaceholder.d.ts → lexical-editor/stage/composables.d.ts} +1 -1
- package/dist/types/components/basic/lexical-editor/stage/index.d.ts +2 -0
- package/dist/types/components/basic/{doc-editor/plugins/ToolbarPlugin → lexical-editor/stage}/index.vue.d.ts +16 -7
- package/dist/types/components/basic/lexical-editor/utils/css.d.ts +18 -0
- package/dist/types/components/basic/lexical-editor/utils/html.d.ts +22 -0
- package/dist/types/components/basic/lexical-editor/utils/index.d.ts +8 -0
- package/dist/types/components/basic/lexical-editor/utils/link-edit-dialog.d.ts +6 -0
- package/dist/types/components/basic/lexical-editor/utils/module.d.ts +5 -0
- package/dist/types/components/basic/lexical-editor/utils/template.d.ts +10 -0
- package/dist/types/components/data-model/data-table/views/table/index.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/table/table.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/tree/index.d.ts +1 -1
- package/dist/types/components/data-model/data-table/views/tree/tree.d.ts +1 -1
- package/dist/types/modules/cms/cms-settings.d.ts +1 -2
- package/dist/types/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.d.ts +9 -10
- package/dist/types/modules/ms/components/material-list/material-item.vue.d.ts +1 -1
- package/package.json +4 -4
- package/dist/cjs/components/basic/doc-editor/core/LexicalComposer.vue.js +0 -74
- package/dist/cjs/components/basic/doc-editor/core/LexicalComposer.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/LexicalComposer.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/inject.js +0 -5
- package/dist/cjs/components/basic/doc-editor/core/composables/inject.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/listenerManager.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/useCanShowPlaceholder.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/useDecorators.js +0 -31
- package/dist/cjs/components/basic/doc-editor/core/composables/useDecorators.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/useHistory.js +0 -15
- package/dist/cjs/components/basic/doc-editor/core/composables/useHistory.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/useLexicalComposer.js +0 -17
- package/dist/cjs/components/basic/doc-editor/core/composables/useLexicalComposer.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/useLexicalTextEntity.js +0 -16
- package/dist/cjs/components/basic/doc-editor/core/composables/useLexicalTextEntity.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/useList.js +0 -48
- package/dist/cjs/components/basic/doc-editor/core/composables/useList.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/useMounted.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/composables/useRichTextSetup.js +0 -16
- package/dist/cjs/components/basic/doc-editor/core/composables/useRichTextSetup.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/element-block.js +0 -88
- package/dist/cjs/components/basic/doc-editor/core/element-block.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/index.js +0 -33
- package/dist/cjs/components/basic/doc-editor/core/index.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/nodes/RichElementNode.js +0 -216
- package/dist/cjs/components/basic/doc-editor/core/nodes/RichElementNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.js +0 -215
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.js +0 -75
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.js +0 -29
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.js +0 -4
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue2.js +0 -77
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.js +0 -25
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/ContentEditable.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/DecoratedTeleports.js +0 -24
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/DecoratedTeleports.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue.js +0 -95
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/nodes.js +0 -44
- package/dist/cjs/components/basic/doc-editor/nodes.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin/LinkEditDialog.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue.js +0 -14
- package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js +0 -291
- package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +0 -162
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +0 -96
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +0 -129
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +0 -149
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +0 -101
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +0 -179
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js +0 -140
- package/dist/cjs/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/commands.js +0 -6
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/commands.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +0 -174
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +0 -191
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/commands.js +0 -6
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/commands.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js +0 -35
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +0 -114
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/commands.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/composables.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js +0 -44
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +0 -138
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleDefines.js +0 -26
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleDefines.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +0 -398
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -123
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +0 -210
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue2.js +0 -4
- package/dist/cjs/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue2.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/themes/DocTheme.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js +0 -4
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor.css.js +0 -4
- package/dist/cjs/components/basic/doc-editor/themes/doc-editor.css.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js +0 -443
- package/dist/cjs/components/basic/doc-editor/themes/doc-theme.css.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/utils/getSelectedNode.js +0 -18
- package/dist/cjs/components/basic/doc-editor/utils/getSelectedNode.js.map +0 -1
- package/dist/cjs/components/basic/doc-editor/utils/url.js.map +0 -1
- package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +0 -312
- package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +0 -1
- package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +0 -4
- package/dist/cjs/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/LexicalComposer.vue.js +0 -75
- package/dist/esm/components/basic/doc-editor/core/LexicalComposer.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/LexicalComposer.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/inject.js +0 -5
- package/dist/esm/components/basic/doc-editor/core/composables/inject.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/listenerManager.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/useCanShowPlaceholder.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/useDecorators.js +0 -31
- package/dist/esm/components/basic/doc-editor/core/composables/useDecorators.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/useHistory.js +0 -15
- package/dist/esm/components/basic/doc-editor/core/composables/useHistory.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/useLexicalComposer.js +0 -17
- package/dist/esm/components/basic/doc-editor/core/composables/useLexicalComposer.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/useLexicalTextEntity.js +0 -16
- package/dist/esm/components/basic/doc-editor/core/composables/useLexicalTextEntity.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/useList.js +0 -48
- package/dist/esm/components/basic/doc-editor/core/composables/useList.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/useMounted.js +0 -14
- package/dist/esm/components/basic/doc-editor/core/composables/useMounted.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/composables/useRichTextSetup.js +0 -16
- package/dist/esm/components/basic/doc-editor/core/composables/useRichTextSetup.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/element-block.js +0 -88
- package/dist/esm/components/basic/doc-editor/core/element-block.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/index.js +0 -33
- package/dist/esm/components/basic/doc-editor/core/index.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/nodes/RichElementNode.js +0 -216
- package/dist/esm/components/basic/doc-editor/core/nodes/RichElementNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalAutoFocusPlugin.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.js +0 -216
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalCheckListPlugin.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.js +0 -76
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHashtagPlugin.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.js +0 -30
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalHistoryPlugin.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.js +0 -5
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue2.js +0 -78
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalLinkPlugin.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.js +0 -26
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalListPlugin.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/ContentEditable.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/DecoratedTeleports.js +0 -25
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/DecoratedTeleports.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue.js +0 -96
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/nodes.js +0 -45
- package/dist/esm/components/basic/doc-editor/nodes.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin/LinkEditDialog.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue.js +0 -15
- package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js +0 -292
- package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js +0 -162
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/GridNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js +0 -96
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js +0 -129
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js +0 -149
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js +0 -101
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js +0 -180
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js +0 -140
- package/dist/esm/components/basic/doc-editor/plugins/GridPlugin/utils.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/commands.js +0 -6
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/commands.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js +0 -175
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ImagePlugin/utils.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js +0 -191
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/commands.js +0 -6
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/commands.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js +0 -35
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/composables.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js +0 -115
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ModulePlugin/utils.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/commands.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/composables.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js +0 -45
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/TemplatePlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js +0 -139
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleDefines.js +0 -26
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleDefines.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js +0 -399
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js +0 -124
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/PreviewToolbar.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js +0 -211
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue2.js +0 -5
- package/dist/esm/components/basic/doc-editor/plugins/ToolbarPlugin/index.vue2.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/themes/DocTheme.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js +0 -5
- package/dist/esm/components/basic/doc-editor/themes/doc-editor-edit.css.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-editor.css.js +0 -5
- package/dist/esm/components/basic/doc-editor/themes/doc-editor.css.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js +0 -444
- package/dist/esm/components/basic/doc-editor/themes/doc-theme.css.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/utils/getSelectedNode.js +0 -18
- package/dist/esm/components/basic/doc-editor/utils/getSelectedNode.js.map +0 -1
- package/dist/esm/components/basic/doc-editor/utils/url.js.map +0 -1
- package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js +0 -313
- package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue.js.map +0 -1
- package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js +0 -5
- package/dist/esm/modules/cms/pages/cms-settigns/DocModuleEditForm.vue2.js.map +0 -1
- package/dist/style/components/basic/doc-editor/index.css +0 -1
- package/dist/style/src/components/basic/doc-editor/index.scss +0 -261
- package/dist/types/components/basic/doc-editor/core/LexicalComposer.vue.d.ts +0 -29
- package/dist/types/components/basic/doc-editor/core/composables/index.d.ts +0 -15
- package/dist/types/components/basic/doc-editor/core/composables/inject.d.ts +0 -1
- package/dist/types/components/basic/doc-editor/core/composables/useDecorators.d.ts +0 -4
- package/dist/types/components/basic/doc-editor/core/composables/useHistory.d.ts +0 -4
- package/dist/types/components/basic/doc-editor/core/composables/useLexicalComposer.d.ts +0 -6
- package/dist/types/components/basic/doc-editor/core/composables/useLexicalNodeSelection.d.ts +0 -7
- package/dist/types/components/basic/doc-editor/core/composables/useLexicalTextEntity.d.ts +0 -3
- package/dist/types/components/basic/doc-editor/core/composables/useList.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/core/composables/useMounted.d.ts +0 -4
- package/dist/types/components/basic/doc-editor/core/composables/usePlainTextSetup.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/core/composables/useReactiveEditor.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/core/composables/useRichTextSetup.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/core/index.d.ts +0 -31
- package/dist/types/components/basic/doc-editor/core/nodes/RichElementNode.d.ts +0 -50
- package/dist/types/components/basic/doc-editor/core/nodes/index.d.ts +0 -1
- package/dist/types/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/index.vue.d.ts +0 -26
- package/dist/types/components/basic/doc-editor/core/plugins/LexicalAutoLinkPlugin/shared.d.ts +0 -14
- package/dist/types/components/basic/doc-editor/core/plugins/LexicalRichTextPlugin/index.vue.d.ts +0 -27
- package/dist/types/components/basic/doc-editor/core/types.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/nodes.d.ts +0 -3
- package/dist/types/components/basic/doc-editor/plugins/AutoLinkPlugin/LinkEditDialog.d.ts +0 -6
- package/dist/types/components/basic/doc-editor/plugins/AutoLinkPlugin/index.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/ElementBlockSelectionPlugin/index.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/GridNode.d.ts +0 -93
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ImageTextGridNode.d.ts +0 -55
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/LayoutGridNode.d.ts +0 -77
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/ModuleGridNode.d.ts +0 -69
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/TextGridNode.d.ts +0 -56
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/index.d.ts +0 -5
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/index.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/GridPlugin/utils.d.ts +0 -3
- package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/ImageNode.d.ts +0 -84
- package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/commands.d.ts +0 -6
- package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/index.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/ImagePlugin/index.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/ModuleBlockNode.d.ts +0 -108
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/commands.d.ts +0 -12
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/composables.d.ts +0 -35
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/index.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/index.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/ModulePlugin/utils.d.ts +0 -26
- package/dist/types/components/basic/doc-editor/plugins/TemplatePlugin/composables.d.ts +0 -42
- package/dist/types/components/basic/doc-editor/plugins/TemplatePlugin/index.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/ContentStyleTool.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleDefines.d.ts +0 -3
- package/dist/types/components/basic/doc-editor/plugins/ToolbarPlugin/FontStyleTool.vue.d.ts +0 -2
- package/dist/types/components/basic/doc-editor/plugins/index.d.ts +0 -8
- package/dist/types/components/basic/doc-editor/utils/emoji-list.d.ts +0 -27
- /package/dist/cjs/components/basic/{doc-editor/core → lexical-editor}/composables/listenerManager.js +0 -0
- /package/dist/cjs/components/basic/{doc-editor/core/plugins/LexicalRichTextPlugin → lexical-editor/stage}/ContentEditable.vue2.js +0 -0
- /package/dist/cjs/components/basic/{doc-editor/core/plugins/LexicalRichTextPlugin → lexical-editor/stage}/ContentEditable.vue2.js.map +0 -0
- /package/dist/cjs/components/basic/{doc-editor → lexical-editor}/utils/url.js +0 -0
- /package/dist/esm/components/basic/{doc-editor/core → lexical-editor}/composables/listenerManager.js +0 -0
- /package/dist/esm/components/basic/{doc-editor/core/plugins/LexicalRichTextPlugin → lexical-editor/stage}/ContentEditable.vue2.js +0 -0
- /package/dist/esm/components/basic/{doc-editor/core/plugins/LexicalRichTextPlugin → lexical-editor/stage}/ContentEditable.vue2.js.map +0 -0
- /package/dist/esm/components/basic/{doc-editor → lexical-editor}/utils/url.js +0 -0
- /package/dist/types/components/basic/{doc-editor/themes → lexical-editor}/DocTheme.d.ts +0 -0
- /package/dist/types/components/basic/{doc-editor/core → lexical-editor}/composables/listenerManager.d.ts +0 -0
- /package/dist/types/components/basic/{doc-editor/core → lexical-editor}/composables/useCharacterLimit.d.ts +0 -0
- /package/dist/types/components/basic/{doc-editor/core → lexical-editor}/composables/useLexicalCommandsLog.d.ts +0 -0
- /package/dist/types/components/basic/{doc-editor/core → lexical-editor}/composables/useLexicalIsTextContentEmpty.d.ts +0 -0
- /package/dist/types/components/basic/{doc-editor/core → lexical-editor}/composables/useTableOfContents.d.ts +0 -0
- /package/dist/types/components/basic/{doc-editor/plugins/TemplatePlugin/commands.d.ts → lexical-editor/nodes/Template.d.ts} +0 -0
- /package/dist/types/components/basic/{doc-editor/core/plugins/LexicalAutoFocusPlugin.vue.d.ts → lexical-editor/plugins/AutoFocusPlugin.vue.d.ts} +0 -0
- /package/dist/types/components/basic/{doc-editor/core/plugins/LexicalCheckListPlugin.vue.d.ts → lexical-editor/plugins/ElementBlockSelectionPlugin.vue.d.ts} +0 -0
- /package/dist/types/components/basic/{doc-editor/core/plugins/LexicalHistoryPlugin.vue.d.ts → lexical-editor/plugins/HistoryPlugin.vue.d.ts} +0 -0
- /package/dist/types/components/basic/{doc-editor/core/plugins/LexicalLinkPlugin.vue.d.ts → lexical-editor/plugins/LinkPlugin.vue.d.ts} +0 -0
- /package/dist/types/components/basic/{doc-editor/core/plugins/LexicalHashtagPlugin.vue.d.ts → lexical-editor/plugins/NodeTreeViewPlugin.vue.d.ts} +0 -0
- /package/dist/types/components/basic/{doc-editor/core/plugins/LexicalListPlugin.vue.d.ts → lexical-editor/plugins/TabIndentationPlugin.vue.d.ts} +0 -0
- /package/dist/types/components/basic/{doc-editor/core/plugins/LexicalRichTextPlugin → lexical-editor/stage}/ContentEditable.vue.d.ts +0 -0
- /package/dist/types/components/basic/{doc-editor → lexical-editor}/utils/getSelectedNode.d.ts +0 -0
- /package/dist/types/components/basic/{doc-editor/plugins/ImagePlugin/utils.d.ts → lexical-editor/utils/image.d.ts} +0 -0
- /package/dist/types/components/basic/{doc-editor → lexical-editor}/utils/url.d.ts +0 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { OverflowNode, $isOverflowNode, $createOverflowNode } from "@lexical/overflow";
|
|
2
|
+
import { $rootTextContent } from "@lexical/text";
|
|
3
|
+
import { mergeRegister, $dfs } from "@lexical/utils";
|
|
4
|
+
import { $getSelection, $isRangeSelection, $isTextNode, $isLeafNode, $setSelection } from "lexical";
|
|
5
|
+
import { useMounted } from "./utils.js";
|
|
6
|
+
function useCharacterLimit(editor, maxCharacters, optional = Object.freeze({})) {
|
|
7
|
+
const {
|
|
8
|
+
strlen = (input) => input.length,
|
|
9
|
+
// UTF-16
|
|
10
|
+
remainingCharacters = (_characters) => {
|
|
11
|
+
}
|
|
12
|
+
} = optional;
|
|
13
|
+
useMounted(() => {
|
|
14
|
+
if (!editor.hasNodes([OverflowNode])) {
|
|
15
|
+
throw new Error("useCharacterLimit: OverflowNode not registered on editor");
|
|
16
|
+
}
|
|
17
|
+
let text = editor.getEditorState().read($rootTextContent);
|
|
18
|
+
let lastComputedTextLength = 0;
|
|
19
|
+
return mergeRegister(
|
|
20
|
+
editor.registerTextContentListener((currentText) => {
|
|
21
|
+
text = currentText;
|
|
22
|
+
}),
|
|
23
|
+
editor.registerUpdateListener(({ dirtyLeaves }) => {
|
|
24
|
+
const isComposing = editor.isComposing();
|
|
25
|
+
const hasDirtyLeaves = dirtyLeaves.size > 0;
|
|
26
|
+
if (isComposing || !hasDirtyLeaves)
|
|
27
|
+
return;
|
|
28
|
+
const textLength = strlen(text);
|
|
29
|
+
const textLengthAboveThreshold = textLength > maxCharacters || lastComputedTextLength !== null && lastComputedTextLength > maxCharacters;
|
|
30
|
+
const diff = maxCharacters - textLength;
|
|
31
|
+
remainingCharacters(diff);
|
|
32
|
+
if (lastComputedTextLength === null || textLengthAboveThreshold) {
|
|
33
|
+
const offset = findOffset(text, maxCharacters, strlen);
|
|
34
|
+
editor.update(
|
|
35
|
+
() => {
|
|
36
|
+
$wrapOverflowedNodes(offset);
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
tag: "history-merge"
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
lastComputedTextLength = textLength;
|
|
44
|
+
})
|
|
45
|
+
);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
function findOffset(text, maxCharacters, strlen) {
|
|
49
|
+
const Segmenter = Intl.Segmenter;
|
|
50
|
+
let offsetUtf16 = 0;
|
|
51
|
+
let offset = 0;
|
|
52
|
+
if (typeof Segmenter === "function") {
|
|
53
|
+
const segmenter = new Segmenter();
|
|
54
|
+
const graphemes = segmenter.segment(text);
|
|
55
|
+
for (const { segment: grapheme } of graphemes) {
|
|
56
|
+
const nextOffset = offset + strlen(grapheme);
|
|
57
|
+
if (nextOffset > maxCharacters)
|
|
58
|
+
break;
|
|
59
|
+
offset = nextOffset;
|
|
60
|
+
offsetUtf16 += grapheme.length;
|
|
61
|
+
}
|
|
62
|
+
} else {
|
|
63
|
+
const codepoints = Array.from(text);
|
|
64
|
+
const codepointsLength = codepoints.length;
|
|
65
|
+
for (let i = 0; i < codepointsLength; i++) {
|
|
66
|
+
const codepoint = codepoints[i];
|
|
67
|
+
const nextOffset = offset + strlen(codepoint);
|
|
68
|
+
if (nextOffset > maxCharacters)
|
|
69
|
+
break;
|
|
70
|
+
offset = nextOffset;
|
|
71
|
+
offsetUtf16 += codepoint.length;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return offsetUtf16;
|
|
75
|
+
}
|
|
76
|
+
function $wrapOverflowedNodes(offset) {
|
|
77
|
+
const dfsNodes = $dfs();
|
|
78
|
+
const dfsNodesLength = dfsNodes.length;
|
|
79
|
+
let accumulatedLength = 0;
|
|
80
|
+
for (let i = 0; i < dfsNodesLength; i += 1) {
|
|
81
|
+
const { node } = dfsNodes[i];
|
|
82
|
+
if ($isOverflowNode(node)) {
|
|
83
|
+
const previousLength = accumulatedLength;
|
|
84
|
+
const nextLength = accumulatedLength + node.getTextContentSize();
|
|
85
|
+
if (nextLength <= offset) {
|
|
86
|
+
const parent = node.getParent();
|
|
87
|
+
const previousSibling = node.getPreviousSibling();
|
|
88
|
+
const nextSibling = node.getNextSibling();
|
|
89
|
+
$unwrapNode(node);
|
|
90
|
+
const selection = $getSelection();
|
|
91
|
+
if ($isRangeSelection(selection) && (!selection.anchor.getNode().isAttached() || !selection.focus.getNode().isAttached())) {
|
|
92
|
+
if ($isTextNode(previousSibling))
|
|
93
|
+
previousSibling.select();
|
|
94
|
+
else if ($isTextNode(nextSibling))
|
|
95
|
+
nextSibling.select();
|
|
96
|
+
else if (parent !== null)
|
|
97
|
+
parent.select();
|
|
98
|
+
}
|
|
99
|
+
} else if (previousLength < offset) {
|
|
100
|
+
const descendant = node.getFirstDescendant();
|
|
101
|
+
const descendantLength = descendant !== null ? descendant.getTextContentSize() : 0;
|
|
102
|
+
const previousPlusDescendantLength = previousLength + descendantLength;
|
|
103
|
+
const firstDescendantIsSimpleText = $isTextNode(descendant) && descendant.isSimpleText();
|
|
104
|
+
const firstDescendantDoesNotOverflow = previousPlusDescendantLength <= offset;
|
|
105
|
+
if (firstDescendantIsSimpleText || firstDescendantDoesNotOverflow)
|
|
106
|
+
$unwrapNode(node);
|
|
107
|
+
}
|
|
108
|
+
} else if ($isLeafNode(node)) {
|
|
109
|
+
const previousAccumulatedLength = accumulatedLength;
|
|
110
|
+
accumulatedLength += node.getTextContentSize();
|
|
111
|
+
if (accumulatedLength > offset && !$isOverflowNode(node.getParent())) {
|
|
112
|
+
const previousSelection = $getSelection();
|
|
113
|
+
let overflowNode;
|
|
114
|
+
if (previousAccumulatedLength < offset && $isTextNode(node) && node.isSimpleText()) {
|
|
115
|
+
const [, overflowedText] = node.splitText(
|
|
116
|
+
offset - previousAccumulatedLength
|
|
117
|
+
);
|
|
118
|
+
overflowNode = $wrapNode(overflowedText);
|
|
119
|
+
} else {
|
|
120
|
+
overflowNode = $wrapNode(node);
|
|
121
|
+
}
|
|
122
|
+
if (previousSelection !== null)
|
|
123
|
+
$setSelection(previousSelection);
|
|
124
|
+
mergePrevious(overflowNode);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function $wrapNode(node) {
|
|
130
|
+
const overflowNode = $createOverflowNode();
|
|
131
|
+
node.insertBefore(overflowNode);
|
|
132
|
+
overflowNode.append(node);
|
|
133
|
+
return overflowNode;
|
|
134
|
+
}
|
|
135
|
+
function $unwrapNode(node) {
|
|
136
|
+
const children = node.getChildren();
|
|
137
|
+
const childrenLength = children.length;
|
|
138
|
+
for (let i = 0; i < childrenLength; i++)
|
|
139
|
+
node.insertBefore(children[i]);
|
|
140
|
+
node.remove();
|
|
141
|
+
return childrenLength > 0 ? children[childrenLength - 1] : null;
|
|
142
|
+
}
|
|
143
|
+
function mergePrevious(overflowNode) {
|
|
144
|
+
const previousNode = overflowNode.getPreviousSibling();
|
|
145
|
+
if (!$isOverflowNode(previousNode))
|
|
146
|
+
return;
|
|
147
|
+
const firstChild = overflowNode.getFirstChild();
|
|
148
|
+
const previousNodeChildren = previousNode.getChildren();
|
|
149
|
+
const previousNodeChildrenLength = previousNodeChildren.length;
|
|
150
|
+
if (firstChild === null) {
|
|
151
|
+
overflowNode.append(...previousNodeChildren);
|
|
152
|
+
} else {
|
|
153
|
+
for (let i = 0; i < previousNodeChildrenLength; i++)
|
|
154
|
+
firstChild.insertBefore(previousNodeChildren[i]);
|
|
155
|
+
}
|
|
156
|
+
const selection = $getSelection();
|
|
157
|
+
if ($isRangeSelection(selection)) {
|
|
158
|
+
const anchor = selection.anchor;
|
|
159
|
+
const anchorNode = anchor.getNode();
|
|
160
|
+
const focus = selection.focus;
|
|
161
|
+
const focusNode = anchor.getNode();
|
|
162
|
+
if (anchorNode.is(previousNode)) {
|
|
163
|
+
anchor.set(overflowNode.getKey(), anchor.offset, "element");
|
|
164
|
+
} else if (anchorNode.is(overflowNode)) {
|
|
165
|
+
anchor.set(
|
|
166
|
+
overflowNode.getKey(),
|
|
167
|
+
previousNodeChildrenLength + anchor.offset,
|
|
168
|
+
"element"
|
|
169
|
+
);
|
|
170
|
+
}
|
|
171
|
+
if (focusNode.is(previousNode)) {
|
|
172
|
+
focus.set(overflowNode.getKey(), focus.offset, "element");
|
|
173
|
+
} else if (focusNode.is(overflowNode)) {
|
|
174
|
+
focus.set(
|
|
175
|
+
overflowNode.getKey(),
|
|
176
|
+
previousNodeChildrenLength + focus.offset,
|
|
177
|
+
"element"
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
previousNode.remove();
|
|
182
|
+
}
|
|
183
|
+
export {
|
|
184
|
+
mergePrevious,
|
|
185
|
+
useCharacterLimit
|
|
186
|
+
};
|
|
187
|
+
//# sourceMappingURL=useCharacterLimit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useCharacterLimit.js","sources":["../../../../../../src/components/basic/lexical-editor/composables/useCharacterLimit.ts"],"sourcesContent":["import type { LexicalEditor, LexicalNode } from 'lexical'\r\n\r\nimport {\r\n $createOverflowNode,\r\n $isOverflowNode,\r\n OverflowNode,\r\n} from '@lexical/overflow'\r\nimport { $rootTextContent } from '@lexical/text'\r\nimport { $dfs, mergeRegister } from '@lexical/utils'\r\nimport {\r\n $getSelection,\r\n $isLeafNode,\r\n $isRangeSelection,\r\n $isTextNode,\r\n $setSelection,\r\n} from 'lexical'\r\n\r\nimport { useMounted } from './utils'\r\n\r\ninterface OptionalProps {\r\n remainingCharacters?: (characters: number) => void\r\n strlen?: (input: string) => number\r\n}\r\n\r\nexport function useCharacterLimit(\r\n editor: LexicalEditor,\r\n maxCharacters: number,\r\n optional: OptionalProps = Object.freeze({}),\r\n) {\r\n const {\r\n strlen = input => input.length, // UTF-16\r\n remainingCharacters = (_characters) => {},\r\n } = optional\r\n\r\n useMounted(() => {\r\n\r\n if (!editor.hasNodes([OverflowNode])) {\r\n throw new Error('useCharacterLimit: OverflowNode not registered on editor')\r\n }\r\n\r\n let text = editor.getEditorState().read($rootTextContent)\r\n let lastComputedTextLength = 0\r\n\r\n return mergeRegister(\r\n editor.registerTextContentListener((currentText: string) => {\r\n text = currentText\r\n }),\r\n editor.registerUpdateListener(({ dirtyLeaves }) => {\r\n const isComposing = editor.isComposing()\r\n const hasDirtyLeaves = dirtyLeaves.size > 0\r\n if (isComposing || !hasDirtyLeaves)\r\n return\r\n\r\n const textLength = strlen(text)\r\n const textLengthAboveThreshold\r\n = textLength > maxCharacters\r\n || (lastComputedTextLength !== null\r\n && lastComputedTextLength > maxCharacters)\r\n const diff = maxCharacters - textLength\r\n remainingCharacters(diff)\r\n if (lastComputedTextLength === null || textLengthAboveThreshold) {\r\n const offset = findOffset(text, maxCharacters, strlen)\r\n editor.update(\r\n () => {\r\n $wrapOverflowedNodes(offset)\r\n },\r\n {\r\n tag: 'history-merge',\r\n },\r\n )\r\n }\r\n lastComputedTextLength = textLength\r\n }),\r\n )\r\n })\r\n}\r\n\r\nfunction findOffset( text: string, maxCharacters: number, strlen: (input: string) => number): number {\r\n\r\n const Segmenter = (Intl as any).Segmenter\r\n\r\n let offsetUtf16 = 0\r\n let offset = 0\r\n\r\n if (typeof Segmenter === 'function') {\r\n const segmenter = new Segmenter()\r\n const graphemes = segmenter.segment(text)\r\n\r\n for (const { segment: grapheme } of graphemes) {\r\n const nextOffset = offset + strlen(grapheme)\r\n\r\n if (nextOffset > maxCharacters)\r\n break\r\n\r\n offset = nextOffset\r\n offsetUtf16 += grapheme.length\r\n }\r\n }\r\n else {\r\n const codepoints = Array.from(text)\r\n const codepointsLength = codepoints.length\r\n\r\n for (let i = 0; i < codepointsLength; i++) {\r\n const codepoint = codepoints[i]\r\n const nextOffset = offset + strlen(codepoint)\r\n\r\n if (nextOffset > maxCharacters)\r\n break\r\n\r\n offset = nextOffset\r\n offsetUtf16 += codepoint.length\r\n }\r\n }\r\n\r\n return offsetUtf16\r\n}\r\n\r\nfunction $wrapOverflowedNodes(offset: number): void {\r\n const dfsNodes = $dfs()\r\n const dfsNodesLength = dfsNodes.length\r\n let accumulatedLength = 0\r\n\r\n for (let i = 0; i < dfsNodesLength; i += 1) {\r\n const { node } = dfsNodes[i]\r\n\r\n if ($isOverflowNode(node)) {\r\n const previousLength = accumulatedLength\r\n const nextLength = accumulatedLength + node.getTextContentSize()\r\n\r\n if (nextLength <= offset) {\r\n const parent = node.getParent()\r\n const previousSibling = node.getPreviousSibling()\r\n const nextSibling = node.getNextSibling()\r\n $unwrapNode(node)\r\n const selection = $getSelection()\r\n\r\n // Restore selection when the overflow children are removed\r\n if (\r\n $isRangeSelection(selection)\r\n && (!selection.anchor.getNode().isAttached()\r\n || !selection.focus.getNode().isAttached())\r\n ) {\r\n if ($isTextNode(previousSibling))\r\n previousSibling.select()\r\n else if ($isTextNode(nextSibling))\r\n nextSibling.select()\r\n else if (parent !== null)\r\n parent.select()\r\n }\r\n }\r\n else if (previousLength < offset) {\r\n const descendant = node.getFirstDescendant()\r\n const descendantLength\r\n = descendant !== null ? descendant.getTextContentSize() : 0\r\n const previousPlusDescendantLength = previousLength + descendantLength\r\n // For simple text we can redimension the overflow into a smaller and more accurate\r\n // container\r\n const firstDescendantIsSimpleText\r\n = $isTextNode(descendant) && descendant.isSimpleText()\r\n const firstDescendantDoesNotOverflow\r\n = previousPlusDescendantLength <= offset\r\n\r\n if (firstDescendantIsSimpleText || firstDescendantDoesNotOverflow)\r\n $unwrapNode(node)\r\n }\r\n }\r\n else if ($isLeafNode(node)) {\r\n const previousAccumulatedLength = accumulatedLength\r\n accumulatedLength += node.getTextContentSize()\r\n\r\n if (accumulatedLength > offset && !$isOverflowNode(node.getParent())) {\r\n const previousSelection = $getSelection()\r\n let overflowNode\r\n\r\n // For simple text we can improve the limit accuracy by splitting the TextNode\r\n // on the split point\r\n if (\r\n previousAccumulatedLength < offset\r\n && $isTextNode(node)\r\n && node.isSimpleText()\r\n ) {\r\n const [, overflowedText] = node.splitText(\r\n offset - previousAccumulatedLength,\r\n )\r\n overflowNode = $wrapNode(overflowedText)\r\n }\r\n else {\r\n overflowNode = $wrapNode(node)\r\n }\r\n\r\n if (previousSelection !== null)\r\n $setSelection(previousSelection)\r\n\r\n mergePrevious(overflowNode)\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction $wrapNode(node: LexicalNode): OverflowNode {\r\n const overflowNode = $createOverflowNode()\r\n node.insertBefore(overflowNode)\r\n overflowNode.append(node)\r\n return overflowNode\r\n}\r\n\r\nfunction $unwrapNode(node: OverflowNode): LexicalNode | null {\r\n const children = node.getChildren()\r\n const childrenLength = children.length\r\n\r\n for (let i = 0; i < childrenLength; i++)\r\n node.insertBefore(children[i])\r\n\r\n node.remove()\r\n return childrenLength > 0 ? children[childrenLength - 1] : null\r\n}\r\n\r\nexport function mergePrevious(overflowNode: OverflowNode): void {\r\n const previousNode = overflowNode.getPreviousSibling()\r\n\r\n if (!$isOverflowNode(previousNode))\r\n return\r\n\r\n const firstChild = overflowNode.getFirstChild()\r\n const previousNodeChildren = previousNode.getChildren()\r\n const previousNodeChildrenLength = previousNodeChildren.length\r\n\r\n if (firstChild === null) {\r\n overflowNode.append(...previousNodeChildren)\r\n }\r\n else {\r\n for (let i = 0; i < previousNodeChildrenLength; i++)\r\n firstChild.insertBefore(previousNodeChildren[i])\r\n }\r\n\r\n const selection = $getSelection()\r\n\r\n if ($isRangeSelection(selection)) {\r\n const anchor = selection.anchor\r\n const anchorNode = anchor.getNode()\r\n const focus = selection.focus\r\n const focusNode = anchor.getNode()\r\n\r\n if (anchorNode.is(previousNode)) {\r\n anchor.set(overflowNode.getKey(), anchor.offset, 'element')\r\n }\r\n else if (anchorNode.is(overflowNode)) {\r\n anchor.set(\r\n overflowNode.getKey(),\r\n previousNodeChildrenLength + anchor.offset,\r\n 'element',\r\n )\r\n }\r\n\r\n if (focusNode.is(previousNode)) {\r\n focus.set(overflowNode.getKey(), focus.offset, 'element')\r\n }\r\n else if (focusNode.is(overflowNode)) {\r\n focus.set(\r\n overflowNode.getKey(),\r\n previousNodeChildrenLength + focus.offset,\r\n 'element',\r\n )\r\n }\r\n }\r\n\r\n previousNode.remove()\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { createCommand, $getNodeByKey, $getSelection, $isNodeSelection, $createNodeSelection, $setSelection } from "lexical";
|
|
2
|
+
import { unref } from "vue";
|
|
3
|
+
const SELECTED_ELEMENTBLOCK_COMMAND = createCommand("SELECTED_ELEMENTBLOCK_COMMAND");
|
|
4
|
+
const REMOVE_ELEMENTBLOCK_COMMAND = createCommand("REMOVE_ELEMENTBLOCK_COMMAND");
|
|
5
|
+
const UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND = createCommand("UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND");
|
|
6
|
+
const isNodeSelected = function(editor, key) {
|
|
7
|
+
return editor.getEditorState().read(() => {
|
|
8
|
+
const node = $getNodeByKey(key);
|
|
9
|
+
if (node === null)
|
|
10
|
+
return false;
|
|
11
|
+
return node.isSelected();
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
const clearSelection = (editor) => {
|
|
15
|
+
return new Promise((resolove) => {
|
|
16
|
+
editor.update(() => {
|
|
17
|
+
const selection = $getSelection();
|
|
18
|
+
if ($isNodeSelection(selection) && selection) {
|
|
19
|
+
selection.clear();
|
|
20
|
+
}
|
|
21
|
+
resolove(void 0);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
const setSelected = (editor, selected, key) => {
|
|
26
|
+
return new Promise((resolove) => {
|
|
27
|
+
editor.update(() => {
|
|
28
|
+
let selection = $getSelection();
|
|
29
|
+
if (!$isNodeSelection(selection)) {
|
|
30
|
+
selection = $createNodeSelection();
|
|
31
|
+
$setSelection(selection);
|
|
32
|
+
}
|
|
33
|
+
if ($isNodeSelection(selection)) {
|
|
34
|
+
if (selected)
|
|
35
|
+
selection.add(unref(key));
|
|
36
|
+
else
|
|
37
|
+
selection.delete(unref(key));
|
|
38
|
+
}
|
|
39
|
+
resolove(void 0);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
const setElementBlockSelection = async (editor, nodeKey) => {
|
|
44
|
+
await clearSelection(editor);
|
|
45
|
+
await setSelected(editor, true, nodeKey);
|
|
46
|
+
};
|
|
47
|
+
export {
|
|
48
|
+
REMOVE_ELEMENTBLOCK_COMMAND,
|
|
49
|
+
SELECTED_ELEMENTBLOCK_COMMAND,
|
|
50
|
+
UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND,
|
|
51
|
+
clearSelection,
|
|
52
|
+
isNodeSelected,
|
|
53
|
+
setElementBlockSelection,
|
|
54
|
+
setSelected
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=useElementBlockSelection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useElementBlockSelection.js","sources":["../../../../../../src/components/basic/lexical-editor/composables/useElementBlockSelection.ts"],"sourcesContent":["\r\n\r\nimport { mergeRegister } from '@lexical/utils'\r\n\r\nimport {\r\n $createNodeSelection,\r\n $getNodeByKey,\r\n $getSelection,\r\n $isNodeSelection,\r\n $setSelection,\r\n COMMAND_PRIORITY_LOW,CLICK_COMMAND, LexicalCommand, createCommand, NodeKey, LexicalEditor,\r\n SELECTION_CHANGE_COMMAND\r\n} from 'lexical'\r\nimport { useLexicalEditorContext } from './lexicalEditor'\r\nimport { useMounted } from './utils'\r\nimport { unref } from 'vue'\r\n\r\n/**\r\n * toolsbar的函数\r\n */\r\nexport type SelectElementBlockToolsbarFunction = (nodeKey?:NodeKey | string)=>Array<any>|null;\r\n\r\n/**\r\n * 选中元素快\r\n */\r\nexport const SELECTED_ELEMENTBLOCK_COMMAND: LexicalCommand<NodeKey|string|null> = createCommand('SELECTED_ELEMENTBLOCK_COMMAND')\r\n\r\n/**\r\n * 移除元素快\r\n */\r\nexport const REMOVE_ELEMENTBLOCK_COMMAND: LexicalCommand<undefined|null> = createCommand('REMOVE_ELEMENTBLOCK_COMMAND')\r\n\r\n/**\r\n * 更新模块工具条位置信息\r\n */\r\nexport const UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND: LexicalCommand<undefined|null> = createCommand('UPDATE_ELEMENTBLOCK_TOOLBAR_POS_COMMAND')\r\n\r\n/**\r\n * 判断选中的方法\r\n */\r\nexport type SelectExistFunc = (el:HTMLElement)=>HTMLElement|null\r\n\r\n/**\r\n * 判断选中的方法\r\n */\r\nexport type ElementSelectionHandle = (el:HTMLElement)=>undefined\r\n\r\n// isNodeSelected \r\nexport const isNodeSelected = function (editor: LexicalEditor, key: NodeKey): boolean {\r\n return editor.getEditorState().read(() => {\r\n const node = $getNodeByKey(key)\r\n if (node === null)\r\n return false\r\n return node.isSelected()\r\n })\r\n}\r\n\r\n// 取消选中\r\nexport const clearSelection = (editor: LexicalEditor):Promise<undefined> => {\r\n return new Promise(resolove=>{\r\n editor.update(() => {\r\n const selection = $getSelection()\r\n if ($isNodeSelection(selection) && selection){\r\n selection.clear();\r\n }\r\n resolove(undefined)\r\n })\r\n })\r\n}\r\n\r\n// 设置选中\r\nexport const setSelected = (editor: LexicalEditor,selected: boolean,key:string):Promise<undefined> => {\r\n\r\n return new Promise(resolove=>{\r\n editor.update(() => {\r\n let selection = $getSelection()\r\n \r\n if (!$isNodeSelection(selection)) {\r\n selection = $createNodeSelection()\r\n $setSelection(selection)\r\n }\r\n if ($isNodeSelection(selection)) {\r\n if (selected)\r\n selection.add(unref(key))\r\n else\r\n selection.delete(unref(key))\r\n }\r\n resolove(undefined)\r\n })\r\n })\r\n \r\n}\r\n\r\n// 设置选中\r\nexport const setElementBlockSelection = async (editor:LexicalEditor,nodeKey:string)=>{\r\n await clearSelection(editor);\r\n await setSelected(editor,true,nodeKey);\r\n}\r\n"],"names":[],"mappings":";;AAyBa,MAAA,gCAAqE,cAAc,+BAA+B;AAKlH,MAAA,8BAA8D,cAAc,6BAA6B;AAKzG,MAAA,0CAA0E,cAAc,yCAAyC;AAajI,MAAA,iBAAiB,SAAU,QAAuB,KAAuB;AACpF,SAAO,OAAO,iBAAiB,KAAK,MAAM;AAClC,UAAA,OAAO,cAAc,GAAG;AAC9B,QAAI,SAAS;AACJ,aAAA;AACT,WAAO,KAAK;EAAW,CACxB;AACH;AAGa,MAAA,iBAAiB,CAAC,WAA6C;AACnE,SAAA,IAAI,QAAQ,CAAU,aAAA;AAC3B,WAAO,OAAO,MAAM;AAClB,YAAM,YAAY;AACd,UAAA,iBAAiB,SAAS,KAAK,WAAU;AAC3C,kBAAU,MAAM;AAAA,MAClB;AACA,eAAS,MAAS;AAAA,IAAA,CACnB;AAAA,EAAA,CACF;AACH;AAGO,MAAM,cAAc,CAAC,QAAsB,UAAkB,QAAkC;AAE7F,SAAA,IAAI,QAAQ,CAAU,aAAA;AAC3B,WAAO,OAAO,MAAM;AAClB,UAAI,YAAY;AAEZ,UAAA,CAAC,iBAAiB,SAAS,GAAG;AAChC,oBAAY,qBAAqB;AACjC,sBAAc,SAAS;AAAA,MACzB;AACI,UAAA,iBAAiB,SAAS,GAAG;AAC3B,YAAA;AACQ,oBAAA,IAAI,MAAM,GAAG,CAAC;AAAA;AAEd,oBAAA,OAAO,MAAM,GAAG,CAAC;AAAA,MAC/B;AACA,eAAS,MAAS;AAAA,IAAA,CACnB;AAAA,EAAA,CACF;AAEH;AAGa,MAAA,2BAA2B,OAAO,QAAqB,YAAiB;AACnF,QAAM,eAAe,MAAM;AACrB,QAAA,YAAY,QAAO,MAAK,OAAO;AACvC;"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { COMMAND_PRIORITY_HIGH } from "lexical";
|
|
2
|
+
import { ref, readonly } from "vue";
|
|
3
|
+
import { useMounted } from "./utils.js";
|
|
4
|
+
function useLexicalCommandsLog(editor) {
|
|
5
|
+
const loggedCommands = ref([]);
|
|
6
|
+
useMounted(() => {
|
|
7
|
+
const unregisterCommandListeners = /* @__PURE__ */ new Set();
|
|
8
|
+
for (const [command] of editor._commands) {
|
|
9
|
+
unregisterCommandListeners.add(
|
|
10
|
+
editor.registerCommand(
|
|
11
|
+
command,
|
|
12
|
+
(payload) => {
|
|
13
|
+
loggedCommands.value = [
|
|
14
|
+
...loggedCommands.value,
|
|
15
|
+
{
|
|
16
|
+
payload,
|
|
17
|
+
type: command.type ? command.type : "UNKNOWN"
|
|
18
|
+
}
|
|
19
|
+
];
|
|
20
|
+
if (loggedCommands.value.length > 10)
|
|
21
|
+
loggedCommands.value.shift();
|
|
22
|
+
return false;
|
|
23
|
+
},
|
|
24
|
+
COMMAND_PRIORITY_HIGH
|
|
25
|
+
)
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
return () => {
|
|
29
|
+
unregisterCommandListeners.forEach((unregister) => unregister());
|
|
30
|
+
};
|
|
31
|
+
});
|
|
32
|
+
return readonly(loggedCommands);
|
|
33
|
+
}
|
|
34
|
+
export {
|
|
35
|
+
useLexicalCommandsLog
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=useLexicalCommandsLog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLexicalCommandsLog.js","sources":["../../../../../../src/components/basic/lexical-editor/composables/useLexicalCommandsLog.ts"],"sourcesContent":["import { COMMAND_PRIORITY_HIGH, type LexicalCommand, type LexicalEditor } from 'lexical'\r\nimport { readonly, ref } from 'vue'\r\nimport { useMounted } from './utils'\r\n\r\nexport function useLexicalCommandsLog(\r\n editor: LexicalEditor,\r\n) {\r\n const loggedCommands = ref<Array<LexicalCommand<unknown> & { payload: unknown }>>([])\r\n\r\n useMounted(() => {\r\n \r\n const unregisterCommandListeners = new Set<() => void>()\r\n\r\n for (const [command] of editor._commands) {\r\n unregisterCommandListeners.add(\r\n editor.registerCommand(\r\n command,\r\n (payload) => {\r\n loggedCommands.value = [\r\n ...loggedCommands.value,\r\n {\r\n payload,\r\n type: command.type ? command.type : 'UNKNOWN',\r\n },\r\n ]\r\n\r\n if (loggedCommands.value.length > 10)\r\n loggedCommands.value.shift()\r\n\r\n return false\r\n },\r\n COMMAND_PRIORITY_HIGH,\r\n ),\r\n )\r\n }\r\n\r\n return () => {\r\n unregisterCommandListeners.forEach(unregister => unregister())\r\n }\r\n })\r\n\r\n return readonly(loggedCommands)\r\n}\r\n"],"names":[],"mappings":";;;AAIO,SAAS,sBACd,QACA;AACM,QAAA,iBAAiB,IAA2D,CAAA,CAAE;AAEpF,aAAW,MAAM;AAET,UAAA,iDAAiC;AAEvC,eAAW,CAAC,OAAO,KAAK,OAAO,WAAW;AACb,iCAAA;AAAA,QACzB,OAAO;AAAA,UACL;AAAA,UACA,CAAC,YAAY;AACX,2BAAe,QAAQ;AAAA,cACrB,GAAG,eAAe;AAAA,cAClB;AAAA,gBACE;AAAA,gBACA,MAAM,QAAQ,OAAO,QAAQ,OAAO;AAAA,cACtC;AAAA,YAAA;AAGE,gBAAA,eAAe,MAAM,SAAS;AAChC,6BAAe,MAAM;AAEhB,mBAAA;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,MAAA;AAAA,IAEJ;AAEA,WAAO,MAAM;AACgB,iCAAA,QAAQ,CAAc,eAAA,WAAY,CAAA;AAAA,IAAA;AAAA,EAC/D,CACD;AAED,SAAO,SAAS,cAAc;AAChC;"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
import { ref } from "vue";
|
|
2
|
+
import { CAN_UNDO_COMMAND, CAN_REDO_COMMAND, $getSelection, $isRangeSelection, $isElementNode, $isNodeSelection, FORMAT_TEXT_COMMAND, $createParagraphNode, UNDO_COMMAND, REDO_COMMAND } from "lexical";
|
|
3
|
+
import { mergeRegister, $findMatchingParent } from "@lexical/utils";
|
|
4
|
+
import { useMounted } from "./utils.js";
|
|
5
|
+
import { $getSelectionStyleValueForProperty, $patchStyleText, $setBlocksType } from "@lexical/selection";
|
|
6
|
+
import { $isLinkNode, TOGGLE_LINK_COMMAND } from "@lexical/link";
|
|
7
|
+
import { $isHeadingNode, $createHeadingNode } from "@lexical/rich-text";
|
|
8
|
+
import { useLexicalEditorContext } from "./lexicalEditor.js";
|
|
9
|
+
import "../utils/html.js";
|
|
10
|
+
import { sanitizeUrl } from "../utils/url.js";
|
|
11
|
+
import { showLinkEditDialog } from "../utils/link-edit-dialog.js";
|
|
12
|
+
import "../utils/image.js";
|
|
13
|
+
import "@maketribe/dm";
|
|
14
|
+
import "element-plus";
|
|
15
|
+
import "@element-plus/icons-vue";
|
|
16
|
+
import "@lexical/overflow";
|
|
17
|
+
import "@lexical/text";
|
|
18
|
+
import "./useElementBlockSelection.js";
|
|
19
|
+
const CommandLowPriority = 1;
|
|
20
|
+
const FONT_FAMILY = "微软雅黑='微软雅黑';宋体='宋体';黑体='黑体';仿宋='仿宋';楷体='楷体';隶书='隶书';幼圆='幼圆';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings".split(";");
|
|
21
|
+
const addFontSizeToOptions = function(options, size, rootSize = 14) {
|
|
22
|
+
options.push({ value: `${Math.round(size / rootSize * 100) / 100}rem`, label: size + "px" });
|
|
23
|
+
};
|
|
24
|
+
const useLexicalEditorState = function(editor, options) {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
if (!editor) {
|
|
27
|
+
editor = useLexicalEditorContext().editor;
|
|
28
|
+
}
|
|
29
|
+
if (!options) {
|
|
30
|
+
options = { rootFontSize: 14, fontfamilyOptoins: [], fontSizeOptions: [] };
|
|
31
|
+
}
|
|
32
|
+
options.rootFontSize ?? (options.rootFontSize = 14);
|
|
33
|
+
if (!((_a = options == null ? void 0 : options.fontSizeOptions) == null ? void 0 : _a.length)) {
|
|
34
|
+
options.fontSizeOptions = [];
|
|
35
|
+
for (let i = 0; i < 80; i += 2) {
|
|
36
|
+
addFontSizeToOptions(options.fontSizeOptions, 10 + i, options.rootFontSize);
|
|
37
|
+
if (i >= 2 && i < 22) {
|
|
38
|
+
addFontSizeToOptions(options.fontSizeOptions, 10 + i + 0.5, options.rootFontSize);
|
|
39
|
+
addFontSizeToOptions(options.fontSizeOptions, 10 + i + 1, options.rootFontSize);
|
|
40
|
+
addFontSizeToOptions(options.fontSizeOptions, 10 + i + 1.5, options.rootFontSize);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (!((_b = options == null ? void 0 : options.fontfamilyOptoins) == null ? void 0 : _b.length)) {
|
|
45
|
+
options.fontfamilyOptoins = [{ value: "", label: "默认字体" }].concat(FONT_FAMILY.map((fv) => {
|
|
46
|
+
let fvl = fv.split("="), label = fvl[0], value = fvl[1] || `'${label}'`;
|
|
47
|
+
return { value, label };
|
|
48
|
+
}));
|
|
49
|
+
}
|
|
50
|
+
const canUndo = ref(false);
|
|
51
|
+
const canRedo = ref(false);
|
|
52
|
+
const fontSize = ref(options.rootFontSize + "px");
|
|
53
|
+
const fontColor = ref("#000");
|
|
54
|
+
const bgColor = ref("#fff");
|
|
55
|
+
const fontFamily = ref(options.fontfamilyOptoins[0]);
|
|
56
|
+
const canBold = ref(false);
|
|
57
|
+
const canItalic = ref(false);
|
|
58
|
+
const canUnderline = ref(false);
|
|
59
|
+
const canStrikethrough = ref(false);
|
|
60
|
+
const canSubscript = ref(false);
|
|
61
|
+
const canSuperscript = ref(false);
|
|
62
|
+
const alignList = ref(["left", "center", "right", "justify"]);
|
|
63
|
+
const alignValue = ref(alignList.value[0]);
|
|
64
|
+
const canLink = ref(false);
|
|
65
|
+
const linkValue = ref("");
|
|
66
|
+
const canTextStyleDisabled = ref(false);
|
|
67
|
+
const contentTypeList = [
|
|
68
|
+
{ value: "paragraph", label: "正文" },
|
|
69
|
+
{ value: "h1", label: "标题 1" },
|
|
70
|
+
{ value: "h2", label: "标题 2" },
|
|
71
|
+
{ value: "h3", label: "标题 3" },
|
|
72
|
+
{ value: "h4", label: "标题 4" },
|
|
73
|
+
{ value: "h5", label: "标题 5" }
|
|
74
|
+
];
|
|
75
|
+
const curContentTypeDesc = ref("正文");
|
|
76
|
+
const activeNode = ref(null);
|
|
77
|
+
const setTextStyle = function(token, value) {
|
|
78
|
+
if (["bold", "italic", "underline", "strikethrough", "subscript", "superscript"].indexOf(token) >= 0) {
|
|
79
|
+
editor.dispatchCommand(FORMAT_TEXT_COMMAND, token);
|
|
80
|
+
} else if (token == "link") {
|
|
81
|
+
if (canLink.value) {
|
|
82
|
+
editor.dispatchCommand(TOGGLE_LINK_COMMAND, null);
|
|
83
|
+
} else {
|
|
84
|
+
showLinkEditDialog("").then((href) => {
|
|
85
|
+
if (href.trim()) {
|
|
86
|
+
editor.dispatchCommand(TOGGLE_LINK_COMMAND, sanitizeUrl(href));
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
} else {
|
|
91
|
+
editor.update(() => {
|
|
92
|
+
const selection = $getSelection();
|
|
93
|
+
if (selection !== null) {
|
|
94
|
+
$patchStyleText(selection, { [token]: value });
|
|
95
|
+
}
|
|
96
|
+
}, {});
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const setContentType = function(type) {
|
|
100
|
+
const contentType = contentTypeList.find((item) => item.value == type);
|
|
101
|
+
editor.update(() => {
|
|
102
|
+
const selection = $getSelection();
|
|
103
|
+
if ($isRangeSelection(selection)) {
|
|
104
|
+
$patchStyleText(selection, { ["font-size"]: "" });
|
|
105
|
+
if (contentType.value == "paragraph") {
|
|
106
|
+
if (canSubscript.value) {
|
|
107
|
+
editor.dispatchCommand(FORMAT_TEXT_COMMAND, "subscript");
|
|
108
|
+
} else if (canSuperscript.value) {
|
|
109
|
+
editor.dispatchCommand(FORMAT_TEXT_COMMAND, "superscript");
|
|
110
|
+
} else {
|
|
111
|
+
$setBlocksType(selection, () => $createParagraphNode());
|
|
112
|
+
}
|
|
113
|
+
} else {
|
|
114
|
+
$setBlocksType(selection, () => {
|
|
115
|
+
return $createHeadingNode(contentType.value);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
curContentTypeDesc.value = contentType.label;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
useMounted(() => {
|
|
123
|
+
return mergeRegister(
|
|
124
|
+
editor.registerCommand(CAN_UNDO_COMMAND, (payload) => {
|
|
125
|
+
canUndo.value = payload;
|
|
126
|
+
return false;
|
|
127
|
+
}, CommandLowPriority),
|
|
128
|
+
editor.registerCommand(CAN_REDO_COMMAND, (payload) => {
|
|
129
|
+
canRedo.value = payload;
|
|
130
|
+
return false;
|
|
131
|
+
}, CommandLowPriority),
|
|
132
|
+
// 其他状态
|
|
133
|
+
editor.registerUpdateListener(({ editorState }) => {
|
|
134
|
+
editorState.read(() => {
|
|
135
|
+
var _a2, _b2, _c, _d, _e, _f, _g, _h;
|
|
136
|
+
const selection = $getSelection();
|
|
137
|
+
if ($isRangeSelection(selection)) {
|
|
138
|
+
const anchorNode = selection.anchor.getNode();
|
|
139
|
+
let parentNode = anchorNode.getKey() === "root" ? anchorNode : $findMatchingParent(anchorNode, (e) => {
|
|
140
|
+
const parent2 = e.getParent();
|
|
141
|
+
return parent2 !== null && $isElementNode(parent2);
|
|
142
|
+
});
|
|
143
|
+
if (parentNode === null) {
|
|
144
|
+
parentNode = anchorNode.getTopLevelElementOrThrow();
|
|
145
|
+
}
|
|
146
|
+
let parentDOM = editor.getElementByKey(parentNode.getKey());
|
|
147
|
+
alignValue.value = (parentDOM == null ? void 0 : parentDOM.style.textAlign) || "left";
|
|
148
|
+
if (alignValue.value == "start") {
|
|
149
|
+
alignValue.value = "left";
|
|
150
|
+
} else if (alignValue.value == "end") {
|
|
151
|
+
alignValue.value = "right";
|
|
152
|
+
}
|
|
153
|
+
canBold.value = selection.hasFormat("bold");
|
|
154
|
+
canItalic.value = selection.hasFormat("italic");
|
|
155
|
+
canUnderline.value = selection.hasFormat("underline");
|
|
156
|
+
canStrikethrough.value = selection.hasFormat("strikethrough");
|
|
157
|
+
canSubscript.value = selection.hasFormat("subscript");
|
|
158
|
+
canSuperscript.value = selection.hasFormat("superscript");
|
|
159
|
+
if (canSubscript.value) {
|
|
160
|
+
curContentTypeDesc.value = ((_a2 = contentTypeList.find((item) => item.value == "subscript")) == null ? void 0 : _a2.label) ?? "正文";
|
|
161
|
+
} else if (canSuperscript.value) {
|
|
162
|
+
curContentTypeDesc.value = ((_b2 = contentTypeList.find((item) => item.value == "superscript")) == null ? void 0 : _b2.label) ?? "正文";
|
|
163
|
+
} else if (parentDOM !== null) {
|
|
164
|
+
const type = $isHeadingNode(parentNode) ? parentNode.getTag() : parentNode.getType();
|
|
165
|
+
curContentTypeDesc.value = ((_c = contentTypeList.find((item) => item.value == type)) == null ? void 0 : _c.label) ?? "正文";
|
|
166
|
+
}
|
|
167
|
+
var ff = $getSelectionStyleValueForProperty(selection, "font-family", "");
|
|
168
|
+
let fs = $getSelectionStyleValueForProperty(selection, "font-size", "");
|
|
169
|
+
if (fs) {
|
|
170
|
+
fontSize.value = Math.round(parseFloat(fs) * options.rootFontSize) + "px";
|
|
171
|
+
} else if (parentDOM) {
|
|
172
|
+
fontSize.value = ((_e = (_d = editor.getRootElement()) == null ? void 0 : _d.ownerDocument.defaultView) == null ? void 0 : _e.getComputedStyle(parentDOM).fontSize) ?? Math.round(options.rootFontSize) + "px";
|
|
173
|
+
} else {
|
|
174
|
+
fontSize.value = Math.round(options.rootFontSize) + "px";
|
|
175
|
+
}
|
|
176
|
+
if (!ff && parentDOM) {
|
|
177
|
+
ff = ((_g = (_f = editor.getRootElement()) == null ? void 0 : _f.ownerDocument.defaultView) == null ? void 0 : _g.getComputedStyle(parentDOM).fontFamily) ?? "";
|
|
178
|
+
}
|
|
179
|
+
fontColor.value = $getSelectionStyleValueForProperty(selection, "color", "#000");
|
|
180
|
+
bgColor.value = $getSelectionStyleValueForProperty(selection, "background-color", "");
|
|
181
|
+
fontFamily.value = ((_h = options.fontfamilyOptoins) == null ? void 0 : _h.find((item) => item.value == ff)) || options.fontfamilyOptoins[0];
|
|
182
|
+
canTextStyleDisabled.value = false;
|
|
183
|
+
const parent = anchorNode.getParent();
|
|
184
|
+
if (canLink.value = $isLinkNode(parent) || $isLinkNode(anchorNode)) {
|
|
185
|
+
linkValue.value = $isLinkNode(parent) ? parent.getURL() : anchorNode.getURL();
|
|
186
|
+
} else {
|
|
187
|
+
linkValue.value = "";
|
|
188
|
+
}
|
|
189
|
+
activeNode.value = anchorNode;
|
|
190
|
+
} else {
|
|
191
|
+
canTextStyleDisabled.value = true;
|
|
192
|
+
activeNode.value = $isNodeSelection(selection) ? selection.getNodes()[0] : null;
|
|
193
|
+
curContentTypeDesc.value = "正文";
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
})
|
|
197
|
+
);
|
|
198
|
+
});
|
|
199
|
+
const undoCommand = () => {
|
|
200
|
+
editor.dispatchCommand(UNDO_COMMAND, void 0);
|
|
201
|
+
};
|
|
202
|
+
const redoCommand = () => {
|
|
203
|
+
editor.dispatchCommand(REDO_COMMAND, void 0);
|
|
204
|
+
};
|
|
205
|
+
return {
|
|
206
|
+
canUndo,
|
|
207
|
+
undoCommand,
|
|
208
|
+
canRedo,
|
|
209
|
+
redoCommand,
|
|
210
|
+
canTextStyleDisabled,
|
|
211
|
+
setTextStyle,
|
|
212
|
+
fontSize,
|
|
213
|
+
fontSizeOptions: options.fontSizeOptions,
|
|
214
|
+
fontColor,
|
|
215
|
+
bgColor,
|
|
216
|
+
fontFamily,
|
|
217
|
+
fontfamilyOptoins: options.fontfamilyOptoins,
|
|
218
|
+
canBold,
|
|
219
|
+
canItalic,
|
|
220
|
+
canUnderline,
|
|
221
|
+
canStrikethrough,
|
|
222
|
+
canSubscript,
|
|
223
|
+
canSuperscript,
|
|
224
|
+
alignList,
|
|
225
|
+
alignValue,
|
|
226
|
+
canLink,
|
|
227
|
+
linkValue,
|
|
228
|
+
activeNode,
|
|
229
|
+
contentTypeList,
|
|
230
|
+
curContentTypeDesc,
|
|
231
|
+
setContentType
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
export {
|
|
235
|
+
useLexicalEditorState
|
|
236
|
+
};
|
|
237
|
+
//# sourceMappingURL=useLexicalEditorState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLexicalEditorState.js","sources":["../../../../../../src/components/basic/lexical-editor/composables/useLexicalEditorState.ts"],"sourcesContent":["\r\n\r\nimport { ref } from 'vue'\r\nimport type { CommandListenerPriority,ElementFormatType, LexicalEditor, LexicalNode, TextFormatType } from 'lexical'\r\nimport { $createParagraphNode, $getSelection,$isElementNode,$isRangeSelection, $isNodeSelection, CAN_REDO_COMMAND, CAN_UNDO_COMMAND, FORMAT_TEXT_COMMAND, REDO_COMMAND, UNDO_COMMAND, } from 'lexical'\r\nimport { $findMatchingParent, mergeRegister } from '@lexical/utils'\r\nimport { useMounted } from './utils'\r\nimport { $getSelectionStyleValueForProperty, $patchStyleText, $setBlocksType } from '@lexical/selection'\r\nimport { $isLinkNode, LinkNode, TOGGLE_LINK_COMMAND } from '@lexical/link'\r\nimport { $createHeadingNode, $isHeadingNode, HeadingTagType } from '@lexical/rich-text'\r\nimport { useLexicalEditorContext } from './lexicalEditor'\r\nimport { showLinkEditDialog,sanitizeUrl } from \"../utils\" \r\n\r\n/**\r\n * 最低的监听优先级\r\n */\r\nconst CommandLowPriority: CommandListenerPriority = 1\r\n\r\n/**\r\n * 编辑配置项\r\n */\r\ntype LexicalEditOptions = {\r\n rootFontSize?:number,\r\n fontSizeOptions?:Array<{value:string,label:string}>,\r\n fontfamilyOptoins?:Array<{value:string,label:string} >\r\n}\r\n\r\n// 字体\r\nconst FONT_FAMILY = \"微软雅黑='微软雅黑';宋体='宋体';黑体='黑体';仿宋='仿宋';楷体='楷体';隶书='隶书';幼圆='幼圆';Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings\".split(\";\")\r\n\r\n// 设置样式\r\nconst addFontSizeToOptions = function(options:Array<{value:string,label:string}>, size:number,rootSize:number = 14){\r\n options.push({value:`${Math.round(size / rootSize * 100) / 100}rem`,label:size+\"px\"});\r\n}\r\n\r\n/**\r\n * 获取编辑器状态\r\n * @param editorInstance \r\n * @returns \r\n */\r\nexport const useLexicalEditorState = function (editor?: LexicalEditor,options?:LexicalEditOptions) {\r\n\r\n if (!editor) { editor = useLexicalEditorContext().editor; }\r\n\r\n // 初始化配置\r\n if(!options){ options = { rootFontSize:14,fontfamilyOptoins:[],fontSizeOptions:[] }; }\r\n\r\n // 根文章大小默认14\r\n options.rootFontSize ??= 14;\r\n\r\n // 字体大小配置项初始化\r\n if(!options?.fontSizeOptions?.length){\r\n options.fontSizeOptions = [];\r\n // 数据初始化\r\n for(let i=0;i<80;i+=2){\r\n addFontSizeToOptions(options.fontSizeOptions,10 + i,options.rootFontSize);\r\n if(i >= 2 && i < 22){\r\n addFontSizeToOptions(options.fontSizeOptions,10 + i + 0.5,options.rootFontSize);\r\n addFontSizeToOptions(options.fontSizeOptions,10 + i + 1,options.rootFontSize);\r\n addFontSizeToOptions(options.fontSizeOptions,10 + i + 1.5,options.rootFontSize);\r\n }\r\n }\r\n }\r\n\r\n // 默认字体初始化\r\n if(!options?.fontfamilyOptoins?.length){\r\n options.fontfamilyOptoins = [{value:\"\",label:\"默认字体\"}].concat(FONT_FAMILY.map(fv=>{\r\n let fvl = fv.split(\"=\"),label=fvl[0],value=fvl[1] || `'${label}'`;\r\n return { value,label}\r\n }))\r\n }\r\n\r\n const canUndo = ref(false)\r\n const canRedo = ref(false)\r\n const fontSize = ref(options.rootFontSize+\"px\")\r\n const fontColor = ref<string>('#000')\r\n const bgColor = ref<string>('#fff')\r\n const fontFamily = ref<any>(options.fontfamilyOptoins![0])\r\n const canBold = ref(false)\r\n const canItalic = ref(false)\r\n const canUnderline = ref(false)\r\n const canStrikethrough = ref(false)\r\n const canSubscript = ref(false)\r\n const canSuperscript = ref(false)\r\n\r\n // 对齐方式\r\n const alignList = ref<ElementFormatType[]>([\"left\",\"center\",\"right\",\"justify\"])\r\n const alignValue = ref(alignList.value[0])\r\n const canLink = ref(false)\r\n const linkValue = ref(\"\");\r\n const canTextStyleDisabled = ref(false);\r\n\r\n // 内容类型清单\r\n const contentTypeList = [\r\n {value:\"paragraph\",label:\"正文\"},\r\n {value:\"h1\",label:\"标题 1\"},\r\n {value:\"h2\",label:\"标题 2\"},\r\n {value:\"h3\",label:\"标题 3\"},\r\n {value:\"h4\",label:\"标题 4\"},\r\n {value:\"h5\",label:\"标题 5\"}\r\n ];\r\n //当前选中内容\r\n const curContentTypeDesc = ref(\"正文\");\r\n\r\n // 激活的节点\r\n const activeNode = ref<LexicalNode|null>(null);\r\n\r\n // 设置文字样式\r\n const setTextStyle = function(token:string,value?:string){\r\n\r\n if([\"bold\",\"italic\",\"underline\",\"strikethrough\",\"subscript\",\"superscript\"].indexOf(token) >=0){\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, token as TextFormatType)\r\n }\r\n else if(token == \"link\"){\r\n\r\n if(canLink.value){\r\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, null)\r\n }\r\n else{\r\n showLinkEditDialog(\"\").then((href:any)=>{\r\n if(href.trim()){\r\n editor.dispatchCommand(TOGGLE_LINK_COMMAND, sanitizeUrl(href))\r\n }\r\n })\r\n }\r\n \r\n }\r\n else{\r\n editor.update(() => {\r\n\r\n const selection = $getSelection()\r\n \r\n if (selection !== null){\r\n $patchStyleText(selection,{ [token]:value } as any)\r\n }\r\n },{})\r\n }\r\n }\r\n\r\n // 设置内容\r\n const setContentType = function(type:string){\r\n\r\n const contentType:any = contentTypeList.find(item=>item.value == type)\r\n \r\n editor.update(() => {\r\n \r\n const selection = $getSelection()\r\n \r\n if ($isRangeSelection(selection)){\r\n\r\n // 清空字体大小\r\n $patchStyleText(selection, { [\"font-size\"]:\"\" })\r\n \r\n if(contentType.value == \"paragraph\"){\r\n\r\n if(canSubscript.value){\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'subscript' as TextFormatType)\r\n }\r\n else if(canSuperscript.value){\r\n editor.dispatchCommand(FORMAT_TEXT_COMMAND, 'superscript' as TextFormatType)\r\n }\r\n else{\r\n $setBlocksType(selection, () => $createParagraphNode())\r\n }\r\n }\r\n else{\r\n $setBlocksType(selection, () => {\r\n return $createHeadingNode(contentType.value as HeadingTagType)\r\n })\r\n }\r\n curContentTypeDesc.value = contentType.label\r\n }\r\n })\r\n }\r\n\r\n useMounted(() => {\r\n \r\n\r\n return mergeRegister(\r\n editor.registerCommand(CAN_UNDO_COMMAND, (payload: boolean) => {\r\n canUndo.value = payload\r\n return false\r\n }, CommandLowPriority),\r\n editor.registerCommand(CAN_REDO_COMMAND, (payload: boolean) => {\r\n canRedo.value = payload\r\n return false\r\n },CommandLowPriority),\r\n // 其他状态\r\n editor.registerUpdateListener(({ editorState }) => {\r\n editorState.read(() => {\r\n\r\n const selection = $getSelection()\r\n\r\n if ($isRangeSelection(selection)) {\r\n\r\n const anchorNode = selection.anchor.getNode()\r\n\r\n let parentNode = anchorNode.getKey() === 'root'\r\n ? anchorNode\r\n : $findMatchingParent(anchorNode, (e) => {\r\n const parent = e.getParent();\r\n // $isRootOrShadowRoot\r\n return parent !== null && $isElementNode(parent)\r\n });\r\n\r\n\r\n if (parentNode === null){ parentNode = anchorNode.getTopLevelElementOrThrow() }\r\n\r\n let parentDOM = editor.getElementByKey(parentNode.getKey());\r\n\r\n // 文本对齐\r\n alignValue.value = (parentDOM?.style.textAlign as ElementFormatType) || \"left\";\r\n\r\n if(alignValue.value == \"start\"){ alignValue.value = \"left\"; }\r\n else if(alignValue.value == \"end\"){ alignValue.value = \"right\"; }\r\n\r\n // Update text format\r\n canBold.value = selection.hasFormat('bold')\r\n canItalic.value = selection.hasFormat('italic')\r\n canUnderline.value = selection.hasFormat('underline')\r\n canStrikethrough.value = selection.hasFormat('strikethrough')\r\n canSubscript.value = selection.hasFormat('subscript')\r\n canSuperscript.value = selection.hasFormat('superscript')\r\n\r\n if(canSubscript.value){\r\n curContentTypeDesc.value = contentTypeList.find(item=>item.value == 'subscript')?.label ?? \"正文\"\r\n }\r\n else if(canSuperscript.value){\r\n curContentTypeDesc.value = contentTypeList.find(item=>item.value == 'superscript')?.label ?? \"正文\"\r\n }\r\n else if (parentDOM !== null) {\r\n const type = $isHeadingNode(parentNode) ? parentNode.getTag() : parentNode.getType();\r\n curContentTypeDesc.value = contentTypeList.find(item=>item.value == type)?.label ?? \"正文\"\r\n }\r\n\r\n // Handle buttons\r\n var ff = $getSelectionStyleValueForProperty(selection, 'font-family', '');\r\n let fs = $getSelectionStyleValueForProperty(selection, 'font-size', '');\r\n \r\n if(fs){\r\n fontSize.value = Math.round(parseFloat(fs) * (options.rootFontSize!))+\"px\"\r\n }\r\n else if(parentDOM){\r\n fontSize.value = editor.getRootElement()?.ownerDocument.defaultView?.getComputedStyle(parentDOM).fontSize ?? Math.round((options.rootFontSize!))+\"px\";\r\n }\r\n else{\r\n fontSize.value = Math.round((options.rootFontSize!))+\"px\"\r\n }\r\n\r\n // 字体\r\n if(!ff && parentDOM){\r\n ff = editor.getRootElement()?.ownerDocument.defaultView?.getComputedStyle(parentDOM).fontFamily ?? \"\";\r\n }\r\n \r\n fontColor.value = $getSelectionStyleValueForProperty(selection, 'color', '#000')\r\n bgColor.value = $getSelectionStyleValueForProperty(selection, 'background-color', '')\r\n fontFamily.value = options.fontfamilyOptoins?.find(item=>item.value==ff) || options.fontfamilyOptoins![0];\r\n \r\n // 不禁用\r\n canTextStyleDisabled.value = false;\r\n\r\n // Update links\r\n const parent = anchorNode.getParent()\r\n \r\n if(canLink.value = $isLinkNode(parent) || $isLinkNode(anchorNode)){\r\n linkValue.value = $isLinkNode(parent) ? parent.getURL() : (anchorNode as LinkNode).getURL()\r\n }\r\n else{\r\n linkValue.value = \"\";\r\n }\r\n\r\n // 节点类型\r\n activeNode.value = anchorNode;\r\n\r\n }\r\n else{\r\n canTextStyleDisabled.value = true;\r\n activeNode.value = $isNodeSelection(selection) ? selection.getNodes()[0] : null;\r\n curContentTypeDesc.value = \"正文\";\r\n }\r\n })\r\n })\r\n )\r\n })\r\n\r\n // undo\r\n const undoCommand = ()=>{ editor.dispatchCommand(UNDO_COMMAND, undefined) }\r\n const redoCommand = ()=>{ editor.dispatchCommand(REDO_COMMAND, undefined) }\r\n\r\n return {\r\n canUndo,undoCommand,\r\n canRedo,redoCommand,\r\n canTextStyleDisabled,\r\n setTextStyle,\r\n fontSize,fontSizeOptions:options.fontSizeOptions,\r\n fontColor,\r\n bgColor,\r\n fontFamily,fontfamilyOptoins:options.fontfamilyOptoins,\r\n canBold,\r\n canItalic,\r\n canUnderline,\r\n canStrikethrough,\r\n canSubscript,\r\n canSuperscript,\r\n alignList,\r\n alignValue,\r\n canLink,\r\n linkValue,\r\n activeNode,contentTypeList,curContentTypeDesc,setContentType\r\n }\r\n}\r\n"],"names":["parent","_a","_b"],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ref, readonly } from "vue";
|
|
2
|
+
import { $isRootTextContentEmptyCurry } from "@lexical/text";
|
|
3
|
+
import { useMounted } from "./utils.js";
|
|
4
|
+
function useLexicalIsTextContentEmpty(editor, trim) {
|
|
5
|
+
const isEmpty = ref(
|
|
6
|
+
editor.getEditorState().read($isRootTextContentEmptyCurry(editor.isComposing(), trim))
|
|
7
|
+
);
|
|
8
|
+
useMounted(() => {
|
|
9
|
+
return editor.registerUpdateListener(({ editorState }) => {
|
|
10
|
+
const isComposing = editor.isComposing();
|
|
11
|
+
isEmpty.value = editorState.read(
|
|
12
|
+
$isRootTextContentEmptyCurry(isComposing, trim)
|
|
13
|
+
);
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
return readonly(isEmpty);
|
|
17
|
+
}
|
|
18
|
+
export {
|
|
19
|
+
useLexicalIsTextContentEmpty
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=useLexicalIsTextContentEmpty.js.map
|
package/dist/esm/components/basic/lexical-editor/composables/useLexicalIsTextContentEmpty.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useLexicalIsTextContentEmpty.js","sources":["../../../../../../src/components/basic/lexical-editor/composables/useLexicalIsTextContentEmpty.ts"],"sourcesContent":["import { readonly, ref } from 'vue'\r\nimport { $isRootTextContentEmptyCurry } from '@lexical/text'\r\nimport type { LexicalEditor } from 'lexical'\r\nimport { useMounted } from './utils'\r\n\r\nexport function useLexicalIsTextContentEmpty(editor: LexicalEditor, trim?: boolean) {\r\n const isEmpty = ref(\r\n editor\r\n .getEditorState()\r\n .read($isRootTextContentEmptyCurry(editor.isComposing(), trim)),\r\n )\r\n\r\n useMounted(() => {\r\n return editor.registerUpdateListener(({ editorState }) => {\r\n const isComposing = editor.isComposing()\r\n isEmpty.value = editorState.read(\r\n $isRootTextContentEmptyCurry(isComposing, trim),\r\n )\r\n })\r\n })\r\n\r\n return readonly(isEmpty)\r\n}\r\n"],"names":[],"mappings":";;;AAKgB,SAAA,6BAA6B,QAAuB,MAAgB;AAClF,QAAM,UAAU;AAAA,IACd,OACG,eACA,EAAA,KAAK,6BAA6B,OAAO,YAAA,GAAe,IAAI,CAAC;AAAA,EAAA;AAGlE,aAAW,MAAM;AACf,WAAO,OAAO,uBAAuB,CAAC,EAAE,kBAAkB;AAClD,YAAA,cAAc,OAAO;AAC3B,cAAQ,QAAQ,YAAY;AAAA,QAC1B,6BAA6B,aAAa,IAAI;AAAA,MAAA;AAAA,IAChD,CACD;AAAA,EAAA,CACF;AAED,SAAO,SAAS,OAAO;AACzB;"}
|