1<!DOCTYPE html><!--ZGrK03OBPPXTs81glpCLn--><html lang="en" class="space_grotesk_154b09cb-module__lmdqzG__variable jetbrains_mono_b84eaf9e-module__QAF0rG__variable"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/0c89a48fa5027cee-s.p.4564287c.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" as="image" imageSrcSet="/_next/image?url=%2Flogos.png&w=640&q=75 1x, /_next/image?url=%2Flogos.png&w=1080&q=75 2x"/><link rel="preload" as="image" href="/editor-preview.svg"/><link rel="stylesheet" href="/_next/static/chunks/59a9d1ced250262e.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/39535db0ab416431.js"/>
1<script src="/_next/static/chunks/322cab66724c8af1.js" async=""></script>
1<script src="/_next/static/chunks/0126dab404300ec7.js" async=""></script>
1<script src="/_next/static/chunks/f6ed080db15bb890.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-c5493278438799e5.js" async=""></script>
1<script src="/_next/static/chunks/b156eeba3c17a785.js" async=""></script>
1<script src="/_next/static/chunks/21430e50ff7db3bd.js" async=""></script>
1<script src="/_next/static/chunks/bb80410ee9bf57fe.js" async=""></script>
1<script src="/_next/static/chunks/31a619a441241e3f.js" async=""></script>
1<script src="/_next/static/chunks/86e44f348ee129d2.js" async=""></script>
1<script src="/_next/static/chunks/8b3f4fdc05696ddf.js" async=""></script>
1<script src="/_next/static/chunks/929e2226ffd4740e.js" async=""></script>
1<meta name="next-size-adjust" content=""/><title>Ritext | A WYSIWYG Editor</title><meta name="description" content="Ritext is a modern WYSIWYG rich text editor built with Tailwind CSS, powered by Tiptap."/><link rel="icon" href="/icon.svg?icon.18e68367.svg" sizes="any" type="image/svg+xml"/>
1<script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script>
1</head><body class="flex flex-col min-h-screen bg-fd-background"><div hidden=""><!--$--><!--/$--></div><!--$--><div class="bg-fd-secondary/50 p-3 empty:hidden"></div><!--/$--><main id="nd-home-layout" class="flex flex-1 flex-col [--fd-layout-width:1720px]"><header id="nd-nav" class="sticky h-14 top-0 z-40" aria-label="Main" data-orientation="horizontal" dir="ltr"><div class="backdrop-blur-lg border-b transition-colors *:mx-auto *:max-w-(--fd-layout-width) bg-fd-background/80"><div style="position:relative"><nav data-orientation="horizontal" class="flex h-14 w-full items-center px-4" dir="ltr"><a class="inline-flex items-center gap-2.5 font-semibold" href="/"><img alt="Ritext" loading="lazy" width="469" height="167" decoding="async" data-nimg="1" class="w-[140px]" style="color:transparent" srcSet="/_next/image?url=%2Flogos.png&w=640&q=75 1x, /_next/image?url=%2Flogos.png&w=1080&q=75 2x" src="/_next/image?url=%2Flogos.png&w=1080&q=75"/></a><ul class="flex flex-row items-center gap-2 px-6 max-sm:hidden"></ul><div class="flex flex-row items-center justify-end gap-1.5 flex-1 max-lg:hidden"><button type="button" data-search-full="" class="inline-flex items-center gap-2 border bg-fd-secondary/50 p-1.5 text-sm text-fd-muted-foreground transition-colors hover:bg-fd-accent hover:text-fd-accent-foreground w-full rounded-full ps-2.5 max-w-[240px]"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search size-4" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg>Search<div class="ms-auto inline-flex gap-0.5"><kbd class="rounded-md border bg-fd-background px-1.5">â</kbd><kbd class="rounded-md border bg-fd-background px-1.5">K</kbd></div></button><ul class="flex flex-row gap-2 items-center empty:hidden"><li class="list-none -mx-1 first:ms-0 last:me-0"><a href="https://www.npmjs.com/package/ritext" rel="noreferrer noopener" target="_blank" aria-label="npm" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&_svg]:size-5" data-active="false" data-radix-collection-item=""><svg role="img" viewBox="0 0 24 24" fill="currentColor"><path d="M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z"></path></svg></a></li><li class="list-none -mx-1 first:ms-0 last:me-0"><a href="https://github.com/siamahnaf/ritext" rel="noreferrer noopener" target="_blank" aria-label="GitHub" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 [&_svg]:size-5" data-active="false" data-radix-collection-item=""><svg role="img" viewBox="0 0 24 24" fill="currentColor"><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"></path></svg></a></li></ul></div><ul class="flex flex-row items-center ms-auto -me-1.5 lg:hidden"><button type="button" class="inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground [&_svg]:size-4.5 p-2" data-search="" aria-label="Open Search"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-search" aria-hidden="true"><path d="m21 21-4.34-4.34"></path><circle cx="11" cy="11" r="8"></circle></svg></button><li class="list-none"><button id="radix-_R_pfjb_-trigger-radix-_R_ampfjb_" data-state="closed" aria-expanded="false" aria-controls="radix-_R_pfjb_-content-radix-_R_ampfjb_" class="data-[state=open]:bg-fd-accent/50 inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors duration-100 disabled:pointer-events-none disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-fd-ring hover:bg-fd-accent hover:text-fd-accent-foreground p-1.5 group [&_svg]:size-5.5" aria-label="Toggle Menu" data-radix-collection-item=""><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down transition-transform duration-300 group-data-[state=open]:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></button></li></ul></nav></div><div class="flex w-full justify-center"></div></div></header><div class="home-smooth-bg flex flex-col flex-1"><section class="relative overflow-hidden px-6 pt-8 pb-16 sm:pt-10 sm:pb-20"><div class="hero-grid absolute inset-0 opacity-25"></div><div class="liquid-orb liquid-orb-a"></div><div class="liquid-orb liquid-orb-b"></div><div class="liquid-orb liquid-orb-c"></div><div class="mx-auto w-full max-w-[1540px]"><div class="glass-panel hero-glow relative rounded-3xl px-6 py-14 sm:px-12 sm:py-16"><div class="grid items-center gap-12 lg:grid-cols-[1fr_560px]"><div><div class="floating inline-flex items-center gap-2 rounded-full border border-two/25 bg-white/85 px-4 py-2 text-sm font-medium text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-4 w-4" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594
11.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg>Beautiful editing experiences for React apps</div><img alt="Ritext" width="469" height="167" decoding="async" data-nimg="1" class="mt-8 w-42 sm:w-52" style="color:transparent" srcSet="/_next/image?url=%2Flogos.png&w=640&q=75 1x, /_next/image?url=%2Flogos.png&w=1080&q=75 2x" src="/_next/image?url=%2Flogos.png&w=1080&q=75"/><h1 class="mt-8 max-w-4xl text-4xl font-semibold leading-tight text-slate-900 sm:text-6xl">Build a <span class="gradient-text">production-ready editor</span> that matches your product.</h1><p class="mt-6 max-w-2xl text-lg leading-relaxed text-slate-600">Ritext is a headless, composable rich text editor for React. Ship your own toolbar, UX, and design language with flexible extensions and clean APIs.</p><div class="mt-10 flex flex-wrap items-center gap-3"><a class="inline-flex items-center gap-2 rounded-xl bg-two px-6 py-3 font-semibold text-white transition-all hover:-translate-y-0.5 hover:shadow-lg hover:shadow-two/20" href="/docs">Read the Docs<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a target="_blank" class="inline-flex items-center gap-2 rounded-xl bg-one px-6 py-3 font-semibold text-white transition-all hover:-translate-y-0.5 hover:shadow-lg hover:shadow-one/25" href="/playground">Open Playground<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml h-4 w-4" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></a><a target="_blank" class="rounded-xl border border-two/20 bg-white/80 px-6 py-3 font-semibold text-slate-700 transition-colors hover:border-two/40 hover:bg-white" href="https://github.com/siamahnaf/ritext">View on GitHub</a></div><div class="mt-12 grid gap-3 sm:grid-cols-3"><div class="soft-shine rounded-xl border border-two/20 bg-white/80 px-4 py-4"><p class="text-2xl font-semibold text-slate-900">26+</p><p class="text-sm text-slate-600">Ready-to-use extensions</p></div><div class="soft-shine rounded-xl border border-two/20 bg-white/80 px-4 py-4"><p class="text-2xl font-semibold text-slate-900">TypeScript</p><p class="text-sm text-slate-600">Typed APIs and components</p></div><div class="soft-shine rounded-xl border border-two/20 bg-white/80 px-4 py-4"><p class="text-2xl font-semibold text-slate-900">Tiptap v3</p><p class="text-sm text-slate-600">Battle-tested editor engine</p></div></div></div><div class="liquid-glass floating relative rounded-3xl p-5 sm:p-6"><img alt="Ritext editor preview" width="1200" height="840" decoding="async" data-nimg="1" class="relative z-10 w-full rounded-2xl border border-white/80 shadow-2xl shadow-slate-900/15" style="color:transparent" src="/editor-preview.svg"/><div class="relative z-10 mt-4 grid grid-cols-2 gap-3"><div class="rounded-xl border border-white/70 bg-white/60 px-3 py-2 text-xs text-slate-700">Liquid glass UI</div><div class="rounded-xl border border-white/70 bg-white/60 px-3 py-2 text-xs text-slate-700">Responsive blocks</div></div></div></div></div></div></section><section class="px-6 py-8"><div class="mx-auto max-w-[1540px] rounded-2xl bg-slate-900 px-6 py-6 text-center sm:px-10"><p class="mb-2 text-xs uppercase tracking-[0.2em] text-slate-400">Install via npm</p><code class="text-lg text-three sm:text-xl">npm install ritext</code></div></section><section class="px-6 pb-8"><div class="smooth-surface mx-auto max-w-[1540px] rounded-2xl px-4 py-3 sm:px-6"><div class="marquee-wrap"><div class="marquee-track gap-3"><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">React 19</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Next.js</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Tailwind CSS</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">TypeScript</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Tiptap v3</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Custom Toolbars</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">MDX Workflows</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Design Systems</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">React 19</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Next.js</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Tailwind CSS</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">TypeScript</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Tiptap v3</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Custom Toolbars</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">MDX Workflows</div><div class="rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700">Design Systems</div></div></div></div></section><section class="mx-auto w-full max-w-[1540px] px-6 py-16"><div class="mb-10 text-center"><p class="mb-2 inline-flex items-center gap-2 rounded-full border border-two/25 bg-white/70 px-4 py-1 text-sm text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open-text h-4 w-4" aria-hidden="true"><path d="M12 7v14"></path><path d="M16 12h2"></path><path d="M16 8h2"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path><path d="M6 12h2"></path><path d="M6 8h2"></path></svg>
1Developer-first architecture</p><h2 class="text-3xl font-semibold text-slate-900 sm:text-4xl">Everything you need in a rich text editor</h2><p class="mx-auto mt-3 max-w-2xl text-slate-600">Built for teams that care about content quality and product polish.</p></div><div class="grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3"><div class="elevated-card stagger-in rounded-2xl p-6" style="animation-delay:0ms"><div class="mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-puzzle h-5 w-5" aria-hidden="true"><path d="M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z"></path></svg></div><h3 class="mb-2 text-lg font-semibold text-slate-900">Headless & Composable</h3><p class="text-sm leading-relaxed text-slate-600">Design your own toolbar and editor layout using clean React components. No forced UI or lock-in.</p></div><div class="elevated-card stagger-in rounded-2xl p-6" style="animation-delay:100ms"><div class="mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-paintbrush h-5 w-5" aria-hidden="true"><path d="m14.622 17.897-10.68-2.913"></path><path d="M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z"></path><path d="M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15"></path></svg></div><h3 class="mb-2 text-lg font-semibold text-slate-900">Tailwind CSS Powered</h3><p class="text-sm leading-relaxed text-slate-600">Every component is built with Tailwind CSS, so visual customization is as simple as adding a class.</p></div><div class="elevated-card stagger-in rounded-2xl p-6" style="animation-delay:200ms"><div class="mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-zap h-5 w-5" aria-hidden="true"><path d="M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z"></path></svg></div><h3 class="mb-2 text-lg font-semibold text-slate-900">Tiptap Foundation</h3><p class="text-sm leading-relaxed text-slate-600">Built on top of Tiptap v3 with a proven extension architecture and familiar editor APIs.</p></div><div class="elevated-card stagger-in rounded-2xl p-6" style="animation-delay:300ms"><div class="mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-component h-5 w-5" aria-hidden="true"><path d="M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z"></path><path d="M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z"></path><path d="M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z"></path><path d="M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z"></path></svg></div><h3 class="mb-2 text-lg font-semibold text-slate-900">20+ Extensions</h3><p class="text-sm leading-relaxed text-slate-600">Prebuilt extensions cover text formatting, lists, tables, links, media, and advanced writing tools.</p></div><div class="elevated-card stagger-in rounded-2xl p-6" style="animation-delay:400ms"><div class="mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-braces h-5 w-5" aria-hidden="true"><path d="M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1"></path><path d="M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1"></path></svg></div><h3 class="mb-2 text-lg font-semibold text-slate-900">TypeScript First</h3><p class="text-sm leading-relaxed text-slate-600">Strong typing across editor APIs, toolbar controls, and extension configuration.</p></div><div class="elevated-card stagger-in rounded-2xl p-6" style="animation-delay:500ms"><div class="mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml h-5 w-5" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></div><h3 class="mb-2 text-lg font-semibold text-slate-900">
1Zero Lock-in</h3><p class="text-sm leading-relaxed text-slate-600">No heavyweight framework assumptions. Use it with your own design system and app structure.</p></div></div></section><section class="px-6 py-16"><div class="mx-auto max-w-[1540px]"><div class="mb-10 text-center"><p class="mb-2 inline-flex items-center gap-2 rounded-full border border-two/25 bg-white/70 px-4 py-1 text-sm text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-workflow h-4 w-4" aria-hidden="true"><rect width="8" height="8" x="3" y="3" rx="2"></rect><path d="M7 11v4a2 2 0 0 0 2 2h4"></path><rect width="8" height="8" x="13" y="13" rx="2"></rect></svg>Use Cases</p><h2 class="text-3xl font-semibold text-slate-900 sm:text-4xl">Built for real product workflows</h2><p class="mx-auto mt-3 max-w-2xl text-slate-600">From docs platforms to collaborative workspaces, Ritext adapts to your product model.</p></div><div class="grid gap-5 lg:grid-cols-[1.15fr_1fr]"><div class="liquid-glass rounded-3xl p-5 sm:p-7"><img alt="Ritext visual editor preview" loading="lazy" width="1200" height="840" decoding="async" data-nimg="1" class="w-full rounded-2xl border border-white/80 shadow-xl shadow-slate-900/10" style="color:transparent" src="/editor-preview.svg"/><div class="mt-5 grid gap-3 sm:grid-cols-2"><div class="rounded-xl border border-white/70 bg-white/70 px-4 py-3 text-sm text-slate-700">Modular extension stack</div><div class="rounded-xl border border-white/70 bg-white/70 px-4 py-3 text-sm text-slate-700">Fully themed toolbar controls</div></div></div><div class="grid gap-4"><article class="smooth-surface elevated-card rounded-2xl p-5"><div class="mb-4 inline-flex rounded-xl bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-book-open-text h-5 w-5" aria-hidden="true"><path d="M12 7v14"></path><path d="M16 12h2"></path><path d="M16 8h2"></path><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"></path><path d="M6 12h2"></path><path d="M6 8h2"></path></svg></div><h3 class="text-lg font-semibold text-slate-900">Product Documentation</h3><p class="mt-2 text-sm leading-relaxed text-slate-600">Write feature docs with structured headings, callouts, tables, and embedded media.</p></article><article class="smooth-surface elevated-card rounded-2xl p-5"><div class="mb-4 inline-flex rounded-xl bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-pen-tool h-5 w-5" aria-hidden="true"><path d="M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z"></path><path d="m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18"></path><path d="m2.3 2.3 7.286 7.286"></path><circle cx="11" cy="11" r="2"></circle></svg></div><h3 class="text-lg font-semibold text-slate-900">Campaign & Marketing</h3><p class="mt-2 text-sm leading-relaxed text-slate-600">Ship landing content, newsletters, and knowledge pages with reusable formatting blocks.</p></article><article class="smooth-surface elevated-card rounded-2xl p-5"><div class="mb-4 inline-flex rounded-xl bg-two/10 p-3 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-layers2 lucide-layers-2 h-5 w-5" aria-hidden="true"><path d="M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z"></path><path d="m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845"></path></svg></div><h3 class="text-lg font-semibold text-slate-900">Workspace Content</h3><p class="mt-2 text-sm leading-relaxed text-slate-600">Power notes, team updates, and templates inside your app with a polished editing flow.</p></article></div></div></div></section><section class="px-6 py-16"><div class="mx-auto max-w-[1540px] rounded-3xl border border-two/15 bg-white/70 p-6 backdrop-blur sm:p-8"><div class="mb-8 text-center"><p class="mb-2 inline-flex items-center gap-2 rounded-full border border-two/20 bg-white px-4 py-1 text-sm text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-gauge h-4 w-4" aria-hidden="true"><path d="m12 14 4-4"></path><path d="M3.34 19a10 10 0 1 1 17.32 0"></path></svg>Ship In 3 Steps</p><h2 class="text-3xl font-semibold text-slate-900 sm:text-4xl">A faster editor delivery workflow</h2></div><div class="grid gap-4 md:grid-cols-3"><div class="soft-shine smooth-surface rounded-2xl p-5"><div class="mb-4 flex items-center justify-between"><div class="inline-flex rounded-lg bg-two/10 p-2.5 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-blocks h-5 w-5" aria-hidden="true"><path d="M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2"></path><rect x="14" y="2" width="8" height="8" rx="1"></rect></svg></div><span class="text-xs font-semibold tracking-widest text-slate-400">0<!-- -->1</span></div><h3 class="text-lg font-semibold text-slate-900">Install + Compose</h3><p class="mt-2 text-sm leading-relaxed text-slate-600">Choose extensions and create your editor layout with your own UI patterns.</p></div><div class="soft-shine smooth-surface rounded-2xl p-5"><div class="mb-4 flex items-center justify-between"><div class="inline-flex rounded-lg bg-two/10 p-2.5 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-wand-sparkles h-5 w-5" aria-hidden="true"><path d="m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72"></path><path d="m14 7 3 3"></path><path d="M5 6v4"></path><path d="M19 14v4"></path><path d="M10 2v2"></path><path d="M7 8H3"></path><path d="M21 16h-4"></path><path d="M11 3H9"></path></svg></div><span class="text-xs font-semibold tracking-widest text-slate-400">0<!-- -->2</span></div><h3 class="text-lg font-semibold text-slate-900">Theme + Customize</h3><p class="mt-2 text-sm leading-relaxed text-slate-600">Style controls with Tailwind classes and map behavior to your product design system.</p></div><div class="soft-shine smooth-surface rounded-2xl p-5"><div class="mb-4 flex items-center justify-between"><div class="inline-flex rounded-lg bg-two/10 p-2.5 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-rocket h-5 w-5" aria-hidden="true"><path d="M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z"></path><path d="m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z"></path><path d="M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0"></path><path d="M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5"></path></svg></div><span class="text-xs font-semibold tracking-widest text-slate-400">0<!-- -->3</span></div><h3 class="text-lg font-semibold text-slate-900">Ship + Iterate</h3><p class="mt-2 text-sm leading-relaxed text-slate-600">Deliver rich writing experiences quickly and evolve features without lock-in.</p></div></div></div></section><section class="px-6 py-16"><div class="mx-auto max-w-[1320px] rounded-3xl border border-two/20 bg-white/85 p-5 shadow-2xl shadow-slate-900/5 backdrop-blur sm:p-8"><div class="mb-6 flex items-center gap-2 border-b border-slate-200 pb-4"><div class="h-3 w-3 rounded-full bg-red-500"></div><div class="h-3 w-3 rounded-full bg-yellow-500"></div><div class="h-3 w-3 rounded-full bg-green-500"></div><span class="ml-2 text-xs text-slate-500">MyEditor.tsx</span></div><h2 class="mb-2 text-3xl font-semibold text-slate-900">Simple by design</h2><p class="mb-6 text-slate-600">A minimal setup gets you a fully featured editor.</p><div class="overflow-x-auto rounded-xl bg-slate-950"><pre class="p-6 text-sm leading-relaxed text-slate-200"><code>import { Editor, Toolbar, Content } from 'ritext'; 2import { Document, Text, Paragraph } from 'ritext/extension/base'; 3import { Bold } from 'ritext/extension/bold'; 4import { Italic } from 'ritext/extension/italic'; 5import { Heading } from 'ritext/extension/heading'; 6import 'ritext/styles.css'; 7 8const extensions = [Document, Text, Paragraph, Bold, Italic, Heading]; 9 10export default function MyEditor() { 11 return ( 12 <Editor extensions={extensions} className="rounded-xl border"> 13 <Toolbar className="border-b p-2" /> 14 <Content /> 15 </Editor> 16 ); 17}</code></pre></div></div></section><section class="mx-auto w-full max-w-[1540px] px-6 py-16 text-center"><h2 class="text-3xl font-semibold text-slate-900 sm:text-4xl">26+ Built-in Extensions</h2><p class="mx-auto mt-3 max-w-2xl text-slate-600">Pick only what you need and keep your bundle intentional.</p><div class="mt-8 flex flex-wrap justify-center gap-2"><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Bold</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Italic</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Underline</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Strike</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Heading</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Color</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">
17Background Color</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Font Family</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Font Size</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Line Height</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Bullet List</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Ordered List</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Task List</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Text Align</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Indent / Outdent</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Links</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Image</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Table</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Block Quote</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Horizontal Rule</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Emoji</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Hard Break</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">History</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Clear Format</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Subscript</span><span class="rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two">Superscript</span></div><a class="mt-8 inline-flex items-center gap-2 font-medium text-two hover:underline" href="/docs/extensions/overview">Explore all extensions<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a></section><section class="px-6 py-10"><div class="mx-auto grid max-w-[1320px] gap-4 sm:grid-cols-3"><div class="smooth-surface rounded-2xl p-5 text-left"><div class="mb-3 inline-flex rounded-lg bg-two/10 p-2 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-check h-4 w-4" aria-hidden="true"><circle cx="12" cy="12" r="10"></circle><path d="m9 12 2 2 4-4"></path></svg></div><h3 class="font-semibold text-slate-900">Docs-Ready Components</h3><p class="mt-1.5 text-sm text-slate-600">Clear setup, composable APIs, and docs-first examples.</p></div><div class="smooth-surface rounded-2xl p-5 text-left"><div class="mb-3 inline-flex rounded-lg bg-two/10 p-2 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml h-4 w-4" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></div><h3 class="font-semibold text-slate-900">Developer Experience</h3><p class="mt-1.5 text-sm text-slate-600">Predictable extension model with full TypeScript support.</p></div><div class="smooth-surface rounded-2xl p-5 text-left"><div class="mb-3 inline-flex rounded-lg bg-two/10 p-2 text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-4 w-4" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594
171.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg></div><h3 class="font-semibold text-slate-900">Polished UI Foundation</h3><p class="mt-1.5 text-sm text-slate-600">Glassmorphism surfaces and smooth interactions out of the box.</p></div></div></section><section class="px-6 py-12"><div class="mx-auto max-w-[1320px]"><div class="mb-8 text-center"><p class="mb-2 inline-flex items-center gap-2 rounded-full border border-two/20 bg-white px-4 py-1 text-sm text-two"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-4 w-4" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg>Interactive FAQ</p><h2 class="text-3xl font-semibold text-slate-900 sm:text-4xl">Answers before you build</h2></div><div class="grid gap-3"><details class="smooth-surface group rounded-2xl p-5 open:shadow-md" open=""><summary class="flex cursor-pointer list-none items-center justify-between gap-3 text-left text-lg font-semibold text-slate-900">Can I fully customize the toolbar and editor layout?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-5 w-5 text-slate-500 transition-transform duration-200 group-open:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></summary><p class="mt-3 text-sm leading-relaxed text-slate-600">Yes. Ritext is headless and composable, so you can rearrange controls, hide tools, and design your own editor surface.</p></details><details class="smooth-surface group rounded-2xl p-5 open:shadow-md"><summary class="flex cursor-pointer list-none items-center justify-between gap-3 text-left text-lg font-semibold text-slate-900">Do I need all extensions in my bundle?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-5 w-5 text-slate-500 transition-transform duration-200 group-open:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></summary><p class="mt-3 text-sm leading-relaxed text-slate-600">No. You only import extensions you need. This keeps your editor experience focused and your bundle leaner.</p></details><details class="smooth-surface group rounded-2xl p-5 open:shadow-md"><summary class="flex cursor-pointer list-none items-center justify-between gap-3 text-left text-lg font-semibold text-slate-900">Will this work with my existing design system?<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-chevron-down h-5 w-5 text-slate-500 transition-transform duration-200 group-open:rotate-180" aria-hidden="true"><path d="m6 9 6 6 6-6"></path></svg></summary><p class="mt-3 text-sm leading-relaxed text-slate-600">Yes. Components are Tailwind-friendly and TypeScript-first, so they integrate cleanly into existing product styles.</p></details></div></div></section><section class="px-6 pb-20"><div class="mx-auto max-w-[1320px] rounded-3xl bg-gradient-to-br from-[#6f65ff] via-[#665cff] to-[#746de6] px-8 py-14 text-center text-white"><p class="mb-3 inline-flex items-center gap-2 rounded-full border border-white/30 px-4 py-1 text-xs uppercase tracking-[0.18em] text-white/80"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-sparkles h-3.5 w-3.5" aria-hidden="true"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594
171.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg>Ship Faster</p><h2 class="text-3xl font-semibold sm:text-4xl">Turn rich text into a product feature</h2><p class="mx-auto mt-4 max-w-2xl text-white/80">Read the docs for setup and architecture, then use the playground to test workflows and interactions.</p><div class="mt-8 flex flex-wrap justify-center gap-3"><a class="inline-flex items-center gap-2 rounded-xl bg-white px-6 py-3 font-semibold text-two transition-all hover:-translate-y-0.5" href="/docs">Get Started<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-arrow-right h-4 w-4" aria-hidden="true"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></a><a target="_blank" class="inline-flex items-center gap-2 rounded-xl border border-white/35 px-6 py-3 font-semibold text-white transition-colors hover:bg-white/10" href="/playground">Try Playground<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-code-xml h-4 w-4" aria-hidden="true"><path d="m18 16 4-4-4-4"></path><path d="m6 8-4 4 4 4"></path><path d="m14.5 4-5 16"></path></svg></a></div><p class="mt-6 text-sm text-white/70">Developed by<!-- --> <a class="font-medium text-white underline-offset-4 hover:underline" href="https://siamahnaf.com">Siam Ahnaf</a></p></div></section></div><!--$--><!--/$--></main><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$-->
17<script src="/_next/static/chunks/39535db0ab416431.js" id="_R_" async=""></script>
17<script>(self.__next_f=self.__next_f||[]).push([0])</script>
17<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[297737,[\"/_next/static/chunks/b156eeba3c17a785.js\"],\"RootProvider\"]\n3:I[798423,[\"/_next/static/chunks/21430e50ff7db3bd.js\",\"/_next/static/chunks/bb80410ee9bf57fe.js\"],\"default\"]\n4:I[223602,[\"/_next/static/chunks/21430e50ff7db3bd.js\",\"/_next/static/chunks/bb80410ee9bf57fe.js\"],\"default\"]\n5:I[210916,[\"/_next/static/chunks/b156eeba3c17a785.js\"],\"Analytics\"]\n6:I[638251,[\"/_next/static/chunks/b156eeba3c17a785.js\",\"/_next/static/chunks/31a619a441241e3f.js\",\"/_next/static/chunks/86e44f348ee129d2.js\",\"/_next/static/chunks/8b3f4fdc05696ddf.js\",\"/_next/static/chunks/929e2226ffd4740e.js\"],\"Header\"]\n7:I[794292,[\"/_next/static/chunks/b156eeba3c17a785.js\",\"/_next/static/chunks/31a619a441241e3f.js\",\"/_next/static/chunks/86e44f348ee129d2.js\",\"/_next/static/chunks/8b3f4fdc05696ddf.js\",\"/_next/static/chunks/929e2226ffd4740e.js\"],\"Image\"]\n16:I[910671,[],\"default\"]\n:HL[\"/_next/static/chunks/59a9d1ced250262e.css\",\"style\"]\n:HL[\"/_next/static/media/0c89a48fa5027cee-s.p.4564287c.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/70bc3e132a0a741e-s.p.15008bfb.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
17<script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"ZGrK03OBPPXTs81glpCLn\",\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"(home)\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",true],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/59a9d1ced250262e.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/b156eeba3c17a785.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"space_grotesk_154b09cb-module__lmdqzG__variable jetbrains_mono_b84eaf9e-module__QAF0rG__variable\",\"suppressHydrationWarning\":true,\"children\":[\"$\",\"body\",null,{\"className\":\"flex flex-col min-h-screen bg-fd-background\",\"children\":[[\"$\",\"$L2\",null,{\"theme\":{\"enabled\":false},\"children\":[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"$L5\",null,{}]]}]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/31a619a441241e3f.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/86e44f348ee129d2.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/8b3f4fdc05696ddf.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-3\",{\"src\":\"/_next/static/chunks/929e2226ffd4740e.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"main\",null,{\"id\":\"nd-home-layout\",\"className\":\"flex flex-1 flex-col [--fd-layout-width:1720px]\",\"children\":[[\"$\",\"$L6\",null,{\"links\":[{\"type\":\"icon\",\"url\":\"https://www.npmjs.com/package/ritext\",\"text\":\"npm\",\"label\":\"npm\",\"icon\":[\"$\",\"svg\",null,{\"role\":\"img\",\"viewBox\":\"0 0 24 24\",\"fill\":\"currentColor\",\"children\":[\"$\",\"path\",null,{\"d\":\"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z\"}]}],\"external\":true}],\"nav\":{\"title\":[\"$\",\"$L7\",null,{\"src\":\"/logos.png\",\"width\":469,\"height\":167,\"alt\":\"Ritext\",\"className\":\"w-[140px]\"}]},\"themeSwitch\":{\"enabled\":false},\"searchToggle\":\"$undefined\",\"i18n\":\"$undefined\",\"githubUrl\":\"https://github.com/siamahnaf/ritext\"}],[\"$\",\"$L3\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L4\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:style\",\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:1:props:style\",\"children\":404}],[\"$\",\"div\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:style\",\"children\":[\"$\",\"h2\",null,{\"style\":\"$0:f:0:1:0:props:children:1:props:children:props:children:0:props:children:props:notFound:0:1:props:children:props:children:2:props:children:props:style\",\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"home-smooth-bg flex flex-col flex-1\",\"children\":[[\"$\",\"section\",null,{\"className\":\"relative overflow-hidden px-6 pt-8 pb-16 sm:pt-10 sm:pb-20\",\"children\":[[\"$\",\"div\",null,{\"className\":\"hero-grid absolute inset-0 opacity-25\"}],[\"$\",\"div\",null,{\"className\":\"liquid-orb liquid-orb-a\"}],[\"$\",\"div\",null,{\"className\":\"liquid-orb liquid-orb-b\"}],\"$L8\",\"$L9\"]}],\"$La\",\"$Lb\",\"$Lc\",\"$Ld\",\"$Le\",\"$Lf\",\"$L10\",\"$L11\",\"$L12\",\"$L13\"]}],null,\"$L14\"]}],{}
17,null,false,false]},null,false,false]},null,false,false],\"$L15\",false]],\"m\":\"$undefined\",\"G\":[\"$16\",[]],\"S\":true}\n"])</script>
17<script>self.__next_f.push([1,"17:I[132741,[\"/_next/static/chunks/b156eeba3c17a785.js\",\"/_next/static/chunks/31a619a441241e3f.js\",\"/_next/static/chunks/86e44f348ee129d2.js\",\"/_next/static/chunks/8b3f4fdc05696ddf.js\",\"/_next/static/chunks/929e2226ffd4740e.js\"],\"\"]\n30:I[156341,[\"/_next/static/chunks/21430e50ff7db3bd.js\",\"/_next/static/chunks/bb80410ee9bf57fe.js\"],\"OutletBoundary\"]\n31:\"$Sreact.suspense\"\n33:I[156341,[\"/_next/static/chunks/21430e50ff7db3bd.js\",\"/_next/static/chunks/bb80410ee9bf57fe.js\"],\"ViewportBoundary\"]\n35:I[156341,[\"/_next/static/chunks/21430e50ff7db3bd.js\",\"/_next/static/chunks/bb80410ee9bf57fe.js\"],\"MetadataBoundary\"]\n8:[\"$\",\"div\",null,{\"className\":\"liquid-orb liquid-orb-c\"}]\n"])</script>
17<script>self.__next_f.push([1,"9:[\"$\",\"div\",null,{\"className\":\"mx-auto w-full max-w-[1540px]\",\"children\":[\"$\",\"div\",null,{\"className\":\"glass-panel hero-glow relative rounded-3xl px-6 py-14 sm:px-12 sm:py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"grid items-center gap-12 lg:grid-cols-[1fr_560px]\",\"children\":[[\"$\",\"div\",null,{\"children\":[[\"$\",\"div\",null,{\"className\":\"floating inline-flex items-center gap-2 rounded-full border border-two/25 bg-white/85 px-4 py-2 text-sm font-medium text-two\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-sparkles h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1s2grr\",{\"d\":\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"}],[\"$\",\"path\",\"1rf3ol\",{\"d\":\"M20 2v4\"}],[\"$\",\"path\",\"gwowj6\",{\"d\":\"M22 4h-4\"}],[\"$\",\"circle\",\"6kqj1y\",{\"cx\":\"4\",\"cy\":\"20\",\"r\":\"2\"}],\"$undefined\"]}],\"Beautiful editing experiences for React apps\"]}],[\"$\",\"$L7\",null,{\"src\":\"/logos.png\",\"width\":469,\"height\":167,\"alt\":\"Ritext\",\"className\":\"mt-8 w-42 sm:w-52\",\"priority\":true}],[\"$\",\"h1\",null,{\"className\":\"mt-8 max-w-4xl text-4xl font-semibold leading-tight text-slate-900 sm:text-6xl\",\"children\":[\"Build a \",[\"$\",\"span\",null,{\"className\":\"gradient-text\",\"children\":\"production-ready editor\"}],\" that matches your product.\"]}],[\"$\",\"p\",null,{\"className\":\"mt-6 max-w-2xl text-lg leading-relaxed text-slate-600\",\"children\":\"Ritext is a headless, composable rich text editor for React. Ship your own toolbar, UX, and design language with flexible extensions and clean APIs.\"}],[\"$\",\"div\",null,{\"className\":\"mt-10 flex flex-wrap items-center gap-3\",\"children\":[[\"$\",\"$L17\",null,{\"href\":\"/docs\",\"className\":\"inline-flex items-center gap-2 rounded-xl bg-two px-6 py-3 font-semibold text-white transition-all hover:-translate-y-0.5 hover:shadow-lg hover:shadow-two/20\",\"children\":[\"Read the Docs\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}]]}],[\"$\",\"$L17\",null,{\"href\":\"/playground\",\"target\":\"_blank\",\"className\":\"inline-flex items-center gap-2 rounded-xl bg-one px-6 py-3 font-semibold text-white transition-all hover:-translate-y-0.5 hover:shadow-lg hover:shadow-one/25\",\"children\":[\"Open Playground\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-code-xml h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1inbqp\",{\"d\":\"m18 16 4-4-4-4\"}],[\"$\",\"path\",\"15zrgr\",{\"d\":\"m6 8-4 4 4 4\"}],[\"$\",\"path\",\"e7oirm\",{\"d\":\"m14.5 4-5 16\"}],\"$undefined\"]}]]}],[\"$\",\"$L17\",null,{\"href\":\"https://github.com/siamahnaf/ritext\",\"target\":\"_blank\",\"className\":\"rounded-xl border border-two/20 bg-white/80 px-6 py-3 font-semibold text-slate-700 transition-colors hover:border-two/40 hover:bg-white\",\"children\":\"View on GitHub\"}]]}],[\"$\",\"div\",null,{\"className\":\"mt-12 grid gap-3 sm:grid-cols-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"soft-shine rounded-xl border border-two/20 bg-white/80 px-4 py-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-2xl font-semibold text-slate-900\",\"children\":\"26+\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-slate-600\",\"children\":\"Ready-to-use extensions\"}]]}],[\"$\",\"div\",null,{\"className\":\"soft-shine rounded-xl border border-two/20 bg-white/80 px-4 py-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-2xl font-semibold text-slate-900\",\"children\":\"TypeScript\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-slate-600\",\"children\":\"Typed APIs and components\"}]]}],\"$L18\"]}]]}],\"$L19\"]}]}]}]\n"])</script>
17<script>self.__next_f.push([1,"a:[\"$\",\"section\",null,{\"className\":\"px-6 py-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1540px] rounded-2xl bg-slate-900 px-6 py-6 text-center sm:px-10\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 text-xs uppercase tracking-[0.2em] text-slate-400\",\"children\":\"Install via npm\"}],[\"$\",\"code\",null,{\"className\":\"text-lg text-three sm:text-xl\",\"children\":\"npm install ritext\"}]]}]}]\n"])</script>
17<script>self.__next_f.push([1,"b:[\"$\",\"section\",null,{\"className\":\"px-6 pb-8\",\"children\":[\"$\",\"div\",null,{\"className\":\"smooth-surface mx-auto max-w-[1540px] rounded-2xl px-4 py-3 sm:px-6\",\"children\":[\"$\",\"div\",null,{\"className\":\"marquee-wrap\",\"children\":[\"$\",\"div\",null,{\"className\":\"marquee-track gap-3\",\"children\":[[\"$\",\"div\",\"React 19-0\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"React 19\"}],[\"$\",\"div\",\"Next.js-1\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Next.js\"}],[\"$\",\"div\",\"Tailwind CSS-2\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Tailwind CSS\"}],[\"$\",\"div\",\"TypeScript-3\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"TypeScript\"}],[\"$\",\"div\",\"Tiptap v3-4\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Tiptap v3\"}],[\"$\",\"div\",\"Custom Toolbars-5\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Custom Toolbars\"}],[\"$\",\"div\",\"MDX Workflows-6\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"MDX Workflows\"}],[\"$\",\"div\",\"Design Systems-7\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Design Systems\"}],[\"$\",\"div\",\"React 19-8\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"React 19\"}],[\"$\",\"div\",\"Next.js-9\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Next.js\"}],[\"$\",\"div\",\"Tailwind CSS-10\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Tailwind CSS\"}],[\"$\",\"div\",\"TypeScript-11\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"TypeScript\"}],[\"$\",\"div\",\"Tiptap v3-12\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Tiptap v3\"}],[\"$\",\"div\",\"Custom Toolbars-13\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Custom Toolbars\"}],[\"$\",\"div\",\"MDX Workflows-14\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"MDX Workflows\"}],[\"$\",\"div\",\"Design Systems-15\",{\"className\":\"rounded-full border border-two/20 bg-white/75 px-4 py-2 text-sm font-medium text-slate-700\",\"children\":\"Design Systems\"}]]}]}]}]}]\n"])</script>
17<script>self.__next_f.push([1,"c:[\"$\",\"section\",null,{\"className\":\"mx-auto w-full max-w-[1540px] px-6 py-16\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-10 text-center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 inline-flex items-center gap-2 rounded-full border border-two/25 bg-white/70 px-4 py-1 text-sm text-two\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-book-open-text h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1akyts\",{\"d\":\"M12 7v14\"}],[\"$\",\"path\",\"7q9ll5\",{\"d\":\"M16 12h2\"}],[\"$\",\"path\",\"msurwy\",{\"d\":\"M16 8h2\"}],[\"$\",\"path\",\"ruj8y\",{\"d\":\"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\"}],[\"$\",\"path\",\"32wvfc\",{\"d\":\"M6 12h2\"}],[\"$\",\"path\",\"30oboj\",{\"d\":\"M6 8h2\"}],\"$undefined\"]}],\"Developer-first architecture\"]}],[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold text-slate-900 sm:text-4xl\",\"children\":\"Everything you need in a rich text editor\"}],[\"$\",\"p\",null,{\"className\":\"mx-auto mt-3 max-w-2xl text-slate-600\",\"children\":\"Built for teams that care about content quality and product polish.\"}]]}],[\"$\",\"div\",null,{\"className\":\"grid grid-cols-1 gap-5 sm:grid-cols-2 lg:grid-cols-3\",\"children\":[[\"$\",\"div\",\"Headless \u0026 Composable\",{\"className\":\"elevated-card stagger-in rounded-2xl p-6\",\"style\":{\"animationDelay\":\"0ms\"},\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-puzzle h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"w46dr5\",{\"d\":\"M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mb-2 text-lg font-semibold text-slate-900\",\"children\":\"Headless \u0026 Composable\"}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-slate-600\",\"children\":\"Design your own toolbar and editor layout using clean React components. No forced UI or lock-in.\"}]]}],[\"$\",\"div\",\"Tailwind CSS Powered\",{\"className\":\"elevated-card stagger-in rounded-2xl p-6\",\"style\":{\"animationDelay\":\"100ms\"},\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-paintbrush h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"vj2p1u\",{\"d\":\"m14.622 17.897-10.68-2.913\"}],[\"$\",\"path\",\"18tc5c\",{\"d\":\"M18.376 2.622a1 1 0 1 1 3.002 3.002L17.36 9.643a.5.5 0 0 0 0 .707l.944.944a2.41 2.41 0 0 1 0 3.408l-.944.944a.5.5 0 0 1-.707 0L8.354 7.348a.5.5 0 0 1 0-.707l.944-.944a2.41 2.41 0 0 1 3.408 0l.944.944a.5.5 0 0 0 .707 0z\"}],[\"$\",\"path\",\"ytzfxy\",{\"d\":\"M9 8c-1.804 2.71-3.97 3.46-6.583 3.948a.507.507 0 0 0-.302.819l7.32 8.883a1 1 0 0 0 1.185.204C12.735 20.405 16 16.792 16 15\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mb-2 text-lg font-semibold text-slate-900\",\"children\":\"Tailwind CSS Powered\"}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-slate-600\",\"children\":\"Every component is built with Tailwind CSS, so visual customization is as simple as adding a class.\"}]]}],\"$L1a\",\"$L1b\",\"$L1c\",\"$L1d\"]}]]}]\n"])</script>
17<script>self.__next_f.push([1,"d:[\"$\",\"section\",null,{\"className\":\"px-6 py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1540px]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-10 text-center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 inline-flex items-center gap-2 rounded-full border border-two/25 bg-white/70 px-4 py-1 text-sm text-two\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-workflow h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"rect\",\"by2w9f\",{\"width\":\"8\",\"height\":\"8\",\"x\":\"3\",\"y\":\"3\",\"rx\":\"2\"}],[\"$\",\"path\",\"xkn7yn\",{\"d\":\"M7 11v4a2 2 0 0 0 2 2h4\"}],[\"$\",\"rect\",\"1cgmvn\",{\"width\":\"8\",\"height\":\"8\",\"x\":\"13\",\"y\":\"13\",\"rx\":\"2\"}],\"$undefined\"]}],\"Use Cases\"]}],[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold text-slate-900 sm:text-4xl\",\"children\":\"Built for real product workflows\"}],[\"$\",\"p\",null,{\"className\":\"mx-auto mt-3 max-w-2xl text-slate-600\",\"children\":\"From docs platforms to collaborative workspaces, Ritext adapts to your product model.\"}]]}],[\"$\",\"div\",null,{\"className\":\"grid gap-5 lg:grid-cols-[1.15fr_1fr]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"liquid-glass rounded-3xl p-5 sm:p-7\",\"children\":[[\"$\",\"$L7\",null,{\"src\":\"/editor-preview.svg\",\"alt\":\"Ritext visual editor preview\",\"width\":1200,\"height\":840,\"className\":\"w-full rounded-2xl border border-white/80 shadow-xl shadow-slate-900/10\"}],[\"$\",\"div\",null,{\"className\":\"mt-5 grid gap-3 sm:grid-cols-2\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-xl border border-white/70 bg-white/70 px-4 py-3 text-sm text-slate-700\",\"children\":\"Modular extension stack\"}],[\"$\",\"div\",null,{\"className\":\"rounded-xl border border-white/70 bg-white/70 px-4 py-3 text-sm text-slate-700\",\"children\":\"Fully themed toolbar controls\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"grid gap-4\",\"children\":[[\"$\",\"article\",\"Product Documentation\",{\"className\":\"smooth-surface elevated-card rounded-2xl p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4 inline-flex rounded-xl bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-book-open-text h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1akyts\",{\"d\":\"M12 7v14\"}],[\"$\",\"path\",\"7q9ll5\",{\"d\":\"M16 12h2\"}],[\"$\",\"path\",\"msurwy\",{\"d\":\"M16 8h2\"}],[\"$\",\"path\",\"ruj8y\",{\"d\":\"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z\"}],[\"$\",\"path\",\"32wvfc\",{\"d\":\"M6 12h2\"}],[\"$\",\"path\",\"30oboj\",{\"d\":\"M6 8h2\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-slate-900\",\"children\":\"Product Documentation\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm leading-relaxed text-slate-600\",\"children\":\"Write feature docs with structured headings, callouts, tables, and embedded media.\"}]]}],[\"$\",\"article\",\"Campaign \u0026 Marketing\",{\"className\":\"smooth-surface elevated-card rounded-2xl p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4 inline-flex rounded-xl bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-pen-tool h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"nt11vn\",{\"d\":\"M15.707 21.293a1 1 0 0 1-1.414 0l-1.586-1.586a1 1 0 0 1 0-1.414l5.586-5.586a1 1 0 0 1 1.414 0l1.586 1.586a1 1 0 0 1 0 1.414z\"}],[\"$\",\"path\",\"15qc1e\",{\"d\":\"m18 13-1.375-6.874a1 1 0 0 0-.746-.776L3.235 2.028a1 1 0 0 0-1.207 1.207L5.35 15.879a1 1 0 0 0 .776.746L13 18\"}],[\"$\",\"path\",\"1wuzzi\",{\"d\":\"m2.3 2.3 7.286 7.286\"}],[\"$\",\"circle\",\"xmgehs\",{\"cx\":\"11\",\"cy\":\"11\",\"r\":\"2\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-slate-900\",\"children\":\"Campaign \u0026 Marketing\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm leading-relaxed text-slate-600\",\"children\":\"Ship landing content, newsletters, and knowledge pages with reusable formatting blocks.\"}]]}],\"$L1e\"]}]]}]]}]}]\n"])</script>
17<script>self.__next_f.push([1,"e:[\"$\",\"section\",null,{\"className\":\"px-6 py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1540px] rounded-3xl border border-two/15 bg-white/70 p-6 backdrop-blur sm:p-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8 text-center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 inline-flex items-center gap-2 rounded-full border border-two/20 bg-white px-4 py-1 text-sm text-two\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-gauge h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"9kzdfg\",{\"d\":\"m12 14 4-4\"}],[\"$\",\"path\",\"19p75a\",{\"d\":\"M3.34 19a10 10 0 1 1 17.32 0\"}],\"$undefined\"]}],\"Ship In 3 Steps\"]}],[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold text-slate-900 sm:text-4xl\",\"children\":\"A faster editor delivery workflow\"}]]}],[\"$\",\"div\",null,{\"className\":\"grid gap-4 md:grid-cols-3\",\"children\":[[\"$\",\"div\",\"Install + Compose\",{\"className\":\"soft-shine smooth-surface rounded-2xl p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4 flex items-center justify-between\",\"children\":[[\"$\",\"div\",null,{\"className\":\"inline-flex rounded-lg bg-two/10 p-2.5 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-blocks h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ah6g2\",{\"d\":\"M10 22V7a1 1 0 0 0-1-1H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5a1 1 0 0 0-1-1H2\"}],[\"$\",\"rect\",\"88lufb\",{\"x\":\"14\",\"y\":\"2\",\"width\":\"8\",\"height\":\"8\",\"rx\":\"1\"}],\"$undefined\"]}]}],[\"$\",\"span\",null,{\"className\":\"text-xs font-semibold tracking-widest text-slate-400\",\"children\":[\"0\",1]}]]}],[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-slate-900\",\"children\":\"Install + Compose\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm leading-relaxed text-slate-600\",\"children\":\"Choose extensions and create your editor layout with your own UI patterns.\"}]]}],[\"$\",\"div\",\"Theme + Customize\",{\"className\":\"soft-shine smooth-surface rounded-2xl p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4 flex items-center justify-between\",\"children\":[[\"$\",\"div\",null,{\"className\":\"inline-flex rounded-lg bg-two/10 p-2.5 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-wand-sparkles h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"ul74o6\",{\"d\":\"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72\"}],[\"$\",\"path\",\"1r5n42\",{\"d\":\"m14 7 3 3\"}],[\"$\",\"path\",\"ilb8ba\",{\"d\":\"M5 6v4\"}],[\"$\",\"path\",\"blhpug\",{\"d\":\"M19 14v4\"}],[\"$\",\"path\",\"7u0qdc\",{\"d\":\"M10 2v2\"}],[\"$\",\"path\",\"zfb6yr\",{\"d\":\"M7 8H3\"}],[\"$\",\"path\",\"1cnmox\",{\"d\":\"M21 16h-4\"}],[\"$\",\"path\",\"1obp7u\",{\"d\":\"M11 3H9\"}],\"$undefined\"]}]}],[\"$\",\"span\",null,{\"className\":\"text-xs font-semibold tracking-widest text-slate-400\",\"children\":[\"0\",2]}]]}],[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-slate-900\",\"children\":\"Theme + Customize\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm leading-relaxed text-slate-600\",\"children\":\"Style controls with Tailwind classes and map behavior to your product design system.\"}]]}],[\"$\",\"div\",\"Ship + Iterate\",{\"className\":\"soft-shine smooth-surface rounded-2xl p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4 flex items-center justify-between\",\"children\":[[\"$\",\"div\",null,{\"className\":\"inline-flex rounded-lg bg-two/10 p-2.5 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
17:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-rocket h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"m3kijz\",{\"d\":\"M4.5 16.5c-1.5 1.26-2 5-2 5s3.74-.5 5-2c.71-.84.7-2.13-.09-2.91a2.18 2.18 0 0 0-2.91-.09z\"}],\"$L1f\",\"$L20\",\"$L21\",\"$undefined\"]}]}],\"$L22\"]}],\"$L23\",\"$L24\"]}]]}]]}]}]\n"])</script>
17<script>self.__next_f.push([1,"f:[\"$\",\"section\",null,{\"className\":\"px-6 py-16\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1320px] rounded-3xl border border-two/20 bg-white/85 p-5 shadow-2xl shadow-slate-900/5 backdrop-blur sm:p-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-6 flex items-center gap-2 border-b border-slate-200 pb-4\",\"children\":[[\"$\",\"div\",null,{\"className\":\"h-3 w-3 rounded-full bg-red-500\"}],[\"$\",\"div\",null,{\"className\":\"h-3 w-3 rounded-full bg-yellow-500\"}],[\"$\",\"div\",null,{\"className\":\"h-3 w-3 rounded-full bg-green-500\"}],[\"$\",\"span\",null,{\"className\":\"ml-2 text-xs text-slate-500\",\"children\":\"MyEditor.tsx\"}]]}],[\"$\",\"h2\",null,{\"className\":\"mb-2 text-3xl font-semibold text-slate-900\",\"children\":\"Simple by design\"}],[\"$\",\"p\",null,{\"className\":\"mb-6 text-slate-600\",\"children\":\"A minimal setup gets you a fully featured editor.\"}],[\"$\",\"div\",null,{\"className\":\"overflow-x-auto rounded-xl bg-slate-950\",\"children\":[\"$\",\"pre\",null,{\"className\":\"p-6 text-sm leading-relaxed text-slate-200\",\"children\":[\"$\",\"code\",null,{\"children\":\"import { Editor, Toolbar, Content } from 'ritext';\\nimport { Document, Text, Paragraph } from 'ritext/extension/base';\\nimport { Bold } from 'ritext/extension/bold';\\nimport { Italic } from 'ritext/extension/italic';\\nimport { Heading } from 'ritext/extension/heading';\\nimport 'ritext/styles.css';\\n\\nconst extensions = [Document, Text, Paragraph, Bold, Italic, Heading];\\n\\nexport default function MyEditor() {\\n return (\\n \u003cEditor extensions={extensions} className=\\\"rounded-xl border\\\"\u003e\\n \u003cToolbar className=\\\"border-b p-2\\\" /\u003e\\n \u003cContent /\u003e\\n \u003c/Editor\u003e\\n );\\n}\"}]}]}]]}]}]\n"])</script>
17<script>self.__next_f.push([1,"10:[\"$\",\"section\",null,{\"className\":\"mx-auto w-full max-w-[1540px] px-6 py-16 text-center\",\"children\":[[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold text-slate-900 sm:text-4xl\",\"children\":\"26+ Built-in Extensions\"}],[\"$\",\"p\",null,{\"className\":\"mx-auto mt-3 max-w-2xl text-slate-600\",\"children\":\"Pick only what you need and keep your bundle intentional.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-wrap justify-center gap-2\",\"children\":[[\"$\",\"span\",\"Bold\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Bold\"}],[\"$\",\"span\",\"Italic\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Italic\"}],[\"$\",\"span\",\"Underline\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Underline\"}],[\"$\",\"span\",\"Strike\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Strike\"}],[\"$\",\"span\",\"Heading\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Heading\"}],[\"$\",\"span\",\"Color\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Color\"}],[\"$\",\"span\",\"Background Color\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Background Color\"}],[\"$\",\"span\",\"Font Family\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Font Family\"}],[\"$\",\"span\",\"Font Size\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Font Size\"}],[\"$\",\"span\",\"Line Height\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Line Height\"}],[\"$\",\"span\",\"Bullet List\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Bullet List\"}],[\"$\",\"span\",\"Ordered List\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Ordered List\"}],[\"$\",\"span\",\"Task List\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Task List\"}],[\"$\",\"span\",\"Text Align\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Text Align\"}],[\"$\",\"span\",\"Indent / Outdent\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Indent / Outdent\"}],[\"$\",\"span\",\"Links\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Links\"}],\"$L25\",\"$L26\",\"$L27\",\"$L28\",\"$L29\",\"$L2a\",\"$L2b\",\"$L2c\",\"$L2d\",\"$L2e\"]}],\"$L2f\"]}]\n"])</script>
17<script>self.__next_f.push([1,"11:[\"$\",\"section\",null,{\"className\":\"px-6 py-10\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto grid max-w-[1320px] gap-4 sm:grid-cols-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"smooth-surface rounded-2xl p-5 text-left\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 inline-flex rounded-lg bg-two/10 p-2 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-circle-check h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"circle\",\"1mglay\",{\"cx\":\"12\",\"cy\":\"12\",\"r\":\"10\"}],[\"$\",\"path\",\"dzmm74\",{\"d\":\"m9 12 2 2 4-4\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"font-semibold text-slate-900\",\"children\":\"Docs-Ready Components\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-slate-600\",\"children\":\"Clear setup, composable APIs, and docs-first examples.\"}]]}],[\"$\",\"div\",null,{\"className\":\"smooth-surface rounded-2xl p-5 text-left\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 inline-flex rounded-lg bg-two/10 p-2 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-code-xml h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1inbqp\",{\"d\":\"m18 16 4-4-4-4\"}],[\"$\",\"path\",\"15zrgr\",{\"d\":\"m6 8-4 4 4 4\"}],[\"$\",\"path\",\"e7oirm\",{\"d\":\"m14.5 4-5 16\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"font-semibold text-slate-900\",\"children\":\"Developer Experience\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-slate-600\",\"children\":\"Predictable extension model with full TypeScript support.\"}]]}],[\"$\",\"div\",null,{\"className\":\"smooth-surface rounded-2xl p-5 text-left\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-3 inline-flex rounded-lg bg-two/10 p-2 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-sparkles h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1s2grr\",{\"d\":\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"}],[\"$\",\"path\",\"1rf3ol\",{\"d\":\"M20 2v4\"}],[\"$\",\"path\",\"gwowj6\",{\"d\":\"M22 4h-4\"}],[\"$\",\"circle\",\"6kqj1y\",{\"cx\":\"4\",\"cy\":\"20\",\"r\":\"2\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"font-semibold text-slate-900\",\"children\":\"Polished UI Foundation\"}],[\"$\",\"p\",null,{\"className\":\"mt-1.5 text-sm text-slate-600\",\"children\":\"Glassmorphism surfaces and smooth interactions out of the box.\"}]]}]]}]}]\n"])</script>
17<script>self.__next_f.push([1,"12:[\"$\",\"section\",null,{\"className\":\"px-6 py-12\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1320px]\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-8 text-center\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-2 inline-flex items-center gap-2 rounded-full border border-two/20 bg-white px-4 py-1 text-sm text-two\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-sparkles h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1s2grr\",{\"d\":\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"}],[\"$\",\"path\",\"1rf3ol\",{\"d\":\"M20 2v4\"}],[\"$\",\"path\",\"gwowj6\",{\"d\":\"M22 4h-4\"}],[\"$\",\"circle\",\"6kqj1y\",{\"cx\":\"4\",\"cy\":\"20\",\"r\":\"2\"}],\"$undefined\"]}],\"Interactive FAQ\"]}],[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold text-slate-900 sm:text-4xl\",\"children\":\"Answers before you build\"}]]}],[\"$\",\"div\",null,{\"className\":\"grid gap-3\",\"children\":[[\"$\",\"details\",\"Can I fully customize the toolbar and editor layout?\",{\"className\":\"smooth-surface group rounded-2xl p-5 open:shadow-md\",\"open\":true,\"children\":[[\"$\",\"summary\",null,{\"className\":\"flex cursor-pointer list-none items-center justify-between gap-3 text-left text-lg font-semibold text-slate-900\",\"children\":[\"Can I fully customize the toolbar and editor layout?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-5 w-5 text-slate-500 transition-transform duration-200 group-open:rotate-180\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-relaxed text-slate-600\",\"children\":\"Yes. Ritext is headless and composable, so you can rearrange controls, hide tools, and design your own editor surface.\"}]]}],[\"$\",\"details\",\"Do I need all extensions in my bundle?\",{\"className\":\"smooth-surface group rounded-2xl p-5 open:shadow-md\",\"open\":false,\"children\":[[\"$\",\"summary\",null,{\"className\":\"flex cursor-pointer list-none items-center justify-between gap-3 text-left text-lg font-semibold text-slate-900\",\"children\":[\"Do I need all extensions in my bundle?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-5 w-5 text-slate-500 transition-transform duration-200 group-open:rotate-180\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-relaxed text-slate-600\",\"children\":\"No. You only import extensions you need. This keeps your editor experience focused and your bundle leaner.\"}]]}],[\"$\",\"details\",\"Will this work with my existing design system?\",{\"className\":\"smooth-surface group rounded-2xl p-5 open:shadow-md\",\"open\":false,\"children\":[[\"$\",\"summary\",null,{\"className\":\"flex cursor-pointer list-none items-center justify-between gap-3 text-left text-lg font-semibold text-slate-900\",\"children\":[\"Will this work with my existing design system?\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\"
17:24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-chevron-down h-5 w-5 text-slate-500 transition-transform duration-200 group-open:rotate-180\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"qrunsl\",{\"d\":\"m6 9 6 6 6-6\"}],\"$undefined\"]}]]}],[\"$\",\"p\",null,{\"className\":\"mt-3 text-sm leading-relaxed text-slate-600\",\"children\":\"Yes. Components are Tailwind-friendly and TypeScript-first, so they integrate cleanly into existing product styles.\"}]]}]]}]]}]}]\n"])</script>
17<script>self.__next_f.push([1,"13:[\"$\",\"section\",null,{\"className\":\"px-6 pb-20\",\"children\":[\"$\",\"div\",null,{\"className\":\"mx-auto max-w-[1320px] rounded-3xl bg-gradient-to-br from-[#6f65ff] via-[#665cff] to-[#746de6] px-8 py-14 text-center text-white\",\"children\":[[\"$\",\"p\",null,{\"className\":\"mb-3 inline-flex items-center gap-2 rounded-full border border-white/30 px-4 py-1 text-xs uppercase tracking-[0.18em] text-white/80\",\"children\":[[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-sparkles h-3.5 w-3.5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1s2grr\",{\"d\":\"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z\"}],[\"$\",\"path\",\"1rf3ol\",{\"d\":\"M20 2v4\"}],[\"$\",\"path\",\"gwowj6\",{\"d\":\"M22 4h-4\"}],[\"$\",\"circle\",\"6kqj1y\",{\"cx\":\"4\",\"cy\":\"20\",\"r\":\"2\"}],\"$undefined\"]}],\"Ship Faster\"]}],[\"$\",\"h2\",null,{\"className\":\"text-3xl font-semibold sm:text-4xl\",\"children\":\"Turn rich text into a product feature\"}],[\"$\",\"p\",null,{\"className\":\"mx-auto mt-4 max-w-2xl text-white/80\",\"children\":\"Read the docs for setup and architecture, then use the playground to test workflows and interactions.\"}],[\"$\",\"div\",null,{\"className\":\"mt-8 flex flex-wrap justify-center gap-3\",\"children\":[[\"$\",\"$L17\",null,{\"href\":\"/docs\",\"className\":\"inline-flex items-center gap-2 rounded-xl bg-white px-6 py-3 font-semibold text-two transition-all hover:-translate-y-0.5\",\"children\":[\"Get Started\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}]]}],[\"$\",\"$L17\",null,{\"href\":\"/playground\",\"target\":\"_blank\",\"className\":\"inline-flex items-center gap-2 rounded-xl border border-white/35 px-6 py-3 font-semibold text-white transition-colors hover:bg-white/10\",\"children\":[\"Try Playground\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-code-xml h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1inbqp\",{\"d\":\"m18 16 4-4-4-4\"}],[\"$\",\"path\",\"15zrgr\",{\"d\":\"m6 8-4 4 4 4\"}],[\"$\",\"path\",\"e7oirm\",{\"d\":\"m14.5 4-5 16\"}],\"$undefined\"]}]]}]]}],[\"$\",\"p\",null,{\"className\":\"mt-6 text-sm text-white/70\",\"children\":[\"Developed by\",\" \",[\"$\",\"$L17\",null,{\"className\":\"font-medium text-white underline-offset-4 hover:underline\",\"href\":\"https://siamahnaf.com\",\"children\":\"Siam Ahnaf\"}]]}]]}]}]\n"])</script>
17<script>self.__next_f.push([1,"14:[\"$\",\"$L30\",null,{\"children\":[\"$\",\"$31\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@32\"}]}]\n15:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L33\",null,{\"children\":\"$L34\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L35\",null,{\"children\":[\"$\",\"$31\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L36\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\n"])</script>
17<script>self.__next_f.push([1,"18:[\"$\",\"div\",null,{\"className\":\"soft-shine rounded-xl border border-two/20 bg-white/80 px-4 py-4\",\"children\":[[\"$\",\"p\",null,{\"className\":\"text-2xl font-semibold text-slate-900\",\"children\":\"Tiptap v3\"}],[\"$\",\"p\",null,{\"className\":\"text-sm text-slate-600\",\"children\":\"Battle-tested editor engine\"}]]}]\n19:[\"$\",\"div\",null,{\"className\":\"liquid-glass floating relative rounded-3xl p-5 sm:p-6\",\"children\":[[\"$\",\"$L7\",null,{\"src\":\"/editor-preview.svg\",\"alt\":\"Ritext editor preview\",\"width\":1200,\"height\":840,\"className\":\"relative z-10 w-full rounded-2xl border border-white/80 shadow-2xl shadow-slate-900/15\",\"priority\":true}],[\"$\",\"div\",null,{\"className\":\"relative z-10 mt-4 grid grid-cols-2 gap-3\",\"children\":[[\"$\",\"div\",null,{\"className\":\"rounded-xl border border-white/70 bg-white/60 px-3 py-2 text-xs text-slate-700\",\"children\":\"Liquid glass UI\"}],[\"$\",\"div\",null,{\"className\":\"rounded-xl border border-white/70 bg-white/60 px-3 py-2 text-xs text-slate-700\",\"children\":\"Responsive blocks\"}]]}]]}]\n1a:[\"$\",\"div\",\"Tiptap Foundation\",{\"className\":\"elevated-card stagger-in rounded-2xl p-6\",\"style\":{\"animationDelay\":\"200ms\"},\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-zap h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1xq2db\",{\"d\":\"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mb-2 text-lg font-semibold text-slate-900\",\"children\":\"Tiptap Foundation\"}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-slate-600\",\"children\":\"Built on top of Tiptap v3 with a proven extension architecture and familiar editor APIs.\"}]]}]\n"])</script>
17<script>self.__next_f.push([1,"1b:[\"$\",\"div\",\"20+ Extensions\",{\"className\":\"elevated-card stagger-in rounded-2xl p-6\",\"style\":{\"animationDelay\":\"300ms\"},\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-component h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1uwlt4\",{\"d\":\"M15.536 11.293a1 1 0 0 0 0 1.414l2.376 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\"}],[\"$\",\"path\",\"10291m\",{\"d\":\"M2.297 11.293a1 1 0 0 0 0 1.414l2.377 2.377a1 1 0 0 0 1.414 0l2.377-2.377a1 1 0 0 0 0-1.414L6.088 8.916a1 1 0 0 0-1.414 0z\"}],[\"$\",\"path\",\"1tqoq1\",{\"d\":\"M8.916 17.912a1 1 0 0 0 0 1.415l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.415l-2.377-2.376a1 1 0 0 0-1.414 0z\"}],[\"$\",\"path\",\"1x6lto\",{\"d\":\"M8.916 4.674a1 1 0 0 0 0 1.414l2.377 2.376a1 1 0 0 0 1.414 0l2.377-2.376a1 1 0 0 0 0-1.414l-2.377-2.377a1 1 0 0 0-1.414 0z\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mb-2 text-lg font-semibold text-slate-900\",\"children\":\"20+ Extensions\"}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-slate-600\",\"children\":\"Prebuilt extensions cover text formatting, lists, tables, links, media, and advanced writing tools.\"}]]}]\n"])</script>
17<script>self.__next_f.push([1,"1c:[\"$\",\"div\",\"TypeScript First\",{\"className\":\"elevated-card stagger-in rounded-2xl p-6\",\"style\":{\"animationDelay\":\"400ms\"},\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-braces h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"ezmyqa\",{\"d\":\"M8 3H7a2 2 0 0 0-2 2v5a2 2 0 0 1-2 2 2 2 0 0 1 2 2v5c0 1.1.9 2 2 2h1\"}],[\"$\",\"path\",\"e1hn23\",{\"d\":\"M16 21h1a2 2 0 0 0 2-2v-5c0-1.1.9-2 2-2a2 2 0 0 1-2-2V5a2 2 0 0 0-2-2h-1\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mb-2 text-lg font-semibold text-slate-900\",\"children\":\"TypeScript First\"}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-slate-600\",\"children\":\"Strong typing across editor APIs, toolbar controls, and extension configuration.\"}]]}]\n1d:[\"$\",\"div\",\"Zero Lock-in\",{\"className\":\"elevated-card stagger-in rounded-2xl p-6\",\"style\":{\"animationDelay\":\"500ms\"},\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-5 inline-flex rounded-lg bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-code-xml h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1inbqp\",{\"d\":\"m18 16 4-4-4-4\"}],[\"$\",\"path\",\"15zrgr\",{\"d\":\"m6 8-4 4 4 4\"}],[\"$\",\"path\",\"e7oirm\",{\"d\":\"m14.5 4-5 16\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"mb-2 text-lg font-semibold text-slate-900\",\"children\":\"Zero Lock-in\"}],[\"$\",\"p\",null,{\"className\":\"text-sm leading-relaxed text-slate-600\",\"children\":\"No heavyweight framework assumptions. Use it with your own design system and app structure.\"}]]}]\n1e:[\"$\",\"article\",\"Workspace Content\",{\"className\":\"smooth-surface elevated-card rounded-2xl p-5\",\"children\":[[\"$\",\"div\",null,{\"className\":\"mb-4 inline-flex rounded-xl bg-two/10 p-3 text-two\",\"children\":[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-layers2 lucide-layers-2 h-5 w-5\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"15q6uc\",{\"d\":\"M13 13.74a2 2 0 0 1-2 0L2.5 8.87a1 1 0 0 1 0-1.74L11 2.26a2 2 0 0 1 2 0l8.5 4.87a1 1 0 0 1 0 1.74z\"}],[\"$\",\"path\",\"byia6g\",{\"d\":\"m20 14.285 1.5.845a1 1 0 0 1 0 1.74L13 21.74a2 2 0 0 1-2 0l-8.5-4.87a1 1 0 0 1 0-1.74l1.5-.845\"}],\"$undefined\"]}]}],[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-slate-900\",\"children\":\"Workspace Content\"}],[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm leading-relaxed text-slate-600\",\"children\":\"Power notes, team updates, and templates inside your app with a polished editing flow.\"}]]}]\n1f:[\"$\",\"path\",\"1fmvmk\",{\"d\":\"m12 15-3-3a22 22 0 0 1 2-3.95A12.88 12.88 0 0 1 22 2c0 2.72-.78 7.5-6 11a22.35 22.35 0 0 1-4 2z\"}]\n20:[\"$\",\"path\",\"1f8sc4\",{\"d\":\"M9 12H4s.55-3.03 2-4c1.62-1.08 5 0 5 0\"}]\n21:[\"$\",\"path\",\"qeys4\",{\"d\":\"M12 15v5s3.03-.55 4-2c1.08-1.62 0-5 0-5\"}]\n22:[\"$\",\"span\",null,{\"className\":\"text-xs font-semibold tracking-widest text-slate-400\",\"children\":[\"0\",3]}]\n23:[\"$\",\"h3\",null,{\"className\":\"text-lg font-semibold text-slate-900\",\"children\":\"Ship + Iterate\"}]\n24:[\"$\",\"p\",null,{\"className\":\"mt-2 text-sm leading-relaxed text-slate-600\",\"children\":\"Deliver rich writing experiences quickly and evolve features without lock-in.\"}]\n25:[\"$\",\"span\",\"Image\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Image\"}]\n26:[\"$\",\"span\",\"Table\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Table\"}]\n27:[\"$\",\"span\",\"Block Qu"])</script>
17<script>self.__next_f.push([1,"ote\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Block Quote\"}]\n28:[\"$\",\"span\",\"Horizontal Rule\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Horizontal Rule\"}]\n29:[\"$\",\"span\",\"Emoji\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Emoji\"}]\n2a:[\"$\",\"span\",\"Hard Break\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Hard Break\"}]\n2b:[\"$\",\"span\",\"History\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"History\"}]\n2c:[\"$\",\"span\",\"Clear Format\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Clear Format\"}]\n2d:[\"$\",\"span\",\"Subscript\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Subscript\"}]\n2e:[\"$\",\"span\",\"Superscript\",{\"className\":\"rounded-full border border-two/20 bg-white/80 px-3 py-1.5 text-sm text-slate-700 transition-colors hover:border-two/45 hover:text-two\",\"children\":\"Superscript\"}]\n2f:[\"$\",\"$L17\",null,{\"href\":\"/docs/extensions/overview\",\"className\":\"mt-8 inline-flex items-center gap-2 font-medium text-two hover:underline\",\"children\":[\"Explore all extensions\",[\"$\",\"svg\",null,{\"ref\":\"$undefined\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"width\":24,\"height\":24,\"viewBox\":\"0 0 24 24\",\"fill\":\"none\",\"stroke\":\"currentColor\",\"strokeWidth\":2,\"strokeLinecap\":\"round\",\"strokeLinejoin\":\"round\",\"className\":\"lucide lucide-arrow-right h-4 w-4\",\"aria-hidden\":\"true\",\"children\":[[\"$\",\"path\",\"1ays0h\",{\"d\":\"M5 12h14\"}],[\"$\",\"path\",\"xquz4c\",{\"d\":\"m12 5 7 7-7 7\"}],\"$undefined\"]}]]}]\n"])</script>
17<script>self.__next_f.push([1,"34:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
17<script>self.__next_f.push([1,"37:I[165791,[\"/_next/static/chunks/21430e50ff7db3bd.js\",\"/_next/static/chunks/bb80410ee9bf57fe.js\"],\"IconMark\"]\n32:null\n36:[[\"$\",\"title\",\"0\",{\"children\":\"Ritext | A WYSIWYG Editor\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Ritext is a modern WYSIWYG rich text editor built with Tailwind CSS, powered by Tiptap.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/icon.svg?icon.18e68367.svg\",\"sizes\":\"any\",\"type\":\"image/svg+xml\"}],[\"$\",\"$L37\",\"3\",{}]]\n"])</script>
17</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.