{"_id":"@amplecapitalglobal/editor","_rev":"7-6f4479385ecc97ca5eab7e13ed9d0f50","name":"@amplecapitalglobal/editor","dist-tags":{"latest":"1.0.8"},"versions":{"1.0.0":{"name":"@amplecapitalglobal/editor","version":"1.0.0","keywords":["editor","notion","block-editor","rich-text","react","typescript"],"author":"","license":"MIT","_id":"@amplecapitalglobal/editor@1.0.0","maintainers":[{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"}],"dist":{"shasum":"856cd3310fb2265d17a870556b731e36bddcefaf","tarball":"https://registry.npmjs.org/@amplecapitalglobal/editor/-/editor-1.0.0.tgz","fileCount":6,"integrity":"sha512-0xYcaM6X79RcC0zemlTwuSBLKzAEIBS31PzpL5EZa5YvnqhQxUgRPmQC7enZPvdcF48s6FxMBCpmBLnVXfuSpQ==","signatures":[{"sig":"MEUCIQCcK2Zz5QjLAbeRUHP69S8Y7+kxI9XNp70RPWAq4z+kaAIgaQzoove2UzuQBvzCa25WBctLglKkyRzEtGUesJM3sr8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229889},"main":"./dist/index.cjs","pnpm":{"overrides":{"tailwindcss>nanoid":"3.3.7"},"patchedDependencies":{"wouter@3.7.1":"patches/wouter@3.7.1.patch"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles":"./client/src/index.css"},"scripts":{"dev":"vite --host","build":"vite build && vite build --config vite.lib.config.ts","check":"tsc --noEmit","start":"NODE_ENV=production node dist/index.js","format":"prettier --write .","preview":"vite preview --host","build:app":"vite build && esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist","build:lib":"vite build --config vite.lib.config.ts","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.2","description":"A Notion-like block editor component for React","directories":{},"sideEffects":["client/src/index.css"],"_nodeVersion":"22.14.0","dependencies":{"zod":"^4.1.12","clsx":"^2.1.1","cmdk":"^1.1.1","vaul":"^1.1.2","axios":"^1.12.0","react":"^18.0.0 || ^19.0.0","nanoid":"^5.1.5","sonner":"^2.0.7","wouter":"^3.3.5","express":"^4.21.2","recharts":"^2.15.2","input-otp":"^1.4.2","react-dom":"^18.0.0 || ^19.0.0","streamdown":"^1.4.0","next-themes":"^0.4.6","lucide-react":"^0.453.0","re-resizable":"^6.11.2","@dnd-kit/core":"^6.3.1","framer-motion":"^12.23.22","tailwind-merge":"^3.3.1","react-hook-form":"^7.64.0","react-day-picker":"^9.11.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@hookform/resolvers":"^5.2.2","tailwindcss-animate":"^1.0.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","embla-carousel-react":"^8.6.0","@radix-ui/react-label":"^2.1.7","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slider":"^1.3.6","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-toggle":"^1.1.10","react-resizable-panels":"^3.0.6","@radix-ui/react-menubar":"^1.1.16","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-radio-group":"^1.3.8","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-alert-dialog":"^1.1.15","@radix-ui/react-aspect-ratio":"^1.1.7","@radix-ui/react-context-menu":"^2.2.16","@radix-ui/react-toggle-group":"^1.1.11","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-navigation-menu":"^1.2.14"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af","devDependencies":{"add":"^2.0.6","tsx":"^4.19.1","pnpm":"^10.15.1","vite":"^5.4.21","vitest":"^2.1.4","esbuild":"^0.25.0","postcss":"^8.4.47","prettier":"^3.6.2","typescript":"5.6.3","@types/node":"^24.7.0","tailwindcss":"^4.1.14","@types/react":"^19.2.1","autoprefixer":"^10.4.20","@types/express":"4.17.21","tw-animate-css":"^1.4.0","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.1","@tailwindcss/vite":"^4.1.3","@types/google.maps":"^3.58.1","@vitejs/plugin-react":"^5.0.4","@tailwindcss/typography":"^0.5.15","vite-plugin-manus-runtime":"^0.0.56","@builder.io/vite-plugin-jsx-loc":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.0_1765964638331_0.5030458791845032","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@amplecapitalglobal/editor","version":"1.0.1","keywords":["editor","notion","block-editor","rich-text","react","typescript"],"author":"","license":"MIT","_id":"@amplecapitalglobal/editor@1.0.1","maintainers":[{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"}],"dist":{"shasum":"5064a473c52a80b2d863cde380326171ba94edb6","tarball":"https://registry.npmjs.org/@amplecapitalglobal/editor/-/editor-1.0.1.tgz","fileCount":6,"integrity":"sha512-SjErBUR7AJY+kkEyxb1/PqMeVtlELxxgOFaa4a6nZr84En/n40qmeTVZQFynaAGFdtK08t7Gl4SIiZ8w7/Kb0g==","signatures":[{"sig":"MEUCIQCMtTQI7Qhorxlq6oliPjl3etVcaoezNu3ZwSVGsVAisQIgT4Pj9a1y8z1eu0hx0kwjmIOXc4sHkUeDyo65AJNJcI8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229888},"main":"./dist/index.cjs","pnpm":{"overrides":{"tailwindcss>nanoid":"3.3.7"},"patchedDependencies":{"wouter@3.7.1":"patches/wouter@3.7.1.patch"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles":"./client/src/index.css"},"gitHead":"dc97476b769a57d54f4825c0fca9a57c40679a8a","scripts":{"dev":"vite --host","build":"vite build && vite build --config vite.lib.config.ts","check":"tsc --noEmit","start":"NODE_ENV=production node dist/index.js","format":"prettier --write .","preview":"vite preview --host","build:app":"vite build && esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist","build:lib":"vite build --config vite.lib.config.ts","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.2","description":"A Notion-like block editor component for React","directories":{},"sideEffects":["client/src/index.css"],"_nodeVersion":"22.14.0","dependencies":{"zod":"^4.1.12","clsx":"^2.1.1","cmdk":"^1.1.1","vaul":"^1.1.2","axios":"^1.12.0","react":"^18.0.0 || ^19.0.0","nanoid":"^5.1.5","sonner":"^2.0.7","wouter":"^3.3.5","express":"^4.21.2","recharts":"^2.15.2","input-otp":"^1.4.2","react-dom":"^18.0.0 || ^19.0.0","streamdown":"^1.4.0","next-themes":"^0.4.6","lucide-react":"^0.453.0","re-resizable":"^6.11.2","@dnd-kit/core":"^6.3.1","framer-motion":"^12.23.22","tailwind-merge":"^3.3.1","react-hook-form":"^7.64.0","react-day-picker":"^9.11.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@hookform/resolvers":"^5.2.2","tailwindcss-animate":"^1.0.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","embla-carousel-react":"^8.6.0","@radix-ui/react-label":"^2.1.7","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slider":"^1.3.6","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-toggle":"^1.1.10","react-resizable-panels":"^3.0.6","@radix-ui/react-menubar":"^1.1.16","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-radio-group":"^1.3.8","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-alert-dialog":"^1.1.15","@radix-ui/react-aspect-ratio":"^1.1.7","@radix-ui/react-context-menu":"^2.2.16","@radix-ui/react-toggle-group":"^1.1.11","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-navigation-menu":"^1.2.14"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af","devDependencies":{"add":"^2.0.6","tsx":"^4.19.1","pnpm":"^10.15.1","vite":"^5.4.21","vitest":"^2.1.4","esbuild":"^0.25.0","postcss":"^8.4.47","prettier":"^3.6.2","typescript":"5.6.3","@types/node":"^24.7.0","tailwindcss":"^4.1.14","@types/react":"^19.2.1","autoprefixer":"^10.4.20","@types/express":"4.17.21","tw-animate-css":"^1.4.0","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.1","@tailwindcss/vite":"^4.1.3","@types/google.maps":"^3.58.1","@vitejs/plugin-react":"^5.0.4","@tailwindcss/typography":"^0.5.15","vite-plugin-manus-runtime":"^0.0.56","@builder.io/vite-plugin-jsx-loc":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.1_1766024258454_0.8034313184431214","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@amplecapitalglobal/editor","version":"1.0.2","keywords":["editor","notion","block-editor","rich-text","react","typescript"],"author":"","license":"MIT","_id":"@amplecapitalglobal/editor@1.0.2","maintainers":[{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"}],"dist":{"shasum":"56cf1e6def5ae1585f0f26916d9ed76695bfcc9c","tarball":"https://registry.npmjs.org/@amplecapitalglobal/editor/-/editor-1.0.2.tgz","fileCount":6,"integrity":"sha512-7O0pNKI8weBegLn8VlH0IiYzhkdmjEQkXtFPKIhxq7qGatJfRWX8FMfHB9VAPNZUdzehY/PsGOiF0gkC+4XpKg==","signatures":[{"sig":"MEUCIQDZFlEcNS8ZjxT6SqQd//ipsNBEJMc4elE8tsOmYPxonQIgE+ljV7hW4Tm3TDvVbcRrEhgkzMCJY97O7uIX59H75uM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":229054},"main":"./dist/index.cjs","pnpm":{"overrides":{"tailwindcss>nanoid":"3.3.7"},"patchedDependencies":{"wouter@3.7.1":"patches/wouter@3.7.1.patch"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles":"./client/src/index.css"},"gitHead":"dc97476b769a57d54f4825c0fca9a57c40679a8a","scripts":{"dev":"vite --host","build":"vite build && vite build --config vite.lib.config.ts","check":"tsc --noEmit","start":"NODE_ENV=production node dist/index.js","format":"prettier --write .","preview":"vite preview --host","build:app":"vite build && esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist","build:lib":"vite build --config vite.lib.config.ts","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.2","description":"A Notion-like block editor component for React","directories":{},"sideEffects":["client/src/index.css"],"_nodeVersion":"22.14.0","dependencies":{"zod":"^4.1.12","clsx":"^2.1.1","cmdk":"^1.1.1","vaul":"^1.1.2","axios":"^1.12.0","react":"^18.0.0 || ^19.0.0","nanoid":"^5.1.5","sonner":"^2.0.7","wouter":"^3.3.5","express":"^4.21.2","recharts":"^2.15.2","input-otp":"^1.4.2","react-dom":"^18.0.0 || ^19.0.0","streamdown":"^1.4.0","next-themes":"^0.4.6","lucide-react":"^0.453.0","re-resizable":"^6.11.2","@dnd-kit/core":"^6.3.1","framer-motion":"^12.23.22","tailwind-merge":"^3.3.1","react-hook-form":"^7.64.0","react-day-picker":"^9.11.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@hookform/resolvers":"^5.2.2","tailwindcss-animate":"^1.0.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","embla-carousel-react":"^8.6.0","@radix-ui/react-label":"^2.1.7","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slider":"^1.3.6","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-toggle":"^1.1.10","react-resizable-panels":"^3.0.6","@radix-ui/react-menubar":"^1.1.16","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-radio-group":"^1.3.8","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-alert-dialog":"^1.1.15","@radix-ui/react-aspect-ratio":"^1.1.7","@radix-ui/react-context-menu":"^2.2.16","@radix-ui/react-toggle-group":"^1.1.11","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-navigation-menu":"^1.2.14"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af","devDependencies":{"add":"^2.0.6","tsx":"^4.19.1","pnpm":"^10.15.1","vite":"^5.4.21","vitest":"^2.1.4","esbuild":"^0.25.0","postcss":"^8.4.47","prettier":"^3.6.2","typescript":"5.6.3","@types/node":"^24.7.0","tailwindcss":"^4.1.14","@types/react":"^19.2.1","autoprefixer":"^10.4.20","@types/express":"4.17.21","tw-animate-css":"^1.4.0","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.1","@tailwindcss/vite":"^4.1.3","@types/google.maps":"^3.58.1","@vitejs/plugin-react":"^5.0.4","@tailwindcss/typography":"^0.5.15","vite-plugin-manus-runtime":"^0.0.56","@builder.io/vite-plugin-jsx-loc":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.2_1766026057278_0.9547422863878892","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@amplecapitalglobal/editor","version":"1.0.3","keywords":["editor","notion","block-editor","rich-text","react","typescript"],"author":"","license":"MIT","_id":"@amplecapitalglobal/editor@1.0.3","maintainers":[{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"}],"dist":{"shasum":"96d2a889e493196cbdaeced137867b2c528c0d46","tarball":"https://registry.npmjs.org/@amplecapitalglobal/editor/-/editor-1.0.3.tgz","fileCount":6,"integrity":"sha512-6LvjEWdpni444OGAJxMBqQzoeNdHmyJs59xdS/xHsvhCaO3R7d6gS5N/neXoMUUmfGNN2cqcBExnq3hNB+0auQ==","signatures":[{"sig":"MEYCIQDQbg5MgyjQ7809gb92UmqDu65jYoDtsMNU7uuWtYYyOQIhAIlT/oFJiDPuIm140XUgnHxzrHFC0fOWVVOxEqEBlVg1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263176},"main":"./dist/index.cjs","pnpm":{"overrides":{"tailwindcss>nanoid":"3.3.7"},"patchedDependencies":{"wouter@3.7.1":"patches/wouter@3.7.1.patch"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles":"./dist/style.css"},"gitHead":"dc97476b769a57d54f4825c0fca9a57c40679a8a","scripts":{"dev":"vite --host","build":"vite build && vite build --config vite.lib.config.ts","check":"tsc --noEmit","start":"NODE_ENV=production node dist/index.js","format":"prettier --write .","preview":"vite preview --host","build:app":"vite build && esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist","build:lib":"vite build --config vite.lib.config.ts","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"},"repository":{"url":"","type":"git"},"_npmVersion":"10.9.2","description":"A Notion-like block editor component for React","directories":{},"sideEffects":["client/src/index.css"],"_nodeVersion":"22.14.0","dependencies":{"zod":"^4.1.12","clsx":"^2.1.1","cmdk":"^1.1.1","vaul":"^1.1.2","axios":"^1.12.0","react":"^18.0.0 || ^19.0.0","nanoid":"^5.1.5","sonner":"^2.0.7","wouter":"^3.3.5","express":"^4.21.2","recharts":"^2.15.2","input-otp":"^1.4.2","react-dom":"^18.0.0 || ^19.0.0","streamdown":"^1.4.0","next-themes":"^0.4.6","lucide-react":"^0.453.0","re-resizable":"^6.11.2","@dnd-kit/core":"^6.3.1","framer-motion":"^12.23.22","tailwind-merge":"^3.3.1","react-hook-form":"^7.64.0","react-day-picker":"^9.11.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@hookform/resolvers":"^5.2.2","tailwindcss-animate":"^1.0.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","embla-carousel-react":"^8.6.0","@radix-ui/react-label":"^2.1.7","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slider":"^1.3.6","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-toggle":"^1.1.10","react-resizable-panels":"^3.0.6","@radix-ui/react-menubar":"^1.1.16","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@radix-ui/react-separator":"^1.1.7","@amplecapitalglobal/editor":"^1.0.2","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-radio-group":"^1.3.8","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-alert-dialog":"^1.1.15","@radix-ui/react-aspect-ratio":"^1.1.7","@radix-ui/react-context-menu":"^2.2.16","@radix-ui/react-toggle-group":"^1.1.11","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-navigation-menu":"^1.2.14"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af","devDependencies":{"add":"^2.0.6","tsx":"^4.19.1","pnpm":"^10.15.1","vite":"^5.4.21","vitest":"^2.1.4","esbuild":"^0.25.0","postcss":"^8.4.47","prettier":"^3.6.2","typescript":"5.6.3","@types/node":"^24.7.0","tailwindcss":"^4.1.14","@types/react":"^19.2.1","autoprefixer":"^10.4.20","@types/express":"4.17.21","tw-animate-css":"^1.4.0","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.1","@tailwindcss/vite":"^4.1.3","@types/google.maps":"^3.58.1","@vitejs/plugin-react":"^5.0.4","@tailwindcss/typography":"^0.5.15","vite-plugin-manus-runtime":"^0.0.56","@builder.io/vite-plugin-jsx-loc":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.3_1766027981776_0.7254520142891472","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@amplecapitalglobal/editor","version":"1.0.4","keywords":["editor","notion","block-editor","rich-text","react","typescript"],"author":{"name":"Ample Capital Global"},"license":"MIT","_id":"@amplecapitalglobal/editor@1.0.4","maintainers":[{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"}],"homepage":"https://github.com/amplecapitalglobal/editor#readme","bugs":{"url":"https://github.com/amplecapitalglobal/editor/issues"},"dist":{"shasum":"1f9b623a1877a525a8686a31421991ab1624505e","tarball":"https://registry.npmjs.org/@amplecapitalglobal/editor/-/editor-1.0.4.tgz","fileCount":6,"integrity":"sha512-1zYjN0Xa+FPKfIJL+2TomOekJO+TtfZvGp92wGdZnSg0GxvCmov7g5e1Qlt7cRqB3OOrHnv/6HJBYTViaWOvHg==","signatures":[{"sig":"MEUCIQD6Jat3eaFyqTpModLB/Rpc89Y04V6cCJ6k6TzfgmjkvAIgBydr6+27uA/dG5noaJzNWUeDA+ezrgcsPmjXrLYKeUM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":264401},"main":"./dist/index.cjs","pnpm":{"overrides":{"tailwindcss>nanoid":"3.3.7"},"patchedDependencies":{"wouter@3.7.1":"patches/wouter@3.7.1.patch"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles":"./dist/style.css"},"gitHead":"dc97476b769a57d54f4825c0fca9a57c40679a8a","scripts":{"dev":"vite --host","build":"vite build && vite build --config vite.lib.config.ts","check":"tsc --noEmit","start":"NODE_ENV=production node dist/index.js","format":"prettier --write .","preview":"vite preview --host","build:app":"vite build && esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist","build:lib":"vite build --config vite.lib.config.ts","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"},"repository":{"url":"git+https://github.com/amplecapitalglobal/editor.git","type":"git"},"_npmVersion":"10.9.2","description":"A Notion-like block editor component for React","directories":{},"sideEffects":["**/*.css","./dist/style.css"],"_nodeVersion":"22.14.0","dependencies":{"zod":"^4.1.12","clsx":"^2.1.1","cmdk":"^1.1.1","vaul":"^1.1.2","axios":"^1.12.0","react":"^18.0.0 || ^19.0.0","nanoid":"^5.1.5","sonner":"^2.0.7","wouter":"^3.3.5","express":"^4.21.2","recharts":"^2.15.2","input-otp":"^1.4.2","react-dom":"^18.0.0 || ^19.0.0","streamdown":"^1.4.0","next-themes":"^0.4.6","lucide-react":"^0.453.0","re-resizable":"^6.11.2","@dnd-kit/core":"^6.3.1","framer-motion":"^12.23.22","tailwind-merge":"^3.3.1","react-hook-form":"^7.64.0","react-day-picker":"^9.11.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@hookform/resolvers":"^5.2.2","tailwindcss-animate":"^1.0.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","embla-carousel-react":"^8.6.0","@radix-ui/react-label":"^2.1.7","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-select":"^2.2.6","@radix-ui/react-slider":"^1.3.6","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-toggle":"^1.1.10","react-resizable-panels":"^3.0.6","@radix-ui/react-menubar":"^1.1.16","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-checkbox":"^1.3.3","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","@radix-ui/react-accordion":"^1.2.12","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-hover-card":"^1.1.15","@radix-ui/react-collapsible":"^1.1.12","@radix-ui/react-radio-group":"^1.3.8","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-alert-dialog":"^1.1.15","@radix-ui/react-aspect-ratio":"^1.1.7","@radix-ui/react-context-menu":"^2.2.16","@radix-ui/react-toggle-group":"^1.1.11","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-navigation-menu":"^1.2.14"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af","devDependencies":{"add":"^2.0.6","tsx":"^4.19.1","pnpm":"^10.15.1","vite":"^5.4.21","vitest":"^2.1.4","esbuild":"^0.25.0","postcss":"^8.4.47","prettier":"^3.6.2","typescript":"5.6.3","@types/node":"^24.7.0","tailwindcss":"^4.1.14","@types/react":"^19.2.1","autoprefixer":"^10.4.20","@types/express":"4.17.21","tw-animate-css":"^1.4.0","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.1","@tailwindcss/vite":"^4.1.3","@types/google.maps":"^3.58.1","@vitejs/plugin-react":"^5.0.4","@tailwindcss/typography":"^0.5.15","vite-plugin-manus-runtime":"^0.0.56","@builder.io/vite-plugin-jsx-loc":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.4_1766037217220_0.7496610848261855","host":"s3://npm-registry-packages-npm-production"}},"1.0.7":{"name":"@amplecapitalglobal/editor","version":"1.0.7","keywords":["editor","notion","block-editor","rich-text","react","typescript"],"author":{"name":"Ample Capital Global"},"license":"MIT","_id":"@amplecapitalglobal/editor@1.0.7","maintainers":[{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"}],"homepage":"https://github.com/amplecapitalglobal/editor#readme","bugs":{"url":"https://github.com/amplecapitalglobal/editor/issues"},"dist":{"shasum":"dffca07cbde180960f11eeceaaa6549cf9760b2f","tarball":"https://registry.npmjs.org/@amplecapitalglobal/editor/-/editor-1.0.7.tgz","fileCount":7,"integrity":"sha512-VmCqIPCNIb4kc6mluHS2SIeh6IWeSlqfefIJwQ01416AQ6Z+P57JYGqlR1CwvrJP21hn3WPzegWMocm7RHnJNQ==","signatures":[{"sig":"MEYCIQCWZWN2fb9kXu2su3Zu4MUCsnw5NtPcjMHVDm50d5RupgIhAJmbcRRbyZIsqkawsXF2lAUAgwhl+7yfSHHQ4Mcl8MYv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":352599},"main":"./dist/index.cjs","pnpm":{"overrides":{"tailwindcss>nanoid":"3.3.7"},"patchedDependencies":{"wouter@3.7.1":"patches/wouter@3.7.1.patch"}},"type":"module","types":"./dist/index.d.ts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.cjs"},"./styles":"./dist/style.css"},"gitHead":"45af766b733b57173a3b1f89289a6540b2a54b5a","scripts":{"dev":"vite --host","build":"vite build && vite build --config vite.lib.config.ts","check":"tsc --noEmit","start":"NODE_ENV=production node dist/index.js","format":"prettier --write .","preview":"vite preview --host","build:app":"vite build && esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist","build:lib":"vite build --config vite.lib.config.ts","prepublishOnly":"npm run build:lib"},"_npmUser":{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"},"repository":{"url":"git+https://github.com/amplecapitalglobal/editor.git","type":"git"},"_npmVersion":"10.9.2","description":"A Notion-like block editor component for React","directories":{},"sideEffects":["**/*.css","./dist/style.css"],"_nodeVersion":"22.14.0","dependencies":{"clsx":"^2.1.1","sonner":"^2.0.7","next-themes":"^0.4.6","lucide-react":"^0.453.0","re-resizable":"^6.11.2","@dnd-kit/core":"^6.3.1","tailwind-merge":"^3.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-label":"^2.1.7","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-tooltip":"^1.2.8","@radix-ui/react-progress":"^1.1.7","class-variance-authority":"^0.7.1","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-alert-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af","devDependencies":{"add":"^2.0.6","tsx":"^4.19.1","pnpm":"^10.15.1","vite":"^5.4.21","vitest":"^2.1.4","esbuild":"^0.25.0","postcss":"^8.4.47","prettier":"^3.6.2","typescript":"5.6.3","@types/node":"^24.7.0","tailwindcss":"^4.1.14","@types/react":"^19.2.1","autoprefixer":"^10.4.20","@types/express":"4.17.21","tw-animate-css":"^1.4.0","vite-plugin-dts":"^4.5.4","@types/react-dom":"^19.2.1","@tailwindcss/vite":"^4.1.3","@types/google.maps":"^3.58.1","@vitejs/plugin-react":"^5.0.4","@tailwindcss/typography":"^0.5.15","vite-plugin-manus-runtime":"^0.0.56","@builder.io/vite-plugin-jsx-loc":"^0.1.1"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"_npmOperationalInternal":{"tmp":"tmp/editor_1.0.7_1766041414968_0.9833887794020366","host":"s3://npm-registry-packages-npm-production"}},"1.0.8":{"name":"@amplecapitalglobal/editor","version":"1.0.8","type":"module","license":"MIT","description":"A Notion-like block editor component for React","keywords":["editor","notion","block-editor","rich-text","react","typescript"],"author":{"name":"Ample Capital Global"},"repository":{"type":"git","url":"git+https://github.com/amplecapitalglobal/editor.git"},"main":"./dist/index.cjs","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"import":"./dist/index.mjs","require":"./dist/index.cjs","types":"./dist/index.d.ts"},"./styles":"./dist/style.css","./dist/style.css":"./dist/style.css"},"sideEffects":["**/*.css","./dist/style.css"],"scripts":{"dev":"vite --host","build":"vite build && vite build --config vite.lib.config.ts","build:lib":"vite build --config vite.lib.config.ts","build:app":"vite build && esbuild server/index.ts --platform=node --packages=external --bundle --format=esm --outdir=dist","start":"NODE_ENV=production node dist/index.js","preview":"vite preview --host","check":"tsc --noEmit","format":"prettier --write .","prepublishOnly":"npm run build:lib"},"peerDependencies":{"react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"peerDependenciesMeta":{"react":{"optional":false},"react-dom":{"optional":false}},"dependencies":{"@dnd-kit/core":"^6.3.1","@dnd-kit/sortable":"^10.0.0","@dnd-kit/utilities":"^3.2.2","@radix-ui/react-alert-dialog":"^1.1.15","@radix-ui/react-avatar":"^1.1.10","@radix-ui/react-dialog":"^1.1.15","@radix-ui/react-dropdown-menu":"^2.1.16","@radix-ui/react-label":"^2.1.7","@radix-ui/react-popover":"^1.1.15","@radix-ui/react-progress":"^1.1.7","@radix-ui/react-scroll-area":"^1.2.10","@radix-ui/react-separator":"^1.1.7","@radix-ui/react-slot":"^1.2.3","@radix-ui/react-switch":"^1.2.6","@radix-ui/react-tabs":"^1.1.13","@radix-ui/react-tooltip":"^1.2.8","class-variance-authority":"^0.7.1","clsx":"^2.1.1","lucide-react":"^0.453.0","next-themes":"^0.4.6","re-resizable":"^6.11.2","sonner":"^2.0.7","tailwind-merge":"^3.3.1"},"devDependencies":{"@builder.io/vite-plugin-jsx-loc":"^0.1.1","@tailwindcss/typography":"^0.5.15","@tailwindcss/vite":"^4.1.3","@types/express":"4.17.21","@types/google.maps":"^3.58.1","@types/node":"^24.7.0","@types/react":"^19.2.1","@types/react-dom":"^19.2.1","@vitejs/plugin-react":"^5.0.4","add":"^2.0.6","autoprefixer":"^10.4.20","esbuild":"^0.25.0","pnpm":"^10.15.1","postcss":"^8.4.47","prettier":"^3.6.2","tailwindcss":"^4.1.14","tsx":"^4.19.1","tw-animate-css":"^1.4.0","typescript":"5.6.3","vite":"^5.4.21","vite-plugin-dts":"^4.5.4","vite-plugin-manus-runtime":"^0.0.56","vitest":"^2.1.4"},"packageManager":"pnpm@10.4.1+sha512.c753b6c3ad7afa13af388fa6d808035a008e30ea9993f58c6663e2bc5ff21679aa834db094987129aa4d488b86df57f7b634981b2f827cdcacc698cc0cfb88af","pnpm":{"patchedDependencies":{"wouter@3.7.1":"patches/wouter@3.7.1.patch"},"overrides":{"tailwindcss>nanoid":"3.3.7"}},"_id":"@amplecapitalglobal/editor@1.0.8","gitHead":"0d513e17c8b86044c604d02263494907bb08da62","bugs":{"url":"https://github.com/amplecapitalglobal/editor/issues"},"homepage":"https://github.com/amplecapitalglobal/editor#readme","_nodeVersion":"22.14.0","_npmVersion":"10.9.2","dist":{"integrity":"sha512-dCQeeER5b6cQNNTtVzOQ6OyE8naQ8YIT3ahwVNMO69vWFIF03fUGUB5XzhaDd0YeoVUDz+u7qBw5t7LIwpbq4A==","shasum":"248db220a84fdf6ae986bed1b1f90fbc08dbadf2","tarball":"https://registry.npmjs.org/@amplecapitalglobal/editor/-/editor-1.0.8.tgz","fileCount":7,"unpackedSize":352648,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDIzXGUmv3kQXqtu0FZTRKom8kgIBQxckVMfoXffWRUyQIgeyMm8LaW5AMdzEezTZ0IooQ3Va59fViRE8/7p3wwXA8="}]},"_npmUser":{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"},"directories":{},"maintainers":[{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/editor_1.0.8_1766041679995_0.46008054767372486"},"_hasShrinkwrap":false}},"time":{"created":"2025-12-17T09:43:58.261Z","modified":"2025-12-18T07:08:00.394Z","1.0.0":"2025-12-17T09:43:58.510Z","1.0.1":"2025-12-18T02:17:38.603Z","1.0.2":"2025-12-18T02:47:37.419Z","1.0.3":"2025-12-18T03:19:41.953Z","1.0.4":"2025-12-18T05:53:37.372Z","1.0.7":"2025-12-18T07:03:35.305Z","1.0.8":"2025-12-18T07:08:00.187Z"},"bugs":{"url":"https://github.com/amplecapitalglobal/editor/issues"},"author":{"name":"Ample Capital Global"},"license":"MIT","homepage":"https://github.com/amplecapitalglobal/editor#readme","keywords":["editor","notion","block-editor","rich-text","react","typescript"],"repository":{"type":"git","url":"git+https://github.com/amplecapitalglobal/editor.git"},"description":"A Notion-like block editor component for React","maintainers":[{"name":"amplecapitalglobal","email":"divakar@amplecapital.co"}],"readme":"# @amplecapitalglobal/editor\r\n\r\nA powerful, Notion-like block editor component for React. Create rich, structured content with drag-and-drop blocks, markdown support, and more.\r\n\r\n## Features\r\n\r\n- 📝 **Block-based editing** - Similar to Notion's block system\r\n- 🎨 **Rich formatting** - Bold, italic, underline, strikethrough, links\r\n- 📋 **Multiple block types** - Headings, lists, quotes, images, videos, tables, and more\r\n- 🖱️ **Drag & Drop** - Reorder blocks with intuitive drag-and-drop\r\n- 📤 **Export/Import** - Export to Markdown or HTML, import from Markdown\r\n- 🎯 **TypeScript** - Fully typed with TypeScript\r\n- 🎨 **Customizable** - Control editor behavior with props\r\n- 💾 **Content access** - Get editor content via onChange callback\r\n\r\n## Installation\r\n\r\n```bash\r\nnpm install @amplecapitalglobal/editor\r\n# or\r\nyarn add @amplecapitalglobal/editor\r\n# or\r\npnpm add @amplecapitalglobal/editor\r\n```\r\n\r\n## Peer Dependencies\r\n\r\nMake sure you have React and React DOM installed:\r\n\r\n```bash\r\nnpm install react react-dom\r\n```\r\n\r\nThe package also requires these peer dependencies (they should be installed in your project):\r\n\r\n- `@dnd-kit/core`\r\n- `@dnd-kit/sortable`\r\n- `@dnd-kit/utilities`\r\n- `@radix-ui/react-dialog`\r\n- `@radix-ui/react-alert-dialog`\r\n- `@radix-ui/react-dropdown-menu`\r\n- `@radix-ui/react-tooltip`\r\n- `@radix-ui/react-switch`\r\n- `@radix-ui/react-progress`\r\n- `@radix-ui/react-avatar`\r\n- `@radix-ui/react-tabs`\r\n- `@radix-ui/react-popover`\r\n- `@radix-ui/react-scroll-area`\r\n- `@radix-ui/react-separator`\r\n- `@radix-ui/react-slot`\r\n- `@radix-ui/react-label`\r\n- `sonner`\r\n- `lucide-react`\r\n- `clsx`\r\n- `tailwind-merge`\r\n- `class-variance-authority`\r\n- `re-resizable`\r\n- `next-themes`\r\n\r\n## Basic Usage\r\n\r\n### 1. Import the Editor\r\n\r\nThe CSS is automatically included when you import the editor - no need for separate style imports!\r\n\r\n```tsx\r\nimport { Editor } from \"@amplecapitalglobal/editor\";\r\n// Styles are automatically included!\r\n```\r\n\r\n### 2. Use the Editor Component\r\n\r\n```tsx\r\nimport { useState } from \"react\";\r\nimport { Editor, Block } from \"@amplecapitalglobal/editor\";\r\n\r\nfunction App() {\r\n  const [content, setContent] = useState<Block[]>([]);\r\n\r\n  const handleChange = (blocks: Block[]) => {\r\n    setContent(blocks);\r\n    // Save to your database here\r\n    console.log(\"Editor content:\", blocks);\r\n  };\r\n\r\n  return (\r\n    <div style={{ height: \"100vh\" }}>\r\n      <Editor\r\n        onChange={handleChange}\r\n        initialBlocks={content}\r\n      />\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n## Getting Editor Content\r\n\r\nThe editor content is available through the `onChange` callback. The callback receives an array of `Block` objects:\r\n\r\n```tsx\r\nimport { Editor, Block } from \"@amplecapitalglobal/editor\";\r\n\r\nfunction MyComponent() {\r\n  const handleContentChange = (blocks: Block[]) => {\r\n    // blocks is an array of Block objects\r\n    // Each block has: id, type, content, metadata, props\r\n    \r\n    // Save to database\r\n    saveToDatabase(blocks);\r\n    \r\n    // Or convert to JSON\r\n    const json = JSON.stringify(blocks);\r\n    \r\n    // Or use the converter functions\r\n    const markdown = blocksToMarkdown(blocks);\r\n    const html = blocksToHtml(blocks);\r\n  };\r\n\r\n  return (\r\n    <Editor\r\n      onChange={handleContentChange}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n## Saving to Database\r\n\r\nHere's a complete example of saving editor content to a database:\r\n\r\n```tsx\r\nimport { useState, useEffect } from \"react\";\r\nimport { Editor, Block, blocksToMarkdown, blocksToHtml } from \"@amplecapitalglobal/editor\";\r\n\r\nfunction EditorWithDatabase() {\r\n  const [blocks, setBlocks] = useState<Block[]>([]);\r\n  const [isSaving, setIsSaving] = useState(false);\r\n\r\n  // Load initial content from database\r\n  useEffect(() => {\r\n    async function loadContent() {\r\n      try {\r\n        const response = await fetch(\"/api/content\");\r\n        const data = await response.json();\r\n        if (data.blocks) {\r\n          setBlocks(data.blocks);\r\n        }\r\n      } catch (error) {\r\n        console.error(\"Failed to load content:\", error);\r\n      }\r\n    }\r\n    loadContent();\r\n  }, []);\r\n\r\n  // Save content to database\r\n  const handleChange = async (newBlocks: Block[]) => {\r\n    setBlocks(newBlocks);\r\n    setIsSaving(true);\r\n\r\n    try {\r\n      // Save blocks as JSON\r\n      await fetch(\"/api/content\", {\r\n        method: \"POST\",\r\n        headers: { \"Content-Type\": \"application/json\" },\r\n        body: JSON.stringify({\r\n          blocks: newBlocks,\r\n          // Optionally also save as markdown or HTML\r\n          markdown: blocksToMarkdown(newBlocks),\r\n          html: blocksToHtml(newBlocks),\r\n        }),\r\n      });\r\n\r\n      console.log(\"Content saved successfully!\");\r\n    } catch (error) {\r\n      console.error(\"Failed to save content:\", error);\r\n    } finally {\r\n      setIsSaving(false);\r\n    }\r\n  };\r\n\r\n  return (\r\n    <div>\r\n      {isSaving && <div>Saving...</div>}\r\n      <Editor\r\n        initialBlocks={blocks}\r\n        onChange={handleChange}\r\n        useLocalStorage={false} // Disable localStorage, use your own storage\r\n      />\r\n    </div>\r\n  );\r\n}\r\n```\r\n\r\n## API Reference\r\n\r\n### Editor Props\r\n\r\n| Prop | Type | Default | Description |\r\n|------|------|---------|-------------|\r\n| `initialBlocks` | `Block[]` | `[]` | Initial blocks/content to display |\r\n| `onChange` | `(blocks: Block[]) => void` | `undefined` | Callback called when content changes |\r\n| `useLocalStorage` | `boolean` | `false` | Whether to auto-save to localStorage |\r\n| `storageKey` | `string` | `\"editor-content\"` | localStorage key (if useLocalStorage is true) |\r\n| `readOnly` | `boolean` | `false` | Whether editor is in read-only mode |\r\n| `className` | `string` | `\"\"` | Custom className for editor container |\r\n| `showPageMenu` | `boolean` | `true` | Whether to show the page menu (export/import) |\r\n| `onExportMarkdown` | `(markdown: string) => void` | `undefined` | Callback when user exports to markdown |\r\n| `onExportHtml` | `(html: string) => void` | `undefined` | Callback when user exports to HTML |\r\n| `onImportMarkdown` | `(markdown: string) => void` | `undefined` | Callback when user imports markdown |\r\n\r\n### Block Type\r\n\r\n```typescript\r\ninterface Block {\r\n  id: string;\r\n  type: BlockType;\r\n  content: string;\r\n  children?: Block[];\r\n  metadata?: Record<string, any>;\r\n  props?: {\r\n    textColor?: string;\r\n    backgroundColor?: string;\r\n    textAlign?: string;\r\n    fontSize?: string;\r\n    [key: string]: any;\r\n  };\r\n}\r\n\r\ntype BlockType =\r\n  | \"text\"\r\n  | \"heading-1\"\r\n  | \"heading-2\"\r\n  | \"heading-3\"\r\n  | \"bullet-list\"\r\n  | \"numbered-list\"\r\n  | \"quote\"\r\n  | \"divider\"\r\n  | \"callout\"\r\n  | \"image\"\r\n  | \"video\"\r\n  | \"file\"\r\n  | \"table\";\r\n```\r\n\r\n## Converter Functions\r\n\r\nConvert blocks to different formats:\r\n\r\n```tsx\r\nimport { blocksToMarkdown, blocksToHtml, markdownToBlocks } from \"@amplecapitalglobal/editor\";\r\n\r\n// Convert blocks to Markdown\r\nconst markdown = blocksToMarkdown(blocks);\r\n\r\n// Convert blocks to HTML\r\nconst html = blocksToHtml(blocks);\r\n\r\n// Convert Markdown to blocks\r\nconst blocks = markdownToBlocks(markdownString);\r\n```\r\n\r\n## Examples\r\n\r\n### Example 1: Basic Editor with onChange\r\n\r\n```tsx\r\nimport { Editor, Block } from \"@amplecapitalglobal/editor\";\r\n\r\nfunction MyEditor() {\r\n  const handleChange = (blocks: Block[]) => {\r\n    // This is called whenever the editor content changes\r\n    console.log(\"Current blocks:\", blocks);\r\n    \r\n    // Save to your backend\r\n    fetch(\"/api/save\", {\r\n      method: \"POST\",\r\n      body: JSON.stringify({ blocks }),\r\n    });\r\n  };\r\n\r\n  return <Editor onChange={handleChange} />;\r\n}\r\n```\r\n\r\n### Example 2: Editor with Initial Content\r\n\r\n```tsx\r\nimport { Editor, Block, createBlock } from \"@amplecapitalglobal/editor\";\r\n\r\nfunction EditorWithContent() {\r\n  const initialBlocks: Block[] = [\r\n    createBlock(\"heading-1\", \"Welcome\"),\r\n    createBlock(\"text\", \"This is the initial content\"),\r\n  ];\r\n\r\n  return (\r\n    <Editor\r\n      initialBlocks={initialBlocks}\r\n      onChange={(blocks) => console.log(blocks)}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n### Example 3: Read-only Preview Mode\r\n\r\n```tsx\r\nimport { Editor, Block } from \"@amplecapitalglobal/editor\";\r\n\r\nfunction PreviewEditor({ blocks }: { blocks: Block[] }) {\r\n  return (\r\n    <Editor\r\n      initialBlocks={blocks}\r\n      readOnly={true}\r\n      showPageMenu={false}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n### Example 4: Custom Export Handlers\r\n\r\n```tsx\r\nimport { Editor, Block } from \"@amplecapitalglobal/editor\";\r\n\r\nfunction CustomExportEditor() {\r\n  const handleExportMarkdown = (markdown: string) => {\r\n    // Custom export logic\r\n    downloadFile(markdown, \"document.md\", \"text/markdown\");\r\n  };\r\n\r\n  const handleExportHtml = (html: string) => {\r\n    // Custom export logic\r\n    downloadFile(html, \"document.html\", \"text/html\");\r\n  };\r\n\r\n  return (\r\n    <Editor\r\n      onExportMarkdown={handleExportMarkdown}\r\n      onExportHtml={handleExportHtml}\r\n    />\r\n  );\r\n}\r\n```\r\n\r\n## Styling\r\n\r\nThe editor styles are **automatically included** when you import the Editor component - no additional CSS imports required!\r\n\r\nThe package uses Tailwind CSS internally, but all styles are pre-compiled and bundled with the package. You don't need to configure Tailwind in your project unless you want to customize the editor's appearance.\r\n\r\n### Optional: Manual CSS Import\r\n\r\nIf you need to import the CSS separately (e.g., for custom bundling), you can use:\r\n\r\n```tsx\r\nimport \"@amplecapitalglobal/editor/dist/style.css\";\r\n```\r\n\r\n## Development\r\n\r\n```bash\r\n# Install dependencies\r\nnpm install\r\n\r\n# Build the library\r\nnpm run build:lib\r\n\r\n# Build the demo app\r\nnpm run build:app\r\n\r\n# Run development server\r\nnpm run dev\r\n```\r\n\r\n## License\r\n\r\nMIT\r\n\r\n## Contributing\r\n\r\nContributions are welcome! Please feel free to submit a Pull Request.\r\n\r\n","readmeFilename":"README.md"}