{"_id":"@chaitrabhairappa/react-rich-text-editor","_rev":"8-3116a4601558b895d788041086f70731","name":"@chaitrabhairappa/react-rich-text-editor","dist-tags":{"latest":"1.5.2"},"versions":{"1.0.0":{"name":"@chaitrabhairappa/react-rich-text-editor","version":"1.0.0","keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","_id":"@chaitrabhairappa/react-rich-text-editor@1.0.0","maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"dist":{"shasum":"b4e5773ea499b584b4acb62858952c8ab3008574","tarball":"https://registry.npmjs.org/@chaitrabhairappa/react-rich-text-editor/-/react-rich-text-editor-1.0.0.tgz","fileCount":57,"integrity":"sha512-GTR5uZD83WmJmCr9YjQts/BU5VHW6y/wnMKGRs88eX9dMmTSctPlq9KRpEkCdLTcECP5evPKNlUqwrfzzWmOpg==","signatures":[{"sig":"MEUCIH3awAUKXoEFyHf/vcqWf5LCCkfd11gaQV2NNOi8SHBqAiEAkkWCJYwj6MIf/sru8n6NdDXwwwXFDt+j9JeEeODxavE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":417978},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","gitHead":"524ca92e790fa09dd0f1d1c41c09a3549badd8cb","scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","clean":"rm -rf lib","build:cjs":"tsc --project tsconfig.build.json --module commonjs --outDir lib/commonjs","build:esm":"tsc --project tsconfig.build.json --module esnext --outDir lib/module","typescript":"tsc --noEmit","build:types":"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir lib/typescript","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"},"repository":{"url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git","type":"git"},"_npmVersion":"11.6.0","description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-rich-text-editor_1.0.0_1770728385443_0.9815143564404993","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@chaitrabhairappa/react-rich-text-editor","version":"1.1.0","keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","_id":"@chaitrabhairappa/react-rich-text-editor@1.1.0","maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"dist":{"shasum":"bc5124a22c7781d7e4caa5c0c6f9a6cec808ec51","tarball":"https://registry.npmjs.org/@chaitrabhairappa/react-rich-text-editor/-/react-rich-text-editor-1.1.0.tgz","fileCount":57,"integrity":"sha512-VBk8n+iP6PvWxNcBX46L0B39D7fmEMhSHNbDM3xYkBgIN1j5GCy/pLK3JF+a3eD2pYgxs6U2NJd666gHEwSOjA==","signatures":[{"sig":"MEQCIBRjaVfUToM33sHPaHqYpFmy2PUq8T7nDuRU1h0rVBPZAiAYbw811I0vkCCrXGremPsXWFhAkCpjwX92pMSeC8+j3g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380349},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","gitHead":"b1de62c406f65a5b9b5f041fe7317548fbf7f6a9","scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","clean":"rm -rf lib","example":"npm run build && cd example && npm install && npm run dev","build:cjs":"tsc --project tsconfig.build.json --module commonjs --outDir lib/commonjs","build:esm":"tsc --project tsconfig.build.json --module esnext --outDir lib/module","typescript":"tsc --noEmit","build:types":"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir lib/typescript","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"},"repository":{"url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git","type":"git"},"_npmVersion":"11.6.0","description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-rich-text-editor_1.1.0_1771304570353_0.355019703998255","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@chaitrabhairappa/react-rich-text-editor","version":"1.2.0","keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","_id":"@chaitrabhairappa/react-rich-text-editor@1.2.0","maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"dist":{"shasum":"002c74bcbd23cf7ccb598ddae8121fe24e239f12","tarball":"https://registry.npmjs.org/@chaitrabhairappa/react-rich-text-editor/-/react-rich-text-editor-1.2.0.tgz","fileCount":57,"integrity":"sha512-IAULSIb9bRfcwn8C3+H/PT355I2sVXjh8xJETB323/B4n+MflosiTLkxyFAPK6O9tLr3dJasPCWuhhE+RkuOGA==","signatures":[{"sig":"MEUCIDoRxTuxtDeOO1kCBzZSf+w4+7dxvnPxihXiDbh796kHAiEAuUdsA6jOZUYQRKOYLX8ZLQLoM3Q4XzWkqZw7RFZrRoQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":464288},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","gitHead":"637c89bdff7eaa9b6b8798bcc665a82189383c1a","scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","clean":"rm -rf lib","example":"npm run build && cd example && npm install && npm run dev","build:cjs":"tsc --project tsconfig.build.json --module commonjs --outDir lib/commonjs","build:esm":"tsc --project tsconfig.build.json --module esnext --outDir lib/module","typescript":"tsc --noEmit","build:types":"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir lib/typescript","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"},"repository":{"url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git","type":"git"},"_npmVersion":"11.6.0","description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-rich-text-editor_1.2.0_1771933256117_0.0017530187304504175","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@chaitrabhairappa/react-rich-text-editor","version":"1.3.0","keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","_id":"@chaitrabhairappa/react-rich-text-editor@1.3.0","maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"dist":{"shasum":"2f57ba5e7ddb49fd855007adf4940ce3026d94ee","tarball":"https://registry.npmjs.org/@chaitrabhairappa/react-rich-text-editor/-/react-rich-text-editor-1.3.0.tgz","fileCount":57,"integrity":"sha512-jTalJSW/DmKqokOyAt4PCeuYz6Qio52RDMVfKmV7wmcK0vDTFjfvTE2fxOpdC3+02Zv6eGGndlVj5av/wGb0rA==","signatures":[{"sig":"MEUCIFSTUFepTazWSAys/isweGuomxEM6sDb67fNkSe8RDuBAiEAn3+h+Zv/JBie/emHlVIF492cQFXqXn06XERoLVSkW0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":484005},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","gitHead":"363a76a880783f87807587b9ea5c523bdd9d5912","scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","clean":"rm -rf lib","example":"npm run build && cd example && npm install && npm run dev","build:cjs":"tsc --project tsconfig.build.json --module commonjs --outDir lib/commonjs","build:esm":"tsc --project tsconfig.build.json --module esnext --outDir lib/module","typescript":"tsc --noEmit","build:types":"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir lib/typescript","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"},"repository":{"url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git","type":"git"},"_npmVersion":"11.6.0","description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-rich-text-editor_1.3.0_1773821860819_0.828474424017291","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@chaitrabhairappa/react-rich-text-editor","version":"1.4.0","keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","_id":"@chaitrabhairappa/react-rich-text-editor@1.4.0","maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"dist":{"shasum":"81206c1ec89d9373733bec5393c20cb01ee99971","tarball":"https://registry.npmjs.org/@chaitrabhairappa/react-rich-text-editor/-/react-rich-text-editor-1.4.0.tgz","fileCount":57,"integrity":"sha512-AXEBEq+SEq6IbMQs/m2yLmBtko/DZGYqlhSVE0vJwmk7R0hV5q1KowHVK8aLrwnRjqfgLU+FqBp/hi1gDnmPLA==","signatures":[{"sig":"MEUCIQDDMsBg5WeZ1uckprtqz8j8XSXJGpu2qZP4GNeWw9PEkAIgK0EtowIo9WZpcauNTh1aWJCgsYk0TNscx8Xcwcbh3AA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485770},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","gitHead":"ccd29f8647fddcf135205370301c0765663e78d1","scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","clean":"rm -rf lib","example":"npm run build && cd example && npm install && npm run dev","build:cjs":"tsc --project tsconfig.build.json --module commonjs --outDir lib/commonjs","build:esm":"tsc --project tsconfig.build.json --module esnext --outDir lib/module","typescript":"tsc --noEmit","build:types":"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir lib/typescript","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"},"repository":{"url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git","type":"git"},"_npmVersion":"11.6.0","description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-rich-text-editor_1.4.0_1774356450023_0.1754515239134955","host":"s3://npm-registry-packages-npm-production"}},"1.5.0":{"name":"@chaitrabhairappa/react-rich-text-editor","version":"1.5.0","keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","_id":"@chaitrabhairappa/react-rich-text-editor@1.5.0","maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"dist":{"shasum":"c5423976096bbaefda4400f34236b4e9d2c34bf8","tarball":"https://registry.npmjs.org/@chaitrabhairappa/react-rich-text-editor/-/react-rich-text-editor-1.5.0.tgz","fileCount":57,"integrity":"sha512-lSKJFVm3zCix3EfOw5Tz+o+rYHQG1BZcj/g2aAGyeNwmaZ0DPVi7e9t8wd0Tuu2Ze5r6lKCjWSX7eAMzv+/RtQ==","signatures":[{"sig":"MEQCIAhoLdQi/yyWiLYNAPofYjKTctMvX0bUj08IwuWOR7iEAiAiRLafKh/QPUoACf1atLlCDN5ymMyAGNR1wJPC6VlZUQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":492993},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","gitHead":"e0c86f5a981b2dc9c304fa072eac93aa41a2d976","scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","clean":"rm -rf lib","example":"npm run build && cd example && npm install && npm run dev","build:cjs":"tsc --project tsconfig.build.json --module commonjs --outDir lib/commonjs","build:esm":"tsc --project tsconfig.build.json --module esnext --outDir lib/module","typescript":"tsc --noEmit","build:types":"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir lib/typescript","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"},"repository":{"url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git","type":"git"},"_npmVersion":"11.6.0","description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-rich-text-editor_1.5.0_1774513806078_0.25009535803737726","host":"s3://npm-registry-packages-npm-production"}},"1.5.1":{"name":"@chaitrabhairappa/react-rich-text-editor","version":"1.5.1","keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","_id":"@chaitrabhairappa/react-rich-text-editor@1.5.1","maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"dist":{"shasum":"5eea6331156a0cbffc2c1d4116b0f5c70d7f1a71","tarball":"https://registry.npmjs.org/@chaitrabhairappa/react-rich-text-editor/-/react-rich-text-editor-1.5.1.tgz","fileCount":57,"integrity":"sha512-zsyJCpxXx2uENevNl1hOCYyva3NnnOcUSRfW0BfbGCginwtqGXfgU6EL6OLxGchBQQyC/r/VYh8swYiKHLpa4g==","signatures":[{"sig":"MEUCIALn+2S4S4Dq/S2PPgxzyvBCGYw2oVBg76Bi3t9qvm/vAiEAg9hyQkx0UXh/KMs86Y57mH+Ixfc9850MEPg4Mptf/9U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":500928},"main":"lib/commonjs/index.js","types":"lib/typescript/index.d.ts","module":"lib/module/index.js","gitHead":"046236d012bb45c3f6bef2bd60dbbd6f2edd1750","scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","clean":"rm -rf lib","example":"npm run build && cd example && npm install && npm run dev","build:cjs":"tsc --project tsconfig.build.json --module commonjs --outDir lib/commonjs","build:esm":"tsc --project tsconfig.build.json --module esnext --outDir lib/module","typescript":"tsc --noEmit","build:types":"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir lib/typescript","prepublishOnly":"npm run clean && npm run build"},"_npmUser":{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"},"repository":{"url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git","type":"git"},"_npmVersion":"11.6.0","description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","directories":{},"_nodeVersion":"24.10.0","_hasShrinkwrap":false,"devDependencies":{"react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.0.0","@types/react":"^18.2.0","@types/react-dom":"^18.2.0"},"peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"_npmOperationalInternal":{"tmp":"tmp/react-rich-text-editor_1.5.1_1774604578651_0.5812463921802593","host":"s3://npm-registry-packages-npm-production"}},"1.5.2":{"name":"@chaitrabhairappa/react-rich-text-editor","version":"1.5.2","description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","main":"lib/commonjs/index.js","module":"lib/module/index.js","types":"lib/typescript/index.d.ts","scripts":{"build":"npm run build:cjs && npm run build:esm && npm run build:types","build:cjs":"tsc --project tsconfig.build.json --module commonjs --outDir lib/commonjs","build:esm":"tsc --project tsconfig.build.json --module esnext --outDir lib/module","build:types":"tsc --project tsconfig.build.json --declaration --emitDeclarationOnly --outDir lib/typescript","typescript":"tsc --noEmit","clean":"rm -rf lib","example":"npm run build && cd example && npm install && npm run dev","prepublishOnly":"npm run clean && npm run build"},"keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"repository":{"type":"git","url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git"},"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","peerDependencies":{"react":">=17.0.0","react-dom":">=17.0.0"},"devDependencies":{"@types/react":"^18.2.0","@types/react-dom":"^18.2.0","react":"^18.2.0","react-dom":"^18.2.0","typescript":"^5.0.0"},"_id":"@chaitrabhairappa/react-rich-text-editor@1.5.2","gitHead":"9145af5de1f78ce4b56ecdd1c9215f905731a66a","_nodeVersion":"24.10.0","_npmVersion":"11.6.0","dist":{"integrity":"sha512-y4mT37G5/bPJ5s3gyUv5NYNtg/MSlUewpIdR9AXc92k3bEZY4b/qdK9WNRGKAvFFs+nm29Ulm4YXBNDaCTsoHg==","shasum":"f1507c3e13ed48ea4b560d4b80ac61eb03232d2e","tarball":"https://registry.npmjs.org/@chaitrabhairappa/react-rich-text-editor/-/react-rich-text-editor-1.5.2.tgz","fileCount":57,"unpackedSize":499523,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIHVPBhohkXgctxM9zqcMLS/DAQsx3xL0bIsoj1sbzXksAiAezHBCoheVADMFJMeyztaksHcquMozFQH5KtZcyQJZ7g=="}]},"_npmUser":{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"},"directories":{},"maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-rich-text-editor_1.5.2_1774611886125_0.603820861023483"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-10T12:59:45.311Z","modified":"2026-03-27T11:44:46.419Z","1.0.0":"2026-02-10T12:59:45.605Z","1.1.0":"2026-02-17T05:02:50.501Z","1.2.0":"2026-02-24T11:40:56.274Z","1.3.0":"2026-03-18T08:17:40.972Z","1.4.0":"2026-03-24T12:47:30.257Z","1.5.0":"2026-03-26T08:30:06.265Z","1.5.1":"2026-03-27T09:42:58.818Z","1.5.2":"2026-03-27T11:44:46.323Z"},"bugs":{"url":"https://github.com/Chaitra9225/react-rich-text-editor/issues"},"author":{"name":"Chaitra Bhairappa","email":"chaithrachinnu.cbg@gmail.com"},"license":"MIT","homepage":"https://github.com/Chaitra9225/react-rich-text-editor#readme","keywords":["react","rich-text","editor","wysiwyg","text-formatting","contenteditable"],"repository":{"type":"git","url":"git+https://github.com/Chaitra9225/react-rich-text-editor.git"},"description":"A high-performance rich text editor for React (web) — matching the design and behavior of react-native-rich-text-editor","maintainers":[{"name":"chaitrabhairappa","email":"chaithrachinnu.cbg@gmail.com"}],"readme":"# react-rich-text-editor\n\nA powerful rich text editor for React (web) with support for text formatting, lists, and more. Matches the design and behavior of [@chaitrabhairappa/react-native-rich-text-editor](https://github.com/Chaitra9225/react-native-richtext-editor).\n\nBuilt with **contentEditable** and pure React — no dependencies on heavy libraries like Draft.js, Slate, or ProseMirror. Lightweight, fast, and easy to integrate.\n\n## Demo\n\n<p align=\"center\">\n  <img src=\"assets/demo.png\" width=\"800\" alt=\"Rich Text Editor Demo\" />\n</p>\n\n## Features\n\n- Bold, Italic, Underline, Strikethrough\n- Code and Highlight formatting\n- Bullet lists and Numbered lists\n- Headings\n- Quotes and Checklists\n- Link insertion\n- **Media attachments** — embed images and videos\n- **Inline style shortcuts** — markdown-like formatting (`*bold*`, `_italic_`, `~strikethrough~`)\n- Undo/Redo\n- Text alignment (left, center, right)\n- Indent/Outdent\n- Floating toolbar with customizable options\n- Three variants: outlined, flat, and plain\n- Auto-growing height\n- `numberOfLines` support for read-only truncation with ellipsis\n- **Delta-based content updates** for optimized performance\n- **Synchronous style detection** via `onActiveStylesChange`\n\n## Inline Style Shortcuts\n\nType markdown-like syntax to quickly apply formatting — the markers are automatically replaced with styled text:\n\n| Shortcut | Result |\n|----------|--------|\n| `*text*` | **bold** |\n| `_text_` | *italic* |\n| `~text~` | ~~strikethrough~~ |\n\n## Media Attachments\n\nEmbed images and videos directly in the editor. Use the toolbar button or the ref method:\n\n```tsx\neditorRef.current?.insertMediaAttachment({\n  kind: 'image',\n  uri: 'https://example.com/photo.jpg',\n  alt: 'A photo',\n  width: 600,\n  height: 400,\n});\n\neditorRef.current?.insertMediaAttachment({\n  kind: 'video',\n  uri: 'https://example.com/video.mp4',\n  width: 640,\n  height: 360,\n});\n```\n\nMedia blocks appear as a `mediaAttachment` block type in the content:\n\n```typescript\n{\n  type: 'mediaAttachment',\n  text: '',\n  styles: [],\n  mediaAttachment: {\n    kind: 'image',\n    uri: 'https://example.com/photo.jpg',\n    alt: 'A photo',\n    width: 600,\n    height: 400,\n  },\n}\n```\n\n## Why Delta-Based Updates?\n\nUnlike other editors that send the **entire document** on every keystroke, this library includes **delta information** — only what changed.\n\n```typescript\nonContentChange={(event) => {\n  // Full content (for saving)\n  console.log(event.text);\n  console.log(event.blocks);\n\n  // Delta (for optimized processing)\n  console.log(event.delta);\n  // { type: \"insert\", position: 50, text: \"a\" }\n}}\n```\n\n| Delta Type | When | Data |\n|------------|------|------|\n| `insert` | User types | `position`, `text` |\n| `delete` | User deletes | `position`, `length` |\n| `replace` | Selection replaced | `position`, `length`, `text` |\n| `format` | Style applied | `position`, `length`, `style` |\n\n**Benefits:**\n- **Server sync** — Send only deltas instead of full document\n- **Collaborative editing** — Apply remote changes efficiently\n- **Analytics** — Track exactly what users type/delete\n- **Performance** — Process small changes without parsing entire content\n\n## Installation\n\n```bash\nnpm install @chaitrabhairappa/react-rich-text-editor\n# or\nyarn add @chaitrabhairappa/react-rich-text-editor\n```\n\nNo additional setup required.\n\n## Usage\n\n```tsx\nimport React, { useRef } from 'react';\nimport RichTextEditor, {\n  RichTextEditorRef,\n  Block,\n  ContentChangeEvent,\n} from '@chaitrabhairappa/react-rich-text-editor';\n\nconst App = () => {\n  const editorRef = useRef<RichTextEditorRef>(null);\n\n  const handleContentChange = (event: ContentChangeEvent) => {\n    console.log('Content changed:', event.blocks);\n  };\n\n  const initialContent: Block[] = [\n    {\n      type: 'paragraph',\n      text: 'Hello World',\n      styles: [{ style: 'bold', start: 0, end: 5 }],\n    },\n    {\n      type: 'bullet',\n      text: 'First item',\n      styles: [],\n    },\n    {\n      type: 'bullet',\n      text: 'Second item',\n      styles: [{ style: 'italic', start: 0, end: 6 }],\n    },\n  ];\n\n  return (\n    <div style={{ padding: 16 }}>\n      <RichTextEditor\n        ref={editorRef}\n        placeholder=\"Enter text...\"\n        initialContent={initialContent}\n        onContentChange={handleContentChange}\n        maxHeight={300}\n        variant=\"outlined\"\n      />\n    </div>\n  );\n};\n\nexport default App;\n```\n\n## Props\n\n| Prop                   | Type                                    | Default      | Description                          |\n| ---------------------- | --------------------------------------- | ------------ | ------------------------------------ |\n| `style`                | `CSSProperties`                         | `undefined`  | Custom styles for the editor         |\n| `className`            | `string`                                | `undefined`  | Custom CSS class name                |\n| `placeholder`          | `string`                                | `\"\"`         | Placeholder text                     |\n| `initialContent`       | `Block[]`                               | `[]`         | Initial content blocks               |\n| `readOnly`             | `boolean`                               | `false`      | Make editor read-only                |\n| `numberOfLines`        | `number`                                | `undefined`  | Max lines before truncating with ellipsis (read-only) |\n| `maxHeight`            | `number`                                | `undefined`  | Maximum height before scrolling      |\n| `showToolbar`          | `boolean`                               | `true`       | Show/hide floating toolbar           |\n| `toolbarOptions`       | `ToolbarOption[]`                       | All options  | Customize toolbar buttons            |\n| `variant`              | `'outlined' \\| 'flat' \\| 'plain'`       | `'outlined'` | Editor style variant                 |\n| `onContentChange`      | `(event: ContentChangeEvent) => void`   | `undefined`  | Called when content changes           |\n| `onSelectionChange`    | `(event: SelectionChangeEvent) => void` | `undefined`  | Called when selection changes         |\n| `onFocus`              | `() => void`                            | `undefined`  | Called when editor gains focus        |\n| `onBlur`               | `() => void`                            | `undefined`  | Called when editor loses focus        |\n| `onActiveStylesChange` | `(styles: ActiveStylesState) => void`   | `undefined`  | Called when active styles change      |\n\n## Ref Methods\n\n```tsx\nconst editorRef = useRef<RichTextEditorRef>(null);\n\n// Content management\neditorRef.current?.setContent(blocks);\neditorRef.current?.clear();\nconst text = await editorRef.current?.getText();\nconst blocks = await editorRef.current?.getBlocks();\n\n// Focus management\neditorRef.current?.focus();\neditorRef.current?.blur();\n\n// Text styles\neditorRef.current?.toggleBold();\neditorRef.current?.toggleItalic();\neditorRef.current?.toggleUnderline();\neditorRef.current?.toggleStrikethrough();\neditorRef.current?.toggleCode();\neditorRef.current?.toggleHighlight();\n\n// Block types\neditorRef.current?.setHeading();\neditorRef.current?.setBulletList();\neditorRef.current?.setNumberedList();\neditorRef.current?.setQuote();\neditorRef.current?.setChecklist();\neditorRef.current?.setParagraph();\n\n// Actions\neditorRef.current?.insertLink(url, text);\neditorRef.current?.insertMediaAttachment({ kind, uri, alt, width, height });\neditorRef.current?.undo();\neditorRef.current?.redo();\neditorRef.current?.clearFormatting();\neditorRef.current?.toggleChecklistItem();\n\n// Indentation\neditorRef.current?.indent();\neditorRef.current?.outdent();\n\n// Alignment\neditorRef.current?.setAlignment('left' | 'center' | 'right');\n```\n\n## Types\n\n```typescript\ninterface Block {\n  type: BlockType;\n  text: string;\n  styles: StyleRange[];\n  alignment?: TextAlignment;\n  checked?: boolean;\n  indentLevel?: number;\n  mediaAttachment?: MediaAttachment;\n}\n\ntype BlockType = 'paragraph' | 'bullet' | 'numbered' | 'heading' | 'quote' | 'checklist' | 'mediaAttachment';\n\ninterface MediaAttachment {\n  kind: 'image' | 'video';\n  uri: string;\n  width?: number;\n  height?: number;\n  alt?: string;\n}\ntype TextAlignment = 'left' | 'center' | 'right';\n\ninterface StyleRange {\n  style: 'bold' | 'italic' | 'underline' | 'strikethrough' | 'link' | 'code' | 'highlight';\n  start: number;\n  end: number;\n  url?: string;\n  highlightColor?: string;\n}\n\ntype ToolbarOption =\n  | 'bold'\n  | 'italic'\n  | 'strikethrough'\n  | 'underline'\n  | 'code'\n  | 'highlight'\n  | 'heading'\n  | 'bullet'\n  | 'numbered'\n  | 'quote'\n  | 'checklist'\n  | 'mediaAttachment'\n  | 'link'\n  | 'undo'\n  | 'redo'\n  | 'clearFormatting'\n  | 'indent'\n  | 'outdent'\n  | 'alignLeft'\n  | 'alignCenter'\n  | 'alignRight';\n```\n\n## Customizing Toolbar\n\n```tsx\nimport RichTextEditor, { ToolbarOption } from '@chaitrabhairappa/react-rich-text-editor';\n\nconst toolbarOptions: ToolbarOption[] = ['bold', 'italic', 'underline', 'bullet', 'numbered'];\n\n<RichTextEditor\n  toolbarOptions={toolbarOptions}\n  // ...\n/>;\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}