{"_id":"@carefully-built/rich-text","_rev":"2-987e8d1da0770dc29065efb25a107687","name":"@carefully-built/rich-text","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@carefully-built/rich-text","version":"0.1.0","keywords":["react","rich-text","tiptap","saas","ai"],"author":{"name":"Alessandro Dodi"},"license":"MIT","_id":"@carefully-built/rich-text@0.1.0","maintainers":[{"name":"alledodi","email":"dodialessandro3@gmail.com"}],"homepage":"https://github.com/AlessandroDodi/carefully-built-saas-kit#readme","bugs":{"url":"https://github.com/AlessandroDodi/carefully-built-saas-kit/issues"},"dist":{"shasum":"a1d8badcaf99c81585eaf906e279ebc710848183","tarball":"https://registry.npmjs.org/@carefully-built/rich-text/-/rich-text-0.1.0.tgz","fileCount":6,"integrity":"sha512-y4ftdu+HdNlnAJi3tv3ZMiPgGphhFlwLl7eKRmH35I+kFwTFQHz8SdVGRhrKYKEZKtvlxNfcr65Vcmv9K9Q79A==","signatures":[{"sig":"MEQCIFzxCKXwzVNSURTk9dGWfGyHRh4P4w0C0dHDXDD3t2BSAiAK495lm/k3r81nw9hxbj46INSD8QsWnVd5jWzH1J7ACA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54159},"main":"./dist/index.mjs","type":"module","types":"./dist/index.d.mts","module":"./dist/index.mjs","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"gitHead":"b84d3f58858fed9a9e06a291cd33ea8b6f1ff157","scripts":{"build":"tsdown src/index.ts --format esm --dts","typecheck":"tsc --noEmit","prepublishOnly":"bun run typecheck && bun run build"},"_npmUser":{"name":"alledodi","email":"dodialessandro3@gmail.com"},"repository":{"url":"git+https://github.com/AlessandroDodi/carefully-built-saas-kit.git","type":"git","directory":"packages/rich-text"},"_npmVersion":"11.9.0","description":"Reusable rich text editor, renderer, AI action affordances, and serialization helpers for SaaS apps.","directories":{},"sideEffects":false,"_nodeVersion":"24.14.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"react":"^19.2.3","react-dom":"^19.2.3","lucide-react":"^1.8.0","@tiptap/react":"^3.22.0","@carefully-built/ui":"workspace:*","@tiptap/starter-kit":"^3.22.0","@carefully-built/forms":"workspace:*","@tiptap/extension-link":"^3.22.0","@tiptap/extension-table":"^3.22.0","@tiptap/extension-table-row":"^3.22.0","@tiptap/extension-table-cell":"^3.22.0","@tiptap/extension-table-header":"^3.22.0"},"peerDependencies":{"react":">=18.2.0 || >=19.0.0","react-dom":">=18.2.0 || >=19.0.0","lucide-react":">=0.400.0 || >=1.0.0","@tiptap/react":">=3.0.0","@carefully-built/ui":">=0.1.4","@tiptap/starter-kit":">=3.0.0","@carefully-built/forms":">=0.1.0","@tiptap/extension-link":">=3.0.0","@tiptap/extension-table":">=3.0.0","@tiptap/extension-table-row":">=3.0.0","@tiptap/extension-table-cell":">=3.0.0","@tiptap/extension-table-header":">=3.0.0"},"peerDependenciesMeta":{"@carefully-built/ui":{"optional":true},"@carefully-built/forms":{"optional":true}},"_npmOperationalInternal":{"tmp":"tmp/rich-text_0.1.0_1782064445827_0.9578705472582179","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@carefully-built/rich-text","version":"0.1.1","description":"Reusable rich text editor, renderer, AI action affordances, and serialization helpers for SaaS apps.","type":"module","license":"MIT","author":{"name":"Alessandro Dodi"},"homepage":"https://github.com/AlessandroDodi/carefully-built-saas-kit#readme","repository":{"type":"git","url":"git+https://github.com/AlessandroDodi/carefully-built-saas-kit.git","directory":"packages/rich-text"},"bugs":{"url":"https://github.com/AlessandroDodi/carefully-built-saas-kit/issues"},"keywords":["react","rich-text","tiptap","saas","ai"],"sideEffects":false,"main":"./dist/index.mjs","module":"./dist/index.mjs","types":"./dist/index.d.mts","exports":{".":{"types":"./dist/index.d.mts","import":"./dist/index.mjs","default":"./dist/index.mjs"},"./package.json":"./package.json"},"scripts":{"build":"tsdown src/index.ts --format esm --dts","prepublishOnly":"bun run typecheck && bun run build","typecheck":"tsc --noEmit"},"publishConfig":{"access":"public"},"peerDependencies":{"@carefully-built/forms":">=0.1.0","@carefully-built/ui":">=0.1.4","@tiptap/extension-link":">=3.0.0","@tiptap/extension-table":">=3.0.0","@tiptap/extension-table-cell":">=3.0.0","@tiptap/extension-table-header":">=3.0.0","@tiptap/extension-table-row":">=3.0.0","@tiptap/react":">=3.0.0","@tiptap/starter-kit":">=3.0.0","lucide-react":">=0.400.0 || >=1.0.0","react":">=18.2.0 || >=19.0.0","react-dom":">=18.2.0 || >=19.0.0"},"peerDependenciesMeta":{"@carefully-built/forms":{"optional":true},"@carefully-built/ui":{"optional":true}},"devDependencies":{"@carefully-built/forms":"workspace:*","@carefully-built/ui":"workspace:*","@tiptap/extension-link":"^3.22.0","@tiptap/extension-table":"^3.22.0","@tiptap/extension-table-cell":"^3.22.0","@tiptap/extension-table-header":"^3.22.0","@tiptap/extension-table-row":"^3.22.0","@tiptap/react":"^3.22.0","@tiptap/starter-kit":"^3.22.0","lucide-react":"^1.8.0","react":"^19.2.3","react-dom":"^19.2.3"},"gitHead":"c93ed6a7671fc5f8e463cba62d51fdc2226be516","_id":"@carefully-built/rich-text@0.1.1","_nodeVersion":"24.14.0","_npmVersion":"11.9.0","dist":{"integrity":"sha512-KVLkaIOGE+jkf0SCSeDW0bpn2L4MNIR8PmD314JOElUpfkikqkGudYPJ/C1BZyguMPMun/11h87iwnojrBIY5w==","shasum":"b4b6925a989d9dbfd73a048b2f50bb93c8bdd686","tarball":"https://registry.npmjs.org/@carefully-built/rich-text/-/rich-text-0.1.1.tgz","fileCount":6,"unpackedSize":54159,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIC+xAW3QdgM70D6/gxGrl7At7m38XvcDZkOt8y3xxygnAiB+vCH6hIjj+9oUP/JTPGaWOtMdA4yDYAsanyLSZijwwg=="}]},"_npmUser":{"name":"alledodi","email":"dodialessandro3@gmail.com"},"directories":{},"maintainers":[{"name":"alledodi","email":"dodialessandro3@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/rich-text_0.1.1_1782245589098_0.6036647830406228"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-21T17:54:05.595Z","modified":"2026-06-23T20:13:09.340Z","0.1.0":"2026-06-21T17:54:05.959Z","0.1.1":"2026-06-23T20:13:09.242Z"},"bugs":{"url":"https://github.com/AlessandroDodi/carefully-built-saas-kit/issues"},"author":{"name":"Alessandro Dodi"},"license":"MIT","homepage":"https://github.com/AlessandroDodi/carefully-built-saas-kit#readme","keywords":["react","rich-text","tiptap","saas","ai"],"repository":{"type":"git","url":"git+https://github.com/AlessandroDodi/carefully-built-saas-kit.git","directory":"packages/rich-text"},"description":"Reusable rich text editor, renderer, AI action affordances, and serialization helpers for SaaS apps.","maintainers":[{"name":"alledodi","email":"dodialessandro3@gmail.com"}],"readme":"# @carefully-built/rich-text\n\nReusable rich-text primitives for Carefully Built SaaS apps.\n\n## What It Exports\n\n- `RichTextEditor` - TipTap editor with formatting, links, tables, and optional AI improve action.\n- `RichTextRenderer` - read-only renderer for serialized TipTap JSON.\n- `AIActionButton` - gradient action button for AI-assisted controls.\n- Rich-text helpers - parse, stringify, plain-text extraction, validation, and document creation.\n\n## Basic Usage\n\n```tsx\nimport { RichTextEditor } from '@carefully-built/rich-text';\n\n<RichTextEditor\n  value={notes}\n  onChange={setNotes}\n  label=\"Notes\"\n  placeholder=\"Write a note...\"\n/>\n```\n\n## With AI Improve\n\n```tsx\n<RichTextEditor\n  value={body}\n  onChange={setBody}\n  improveText={async (serializedDocument) => {\n    return await improveTextWithYourBackend(serializedDocument);\n  }}\n  onImproveError={() => {\n    toast.error('Could not improve the text');\n  }}\n/>\n```\n\nThe package does not own API keys or auth. Apps pass the improve function so the same UI works with Convex, Next actions, REST, or no AI at all.\n","readmeFilename":"README.md"}