UNPKG

reactjs-tiptap-editor

Version:

A modern WYSIWYG rich text editor based on tiptap and shadcn ui for React

920 lines (919 loc) 23.4 kB
{ "name": "reactjs-tiptap-editor", "type": "module", "version": "0.3.6", "packageManager": "pnpm@8.15.9", "description": "A modern WYSIWYG rich text editor based on tiptap and shadcn ui for React", "license": "MIT", "homepage": "https://reactjs-tiptap-editor.vercel.app/", "repository": { "type": "git", "url": "git+https://github.com/hunghg255/reactjs-tiptap-editor.git" }, "bugs": "https://github.com/hunghg255/reactjs-tiptap-editor/issues", "keywords": [ "react", "tiptap", "editor", "wysiwyg", "rich-text", "reactjs-tiptap-editor", "tiptap-editor", "tiptap-react", "tiptap-react-editor", "tiptap-react-wysiwyg", "tiptap-react-rich-text", "tiptap-react-rc-editor", "tiptap-react-rc-wysiwyg", "tiptap-react-rc-rich-text" ], "sideEffects": false, "main": "./lib/index.cjs", "module": "./lib/index.js", "types": "./lib/index.d.ts", "exports": { ".": { "require": { "types": "./lib/index.d.cts", "default": "./lib/index.cjs" }, "import": { "types": "./lib/index.d.ts", "default": "./lib/index.js" } }, "./locale-bundle": { "require": { "types": "./lib/locale-bundle.d.cts", "default": "./lib/locale-bundle.cjs" }, "import": { "types": "./lib/locale-bundle.d.ts", "default": "./lib/locale-bundle.js" } }, "./bubble-extra": { "require": { "types": "./lib/bubble-extra.d.cts", "default": "./lib/bubble-extra.cjs" }, "import": { "types": "./lib/bubble-extra.d.ts", "default": "./lib/bubble-extra.js" } }, "./style.css": { "require": "./lib/style.css", "import": "./lib/style.css" }, "./lib/*": "./lib/*", "./package.json": "./package.json", "./*": "./lib/*", "./attachment": { "require": { "types": "./lib/Attachment.d.cts", "default": "./lib/Attachment.cjs" }, "import": { "types": "./lib/Attachment.d.ts", "default": "./lib/Attachment.js" } }, "./blockquote": { "require": { "types": "./lib/Blockquote.d.cts", "default": "./lib/Blockquote.cjs" }, "import": { "types": "./lib/Blockquote.d.ts", "default": "./lib/Blockquote.js" } }, "./bold": { "require": { "types": "./lib/Bold.d.cts", "default": "./lib/Bold.cjs" }, "import": { "types": "./lib/Bold.d.ts", "default": "./lib/Bold.js" } }, "./bulletlist": { "require": { "types": "./lib/BulletList.d.cts", "default": "./lib/BulletList.cjs" }, "import": { "types": "./lib/BulletList.d.ts", "default": "./lib/BulletList.js" } }, "./clear": { "require": { "types": "./lib/Clear.d.cts", "default": "./lib/Clear.cjs" }, "import": { "types": "./lib/Clear.d.ts", "default": "./lib/Clear.js" } }, "./code": { "require": { "types": "./lib/Code.d.cts", "default": "./lib/Code.cjs" }, "import": { "types": "./lib/Code.d.ts", "default": "./lib/Code.js" } }, "./codeview": { "require": { "types": "./lib/CodeView.d.cts", "default": "./lib/CodeView.cjs" }, "import": { "types": "./lib/CodeView.d.ts", "default": "./lib/CodeView.js" } }, "./codeblock": { "require": { "types": "./lib/CodeBlock.d.cts", "default": "./lib/CodeBlock.cjs" }, "import": { "types": "./lib/CodeBlock.d.ts", "default": "./lib/CodeBlock.js" } }, "./color": { "require": { "types": "./lib/Color.d.cts", "default": "./lib/Color.cjs" }, "import": { "types": "./lib/Color.d.ts", "default": "./lib/Color.js" } }, "./document": { "require": { "types": "./lib/Document.d.cts", "default": "./lib/Document.cjs" }, "import": { "types": "./lib/Document.d.ts", "default": "./lib/Document.js" } }, "./drawer": { "require": { "types": "./lib/Drawer.d.cts", "default": "./lib/Drawer.cjs" }, "import": { "types": "./lib/Drawer.d.ts", "default": "./lib/Drawer.js" } }, "./emoji": { "require": { "types": "./lib/Emoji.d.cts", "default": "./lib/Emoji.cjs" }, "import": { "types": "./lib/Emoji.d.ts", "default": "./lib/Emoji.js" } }, "./excalidraw": { "require": { "types": "./lib/Excalidraw.d.cts", "default": "./lib/Excalidraw.cjs" }, "import": { "types": "./lib/Excalidraw.d.ts", "default": "./lib/Excalidraw.js" } }, "./exportpdf": { "require": { "types": "./lib/ExportPdf.d.cts", "default": "./lib/ExportPdf.cjs" }, "import": { "types": "./lib/ExportPdf.d.ts", "default": "./lib/ExportPdf.js" } }, "./exportword": { "require": { "types": "./lib/ExportWord.d.cts", "default": "./lib/ExportWord.cjs" }, "import": { "types": "./lib/ExportWord.d.ts", "default": "./lib/ExportWord.js" } }, "./fontfamily": { "require": { "types": "./lib/FontFamily.d.cts", "default": "./lib/FontFamily.cjs" }, "import": { "types": "./lib/FontFamily.d.ts", "default": "./lib/FontFamily.js" } }, "./fontsize": { "require": { "types": "./lib/FontSize.d.cts", "default": "./lib/FontSize.cjs" }, "import": { "types": "./lib/FontSize.d.ts", "default": "./lib/FontSize.js" } }, "./formatpainter": { "require": { "types": "./lib/FormatPainter.d.cts", "default": "./lib/FormatPainter.cjs" }, "import": { "types": "./lib/FormatPainter.d.ts", "default": "./lib/FormatPainter.js" } }, "./heading": { "require": { "types": "./lib/Heading.d.cts", "default": "./lib/Heading.cjs" }, "import": { "types": "./lib/Heading.d.ts", "default": "./lib/Heading.js" } }, "./highlight": { "require": { "types": "./lib/Highlight.d.cts", "default": "./lib/Highlight.cjs" }, "import": { "types": "./lib/Highlight.d.ts", "default": "./lib/Highlight.js" } }, "./history": { "require": { "types": "./lib/History.d.cts", "default": "./lib/History.cjs" }, "import": { "types": "./lib/History.d.ts", "default": "./lib/History.js" } }, "./horizontalrule": { "require": { "types": "./lib/HorizontalRule.d.cts", "default": "./lib/HorizontalRule.cjs" }, "import": { "types": "./lib/HorizontalRule.d.ts", "default": "./lib/HorizontalRule.js" } }, "./iframe": { "require": { "types": "./lib/Iframe.d.cts", "default": "./lib/Iframe.cjs" }, "import": { "types": "./lib/Iframe.d.ts", "default": "./lib/Iframe.js" } }, "./image": { "require": { "types": "./lib/Image.d.cts", "default": "./lib/Image.cjs" }, "import": { "types": "./lib/Image.d.ts", "default": "./lib/Image.js" } }, "./imagegif": { "require": { "types": "./lib/ImageGif.d.cts", "default": "./lib/ImageGif.cjs" }, "import": { "types": "./lib/ImageGif.d.ts", "default": "./lib/ImageGif.js" } }, "./importword": { "require": { "types": "./lib/ImportWord.d.cts", "default": "./lib/ImportWord.cjs" }, "import": { "types": "./lib/ImportWord.d.ts", "default": "./lib/ImportWord.js" } }, "./indent": { "require": { "types": "./lib/Indent.d.cts", "default": "./lib/Indent.cjs" }, "import": { "types": "./lib/Indent.d.ts", "default": "./lib/Indent.js" } }, "./italic": { "require": { "types": "./lib/Italic.d.cts", "default": "./lib/Italic.cjs" }, "import": { "types": "./lib/Italic.d.ts", "default": "./lib/Italic.js" } }, "./katex": { "require": { "types": "./lib/Katex.d.cts", "default": "./lib/Katex.cjs" }, "import": { "types": "./lib/Katex.d.ts", "default": "./lib/Katex.js" } }, "./lineheight": { "require": { "types": "./lib/LineHeight.d.cts", "default": "./lib/LineHeight.cjs" }, "import": { "types": "./lib/LineHeight.d.ts", "default": "./lib/LineHeight.js" } }, "./link": { "require": { "types": "./lib/Link.d.cts", "default": "./lib/Link.cjs" }, "import": { "types": "./lib/Link.d.ts", "default": "./lib/Link.js" } }, "./listitem": { "require": { "types": "./lib/ListItem.d.cts", "default": "./lib/ListItem.cjs" }, "import": { "types": "./lib/ListItem.d.ts", "default": "./lib/ListItem.js" } }, "./mention": { "require": { "types": "./lib/Mention.d.cts", "default": "./lib/Mention.cjs" }, "import": { "types": "./lib/Mention.d.ts", "default": "./lib/Mention.js" } }, "./mermaid": { "require": { "types": "./lib/Mermaid.d.cts", "default": "./lib/Mermaid.cjs" }, "import": { "types": "./lib/Mermaid.d.ts", "default": "./lib/Mermaid.js" } }, "./moremark": { "require": { "types": "./lib/MoreMark.d.cts", "default": "./lib/MoreMark.cjs" }, "import": { "types": "./lib/MoreMark.d.ts", "default": "./lib/MoreMark.js" } }, "./multicolumn": { "require": { "types": "./lib/MultiColumn.d.cts", "default": "./lib/MultiColumn.cjs" }, "import": { "types": "./lib/MultiColumn.d.ts", "default": "./lib/MultiColumn.js" } }, "./orderedlist": { "require": { "types": "./lib/OrderedList.d.cts", "default": "./lib/OrderedList.cjs" }, "import": { "types": "./lib/OrderedList.d.ts", "default": "./lib/OrderedList.js" } }, "./searchandreplace": { "require": { "types": "./lib/SearchAndReplace.d.cts", "default": "./lib/SearchAndReplace.cjs" }, "import": { "types": "./lib/SearchAndReplace.d.ts", "default": "./lib/SearchAndReplace.js" } }, "./selection": { "require": { "types": "./lib/Selection.d.cts", "default": "./lib/Selection.cjs" }, "import": { "types": "./lib/Selection.d.ts", "default": "./lib/Selection.js" } }, "./slashcommand": { "require": { "types": "./lib/SlashCommand.d.cts", "default": "./lib/SlashCommand.cjs" }, "import": { "types": "./lib/SlashCommand.d.ts", "default": "./lib/SlashCommand.js" } }, "./strike": { "require": { "types": "./lib/Strike.d.cts", "default": "./lib/Strike.cjs" }, "import": { "types": "./lib/Strike.d.ts", "default": "./lib/Strike.js" } }, "./subandsuperscript": { "require": { "types": "./lib/SubAndSuperScript.d.cts", "default": "./lib/SubAndSuperScript.cjs" }, "import": { "types": "./lib/SubAndSuperScript.d.ts", "default": "./lib/SubAndSuperScript.js" } }, "./table": { "require": { "types": "./lib/Table.d.cts", "default": "./lib/Table.cjs" }, "import": { "types": "./lib/Table.d.ts", "default": "./lib/Table.js" } }, "./tableofcontent": { "require": { "types": "./lib/TableOfContent.d.cts", "default": "./lib/TableOfContent.cjs" }, "import": { "types": "./lib/TableOfContent.d.ts", "default": "./lib/TableOfContent.js" } }, "./tasklist": { "require": { "types": "./lib/TaskList.d.cts", "default": "./lib/TaskList.cjs" }, "import": { "types": "./lib/TaskList.d.ts", "default": "./lib/TaskList.js" } }, "./textalign": { "require": { "types": "./lib/TextAlign.d.cts", "default": "./lib/TextAlign.cjs" }, "import": { "types": "./lib/TextAlign.d.ts", "default": "./lib/TextAlign.js" } }, "./textbubble": { "require": { "types": "./lib/TextBubble.d.cts", "default": "./lib/TextBubble.cjs" }, "import": { "types": "./lib/TextBubble.d.ts", "default": "./lib/TextBubble.js" } }, "./textdirection": { "require": { "types": "./lib/TextDirection.d.cts", "default": "./lib/TextDirection.cjs" }, "import": { "types": "./lib/TextDirection.d.ts", "default": "./lib/TextDirection.js" } }, "./textunderline": { "require": { "types": "./lib/TextUnderline.d.cts", "default": "./lib/TextUnderline.cjs" }, "import": { "types": "./lib/TextUnderline.d.ts", "default": "./lib/TextUnderline.js" } }, "./trailingnode": { "require": { "types": "./lib/TrailingNode.d.cts", "default": "./lib/TrailingNode.cjs" }, "import": { "types": "./lib/TrailingNode.d.ts", "default": "./lib/TrailingNode.js" } }, "./twitter": { "require": { "types": "./lib/Twitter.d.cts", "default": "./lib/Twitter.cjs" }, "import": { "types": "./lib/Twitter.d.ts", "default": "./lib/Twitter.js" } }, "./video": { "require": { "types": "./lib/Video.d.cts", "default": "./lib/Video.cjs" }, "import": { "types": "./lib/Video.d.ts", "default": "./lib/Video.js" } } }, "typesVersions": { "*": { "locale-bundle": [ "./lib/locale-bundle.d.ts" ], "bubble-extra": [ "./lib/bubble-extra.d.ts" ], "*": [ "./lib/*", "./*" ], "./attachment": [ "./lib/Attachment.d.ts" ], "./blockquote": [ "./lib/Blockquote.d.ts" ], "./bold": [ "./lib/Bold.d.ts" ], "./bulletlist": [ "./lib/BulletList.d.ts" ], "./clear": [ "./lib/Clear.d.ts" ], "./code": [ "./lib/Code.d.ts" ], "./codeblock": [ "./lib/CodeBlock.d.ts" ], "./codeview": [ "./lib/CodeView.d.ts" ], "./color": [ "./lib/Color.d.ts" ], "./document": [ "./lib/Document.d.ts" ], "./drawer": [ "./lib/Drawer.d.ts" ], "./emoji": [ "./lib/Emoji.d.ts" ], "./excalidraw": [ "./lib/Excalidraw.d.ts" ], "./exportpdf": [ "./lib/ExportPdf.d.ts" ], "./exportword": [ "./lib/ExportWord.d.ts" ], "./fontfamily": [ "./lib/FontFamily.d.ts" ], "./fontsize": [ "./lib/FontSize.d.ts" ], "./formatpainter": [ "./lib/FormatPainter.d.ts" ], "./heading": [ "./lib/Heading.d.ts" ], "./highlight": [ "./lib/Highlight.d.ts" ], "./history": [ "./lib/History.d.ts" ], "./horizontalrule": [ "./lib/HorizontalRule.d.ts" ], "./iframe": [ "./lib/Iframe.d.ts" ], "./image": [ "./lib/Image.d.ts" ], "./imagegif": [ "./lib/ImageGif.d.ts" ], "./importword": [ "./lib/ImportWord.d.ts" ], "./indent": [ "./lib/Indent.d.ts" ], "./italic": [ "./lib/Italic.d.ts" ], "./katex": [ "./lib/Katex.d.ts" ], "./lineheight": [ "./lib/LineHeight.d.ts" ], "./link": [ "./lib/Link.d.ts" ], "./listitem": [ "./lib/ListItem.d.ts" ], "./mention": [ "./lib/Mention.d.ts" ], "./mermaid": [ "./lib/Mermaid.d.ts" ], "./moremark": [ "./lib/MoreMark.d.ts" ], "./multicolumn": [ "./lib/MultiColumn.d.ts" ], "./orderedlist": [ "./lib/OrderedList.d.ts" ], "./searchandreplace": [ "./lib/SearchAndReplace.d.ts" ], "./selection": [ "./lib/Selection.d.ts" ], "./slashcommand": [ "./lib/SlashCommand.d.ts" ], "./strike": [ "./lib/Strike.d.ts" ], "./subandsuperscript": [ "./lib/SubAndSuperScript.d.ts" ], "./table": [ "./lib/Table.d.ts" ], "./tableofcontent": [ "./lib/TableOfContent.d.ts" ], "./tasklist": [ "./lib/TaskList.d.ts" ], "./textalign": [ "./lib/TextAlign.d.ts" ], "./textbubble": [ "./lib/TextBubble.d.ts" ], "./textdirection": [ "./lib/TextDirection.d.ts" ], "./textunderline": [ "./lib/TextUnderline.d.ts" ], "./trailingnode": [ "./lib/TrailingNode.d.ts" ], "./twitter": [ "./lib/Twitter.d.ts" ], "./video": [ "./lib/Video.d.ts" ] } }, "files": [ "lib", "package.json", "README.md", "LICENSE" ], "engines": { "node": ">=18.0.0" }, "scripts": { "build:lib": "vite build && pnpm modify-css", "build:lib:dev": "vite build --mode development --watch", "build:playground": "pnpm build:lib && pnpm --dir ./playground run build", "docs:dev": "pnpm --parallel --filter docs... dev", "docs:build": "pnpm --filter docs... build", "docs:preview": "pnpm -C docs preview", "prepublishOnly": "pnpm build:lib", "playground": "pnpm --dir ./playground run dev", "preview": "pnpm --dir ./playground run preview", "lint": "eslint src --quiet", "lint:fix": "eslint src --fix --quiet", "type-check": "tsc", "verify-commit": "verify-commit-msg", "prepare": "git-scm-hooks", "release": "bumpp -r", "gen-changelog": "esno ./scripts/genExtensions.ts && esno ./scripts/changelog.ts", "modify-css": "esno ./scripts/modifyCss.ts", "gen-contributors": "contributorkit" }, "dependencies": { "@excalidraw/excalidraw": "^0.18.0", "@radix-ui/react-checkbox": "^1.3.2", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-icons": "^1.3.2", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-popover": "^1.1.14", "@radix-ui/react-select": "^2.2.5", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-slot": "^1.2.3", "@radix-ui/react-switch": "^1.2.5", "@radix-ui/react-tabs": "^1.1.12", "@radix-ui/react-toast": "^1.2.14", "@radix-ui/react-toggle": "^1.1.9", "@radix-ui/react-tooltip": "^1.2.7", "@tiptap/core": "^2.22.3", "@tiptap/extension-blockquote": "^2.22.3", "@tiptap/extension-bold": "^2.22.3", "@tiptap/extension-bubble-menu": "^2.22.3", "@tiptap/extension-bullet-list": "^2.22.3", "@tiptap/extension-character-count": "^2.22.3", "@tiptap/extension-code": "^2.22.3", "@tiptap/extension-color": "^2.22.3", "@tiptap/extension-document": "^2.22.3", "@tiptap/extension-dropcursor": "^2.22.3", "@tiptap/extension-focus": "^2.22.3", "@tiptap/extension-font-family": "^2.22.3", "@tiptap/extension-gapcursor": "^2.22.3", "@tiptap/extension-hard-break": "^2.22.3", "@tiptap/extension-heading": "^2.22.3", "@tiptap/extension-highlight": "^2.22.3", "@tiptap/extension-history": "^2.22.3", "@tiptap/extension-horizontal-rule": "^2.22.3", "@tiptap/extension-image": "^2.22.3", "@tiptap/extension-italic": "^2.22.3", "@tiptap/extension-link": "^2.22.3", "@tiptap/extension-list-item": "^2.22.3", "@tiptap/extension-mention": "^2.22.3", "@tiptap/extension-ordered-list": "^2.22.3", "@tiptap/extension-paragraph": "^2.22.3", "@tiptap/extension-placeholder": "^2.22.3", "@tiptap/extension-strike": "^2.22.3", "@tiptap/extension-subscript": "^2.22.3", "@tiptap/extension-superscript": "^2.22.3", "@tiptap/extension-table": "^2.22.3", "@tiptap/extension-table-cell": "^2.22.3", "@tiptap/extension-table-header": "^2.22.3", "@tiptap/extension-table-row": "^2.22.3", "@tiptap/extension-task-item": "^2.22.3", "@tiptap/extension-task-list": "^2.22.3", "@tiptap/extension-text": "^2.22.3", "@tiptap/extension-text-align": "^2.22.3", "@tiptap/extension-text-style": "^2.22.3", "@tiptap/extension-underline": "^2.22.3", "@tiptap/pm": "^2.22.3", "@tiptap/react": "^2.22.3", "@tiptap/suggestion": "^2.22.3", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "deep-equal": "^2.2.3", "docx": "^8.6.0", "easydrawer": "^0.0.15", "frimousse": "^0.1.1", "katex": "^0.16.22", "lodash-es": "^4.17.21", "lucide-react": "^0.427.0", "mermaid": "^11.7.0", "prism-code-editor-lightweight": "^0.0.3", "prosemirror-docx": "^0.2.1", "re-resizable": "^6.11.2", "react-colorful": "^5.6.1", "react-image-crop": "^11.0.10", "react-tweet": "^3.2.2", "react-visibility-sensor": "^5.1.1", "reactjs-signal": "^1.1.3", "scroll-into-view-if-needed": "^3.1.0", "svg64": "^2.0.0", "tippy.js": "^6.3.7" }, "peerDependencies": { "react": ">=17.0.2", "react-dom": ">=17.0.2" }, "devDependencies": { "@hunghg255/eslint-config": "^0.1.1", "@types/deep-equal": "^1.0.4", "@types/katex": "^0.16.7", "@types/lodash-es": "^4.17.12", "@types/node": "^22.15.32", "@types/react": "^19.1.8", "@types/react-dom": "^19.1.6", "@vitejs/plugin-react": "^4.6.0", "autoprefixer": "^10.4.21", "bumpp": "^9.11.1", "contributorkit": "^0.0.4", "eslint": "^9.29.0", "eslint-plugin-tailwindcss": "^3.18.0", "esno": "^4.8.0", "execa": "^9.6.0", "git-scm-hooks": "^0.0.11", "globby": "^14.1.0", "mammoth": "^1.9.1", "md5": "^2.3.0", "postcss": "^8.5.6", "postcss-replace": "^2.0.1", "postcss-scss": "^4.0.9", "react": "^19.1.0", "react-dom": "^19.1.0", "sass": "^1.89.2", "tailwind-merge": "^2.6.0", "tailwindcss": "^3.4.17", "typescript": "^5.8.3", "verify-commit-msg": "^0.0.14", "vite": "^6.3.5", "vite-plugin-dts": "^4.5.4" }, "browserslist": [ ">0.3%", "not ie 11", "not dead", "not op_mini all" ], "git-hooks": { "pre-commit": "npm run lint:fix", "commit-msg": "npm run verify-commit" } }