{"_id":"@alphinex/editor","_rev":"9-f8a4caa57a8f1625bfb610394c8fa2e9","name":"@alphinex/editor","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.0":{"name":"@alphinex/editor","version":"1.0.0","license":"UNLICENSED","_id":"@alphinex/editor@1.0.0","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"dist":{"shasum":"aee0de6df8b2dc11a81741026d1780e965ba5e5a","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.0.tgz","fileCount":5,"integrity":"sha512-dTa4OWtLAaRLPEE2We9VfegeZsUlSii5LCyYEMy4BU3cF+nqFt7dTKIuLAIxRmAQIE50HlG9nyBrmGwMAU98sA==","signatures":[{"sig":"MEUCIQDGMgBUmyLk1ZKyfC6lqXvkx4s3f+V+KF+WFm6NYdfc3wIgSYSzjNxokrFx8W2sEpISfgP4d6r3ChYaUHTZMInEC3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"dompurify":"^3.4.13","@alphinex/ui":"2.1.0","@tiptap/react":"^3.29.2","@alphinex/core":"1.0.0","@alphinex/hooks":"1.0.0","@alphinex/icons":"1.0.1","@alphinex/theme":"1.1.0","@alphinex/utils":"1.0.0","@tiptap/starter-kit":"^3.29.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","axe-core":"^4.10.2","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","@alphinex/build-config":"0.0.0","@testing-library/react":"^16.1.0","@alphinex/eslint-config":"0.0.0","@testing-library/jest-dom":"^6.6.3","@alphinex/typescript-config":"0.0.0","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.0_1785935160379_0.44627559291409313","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@alphinex/editor","version":"1.0.1","license":"UNLICENSED","_id":"@alphinex/editor@1.0.1","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"dist":{"shasum":"9301ab6c2f7a076d8d2e5e1a3d6a517aeaa9ae64","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.1.tgz","fileCount":5,"integrity":"sha512-xcD5DFF83whFAfoiyiJ2CZ+RsptOxpFvbrst4G9GNQ35Q4+Qpuqo1Pl1DIykbOLLRhKCXOHsy4SbQTL0bHRM+w==","signatures":[{"sig":"MEUCIQDrCzO4/+TKkwo/AsjrHZ7JBh8WzNYl4XlPF33KwQPs7gIgMj+k3vy7tqJHvRONPwNHH2RVLpn5165xb+tXkc1PZ98=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"dompurify":"^3.4.13","@alphinex/ui":"2.1.1","@tiptap/react":"^3.29.2","@alphinex/core":"1.0.0","@alphinex/hooks":"1.0.1","@alphinex/icons":"1.0.1","@alphinex/theme":"1.1.0","@alphinex/utils":"1.0.0","@tiptap/starter-kit":"^3.29.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","axe-core":"^4.10.2","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","@alphinex/build-config":"0.0.0","@testing-library/react":"^16.1.0","@alphinex/eslint-config":"0.0.0","@testing-library/jest-dom":"^6.6.3","@alphinex/typescript-config":"0.0.0","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.1_1785938261340_0.4701698229968194","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@alphinex/editor","version":"1.0.2","license":"UNLICENSED","_id":"@alphinex/editor@1.0.2","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"dist":{"shasum":"dd0d63dab489a6d3196aaf98543157a98a820429","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.2.tgz","fileCount":5,"integrity":"sha512-o3x5TAUciD2gBVyIRNpCY1DHIZ7QdzlnGaS3QmplQlv/Da0+grjm+2WVwLjX/YyuM7ac2Wgjxtd7knTl03lr5g==","signatures":[{"sig":"MEYCIQDAZhOJtbUi1UYdFlQzHtwuHnHpwaSf5p5/1Uz08n5eTQIhANEvpSC2UHIP8w1elv6nzlYBJ3K7522wLKynGHet05G8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"dompurify":"^3.4.13","@alphinex/ui":"2.2.0","@tiptap/react":"^3.29.2","@alphinex/core":"1.0.0","@alphinex/hooks":"1.0.1","@alphinex/icons":"1.0.1","@alphinex/theme":"1.1.0","@alphinex/utils":"1.0.0","@tiptap/starter-kit":"^3.29.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","axe-core":"^4.10.2","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","@alphinex/build-config":"0.0.0","@testing-library/react":"^16.1.0","@alphinex/eslint-config":"0.0.0","@testing-library/jest-dom":"^6.6.3","@alphinex/typescript-config":"0.0.0","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.2_1786003927631_0.3652389830649063","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@alphinex/editor","version":"1.0.3","license":"UNLICENSED","_id":"@alphinex/editor@1.0.3","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"dist":{"shasum":"90101c32148ea2c2b9e270c203251456a87639c9","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.3.tgz","fileCount":5,"integrity":"sha512-aBudlBCDAB+9ImIdxktoTHnsoWKWdrUAgwQqo7Bcx0D9TJjst4jb4K9aoxZL0l6z4k/BUyc04+ZRqrK3n8f4UA==","signatures":[{"sig":"MEQCIBxN4X0Z6kEoWgCE/oN2r36udYQeo24tbyinat6CnpTYAiA3SY0QrdRixRDarOYru22zj/Q7hJqRQzIjnaekyqjALg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"dompurify":"^3.4.13","@alphinex/ui":"2.3.0","@tiptap/react":"^3.29.2","@alphinex/core":"1.0.0","@alphinex/hooks":"1.0.1","@alphinex/icons":"1.0.1","@alphinex/theme":"1.1.0","@alphinex/utils":"1.0.0","@tiptap/starter-kit":"^3.29.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","axe-core":"^4.10.2","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","@alphinex/build-config":"0.0.0","@testing-library/react":"^16.1.0","@alphinex/eslint-config":"0.0.0","@testing-library/jest-dom":"^6.6.3","@alphinex/typescript-config":"0.0.0","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.3_1786200446528_0.11094420343315492","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@alphinex/editor","version":"1.0.4","license":"UNLICENSED","_id":"@alphinex/editor@1.0.4","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"dist":{"shasum":"e854f76e104e86693126a0ece30725c0d3795310","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.4.tgz","fileCount":5,"integrity":"sha512-xikbHS9lOQYxkSOGiN+SwXwbOSKaVlTBjpC1cOedGCPOdz27s00qSzB8mKKd+dHD6Y2ffSEzjndAzVH5ue2EFQ==","signatures":[{"sig":"MEQCIEDdpP9i0y/jPVkEi19kxa03OzhjForYa+yKFgMPMEPgAiBF7CYruh/Klo46J9/AvyspMFfUGpvdkhLwM3nPnt2J2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"dompurify":"^3.4.13","@alphinex/ui":"2.4.0","@tiptap/react":"^3.29.2","@alphinex/core":"1.0.0","@alphinex/hooks":"1.0.1","@alphinex/icons":"1.0.1","@alphinex/theme":"1.1.0","@alphinex/utils":"1.0.0","@tiptap/starter-kit":"^3.29.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","axe-core":"^4.10.2","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","@alphinex/build-config":"0.0.0","@testing-library/react":"^16.1.0","@alphinex/eslint-config":"0.0.0","@testing-library/jest-dom":"^6.6.3","@alphinex/typescript-config":"0.0.0","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.4_1786218404501_0.19953086136692932","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@alphinex/editor","version":"1.0.5","license":"UNLICENSED","_id":"@alphinex/editor@1.0.5","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"dist":{"shasum":"77a25d3e1f7022135dc3de8db65f81c85fcede84","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.5.tgz","fileCount":5,"integrity":"sha512-kwo3hn/Z+YRdtKZTQHzu5VvfrVxdcX57063veCa1eyT8xqONqtm4pZ7Eg1qjYWRzScGQADuHxVxfj7j6D1oOjg==","signatures":[{"sig":"MEUCIQCjskW+zpaQatFaZZalxSrF6Jx9xKfGhoWToV/Y75sYLwIgDbnv4ned4n546rIpYm0Ib1SguNEtwdu2jXP/ZIbJXn4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"dompurify":"^3.4.13","@alphinex/ui":"2.5.0","@tiptap/react":"^3.29.2","@alphinex/core":"1.0.0","@alphinex/hooks":"1.0.1","@alphinex/icons":"1.0.1","@alphinex/theme":"1.1.0","@alphinex/utils":"1.0.0","@tiptap/starter-kit":"^3.29.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","axe-core":"^4.10.2","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","@alphinex/build-config":"0.0.0","@testing-library/react":"^16.1.0","@alphinex/eslint-config":"0.0.0","@testing-library/jest-dom":"^6.6.3","@alphinex/typescript-config":"0.0.0","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.5_1786273316059_0.6314859126687298","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@alphinex/editor","version":"1.0.6","license":"UNLICENSED","_id":"@alphinex/editor@1.0.6","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"dist":{"shasum":"28a45152a3ab6f94214b88219c7ba79ce57b5301","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.6.tgz","fileCount":5,"integrity":"sha512-J8Lfrov9vQZcA5YbA/Rrax3CCXrWM0EhSLk8WlxcUdMAXaIt2+mim+Ig73KHYYzIHje/68cak93L4dKlFz23tg==","signatures":[{"sig":"MEYCIQDYLGPvlso54ebbtkfTbySQpSE6Ps8c4jiU4xCCYl7phQIhAMvxo1Q77xw+4GbAsFDgpFHTQkUunMwc042It48E3G6u","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"dompurify":"^3.4.13","@alphinex/ui":"2.5.1","@tiptap/react":"^3.29.2","@alphinex/core":"1.0.0","@alphinex/hooks":"1.0.1","@alphinex/icons":"1.1.0","@alphinex/theme":"1.1.0","@alphinex/utils":"1.0.0","@tiptap/starter-kit":"^3.29.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","axe-core":"^4.10.2","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","@alphinex/build-config":"0.0.0","@testing-library/react":"^16.1.0","@alphinex/eslint-config":"0.0.0","@testing-library/jest-dom":"^6.6.3","@alphinex/typescript-config":"0.0.0","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.6_1786298608367_0.418991557743013","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@alphinex/editor","version":"1.0.7","license":"UNLICENSED","_id":"@alphinex/editor@1.0.7","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"dist":{"shasum":"d419efa00e40f0a01a27e5dc5454d774eb7cb98d","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.7.tgz","fileCount":5,"integrity":"sha512-IblJqGEtoygRxkOXy0rc/zaBD6+0XwRcw1dzQckuJMrxggU+bOp+xCYULSXx7lN/nGz+BXqKlYnhs/LZSKx38Q==","signatures":[{"sig":"MEUCICd8/3hYMmpMoeIUZAJcQilvyZbEg1hDaUAHLfpkQCZ6AiEAmISJiFJgoUGr4cOkAhMTAlULZHhCYnh1gVA37Jf+GJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":29308},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"private":false,"scripts":{"dev":"vite build --watch","lint":"eslint .","test":"vitest run","build":"vite build","clean":"rimraf dist .turbo","typecheck":"tsc --noEmit"},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","directories":{},"sideEffects":false,"_nodeVersion":"22.14.0","dependencies":{"dompurify":"^3.4.13","@alphinex/ui":"2.6.0","@tiptap/react":"^3.29.2","@alphinex/core":"1.0.0","@alphinex/hooks":"1.0.2","@alphinex/icons":"1.2.0","@alphinex/theme":"1.1.0","@alphinex/utils":"1.1.0","@tiptap/starter-kit":"^3.29.2"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^6.0.5","jsdom":"^25.0.1","react":"^19.0.0","eslint":"^9.17.0","vitest":"^2.1.8","axe-core":"^4.10.2","react-dom":"^19.0.0","typescript":"^5.7.2","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@vitejs/plugin-react":"^4.3.4","@alphinex/build-config":"0.0.0","@testing-library/react":"^16.1.0","@alphinex/eslint-config":"0.0.0","@testing-library/jest-dom":"^6.6.3","@alphinex/typescript-config":"0.0.0","@testing-library/user-event":"^14.5.2"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.7_1786525482525_0.8206374708248354","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@alphinex/editor","version":"1.0.8","private":false,"description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","license":"UNLICENSED","type":"module","sideEffects":false,"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./package.json":"./package.json"},"dependencies":{"@tiptap/react":"^3.29.2","@tiptap/starter-kit":"^3.29.2","dompurify":"^3.4.13","@alphinex/core":"1.0.0","@alphinex/theme":"1.1.0","@alphinex/icons":"1.2.0","@alphinex/utils":"1.1.0","@alphinex/hooks":"1.0.2","@alphinex/ui":"2.7.0"},"peerDependencies":{"react":"^19.0.0","react-dom":"^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"devDependencies":{"typescript":"^5.7.2","vite":"^6.0.5","vitest":"^2.1.8","react":"^19.0.0","react-dom":"^19.0.0","@types/react":"^19.0.2","@types/react-dom":"^19.0.2","@testing-library/react":"^16.1.0","@testing-library/jest-dom":"^6.6.3","@testing-library/user-event":"^14.5.2","@vitejs/plugin-react":"^4.3.4","axe-core":"^4.10.2","jsdom":"^25.0.1","eslint":"^9.17.0","@alphinex/build-config":"0.0.0","@alphinex/eslint-config":"0.0.0","@alphinex/typescript-config":"0.0.0"},"scripts":{"build":"vite build","dev":"vite build --watch","lint":"eslint .","typecheck":"tsc --noEmit","test":"vitest run","clean":"rimraf dist .turbo"},"_nodeVersion":"22.14.0","_id":"@alphinex/editor@1.0.8","dist":{"integrity":"sha512-gmwDDwI7bT+600Jsp30ISllxbtkbTnp3Pfuoi6K8Z7G+/QqusfjVrVsFv9e6tUCGKYc9BUOzBi/FrEWAewZxvw==","shasum":"775f1eb0987406834e64a958f8c899919307cf1f","tarball":"https://registry.npmjs.org/@alphinex/editor/-/editor-1.0.8.tgz","fileCount":5,"unpackedSize":29308,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDQ9X/9FHw+9AbOg+UsUpyGb7rtPlRwDPQ8DqmrmZNeKAiEA2++wHIpODYKViQ24Qx+1Wn5TdOLtoVE/smSx+Gaxh7s="}]},"_npmUser":{"name":"anasaliqureshi","email":"anas@alphinex.com"},"directories":{},"maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/editor_1.0.8_1786546531058_0.6362820868815731"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-05T13:06:00.232Z","modified":"2026-08-12T14:55:31.500Z","1.0.0":"2026-08-05T13:06:00.540Z","1.0.1":"2026-08-05T13:57:41.483Z","1.0.2":"2026-08-06T08:12:07.797Z","1.0.3":"2026-08-08T14:47:26.678Z","1.0.4":"2026-08-08T19:46:44.659Z","1.0.5":"2026-08-09T11:01:56.198Z","1.0.6":"2026-08-09T18:03:28.560Z","1.0.7":"2026-08-12T09:04:42.696Z","1.0.8":"2026-08-12T14:55:31.241Z"},"license":"UNLICENSED","description":"Theme-aware rich text editor (adapter around Tiptap/ProseMirror) + a DOMPurify-sanitized read-only renderer. See ADR-0012 and documentation/PRODUCT-RESEARCH-MASTER-PLAN.md §10 (Sprint 19).","maintainers":[{"name":"anasaliqureshi","email":"anas@alphinex.com"}],"readme":"# @alphinex/editor\n\nTheme-aware rich text editor — a thin adapter around [Tiptap](https://tiptap.dev)/ProseMirror\n(see [ADR-0012](../../documentation/adr/0012-adopt-tiptap-and-dompurify-for-editor.md)) plus a\nDOMPurify-sanitized read-only renderer for displaying stored content elsewhere.\n\n## Usage\n\n```tsx\nimport { RichTextEditor, RichTextRenderer } from \"@alphinex/editor\";\nimport { useState } from \"react\";\n\nfunction Note() {\n  const [html, setHtml] = useState(\"\");\n\n  return <RichTextEditor onChange={(value) => setHtml(value.html)} />;\n}\n\nfunction ReadOnlyNote({ storedHtml }: { storedHtml: string }) {\n  return <RichTextRenderer html={storedHtml} />;\n}\n```\n\nFor content that needs to be re-loaded back into an editor exactly as it was, store\n`value.json` (ProseMirror JSON) instead of `value.html`, and pass it back in as `content`:\n\n```tsx\nconst [doc, setDoc] = useState<EditorJSONContent>();\n\n<RichTextEditor content={doc} onChange={(value) => setDoc(value.json)} />;\n```\n\n`useRichTextEditor` is the headless layer underneath, if you want to build a custom toolbar\ninstead of the built-in `Toolbar`.\n\n## Security\n\nEvery path that turns stored/edited content into HTML shown on a page goes through\n`sanitizeHtml()` (an allow-list, not a deny-list) — see `src/sanitize.ts` and ADR-0012.\n`RichTextRenderer` is the only component in this package using `dangerouslySetInnerHTML`, and it\nalways sanitizes first, regardless of where the HTML came from.\n\n**Known limitation:** the toolbar's allow-list (`useRichTextEditor.ts`'s Tiptap extensions) and\n`sanitize.ts`'s `ALLOWED_TAGS`/`ALLOWED_ATTR` must be extended together — adding a new mark/node\n(tables, images, ...) to the editor without adding its tag(s) to the sanitizer's allow-list means\n`RichTextRenderer` will silently strip content the editor itself can produce.\n","readmeFilename":""}