UNPKG

tiptapify

Version:

Tiptap3 editor with Vuetify3 menu implementation

63 lines (53 loc) 1.63 kB
import { Plugin } from 'vue' import Tiptapify from '@tiptapify/components/Tiptapify.vue' import TiptapifyDialog from '@tiptapify/components/UI/TiptapifyDialog.vue' import { TiptapifyFooterAlignment } from '@tiptapify/types/editor' import { Editor as TipTapEditor, nodeViewProps, NodeViewWrapper, VueNodeViewRenderer } from '@tiptap/vue-3' import { Node, Mark, markInputRule, markPasteRule, mergeAttributes } from '@tiptap/core' import type { CommandProps, InputRuleMatch, PasteRuleMatch } from '@tiptap/core' import * as mdi from '@mdi/js' import { messages } from './i18n' interface PackageOptions { i18n?: any; } const TiptapifyPlugin: Plugin = { install(app, options: PackageOptions = {}) { app.component('Tiptapify', Tiptapify) app.component('TiptapifyDialog', TiptapifyDialog) const i18n = options.i18n for (const locale of Object.keys(messages)) { i18n.global.mergeLocaleMessage(locale, messages[locale]) } } } export default TiptapifyPlugin export { mdi, TipTapEditor, nodeViewProps, NodeViewWrapper, VueNodeViewRenderer, Tiptapify, TiptapifyDialog, Node, Mark, markInputRule, markPasteRule, mergeAttributes, } export type { TiptapifyFooterAlignment } export type { CommandProps, InputRuleMatch, PasteRuleMatch } export type { TiptapifyAiMode, TiptapifyAiOptions, TiptapifyAiChatMessage, TiptapifyAiChatRole, TiptapifyAiEditorContext, TiptapifyAiOpenAiResponse, TiptapifyAiPromptExample, TiptapifyAiProvider, TiptapifyAiRequest, TiptapifyAiResponse, TiptapifyAiStorage, TiptapifyAiTokenProvider, } from '@tiptapify/types/editor'