{"_id":"@parathantl/react-email-editor","_rev":"29-3eb9f6ab17d15dde5e2b22810afdb5b3","name":"@parathantl/react-email-editor","dist-tags":{"latest":"0.2.8"},"versions":{"0.1.0":{"name":"@parathantl/react-email-editor","version":"0.1.0","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.0","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"912d2ce9b936ac0a3c24c6ffd8d8e2bf730bdfac","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.0.tgz","fileCount":11,"integrity":"sha512-WGleK56lBVPjLMyW+3R5xcuw2N9NZEtzQ2YC5bjagHHmj8JVknOnrUaBEKGiOU7Ucf3wZ9AgQzmngyhlKFE6kw==","signatures":[{"sig":"MEQCICn1oCHJzesGwar8ZG28C5UEGe8YKzz0NTno7NwfF0f8AiA4eA+Q+ZbZocY/3/8HjcvQ8afsjsNOEoqdnMaDAVrA7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1724159},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"},"./styles.css":"./dist/index.css"},"gitHead":"1f80a8ca3538c4bfb3b11678a8c9241d7ab48e57","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","@tiptap/pm":"^2.11.5","@tiptap/core":"^2.11.5","@tiptap/react":"^2.11.5","@tiptap/starter-kit":"^2.11.5","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","typescript":"^5.7.3","@types/react":"^18.3.18","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.0_1771446102290_0.5971645517096942","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@parathantl/react-email-editor","version":"0.1.1","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.1","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"23a483675ea1a9ea5039ed9b36b274ae7cd78c18","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.1.tgz","fileCount":11,"integrity":"sha512-dfcH/vio/sB2CR6GeMYVwduzT33K+YJ6EGl02P8LYz50FOuKzOxWAgdtKq5OieWAXxZOG7A4xBCR7PbBfdZC7w==","signatures":[{"sig":"MEUCIHyvYL3+2SSiXgaSWgfXQrXcEh7OnsJGrnLgE/Jd11B7AiEAzKURItYbVSIJmKRcBspGRIlNMbK7QG7Ntyz/+NcyzGE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1789478},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"83fbda17dc5057b7d4ec5c5a466004499c273731","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","dompurify":"^3.3.1","@tiptap/pm":"^2.11.5","@tiptap/core":"^2.11.5","@tiptap/react":"^2.11.5","@tiptap/starter-kit":"^2.11.5","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","typescript":"^5.7.3","@types/react":"^18.3.18","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.1_1771524798571_0.42437184467206057","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@parathantl/react-email-editor","version":"0.1.2","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.2","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"9a1cd5b514f5e33eed42a46c0fa34055d54aad05","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.2.tgz","fileCount":11,"integrity":"sha512-0UXuA7F7W+NrVRc6ni2MNIn4QEwH5CGbZsxRKklh/2Q3AzF7wWDcofWdnWwk1go9Hzxk6wmeMbPOk528X+n9Mw==","signatures":[{"sig":"MEUCIQD4xa3aa5FCVhb79umULBGz7Nh96qBT3aF6Quw8DL09VgIgDQgDjsnRQVq1wsurOwCAq14kGQHrUqmE9KJMtpOFxtw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1808822},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"9dbb4a6ad480013cc29462e1112dc06623863f19","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","dompurify":"^3.3.1","@tiptap/pm":"^2.11.5","@tiptap/core":"^2.11.5","@tiptap/react":"^2.11.5","@tiptap/starter-kit":"^2.11.5","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","typescript":"^5.7.3","@types/react":"^18.3.18","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@testing-library/jest-dom":"^6.9.1"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.2_1771526558561_0.26694858512120434","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@parathantl/react-email-editor","version":"0.1.3","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.3","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"60f9557ff6ce394000ffb8b1c1942145883d1cf0","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.3.tgz","fileCount":11,"integrity":"sha512-UzltSUM+E4+V3lWDw0yBtWJ33Jy387qFyou6DoXm54XfFiuBL13KfX/jhsGtlkX9Qnev3TRW8zq53qaKuQ8nxw==","signatures":[{"sig":"MEUCIQDSc1mPehsSJfjdKELWUMA7U4Pf0RXfsOGPtSDW8+tclQIgeQvQrIETwBtVkt7aY8GA9FUe7a/g6RQJoxwaUTadIgU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6775036},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"50817a7dabbb8dc39f163bba8206d0efc69f2f28","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.3_1771547444405_0.5295758184061456","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@parathantl/react-email-editor","version":"0.1.4","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.4","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"0ee613af5913fb6e2519985b2f6ff12601e2cae6","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.4.tgz","fileCount":11,"integrity":"sha512-gIlC/y97NAG1tHmGpt9hfR7kn6Rd5WRrQ3sOnmZuWhtWQ1+ODlKyrFP/v4Hmv5CaUa6IobyHUeOUpZe7iRNIUQ==","signatures":[{"sig":"MEUCIQCS3OtqEpV0Rk8An0wdsTN+y2NHXiSWwD1KYrNRqZlmgAIgPoS2Pl8O86tTP7cZZt7JH16okzLs1UwFjOGSJJyXrxE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6777799},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"50817a7dabbb8dc39f163bba8206d0efc69f2f28","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.4_1771549969428_0.8075642804750074","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@parathantl/react-email-editor","version":"0.1.5","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.5","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"edf975598195c35d68b540ea2fbf3c90a6efcc87","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.5.tgz","fileCount":11,"integrity":"sha512-4ybOjG6qKrA7SLxi41shXoV0qouhTs/A5KfOocuptaKxG2WB4O305sy8hHUAJjJKhpg0Ld0i1URRnagIs0c77g==","signatures":[{"sig":"MEUCIQCZZontXrPj7pxjei6zobnLhzOsf6NhoLdgq1oIlC/moQIgB4EGW+pGe8qlbaESXhuJDo7D04I+AfcWZ9Tl/a7CZSQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6779096},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"a90c8f23b5ee5a5d98b0eec8ff33e4e36ffde0bb","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.5_1771550822770_0.05858256251109695","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@parathantl/react-email-editor","version":"0.1.6","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.6","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"b433a048d24d93dc1bccdf31be1bb76bff0c28b2","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.6.tgz","fileCount":11,"integrity":"sha512-Zd5lTDz2fBaBM2ahSgzz66plCwthvSGJb3lvf4VuTCqJLa/oT/zsVn2vtMo1zWmvmDZo3FJ7W3P+sVYmCgBLtw==","signatures":[{"sig":"MEYCIQDd7HPEfoPsPao82NJhLG5223LPXtAg5xwQuIJDkY0tFAIhAJ+NshiEYh9+0nbPr0bOa5Sslpq4ABu6qAtlBnhWUJkw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6878882},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"eceb9b39da9ad540acc0ab85e1edd0b2f157191f","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.6_1772037228085_0.44618504307468543","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@parathantl/react-email-editor","version":"0.1.7","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.7","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"f441bdea1db4a6da8aec3bbed74b7d212f0ef1d2","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.7.tgz","fileCount":11,"integrity":"sha512-41QynchaaOvZf8IOtePX/OQOkOUyPND0sy4/iPcCLmz3G26zgeP73BQ0NhhTGtCGAZ88CEVwIYBeMn29ExeGBw==","signatures":[{"sig":"MEUCIDblkfmvo34VbSCOLPtlw9xcWNqUtczr8Ylj116p5ibZAiEA0UKZwwpcUSgn0U8TmFc4H2dRGHSMTVlh/hrtyCPwuI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7055008},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"23b5901aad8006e88f70cb772d78a980038d7bc4","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.7_1772105179361_0.8290651818647612","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"@parathantl/react-email-editor","version":"0.1.8","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.8","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"a90d36c6b1d2bd824b696883ab13a9ad608c6b00","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.8.tgz","fileCount":11,"integrity":"sha512-9FpyKitL3RAUUvGxz8A7ecYDdYluSVcmIRY3nUn/ioQCUtjDWDhKZ2hBlEEkC5K0N0kZ3xK65A+OPs3MmDr2mQ==","signatures":[{"sig":"MEUCICIy7Fl7EllE680clJq8aBwSXLfTsE8TI4qdKxmuqkplAiEAzIUCfp6kKe8FmH3jhuK9Bd49aiO+Z3O+tNg0L40IP3Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7058611},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"f412147adde142e4b1f4dc2a1a92d4bf266f7697","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.8_1773208476406_0.1564739405909834","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"@parathantl/react-email-editor","version":"0.1.9","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.9","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"6568db4fa73f4cd0049f09c013e2afcbedb853fe","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.9.tgz","fileCount":11,"integrity":"sha512-ALUnXUBz7XmZUc+tcJQZZSG/bF1WLB5N7eoqR6NrUnxeFPW2mWU9stt+YeOBltWUhS9cTXqMdtTuZwenjTwktg==","signatures":[{"sig":"MEUCIAxFFuWcDHxXquKJ97B8piLHUcEqrhXxpfAghIYSQqiCAiEA7Q/5IHI3VxZhBQwVHy879baXfpjssqXmWPxgMwlVgXY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7075249},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"d0b6d9201d7e6ee5c6e3bb1b7f7d20b58429a965","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.9_1773562042485_0.532173578627239","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"@parathantl/react-email-editor","version":"0.1.10","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.10","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"c2c297d9cbdba2ddcb52f4614be7d538b0028bd7","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.10.tgz","fileCount":11,"integrity":"sha512-a9v+hJlQBZnTmkjm7E9Wz9uLoNfNFPIsWm2Os4sRugABVcsF9u4VvvV4QnGpAh+RMoUiescVETvEQrrUCgYXwA==","signatures":[{"sig":"MEYCIQD5DK+Oczu8JYsUVzShUNwlwUBAOk6fQWmeSQ9rlpkqJgIhAMNiqhidH6hJ4zkhxGrRspT+JzBrbcnHQFbYqo2fQ2zM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7077637},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"0a27c6005c33941341c87c108750c08b2fffe535","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.10_1773927115423_0.01446460226089119","host":"s3://npm-registry-packages-npm-production"}},"0.1.11":{"name":"@parathantl/react-email-editor","version":"0.1.11","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.11","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"619a311b25a6c414f33b4a535c1552da76a289c2","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.11.tgz","fileCount":11,"integrity":"sha512-bEJrhIKLvDjbWdBIz+PL/dV3Rw+iTydaCfGV3XIpcx05oO7tsSdURWK2vVACbMXzBOw1X7L9FRNcS5d5PzTgkg==","signatures":[{"sig":"MEUCIDGhlWfGORMIsDFwy6eWW3RDJtfJQCgEOfG9tUjGQgMdAiEA9NB9hkHbqvNvaetdr5SR5nHx3SLBN2SOW33wymKl4oE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7090233},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"6ba4369eca3032b0d5a3f65a3097a4cfbcd5a09c","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.11_1774862218974_0.518828103041572","host":"s3://npm-registry-packages-npm-production"}},"0.1.12":{"name":"@parathantl/react-email-editor","version":"0.1.12","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.12","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"6f959abbed61ef9e5424788407392473963804cf","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.12.tgz","fileCount":11,"integrity":"sha512-+3H2hjPNvU721OM0HYzU1Nc9tWxPU9hJt7EtUk/wwOL7YwL778/tf9TU+9VLGvxAWn7VQ/1Y07vDUeuYP7uh/A==","signatures":[{"sig":"MEUCIQCaY5WFEaDI9M4h3b7r67NraJ8S1j5AmmyPjHdZTJeYKgIgVq37CymqL3NzpGz3rxYUxo6IKvZOBaZYBPGaSnfMwr4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7090354},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"8f90928157b93894272bd3a39eb5d21abd380383","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.12_1775462623308_0.34661005274698575","host":"s3://npm-registry-packages-npm-production"}},"0.1.13":{"name":"@parathantl/react-email-editor","version":"0.1.13","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.13","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"9a4ca8bb2a916b54af31d7d8c6ad7a37860c3aba","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.13.tgz","fileCount":11,"integrity":"sha512-wEIMPlBoyUBJa16f+QV0zWNbQC/nEA5MdIJX2ObL7Y71dVvaycxnwbOSBQAe6Qi3nDJm4KvmSLVnLn/8ykAgog==","signatures":[{"sig":"MEQCIHtuI8oJfotONLiFdhrV0iNfA64WYeFnzEBp79tk6xwqAiBBHKYWtI89HzBb1lg2Cgd4P95F2FliLST+Ets0knVmMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7093520},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"252dd32a4af036e662122de86f5753b6e4359dfc","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.13_1775463931759_0.37694673979493554","host":"s3://npm-registry-packages-npm-production"}},"0.1.14":{"name":"@parathantl/react-email-editor","version":"0.1.14","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.14","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"bb0a5ef1814186ad84d4c776e2d3c38c5927b525","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.14.tgz","fileCount":11,"integrity":"sha512-RKkR4ooJOR3dxkEbDqWcn0OMRywVqQ6gGutdS2NzF7aNIYF94KUQuamNhC/hMAmVGvgA099PhUi0WMZkzyGD2A==","signatures":[{"sig":"MEUCICxJ7K2feBcoGsSMgEFRFp6mh3z4OwTyIndD+khrtLOqAiEAwUSSHUDDgXqRti8GBYRuFtfPX82GX4uyiciWgUZtmAI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7107314},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"afeb9f7f360d081c1fa9ca6ad1edcb7ee504f932","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.14_1775465341999_0.4710936037748443","host":"s3://npm-registry-packages-npm-production"}},"0.1.15":{"name":"@parathantl/react-email-editor","version":"0.1.15","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.15","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"f71c54303a94fb2b7ce8787118dd18392cc94a98","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.15.tgz","fileCount":11,"integrity":"sha512-C7rtrzMKm2GJ3BpeanqVlBWnnKzY1hThpuqLkjz7yVpHlz0UONfRZCTmXNl6yvO39svYNf7h1iio/jZTlgSp3Q==","signatures":[{"sig":"MEYCIQDLx1VdlSK8cHRqtS64fPUCmXJSa0ipA73b7qDAJr3qewIhAJFOu5x7mBqiPPXxzda7tzU45tRpUHvEZgBU0O6W/tbe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7107766},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"349080c4808bbf7a551507ce0419b4ba959a4aa8","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.15_1775465876434_0.9509077790639819","host":"s3://npm-registry-packages-npm-production"}},"0.1.16":{"name":"@parathantl/react-email-editor","version":"0.1.16","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.16","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"103646e90ddb24a24326d120df385d37a0e67ead","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.16.tgz","fileCount":11,"integrity":"sha512-RKXlpGl3Up0ZIMuQSR0faXqMBkXCrZ4JWZmurEmWzOwyiyF1Xw7kDvOIw3wTwKi7Fdv+dXRr5JBtE4IqvNTQhg==","signatures":[{"sig":"MEUCIQCp0ZX0aaM7k1ATUbn8uB+p1M/fJvd3DmuGKYqBTzQ+dAIgJFLdeSL3PtZmOSHPNW2S6qLWQaPAs4+3CwWlCAx/wDc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7107766},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"d5df26814ded90c6fe5d62d9d77ab829ad236bff","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.16_1775466174223_0.9110106200607067","host":"s3://npm-registry-packages-npm-production"}},"0.1.17":{"name":"@parathantl/react-email-editor","version":"0.1.17","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.17","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"094ef5500ebb0149cf34cb82176fda114c9a5773","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.17.tgz","fileCount":11,"integrity":"sha512-GR0qRny7GvjgFJKvh5MwVFeB4+3fyiomnH7qtWlFeu54vY5eLvbf6vdpUBvF5zEFFv9Ab6fJhxM5MpFYl182zw==","signatures":[{"sig":"MEYCIQCkqo8b/lN5+aiNC8gYjufv6umX2s+CQ5MUZcpYzjILwwIhAMdbHQgL8McypzP1hjH8HelOXL1JRKdsMPgOuull8oyg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7107766},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"d297aea0f4844d644a88fb995a24c65b3bdf3c4f","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.17_1775466697984_0.4705596888597061","host":"s3://npm-registry-packages-npm-production"}},"0.1.18":{"name":"@parathantl/react-email-editor","version":"0.1.18","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.18","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"86808419ee084b13e37440ddeba40062ff1d81aa","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.18.tgz","fileCount":11,"integrity":"sha512-4qNKDJNwb+w0sRdBBQ95hPcytl/JynmKPmeOgZFk0uvn05b8UNzuJwJojMmXlQlvv3vpMvNEiJKovKnBjhg8kw==","signatures":[{"sig":"MEUCIFXhrdQiG0iU7NsDIEjW2kcfqz24hSCGRcj8eVvHOS6MAiEA7eEZIGgw1iNe2VQYB9PLN8XFRYoq7Vd0xO2IWUSYYp4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7107766},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"d4fe6df379937ddda131b33c029a6ae7586b3e50","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.18_1775466994233_0.6124619329586412","host":"s3://npm-registry-packages-npm-production"}},"0.1.19":{"name":"@parathantl/react-email-editor","version":"0.1.19","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.19","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"c856e9acd1881ec18cb8c9a379227142cc2da6f6","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.19.tgz","fileCount":11,"integrity":"sha512-7gQFgZdnbzciRG2crUJ11aNW4wx3x76l6IfA2MkUTNmR3IuRT9JVp6F3V6uO30mSOPyDKyEliLnKDCuATNzmiQ==","signatures":[{"sig":"MEUCIQDsXkZxbVk98MfA0YR0Ys2obADyaX6dmlrvWBP1bUzcOgIgBmSS5X/v/iH6asll0DfjOKbYdsbVSuRY9+yNVukSZvo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7137131},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"57d09d8173c841afc5d8bd2dca0e0f742a049029","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.19_1775831527602_0.12100091333291174","host":"s3://npm-registry-packages-npm-production"}},"0.1.20":{"name":"@parathantl/react-email-editor","version":"0.1.20","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.1.20","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"cd436ce6b32ccae48ff8c8860ec72bcb98d05059","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.1.20.tgz","fileCount":11,"integrity":"sha512-CIjxI1VfCE4dJBjIrhgg/xCLtzs1TPEGjkQ/AN+l+wxVb+ykZ17G7/4TOz7/BXv+2WldMlRUZRMBv/OdSeJMFA==","signatures":[{"sig":"MEYCIQCqTUCGbRV9Mw7m3JWPIJt5S3PSRwwcgRqH5KUDaM9KZwIhAKzJCmg+u9ENbEkqf86YSlhNoucn7EhFoYGgB6MEJZeN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7140991},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"6e2aad28e9606524e96aa9dfb5bba8bbaf333280","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.1.20_1776841128279_0.9564392857752015","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@parathantl/react-email-editor","version":"0.2.0","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.2.0","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"e78db5095159b040e480f96f49ed6665465c45e0","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.2.0.tgz","fileCount":11,"integrity":"sha512-e6z49hMyf7g4AJiJW4XKqMeSlZGgiitTiom/gOAYlPDdbjTW5/44CuHV5gzGSJS7yVPyWMe4BfRwIQiJ7aeQ3Q==","signatures":[{"sig":"MEUCIQD8gL5PXhPfdl88mh+n5jnUOBpnOYn2K1dDVzF0yTVAjAIgNmOb/+fu/4Hh9NCT5GHIhu91AqojzC/lfTbOUCmjoY8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7332292},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"ce0eddeced07af649d1cc0e28c2275efb541dcb2","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","@tiptap/suggestion":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.2.0_1778099754738_0.38950708348345353","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@parathantl/react-email-editor","version":"0.2.1","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.2.1","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"b8130c351416d6cfca62ab85e53799ad531beee6","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.2.1.tgz","fileCount":11,"integrity":"sha512-CdVy2qzDfYeHS6p0PPvaRHzcl1LVXGRY4+E3ewYkkJI1UTjbOpjMPFsN3G8hxS17sRWk3RBJTZ+12BV7SIwElQ==","signatures":[{"sig":"MEUCIQDb17LdlwBNs6dox93KE0j3h82sLNrJ0KKyobwAnIK0LAIgb7TE1qUbkEEYieWrPRvCxIVaMQnxFZxBKmnIIWUCwoM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7384162},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"664c3d3587091a290f444ccb74172824b80e5ae2","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","@tiptap/suggestion":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.2.1_1778150991840_0.589984927977621","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@parathantl/react-email-editor","version":"0.2.2","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.2.2","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"2c00c588a7311a786810b615b9802e7c0db6f2ca","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.2.2.tgz","fileCount":11,"integrity":"sha512-GvAabL1lFpe0tbHH+dsYLeDuChmFhzGJbBjkTs+PDALnvvNgOgwOK2zc0dgit3QzSzN/3wICI9TxORVcHMSL5Q==","signatures":[{"sig":"MEQCIBFNnToYYre1lIrYM3L34kF/qqqcGm3/v9d+dkqqPsYsAiBb7UGcvauBy6S1Fj+84dZvE9P+FHpBlLoi0ZphUrXPFA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7385491},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"25b1bb6c937674100f09c58b81d73189cf2306b6","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","@tiptap/suggestion":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.2.2_1778152255524_0.30871441665111554","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@parathantl/react-email-editor","version":"0.2.3","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.2.3","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"c5f72827ef1c6f4d4b2b04414f712791c8f30e19","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.2.3.tgz","fileCount":11,"integrity":"sha512-n6cCCCSetMDCSqPiiOR4k2tEpEEB9Ugr06BET3AwG3psHowjNeKd0nbEc9Qn94+d0HGSfj0pTPoya9P4dpQsUQ==","signatures":[{"sig":"MEYCIQDKWPICadfPkRIuJmanDho3EzrK6I7fgt31C2d8L4epvgIhAN7PpbaI0vluyQ1QDAgggdPc2WaYa73UA4iXnc31XamG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7391393},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"72cd28a1abebe8938feb6f6222cc31710adcb9c9","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","@tiptap/suggestion":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.2.3_1778512991770_0.5803634604873016","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@parathantl/react-email-editor","version":"0.2.4","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.2.4","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"de2712b021bee862b7497f61d0c4d263c665c300","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.2.4.tgz","fileCount":11,"integrity":"sha512-RoKxj8fF4wvsSiVwW1q8v0ND3gce2ytAQVY4/l6l8g/vLZbPPzGoLt03gjZZiegIdz00+E7VZCTU9eoO8k9SdQ==","signatures":[{"sig":"MEYCIQCPtpGNgaSaBRV10doGeq/G2ozJZJxCn+9TODGJgQ9OTwIhAKYQTRqp1BReRe7oParOrJUqFKmz8FXH+fBPvjgjNsHg","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7391393},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"7ffba2225dddbd5f23a30206887a48bd7745bb80","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","@tiptap/suggestion":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.2.4_1778513052575_0.6026248214730769","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@parathantl/react-email-editor","version":"0.2.5","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.2.5","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"e301530951c64fb7b660545cc5e8ff8b62e5267f","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.2.5.tgz","fileCount":11,"integrity":"sha512-aIg4DlFhyOQrJ0buhNRuBabGkYJJzh16XAVdD6AhgKACsnqSZq7XSftffIhzjFeo4Pnw/cUn2HYiUafdLJ5VfA==","signatures":[{"sig":"MEQCIDIIC85p+rSLvdDJFT9k7IywDyZdgAcxCpu0Eg4As4nvAiA86zVmCb/6LQlmEdkzbkxAZdNB0KHpwZHlczAaDX9IQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7423762},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"ed0b1fb330784a93b20654384423b3ccbbb55e95","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","@tiptap/suggestion":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.2.5_1778524031254_0.824934396735004","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@parathantl/react-email-editor","version":"0.2.6","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"license":"MIT","_id":"@parathantl/react-email-editor@0.2.6","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"homepage":"https://github.com/parathantl/react-email-editor#readme","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"dist":{"shasum":"23948380df57aa3c52fe037d4a004816117b3f8d","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.2.6.tgz","fileCount":11,"integrity":"sha512-oLFO0nYLsua5HBsxuXdCPt9bQ/xPaOJjROd9TSauewhCpzfGxlD4FCJ1olGaMi94/Z3WbnuhZvgyD3wCmgnC5A==","signatures":[{"sig":"MEUCIC7EHAqwaNAayC/eY9FujbWnf/ukbMRJ1S651rsMguxVAiEAqhZW9Cfg4Es3erIzEAg3OxjxMDFewWmnrpWpW1WrU6Y=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":7422473},"main":"dist/index.cjs","types":"dist/index.d.ts","module":"dist/index.js","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"gitHead":"fcd7372906f7b81bc4f10efffcea854cfc2ae6f3","scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test:watch":"vitest"},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"repository":{"url":"git+https://github.com/parathantl/react-email-editor.git","type":"git"},"_npmVersion":"10.7.0","description":"A visual MJML email template editor for React","directories":{},"sideEffects":["**/*.css"],"_nodeVersion":"20.14.0","dependencies":{"nanoid":"^5.1.2","@tiptap/suggestion":"^2.27.2"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vite":"^5.4.21","jsdom":"^28.1.0","react":"^18.3.1","vitest":"^1.6.1","dompurify":"^3.3.1","happy-dom":"^20.6.2","react-dom":"^18.3.1","@tiptap/pm":"^2.11.5","typescript":"^5.7.3","@tiptap/core":"^2.11.5","@types/react":"^18.3.18","@tiptap/react":"^2.11.5","@types/dompurify":"^3.2.0","@types/react-dom":"^18.3.5","@tiptap/starter-kit":"^2.11.5","@vitejs/plugin-react":"^4.7.0","@testing-library/react":"^16.3.2","@tiptap/extension-link":"^2.11.5","@tiptap/extension-color":"^2.11.5","@testing-library/jest-dom":"^6.9.1","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"_npmOperationalInternal":{"tmp":"tmp/react-email-editor_0.2.6_1778819610064_0.6659167188037982","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"@parathantl/react-email-editor","version":"0.2.8","description":"A visual MJML email template editor for React","main":"dist/index.cjs","module":"dist/index.js","types":"dist/index.d.ts","exports":{".":{"import":{"types":"./dist/index.d.mts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.ts","default":"./dist/index.cjs"}},"./styles.css":"./dist/index.css"},"sideEffects":["**/*.css"],"scripts":{"build":"tsup","dev":"tsup --watch","dev:app":"vite","build:app":"vite build","typecheck":"tsc --noEmit","test":"vitest run","test:watch":"vitest"},"dependencies":{"@tiptap/suggestion":"^2.27.2","nanoid":"^5.1.2"},"peerDependencies":{"react":">=18.0.0","react-dom":">=18.0.0"},"optionalDependencies":{"mjml-browser":"^4.15.3"},"devDependencies":{"@testing-library/jest-dom":"^6.9.1","@testing-library/react":"^16.3.2","@tiptap/core":"^2.11.5","@tiptap/extension-color":"^2.11.5","@tiptap/extension-highlight":"^2.11.5","@tiptap/extension-link":"^2.11.5","@tiptap/extension-placeholder":"^2.27.2","@tiptap/extension-text-align":"^2.11.5","@tiptap/extension-text-style":"^2.11.5","@tiptap/extension-underline":"^2.11.5","@tiptap/pm":"^2.11.5","@tiptap/react":"^2.11.5","@tiptap/starter-kit":"^2.11.5","@types/dompurify":"^3.2.0","@types/react":"^18.3.18","@types/react-dom":"^18.3.5","@vitejs/plugin-react":"^4.7.0","dompurify":"^3.3.1","happy-dom":"^20.6.2","jsdom":"^28.1.0","react":"^18.3.1","react-dom":"^18.3.1","tsup":"^8.4.0","typescript":"^5.7.3","vite":"^5.4.21","vitest":"^1.6.1"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/parathantl/react-email-editor.git"},"keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"_id":"@parathantl/react-email-editor@0.2.8","gitHead":"d3876bc208c66349533f4af7592c41660d9fe3bc","bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"homepage":"https://github.com/parathantl/react-email-editor#readme","_nodeVersion":"20.14.0","_npmVersion":"10.7.0","dist":{"integrity":"sha512-XZ3uoaNvI+3Ri/jdVzYyG9+nynHLpFRn6U49n7Jt+CU5BzVuRx8RkBHcMlvFcugGLHnkmu4LsgwSnb0H+qhcug==","shasum":"ffc7d4f8330c4d1173425724b988a32fa8e2563d","tarball":"https://registry.npmjs.org/@parathantl/react-email-editor/-/react-email-editor-0.2.8.tgz","fileCount":11,"unpackedSize":7518546,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDmxh/zPuRVfHhF+ABrUZo3aRHothYb0pYXBi3l66PmAQIgS5EFDBEm9AJEXonDQ0mp2fVPYUSWxhrsTOzf6naU/sU="}]},"_npmUser":{"name":"parathantl","email":"parathanlive123@gmail.com"},"directories":{},"maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/react-email-editor_0.2.8_1779960208147_0.5730893511626978"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-18T20:21:42.193Z","modified":"2026-05-28T09:23:28.520Z","0.1.0":"2026-02-18T20:21:42.587Z","0.1.1":"2026-02-19T18:13:18.811Z","0.1.2":"2026-02-19T18:42:38.802Z","0.1.3":"2026-02-20T00:30:44.684Z","0.1.4":"2026-02-20T01:12:49.640Z","0.1.5":"2026-02-20T01:27:03.038Z","0.1.6":"2026-02-25T16:33:48.402Z","0.1.7":"2026-02-26T11:26:19.643Z","0.1.8":"2026-03-11T05:54:36.678Z","0.1.9":"2026-03-15T08:07:22.666Z","0.1.10":"2026-03-19T13:31:55.704Z","0.1.11":"2026-03-30T09:16:59.279Z","0.1.12":"2026-04-06T08:03:43.588Z","0.1.13":"2026-04-06T08:25:32.010Z","0.1.14":"2026-04-06T08:49:02.217Z","0.1.15":"2026-04-06T08:57:56.651Z","0.1.16":"2026-04-06T09:02:54.411Z","0.1.17":"2026-04-06T09:11:38.210Z","0.1.18":"2026-04-06T09:16:34.437Z","0.1.19":"2026-04-10T14:32:07.836Z","0.1.20":"2026-04-22T06:58:48.507Z","0.2.0":"2026-05-06T20:35:55.030Z","0.2.1":"2026-05-07T10:49:52.142Z","0.2.2":"2026-05-07T11:10:55.788Z","0.2.3":"2026-05-11T15:23:12.023Z","0.2.4":"2026-05-11T15:24:12.770Z","0.2.5":"2026-05-11T18:27:11.504Z","0.2.6":"2026-05-15T04:33:30.374Z","0.2.8":"2026-05-28T09:23:28.418Z"},"bugs":{"url":"https://github.com/parathantl/react-email-editor/issues"},"license":"MIT","homepage":"https://github.com/parathantl/react-email-editor#readme","keywords":["react","email","editor","mjml","drag-and-drop","tiptap"],"repository":{"type":"git","url":"git+https://github.com/parathantl/react-email-editor.git"},"description":"A visual MJML email template editor for React","maintainers":[{"name":"parathantl","email":"parathanlive123@gmail.com"}],"readme":"# @parathantl/react-email-editor\n\n[![npm version](https://img.shields.io/npm/v/@parathantl/react-email-editor.svg)](https://www.npmjs.com/package/@parathantl/react-email-editor)\n[![license](https://img.shields.io/npm/l/@parathantl/react-email-editor.svg)](https://github.com/parathantl/react-email-editor/blob/main/LICENSE)\n\nA visual drag-and-drop email template editor for React, powered by MJML. Build responsive HTML emails with a rich block-based editor, real-time preview, and full MJML round-trip support.\n\n## Features\n\n- 12 block types: Text, Heading, Button, Image, Video, Divider, Spacer, Social, HTML, Countdown, Menu, Hero\n- Drag-and-drop block reordering and section management (with keyboard reordering via Arrow keys)\n- Rich text editing (TipTap) with formatting toolbar\n- Inline `{{` autocomplete — type `{{` in any Text/Heading block to search variables and insert at the cursor; create new variables on the fly without leaving the editor\n- MJML generation, parsing, and HTML compilation\n- Template variable support (`{{ variable }}` syntax)\n- Built-in persistence with localStorage or custom adapters\n- Responsive editor UI with collapsible panels\n- Undo/redo history (50 steps)\n- Export to MJML, HTML, and PDF\n- Extensible via registry pattern (add custom block types)\n- Full TypeScript support with strict mode\n- CSS variables for easy theming\n\n## Installation\n\n```bash\nnpm install @parathantl/react-email-editor\n```\n\n**Peer dependencies:** React 18+, React DOM 18+\n\n**Optional:** Install `mjml-browser` for HTML compilation (MJML to HTML conversion):\n\n```bash\nnpm install mjml-browser\n```\n\n## Quick Start\n\n```tsx\nimport { EmailEditor } from '@parathantl/react-email-editor';\nimport '@parathantl/react-email-editor/styles.css';\n\nfunction App() {\n  return (\n    <div style={{ height: '100vh' }}>\n      <EmailEditor\n        onChange={(template) => console.log(template)}\n        onSave={(mjml, html) => console.log(mjml, html)}\n      />\n    </div>\n  );\n}\n```\n\n## Persistence\n\nTemplates auto-save and restore when you provide a `persistenceKey`. Each key stores a separate template, so multiple editor instances can coexist.\n\n### localStorage (default)\n\n```tsx\n<EmailEditor persistenceKey=\"campaign-123\" />\n```\n\n### Custom Adapter (server, IndexedDB, etc.)\n\n```tsx\nimport type { PersistenceAdapter } from '@parathantl/react-email-editor';\n\nconst serverAdapter: PersistenceAdapter = {\n  async save(key, template) {\n    await fetch(`/api/templates/${key}`, {\n      method: 'PUT',\n      body: JSON.stringify(template),\n      headers: { 'Content-Type': 'application/json' },\n    });\n  },\n  async load(key) {\n    // `load` may return synchronously or as a Promise — the editor handles both.\n    // When async, the editor renders with `initialTemplate` first, then swaps in\n    // the loaded data once it resolves.\n    const res = await fetch(`/api/templates/${key}`);\n    return res.ok ? res.json() : null;\n  },\n  async remove(key) {\n    await fetch(`/api/templates/${key}`, { method: 'DELETE' });\n  },\n};\n\n<EmailEditor persistenceKey=\"campaign-123\" persistenceAdapter={serverAdapter} />\n```\n\n**Priority order:** persisted data > `initialTemplate` > `initialMJML`\n\n## Loading MJML from Another Component\n\nUse the ref API to control the editor from parent components:\n\n```tsx\nimport { useRef } from 'react';\nimport { EmailEditor } from '@parathantl/react-email-editor';\nimport type { EmailEditorRef } from '@parathantl/react-email-editor';\n\nfunction TemplateDesigner() {\n  const editorRef = useRef<EmailEditorRef>(null);\n\n  const loadFromServer = async () => {\n    const res = await fetch('/api/templates/welcome');\n    const mjml = await res.text();\n    editorRef.current?.loadMJML(mjml);\n  };\n\n  const handleSave = async () => {\n    const mjml = editorRef.current?.getMJML();\n    const html = await editorRef.current?.getHTML();\n    // Send to your API\n  };\n\n  return (\n    <div>\n      <button onClick={loadFromServer}>Load Template</button>\n      <button onClick={handleSave}>Save</button>\n      <EmailEditor ref={editorRef} persistenceKey=\"welcome\" />\n    </div>\n  );\n}\n```\n\nOr pass MJML at init time without a ref:\n\n```tsx\n<EmailEditor initialMJML={mjmlString} />\n```\n\n## Ref API\n\n| Method | Returns | Description |\n|--------|---------|-------------|\n| `getMJML()` | `string` | Get current template as MJML |\n| `getHTML()` | `Promise<string>` | Compile and get HTML output |\n| `getJSON()` | `EmailTemplate` | Get template as JSON object |\n| `loadMJML(source)` | `void` | Parse MJML and load into editor |\n| `loadJSON(template)` | `void` | Load an EmailTemplate object |\n| `insertBlock(type, sectionIdx?)` | `void` | Programmatically add a block |\n| `getVariables()` | `string[]` | Extract `{{ variable }}` keys |\n| `undo()` | `void` | Undo last action |\n| `redo()` | `void` | Redo last undone action |\n| `reset()` | `void` | Clear all content |\n| `clearPersisted()` | `void` | Remove saved data for the current key |\n| `exportPDF()` | `Promise<void>` | Generate PDF via print dialog |\n\n## Props\n\n| Prop | Type | Description |\n|------|------|-------------|\n| `initialTemplate` | `EmailTemplate` | Initial template object |\n| `initialMJML` | `string` | Initial MJML string (parsed on mount) |\n| `variables` | `Variable[]` | Template variables for `{{ }}` insertion |\n| `imageUploadAdapter` | `ImageUploadAdapter` | Custom image upload handler |\n| `onChange` | `(template: EmailTemplate) => void` | Called on every template change (debounced 150ms) |\n| `onSave` | `(mjml: string, html: string) => void` | Called on Ctrl+S |\n| `onReady` | `() => void` | Called once after editor mounts |\n| `onVariablesChange` | `(customVariables: Variable[]) => void` | Called when user adds/removes custom variables |\n| `fontFamilies` | `string[]` | Custom font options for the toolbar |\n| `fontSizes` | `string[]` | Custom font size options |\n| `persistenceKey` | `string` | Key for auto-save/restore (enables persistence) |\n| `persistenceAdapter` | `PersistenceAdapter` | Custom storage adapter (defaults to localStorage) |\n| `className` | `string` | CSS class for the outer wrapper |\n| `style` | `CSSProperties` | Inline styles for the outer wrapper |\n\n## Custom Icons (`customIcons`)\n\nYou can pass `customIcons` to override built-in UI icons.  \nEvery key is optional. If you skip a key, the editor uses its default emoji/icon.\n\n```tsx\n<EmailEditor\n  customIcons={{\n    desktop: '🖥️',\n    mobile: '📱',\n    undo: '↩️',\n    redo: '↪️',\n    addSection: '➕',\n    sidebar: '📚',\n    properties: '⚙️',\n    visual: '🎨',\n    source: '🧾',\n    preview: '👁️',\n    sectionDrag: '↕️',\n    sectionDuplicate: '📄',\n    sectionRemove: '🗑️',\n    blockDrag: '↕️',\n    blockDuplicate: '📄',\n    blockRemove: '🗑️',\n    previewDesktop: '🖥️',\n    previewMobile: '📱',\n    paletteText: '📝',\n    paletteHeading: '🔤',\n    paletteButton: '🔘',\n    paletteImage: '🖼️',\n    paletteVideo: '▶️',\n    paletteDivider: '➖',\n    paletteSpacer: '↕️',\n    paletteSocial: '🌐',\n    paletteHtml: '💻',\n    paletteCountdown: '⏰',\n    paletteMenu: '📋',\n    paletteHero: '⭐',\n  }}\n/>\n```\n\n### Available `customIcons` keys\n\n| Key | Used In |\n|-----|---------|\n| `desktop` | Canvas desktop view toggle |\n| `mobile` | Canvas mobile view toggle |\n| `undo` | Canvas undo button |\n| `redo` | Canvas redo button |\n| `addSection` | Canvas \"Add Section\" button |\n| `sidebar` | Toolbar sidebar toggle button |\n| `properties` | Toolbar properties toggle button |\n| `visual` | Toolbar Visual tab icon |\n| `source` | Toolbar Source tab icon |\n| `preview` | Toolbar Preview tab icon |\n| `sectionDrag` | Section drag handle |\n| `sectionDuplicate` | Section duplicate action |\n| `sectionRemove` | Section remove action |\n| `blockDrag` | Block drag handle |\n| `blockDuplicate` | Block duplicate action |\n| `blockRemove` | Block remove action |\n| `previewDesktop` | Preview panel desktop toggle |\n| `previewMobile` | Preview panel mobile toggle |\n| `paletteText` | Block palette icon for Text |\n| `paletteHeading` | Block palette icon for Heading |\n| `paletteButton` | Block palette icon for Button |\n| `paletteImage` | Block palette icon for Image |\n| `paletteVideo` | Block palette icon for Video |\n| `paletteDivider` | Block palette icon for Divider |\n| `paletteSpacer` | Block palette icon for Spacer |\n| `paletteSocial` | Block palette icon for Social |\n| `paletteHtml` | Block palette icon for HTML |\n| `paletteCountdown` | Block palette icon for Countdown |\n| `paletteMenu` | Block palette icon for Menu |\n| `paletteHero` | Block palette icon for Hero |\n\n## Block Types\n\n| Type | Description | MJML Output |\n|------|-------------|-------------|\n| `text` | Rich text with formatting | `<mj-text>` |\n| `heading` | Heading (h1–h4) with level selector | `<mj-text><h2>...</h2></mj-text>` |\n| `button` | Call-to-action button | `<mj-button>` |\n| `image` | Image with optional link | `<mj-image>` |\n| `video` | Video thumbnail with play overlay | `<mj-image>` (linked) |\n| `divider` | Horizontal line | `<mj-divider>` |\n| `spacer` | Vertical spacing | `<mj-spacer>` |\n| `social` | Social media icon links | `<mj-social>` |\n| `html` | Raw HTML content | `<mj-text>` |\n| `countdown` | Live countdown timer with digit boxes | `<mj-text>` (HTML table) |\n| `menu` | Navigation menu links | `<mj-navbar>` |\n| `hero` | Heading + subtext + CTA button | `<mj-text>` (composite HTML) |\n\n## Template Variables\n\nDefine variables and insert them into text blocks as `{{ variable_name }}`. There are three insertion paths:\n\n- **Inline autocomplete** — type `{{` in any Text or Heading block to open a popup at the cursor. Continue typing to filter by key or label, use ↑/↓ to navigate, `Enter`/`Tab` to insert, `Esc` to cancel.\n- **Sidebar click** — click a variable chip in the sidebar to insert it at the cursor in the focused editor.\n- **Sidebar drag** — drag a chip from the sidebar into a text/heading block.\n\nVariables in the sidebar are grouped by their `group` field; in the autocomplete popup, group headers appear when no query is typed and the list flattens into a search-result view as you type.\n\n```tsx\n<EmailEditor\n  variables={[\n    { key: 'first_name', sample: 'John', label: 'First Name', group: 'Contact' },\n    { key: 'company', sample: 'Acme Inc', label: 'Company', group: 'Contact' },\n    { key: 'unsubscribe_url', sample: '#', label: 'Unsubscribe URL', group: 'Links' },\n  ]}\n/>\n```\n\n| Variable Field | Required | Description |\n|---------------|----------|-------------|\n| `key` | Yes | The placeholder key used in `{{ key }}` syntax |\n| `sample` | No | Sample value shown in previews and tooltips |\n| `label` | No | Display label in the sidebar (defaults to `key`) |\n| `group` | No | Group name for organizing variables in the sidebar |\n| `icon` | No | Icon shown next to the variable chip |\n\n### Retrieving used variables\n\nExtract which variables are actually used in the current template:\n\n```tsx\nconst keys = editorRef.current?.getVariables();\n// ['first_name', 'unsubscribe_url']\n```\n\n### Listening for custom variable changes\n\nUsers can create custom variables at runtime two ways: via the sidebar form, or inline by picking the \"+ Create variable\" entry at the bottom of the `{{` autocomplete popup. Inline-created variables are added with `group: \"Custom\"` and a label derived from the key (underscores become spaces). Both paths fire `onVariablesChange`:\n\n```tsx\n<EmailEditor\n  variables={backendVariables}\n  onVariablesChange={(customVars) => {\n    // customVars = variables created by the user in the editor\n    saveToBackend(customVars);\n  }}\n/>\n```\n\n## Custom Fonts\n\nPass custom font families and sizes to the editor. These appear in the rich text toolbar dropdowns.\n\n```tsx\n<EmailEditor\n  fontFamilies={[\n    'Arial, sans-serif',\n    'Georgia, serif',\n    'Courier New, monospace',\n    'Inter, sans-serif',         // your custom web font\n  ]}\n  fontSizes={['12px', '14px', '16px', '18px', '20px', '24px', '32px']}\n/>\n```\n\nIf omitted, the editor falls back to built-in defaults (8 font families, 11 font sizes).\n\n## Backend Integration\n\nA complete example showing how to pass placeholders from your backend, save the template, and retrieve used variables:\n\n```tsx\nimport { useRef, useEffect, useState } from 'react';\nimport { EmailEditor } from '@parathantl/react-email-editor';\nimport '@parathantl/react-email-editor/styles.css';\nimport type { EmailEditorRef, EmailTemplate, Variable } from '@parathantl/react-email-editor';\n\nfunction TemplateEditor({ templateId }: { templateId: string }) {\n  const editorRef = useRef<EmailEditorRef>(null);\n  const [variables, setVariables] = useState<Variable[]>([]);\n  const [initialTemplate, setInitialTemplate] = useState<EmailTemplate | undefined>();\n\n  // 1. Load variables and template from backend on mount\n  useEffect(() => {\n    fetch(`/api/templates/${templateId}`)\n      .then((res) => res.json())\n      .then((data) => {\n        setVariables(data.variables);      // backend-defined placeholders\n        setInitialTemplate(data.template); // saved template JSON\n      });\n  }, [templateId]);\n\n  // 2. Save template + used variables to backend\n  const handleSave = async (mjml: string, html: string) => {\n    const usedVariables = editorRef.current?.getVariables(); // ['first_name', 'company']\n    const templateJSON = editorRef.current?.getJSON();\n\n    await fetch(`/api/templates/${templateId}`, {\n      method: 'PUT',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify({\n        mjml,\n        html,\n        template: templateJSON,\n        usedVariables,\n      }),\n    });\n  };\n\n  // 3. Sync user-created custom variables to backend\n  const handleVariablesChange = (customVars: Variable[]) => {\n    fetch(`/api/templates/${templateId}/variables`, {\n      method: 'POST',\n      headers: { 'Content-Type': 'application/json' },\n      body: JSON.stringify(customVars),\n    });\n  };\n\n  if (!initialTemplate) return <div>Loading...</div>;\n\n  return (\n    <EmailEditor\n      ref={editorRef}\n      initialTemplate={initialTemplate}\n      variables={variables}\n      onSave={handleSave}\n      onVariablesChange={handleVariablesChange}\n      onChange={(template) => {\n        // Optional: auto-save on every change\n        console.log('Template updated');\n      }}\n      fontFamilies={['Arial, sans-serif', 'Georgia, serif', 'Inter, sans-serif']}\n    />\n  );\n}\n```\n\n### Data flow summary\n\n```\nBackend                          Editor                         Backend\n  |                                |                              |\n  |-- variables (props) --------> |                              |\n  |-- initialTemplate (props) --> |                              |\n  |                                |                              |\n  |                                | -- onSave(mjml, html) -----> |\n  |                                | -- ref.getVariables() -----> |  (used variable keys)\n  |                                | -- ref.getJSON() ----------> |  (template structure)\n  |                                | -- onVariablesChange() ----> |  (custom variables)\n```\n\n## Custom Block Types\n\nExtend the editor with your own block types using the registry:\n\n```tsx\nimport {\n  registerBlockRenderer,\n  registerBlockProperties,\n  registerBlockGenerator,\n} from '@parathantl/react-email-editor';\n\n// Register a canvas renderer\nregisterBlockRenderer('my-block', MyBlockComponent);\n\n// Register a properties panel\nregisterBlockProperties('my-block', MyBlockPropertiesPanel);\n\n// Register an MJML generator\nregisterBlockGenerator('my-block', (block, indent) => {\n  return `${indent}<mj-text>${block.properties.content}</mj-text>`;\n});\n```\n\n## Theming\n\nThe editor uses CSS custom properties scoped under `--ee-*`. Override them to match your app:\n\n```css\n:root {\n  --ee-color-primary: #8b5cf6;\n  --ee-color-primary-hover: #7c3aed;\n  --ee-bg-panel: #fafafa;\n  --ee-border-radius: 8px;\n  --ee-font-family: 'Inter', sans-serif;\n}\n```\n\nSee `src/styles/variables.css` for the full list of 70+ customizable tokens.\n\n## Keyboard Shortcuts\n\n### Editor\n\n| Shortcut | Action |\n|----------|--------|\n| `Ctrl/Cmd + Z` | Undo |\n| `Ctrl/Cmd + Shift + Z` / `Ctrl/Cmd + Y` | Redo |\n| `Ctrl/Cmd + S` | Save (triggers `onSave`) |\n| `Escape` | Deselect block/section |\n| `Delete` / `Backspace` | Remove selected block or section |\n\n### Drag handles (focused)\n\n| Shortcut | Action |\n|----------|--------|\n| `↑` / `↓` | Reorder the focused section or block within its container |\n\n### `{{` autocomplete (open popup)\n\n| Shortcut | Action |\n|----------|--------|\n| `↑` / `↓` | Move selection through matches |\n| `Enter` / `Tab` | Insert the selected variable, or create the typed key as a new custom variable when the \"+ Create variable\" row is highlighted |\n| `Escape` | Close without inserting |\n\n## Responsive Editor\n\nThe editor automatically adapts to smaller screens:\n\n- **>= 1024px** — Full 3-panel layout (sidebar, canvas, properties)\n- **< 1024px** — Panels collapse into toggleable overlays with toolbar buttons\n\n## Browser Support\n\nSupports all modern browsers (Chrome, Firefox, Safari, Edge). Requires React 18+.\n\n## License\n\n[MIT](LICENSE)\n","readmeFilename":"README.md"}