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
JSON
{
"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"
}
}