diff --git a/apps/eclipse/content/design-system/components/meta.json b/apps/eclipse/content/design-system/components/meta.json
index 5d0d142b60..4d4b1f2602 100644
--- a/apps/eclipse/content/design-system/components/meta.json
+++ b/apps/eclipse/content/design-system/components/meta.json
@@ -34,6 +34,7 @@
"switch",
"table",
"tabs",
+ "takeover",
"textarea",
"tooltip",
"typetable"
diff --git a/apps/eclipse/content/design-system/components/takeover.mdx b/apps/eclipse/content/design-system/components/takeover.mdx
new file mode 100644
index 0000000000..4f1865456a
--- /dev/null
+++ b/apps/eclipse/content/design-system/components/takeover.mdx
@@ -0,0 +1,516 @@
+---
+title: Takeover
+description: A takeover component that displays full-width guided experiences with menu navigation, headers, content, and footers. Perfect for multi-step wizards, onboarding flows, and focused user journeys.
+---
+
+
+import {
+ Takeover,
+ TakeoverMenu,
+ TakeoverContent,
+ TakeoverDescription,
+ TakeoverHeader,
+ TakeoverFooter,
+ TakeoverTitle,
+ Button,
+ Avatar,
+ Input,
+} from "@prisma/eclipse";
+import { TakeoverMenuExample, WizardTakeoverExample, SimpleTakeoverMenuExample, TakeoverWithFooterAndHeaderExample, TakeoverWithFooterOnlyExample, TakeoverWithHeaderOnlyExample, WizardWithFooterExample } from "@/components/takeover-examples/interactive-examples";
+
+### Usage
+
+**With TakeoverMenu (Interactive)**
+
+Use TakeoverMenu for navigation controls with back and close buttons:
+
+**Live Example:**
+
+
+
Live Example:
+
+
+
+**Wizard Pattern with TakeoverMenu**
+
+Create multi-step wizards with custom navigation:
+
+**Live Example:**
+
+
+
Live Example:
+
+
+
+**Simple TakeoverMenu Example**
+
+Basic usage of TakeoverMenu with default controls:
+
+**Live Example:**
+
+
+
Live Example:
+
+
+
+**Default Variant: With Footer and Header**
+
+Complete takeover with menu, header, content, and footer:
+
+```tsx
+import {
+ Takeover,
+ TakeoverMenu,
+ TakeoverHeader,
+ TakeoverTitle,
+ TakeoverDescription,
+ TakeoverContent,
+ TakeoverFooter,
+ Button,
+} from "@prisma/eclipse";
+
+export function TakeoverWithFooterAndHeader() {
+ return (
+ <>
+
+ {}} onClose={() => {}} />
+
+ Complete Layout
+
+ This shows a full takeover with header, content, and footer.
+
+
+
+
+
+
+
+ Additional information or secondary actions
+
+
+
+ >
+ );
+}
+```
+
+**Live Example:**
+
+
+
Live Example:
+
+
+
+**Default Variant: With Footer Only**
+
+Takeover with footer but no header:
+
+```tsx
+import {
+ Takeover,
+ TakeoverMenu,
+ TakeoverContent,
+ TakeoverFooter,
+ Button,
+} from "@prisma/eclipse";
+
+export function TakeoverWithFooterOnly() {
+ return (
+ <>
+
+ {}} onClose={() => {}} />
+
+
+
Quick Action
+
+ Perform an action without additional header information.
+
+
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
+```
+
+**Live Example:**
+
+
+
Live Example:
+
+
+
+**Default Variant: With Header Only**
+
+Takeover with header but no footer:
+
+```tsx
+import {
+ Takeover,
+ TakeoverMenu,
+ TakeoverHeader,
+ TakeoverTitle,
+ TakeoverDescription,
+ TakeoverContent,
+ Button,
+} from "@prisma/eclipse";
+
+export function TakeoverWithHeaderOnly() {
+ return (
+ <>
+
+ {}} onClose={() => {}} />
+
+ Header Only Layout
+
+ This layout includes a header and content, but no footer.
+
+
+
+
+
+
+
+
+
+ >
+ );
+}
+```
+
+**Live Example:**
+
+
+
Live Example:
+
+
+
+**Wizard Variant: With Footer and Header**
+
+Wizard pattern with footer for step navigation:
+
+```tsx
+import {
+ Takeover,
+ TakeoverMenu,
+ TakeoverHeader,
+ TakeoverTitle,
+ TakeoverDescription,
+ TakeoverContent,
+ TakeoverFooter,
+ Button,
+} from "@prisma/eclipse";
+
+export function WizardWithFooter() {
+ const [step, setStep] = React.useState(1);
+
+ return (
+
+
+
+ Step {step} of 3
+
+
+
+ Wizard Step {step}
+
+ Complete this step to continue the process.
+
+
+
+
+ Step content goes here...
+
+
+
+
+
+
+
+
+
+ );
+}
+```
+
+**Live Example:**
+
+
+
Live Example:
+
+
+
+### API Reference
+
+#### Takeover
+
+The main container component for the Takeover state. Wraps the `TakeoverHeader` and `TakeoverContent` components.
+
+**Props:**
+- `className` - Additional CSS classes (string, optional)
+- All standard HTML div attributes
+
+```tsx
+
+
+
+
+```
+
+#### TakeoverMenu
+
+Navigation controls for the takeover with back and close buttons.
+
+**Props:**
+- `variant` - Visual variant ("default" | "wizard", default: "default")
+ - `"default"` - Shows back and close buttons
+ - `"wizard"` - Custom layout for wizard patterns
+- `onBack` - Callback when back button is clicked (() => void, optional)
+- `onClose` - Callback when close button is clicked (() => void, optional)
+- `className` - Additional CSS classes (string, optional)
+- All standard HTML div attributes
+
+```tsx
+ previousStep()}
+ onClose={() => closeTakeover()}
+/>
+
+// Wizard variant with custom content
+
+
+
+
+
+
+```
+
+#### TakeoverHeader
+
+Container for the Takeover state header, including the media, title, and description.
+
+**Props:**
+- `className` - Additional CSS classes (string, optional)
+- All standard HTML div attributes
+
+```tsx
+
+
+
+
+```
+
+#### TakeoverTitle
+
+Displays the title of the Takeover state.
+
+**Props:**
+- `className` - Additional CSS classes (string, optional)
+- All standard HTML div attributes
+
+```tsx
+No data
+```
+
+#### TakeoverDescription
+
+Displays the description text of the Takeover state. Supports links with automatic styling.
+
+**Props:**
+- `className` - Additional CSS classes (string, optional)
+- All standard HTML p attributes
+
+```tsx
+
+ You do not have any notifications.
+ Learn more
+
+```
+
+#### TakeoverContent
+
+Container for action elements like buttons, inputs, or links in the Takeover state.
+
+**Props:**
+- `className` - Additional CSS classes (string, optional)
+- All standard HTML div attributes
+
+```tsx
+
+
+
+```
+
+#### TakeoverFooter
+
+Footer section for additional actions or information at the bottom of the takeover.
+
+**Props:**
+- `className` - Additional CSS classes (string, optional)
+- All standard HTML div attributes
+
+```tsx
+
+
+
+
+
+
+```
+
+### Features
+
+- ✅ Flexible composition with semantic components
+- ✅ TakeoverMenu with default and wizard variants
+- ✅ TakeoverFooter for navigation and actions
+- ✅ Two media variants (default and icon)
+- ✅ Responsive design with proper spacing
+- ✅ Automatic link styling in descriptions
+- ✅ Centered text alignment
+- ✅ Balanced text layout for readability
+- ✅ Dashed border container
+- ✅ Supports custom backgrounds and borders
+- ✅ Icon sizing optimization
+- ✅ Fully typed with TypeScript
+- ✅ Customizable with className props
+
+### Best Practices
+
+- Use clear, action-oriented titles that describe the Takeover state
+- Provide helpful descriptions that guide users on what to do next
+- Always include at least one call-to-action button when possible
+- Use appropriate icons that represent the context (e.g., folder for files, bell for notifications)
+- Keep descriptions concise but informative
+- Use the `icon` variant for small icons, `default` for larger visuals
+- Consider adding a border or background for better visual separation
+- Ensure Takeover states are accessible with proper semantic HTML
+- Test Takeover states in different contexts (search, filters, first-time use)
+- Provide multiple action options when relevant (create, import, learn more)
+
+### Accessibility
+
+The Takeover component follows accessibility best practices:
+
+- Uses semantic HTML structure with proper div hierarchy
+- Supports keyboard navigation for interactive elements
+- Link styling with proper contrast ratios
+- Underlined links for clarity
+- Readable text sizes (text-sm)
+- Proper spacing for touch targets
+- Works with screen readers
+- Maintains proper focus order
+- All interactive elements are keyboard accessible
+
+### Common Use Cases
+
+The Takeover component is perfect for:
+
+- **No data states** - When lists or tables have no items
+- **Search results** - When searches return no matches
+- **Filtered views** - When filters exclude all items
+- **Notifications** - When there are no notifications
+- **First-time use** - Onboarding new users to features
+- **File uploads** - Takeover file storage or folders
+- **Team invites** - No team members yet
+- **404 pages** - Page not found errors
+- **Completed tasks** - All items processed or cleared
+- **Settings** - Features not yet configured
+- **Archives** - Takeover archived content
+
+### Styling
+
+The Takeover component uses design tokens and can be customized:
+
+- **Container**: Dashed border, rounded corners, padding, centered content
+- **Header**: Vertical layout with gap spacing
+- **Media (icon variant)**: Muted background, size-8, rounded-lg
+- **Media (default variant)**: Transparent background for custom sizing
+- **Title**: Small font, medium weight, tracking-tight
+- **Description**: Small relaxed line height, muted foreground color
+- **Links**: Underlined with hover effects to primary color
+- **Content**: Flexible column layout with gap spacing
+
+Customize by passing `className` props:
+
+```tsx
+
+
+ Custom Styled
+
+
+```
+
+### Design Patterns
+
+**Progressive Disclosure:**
+```tsx
+
+
+ Get Started
+
+ Create your first item to begin.
+
+
+
+
+
+ Advanced options
+