diff --git a/apps/site/app/components/ComponentDemo.tsx b/apps/site/app/components/ComponentDemo.tsx
new file mode 100644
index 000000000..73b4ed91a
--- /dev/null
+++ b/apps/site/app/components/ComponentDemo.tsx
@@ -0,0 +1,63 @@
+'use client';
+
+import React from 'react';
+import { SchemaRenderer } from '@object-ui/react';
+import type { SchemaNode } from '@object-ui/core';
+
+interface ComponentDemoProps {
+ schema: SchemaNode;
+ title?: string;
+ description?: string;
+}
+
+export function ComponentDemo({ schema, title, description }: ComponentDemoProps) {
+ return (
+
+ {(title || description) && (
+
+ {title &&
{title}
}
+ {description &&
{description}
}
+
+ )}
+
+
+
+
+ );
+}
+
+interface DemoGridProps {
+ children: React.ReactNode;
+}
+
+export function DemoGrid({ children }: DemoGridProps) {
+ return (
+
+ {children}
+
+ );
+}
+
+interface CodeDemoProps {
+ schema: SchemaNode;
+ code: string;
+ title?: string;
+}
+
+export function CodeDemo({ schema, code, title }: CodeDemoProps) {
+ return (
+
+ );
+}
diff --git a/apps/site/app/components/ObjectUIProvider.tsx b/apps/site/app/components/ObjectUIProvider.tsx
new file mode 100644
index 000000000..ff309ca3c
--- /dev/null
+++ b/apps/site/app/components/ObjectUIProvider.tsx
@@ -0,0 +1,9 @@
+'use client';
+
+// Import components to trigger registration
+import '@object-ui/components';
+
+export function ObjectUIProvider({ children }: { children: React.ReactNode }) {
+ // Components are auto-registered on import
+ return <>{children}>;
+}
diff --git a/apps/site/app/layout.tsx b/apps/site/app/layout.tsx
index 1e30864de..3f3a6ac2e 100644
--- a/apps/site/app/layout.tsx
+++ b/apps/site/app/layout.tsx
@@ -1,12 +1,17 @@
import './global.css';
import { RootProvider } from 'fumadocs-ui/provider/next';
+import { ObjectUIProvider } from './components/ObjectUIProvider';
import type { ReactNode } from 'react';
export default function Layout({ children }: { children: ReactNode }) {
return (
- {children}
+
+
+ {children}
+
+
);
diff --git a/apps/site/mdx-components.tsx b/apps/site/mdx-components.tsx
index 9cec88bd4..7bf4fe97c 100644
--- a/apps/site/mdx-components.tsx
+++ b/apps/site/mdx-components.tsx
@@ -1 +1,9 @@
-export { default } from 'fumadocs-ui/mdx'
+import defaultComponents from 'fumadocs-ui/mdx';
+import { ComponentDemo, DemoGrid, CodeDemo } from './app/components/ComponentDemo';
+
+export default {
+ ...defaultComponents,
+ ComponentDemo,
+ DemoGrid,
+ CodeDemo,
+};
diff --git a/apps/site/package.json b/apps/site/package.json
index 6a03e58b7..d21bd8482 100644
--- a/apps/site/package.json
+++ b/apps/site/package.json
@@ -10,9 +10,14 @@
"lint": "eslint ."
},
"dependencies": {
+ "@object-ui/components": "workspace:*",
+ "@object-ui/core": "workspace:*",
+ "@object-ui/react": "workspace:*",
+ "@object-ui/types": "workspace:*",
"fumadocs-core": "^16.4.7",
"fumadocs-mdx": "^14.2.6",
"fumadocs-ui": "^16.4.7",
+ "lucide-react": "^0.468.0",
"next": "^16.1.4",
"react": "19.2.3",
"react-dom": "19.2.3",
diff --git a/docs/reference/components/basic/html.mdx b/docs/reference/components/basic/html.mdx
new file mode 100644
index 000000000..a727a6496
--- /dev/null
+++ b/docs/reference/components/basic/html.mdx
@@ -0,0 +1,29 @@
+---
+title: "HTML"
+description: "Render raw HTML content safely"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# HTML
+
+Render raw HTML content safely
+
+## Examples
+
+ This is HTML content"
+}}
+ title="Basic HTML"
+ />
+
+## Schema
+
+```typescript
+interface HtmlSchema {
+ type: 'html';
+ html: string;
+}
+```
diff --git a/docs/reference/components/basic/icon.mdx b/docs/reference/components/basic/icon.mdx
new file mode 100644
index 000000000..3b81084f5
--- /dev/null
+++ b/docs/reference/components/basic/icon.mdx
@@ -0,0 +1,88 @@
+---
+title: "Icon"
+description: "Display icons from the Lucide icon library"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Icon
+
+Display icons from the Lucide icon library
+
+## Examples
+
+
+
+
+
+
+
+## Schema
+
+```typescript
+interface IconSchema {
+ type: 'icon';
+ name: string; // Lucide icon name (kebab-case)
+ size?: number | 'sm' | 'md' | 'lg' | 'xl';
+ color?: string; // Tailwind color class
+ className?: string;
+}
+```
diff --git a/docs/reference/components/basic/image.mdx b/docs/reference/components/basic/image.mdx
new file mode 100644
index 000000000..b03bc496b
--- /dev/null
+++ b/docs/reference/components/basic/image.mdx
@@ -0,0 +1,46 @@
+---
+title: "Image"
+description: "Display images with optional fallback"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Image
+
+Display images with optional fallback
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface ImageSchema {
+ type: 'image';
+ src: string;
+ alt?: string;
+ width?: number | string;
+ height?: number | string;
+ fallback?: string;
+ fit?: 'contain' | 'cover' | 'fill' | 'none' | 'scale-down';
+}
+```
diff --git a/docs/reference/components/basic/meta.json b/docs/reference/components/basic/meta.json
new file mode 100644
index 000000000..0a7b5fb78
--- /dev/null
+++ b/docs/reference/components/basic/meta.json
@@ -0,0 +1,10 @@
+{
+ "title": "Basic",
+ "pages": [
+ "text",
+ "icon",
+ "image",
+ "separator",
+ "html"
+ ]
+}
diff --git a/docs/reference/components/basic/separator.mdx b/docs/reference/components/basic/separator.mdx
new file mode 100644
index 000000000..7ca03edd6
--- /dev/null
+++ b/docs/reference/components/basic/separator.mdx
@@ -0,0 +1,65 @@
+---
+title: "Separator"
+description: "Visual divider between content sections"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Separator
+
+Visual divider between content sections
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface SeparatorSchema {
+ type: 'separator';
+ orientation?: 'horizontal' | 'vertical';
+ className?: string;
+}
+```
diff --git a/docs/reference/components/basic/text.mdx b/docs/reference/components/basic/text.mdx
new file mode 100644
index 000000000..dc313f512
--- /dev/null
+++ b/docs/reference/components/basic/text.mdx
@@ -0,0 +1,136 @@
+---
+title: "Text"
+description: "Display text with standardized typography styles"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Text
+
+The Text component displays text content with predefined typography variants.
+
+## Basic Usage
+
+
+
+## Variants
+
+
+
+
+
+
+
+
+
+
+
+
+## Schema
+
+```typescript
+interface TextSchema {
+ type: 'text';
+ content: string; // Text content to display
+ value?: string; // Alias for content
+ variant?: 'h1' | 'h2' | 'h3' | 'h4' | 'p' | 'lead' | 'large' | 'small' | 'muted';
+ align?: 'left' | 'center' | 'right' | 'justify';
+ color?: string; // Tailwind color class
+ className?: string; // Additional CSS classes
+}
+```
+
+## Examples
+
+### Colored Text
+
+
+
+### Text Alignment
+
+
diff --git a/docs/reference/components/complex/meta.json b/docs/reference/components/complex/meta.json
new file mode 100644
index 000000000..3b8b8be67
--- /dev/null
+++ b/docs/reference/components/complex/meta.json
@@ -0,0 +1,6 @@
+{
+ "title": "Complex",
+ "pages": [
+ "table"
+ ]
+}
diff --git a/docs/reference/components/complex/table.mdx b/docs/reference/components/complex/table.mdx
new file mode 100644
index 000000000..4a7d73496
--- /dev/null
+++ b/docs/reference/components/complex/table.mdx
@@ -0,0 +1,49 @@
+---
+title: "Table"
+description: "Display data in tabular format"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Table
+
+Display data in tabular format
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface TableSchema {
+ type: 'table';
+ columns: Array<{ key: string; title: string }>;
+ data: Record[];
+}
+```
diff --git a/docs/reference/components/data-display/alert.mdx b/docs/reference/components/data-display/alert.mdx
new file mode 100644
index 000000000..98a47c70f
--- /dev/null
+++ b/docs/reference/components/data-display/alert.mdx
@@ -0,0 +1,44 @@
+---
+title: "Alert"
+description: "Display important messages and notifications"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Alert
+
+Display important messages and notifications
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface AlertSchema {
+ type: 'alert';
+ title?: string;
+ description?: string;
+ variant?: 'default' | 'destructive';
+ icon?: string;
+ className?: string;
+}
+```
diff --git a/docs/reference/components/data-display/avatar.mdx b/docs/reference/components/data-display/avatar.mdx
new file mode 100644
index 000000000..c949522f1
--- /dev/null
+++ b/docs/reference/components/data-display/avatar.mdx
@@ -0,0 +1,42 @@
+---
+title: "Avatar"
+description: "User profile image or fallback initials"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Avatar
+
+User profile image or fallback initials
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface AvatarSchema {
+ type: 'avatar';
+ src?: string;
+ alt?: string;
+ fallback?: string;
+ size?: 'sm' | 'md' | 'lg';
+ className?: string;
+}
+```
diff --git a/docs/reference/components/data-display/badge.mdx b/docs/reference/components/data-display/badge.mdx
new file mode 100644
index 000000000..0dac1fcf0
--- /dev/null
+++ b/docs/reference/components/data-display/badge.mdx
@@ -0,0 +1,52 @@
+---
+title: "Badge"
+description: "Small status or label indicator"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Badge
+
+Small status or label indicator
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface BadgeSchema {
+ type: 'badge';
+ label: string;
+ variant?: 'default' | 'secondary' | 'outline' | 'destructive';
+ className?: string;
+}
+```
diff --git a/docs/reference/components/data-display/list.mdx b/docs/reference/components/data-display/list.mdx
new file mode 100644
index 000000000..6b72e366a
--- /dev/null
+++ b/docs/reference/components/data-display/list.mdx
@@ -0,0 +1,44 @@
+---
+title: "List"
+description: "Display a list of items"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# List
+
+Display a list of items
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface ListSchema {
+ type: 'list';
+ items: SchemaNode[];
+ ordered?: boolean;
+ className?: string;
+}
+```
diff --git a/docs/reference/components/data-display/meta.json b/docs/reference/components/data-display/meta.json
new file mode 100644
index 000000000..84cd041cc
--- /dev/null
+++ b/docs/reference/components/data-display/meta.json
@@ -0,0 +1,9 @@
+{
+ "title": "Data Display",
+ "pages": [
+ "badge",
+ "avatar",
+ "alert",
+ "list"
+ ]
+}
diff --git a/docs/reference/components/disclosure/accordion.mdx b/docs/reference/components/disclosure/accordion.mdx
new file mode 100644
index 000000000..31aa752d8
--- /dev/null
+++ b/docs/reference/components/disclosure/accordion.mdx
@@ -0,0 +1,47 @@
+---
+title: "Accordion"
+description: "Expandable content sections"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Accordion
+
+Expandable content sections
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface AccordionSchema {
+ type: 'accordion';
+ items: Array<{
+ title: string;
+ content: string | SchemaNode;
+ }>;
+ defaultOpen?: number[];
+ multiple?: boolean;
+}
+```
diff --git a/docs/reference/components/disclosure/collapsible.mdx b/docs/reference/components/disclosure/collapsible.mdx
new file mode 100644
index 000000000..0417f3962
--- /dev/null
+++ b/docs/reference/components/disclosure/collapsible.mdx
@@ -0,0 +1,40 @@
+---
+title: "Collapsible"
+description: "Toggle visibility of content"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Collapsible
+
+Toggle visibility of content
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface CollapsibleSchema {
+ type: 'collapsible';
+ trigger: SchemaNode;
+ children: SchemaNode[];
+ defaultOpen?: boolean;
+}
+```
diff --git a/docs/reference/components/disclosure/meta.json b/docs/reference/components/disclosure/meta.json
new file mode 100644
index 000000000..019b84645
--- /dev/null
+++ b/docs/reference/components/disclosure/meta.json
@@ -0,0 +1,7 @@
+{
+ "title": "Disclosure",
+ "pages": [
+ "accordion",
+ "collapsible"
+ ]
+}
diff --git a/docs/reference/components/feedback/loading.mdx b/docs/reference/components/feedback/loading.mdx
new file mode 100644
index 000000000..7888a48d2
--- /dev/null
+++ b/docs/reference/components/feedback/loading.mdx
@@ -0,0 +1,48 @@
+---
+title: "Loading"
+description: "Loading spinner to indicate processing"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Loading
+
+Loading spinner to indicate processing
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface LoadingSchema {
+ type: 'loading';
+ size?: 'sm' | 'md' | 'lg';
+ className?: string;
+}
+```
diff --git a/docs/reference/components/feedback/meta.json b/docs/reference/components/feedback/meta.json
new file mode 100644
index 000000000..9353c60c4
--- /dev/null
+++ b/docs/reference/components/feedback/meta.json
@@ -0,0 +1,8 @@
+{
+ "title": "Feedback",
+ "pages": [
+ "loading",
+ "progress",
+ "skeleton"
+ ]
+}
diff --git a/docs/reference/components/feedback/progress.mdx b/docs/reference/components/feedback/progress.mdx
new file mode 100644
index 000000000..ab9ce5465
--- /dev/null
+++ b/docs/reference/components/feedback/progress.mdx
@@ -0,0 +1,52 @@
+---
+title: "Progress"
+description: "Progress bar to show completion status"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Progress
+
+Progress bar to show completion status
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface ProgressSchema {
+ type: 'progress';
+ value: number; // 0-100
+ className?: string;
+}
+```
diff --git a/docs/reference/components/feedback/skeleton.mdx b/docs/reference/components/feedback/skeleton.mdx
new file mode 100644
index 000000000..d2442b044
--- /dev/null
+++ b/docs/reference/components/feedback/skeleton.mdx
@@ -0,0 +1,48 @@
+---
+title: "Skeleton"
+description: "Placeholder for loading content"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Skeleton
+
+Placeholder for loading content
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface SkeletonSchema {
+ type: 'skeleton';
+ width?: string | number;
+ height?: string | number;
+ className?: string;
+}
+```
diff --git a/docs/reference/components/form/button.mdx b/docs/reference/components/form/button.mdx
new file mode 100644
index 000000000..a320dfdac
--- /dev/null
+++ b/docs/reference/components/form/button.mdx
@@ -0,0 +1,217 @@
+---
+title: "Button"
+description: "Trigger actions and events with customizable button styles"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Button
+
+The Button component triggers actions when clicked. It supports multiple variants, sizes, and states.
+
+## Basic Usage
+
+
+
+## Variants
+
+
+
+
+
+
+
+
+
+
+## Sizes
+
+
+
+
+
+
+## With Icons
+
+
+
+
+
+
+## States
+
+
+
+
+
+
+## Schema
+
+```typescript
+interface ButtonSchema {
+ type: 'button';
+ label: string; // Button text
+ variant?: 'default' | 'destructive' | 'outline' | 'secondary' | 'ghost' | 'link';
+ size?: 'sm' | 'default' | 'lg' | 'icon';
+
+ // Icons
+ icon?: string; // Lucide icon name
+ iconPosition?: 'left' | 'right'; // Icon placement
+
+ // States
+ disabled?: boolean;
+ loading?: boolean;
+
+ // Actions
+ onClick?: string | ActionConfig; // Action on click
+ href?: string; // Link URL (renders as link)
+
+ // Styling
+ className?: string;
+ fullWidth?: boolean;
+}
+```
+
+## Examples
+
+### Action Buttons
+
+
+
+### Full Width
+
+
diff --git a/docs/reference/components/form/checkbox.mdx b/docs/reference/components/form/checkbox.mdx
new file mode 100644
index 000000000..2918b80bd
--- /dev/null
+++ b/docs/reference/components/form/checkbox.mdx
@@ -0,0 +1,55 @@
+---
+title: "Checkbox"
+description: "Toggle selection with checkboxes"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Checkbox
+
+Toggle selection with checkboxes
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface CheckboxSchema {
+ type: 'checkbox';
+ name?: string;
+ label?: string;
+ defaultChecked?: boolean;
+ required?: boolean;
+ disabled?: boolean;
+}
+```
diff --git a/docs/reference/components/form/input.mdx b/docs/reference/components/form/input.mdx
new file mode 100644
index 000000000..0af0479fb
--- /dev/null
+++ b/docs/reference/components/form/input.mdx
@@ -0,0 +1,74 @@
+---
+title: "Input"
+description: "Basic text input field for user data entry"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Input
+
+Basic text input field for user data entry
+
+## Examples
+
+
+
+
+
+
+
+## Schema
+
+```typescript
+interface InputSchema {
+ type: 'input';
+ name?: string;
+ label?: string;
+ inputType?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url';
+ placeholder?: string;
+ defaultValue?: string | number;
+ required?: boolean;
+ disabled?: boolean;
+ readonly?: boolean;
+}
+```
diff --git a/docs/reference/components/form/meta.json b/docs/reference/components/form/meta.json
new file mode 100644
index 000000000..449b89971
--- /dev/null
+++ b/docs/reference/components/form/meta.json
@@ -0,0 +1,12 @@
+{
+ "title": "Form",
+ "pages": [
+ "button",
+ "input",
+ "select",
+ "checkbox",
+ "switch",
+ "textarea",
+ "slider"
+ ]
+}
diff --git a/docs/reference/components/form/select.mdx b/docs/reference/components/form/select.mdx
new file mode 100644
index 000000000..36f2f72fc
--- /dev/null
+++ b/docs/reference/components/form/select.mdx
@@ -0,0 +1,70 @@
+---
+title: "Select"
+description: "Dropdown selection from a list of options"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Select
+
+Dropdown selection from a list of options
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface SelectSchema {
+ type: 'select';
+ name?: string;
+ label?: string;
+ options: { label: string; value: string | number }[];
+ placeholder?: string;
+ required?: boolean;
+ disabled?: boolean;
+}
+```
diff --git a/docs/reference/components/form/slider.mdx b/docs/reference/components/form/slider.mdx
new file mode 100644
index 000000000..1ee607c8f
--- /dev/null
+++ b/docs/reference/components/form/slider.mdx
@@ -0,0 +1,35 @@
+---
+title: "Slider"
+description: "Select a value from a range"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Slider
+
+Select a value from a range
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface SliderSchema {
+ type: 'slider';
+ name?: string;
+ label?: string;
+ min?: number;
+ max?: number;
+ step?: number;
+ defaultValue?: number;
+}
+```
diff --git a/docs/reference/components/form/switch.mdx b/docs/reference/components/form/switch.mdx
new file mode 100644
index 000000000..1cef938ef
--- /dev/null
+++ b/docs/reference/components/form/switch.mdx
@@ -0,0 +1,54 @@
+---
+title: "Switch"
+description: "Toggle switch for binary options"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Switch
+
+Toggle switch for binary options
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface SwitchSchema {
+ type: 'switch';
+ name?: string;
+ label?: string;
+ defaultChecked?: boolean;
+ disabled?: boolean;
+}
+```
diff --git a/docs/reference/components/form/textarea.mdx b/docs/reference/components/form/textarea.mdx
new file mode 100644
index 000000000..acf9e98e2
--- /dev/null
+++ b/docs/reference/components/form/textarea.mdx
@@ -0,0 +1,44 @@
+---
+title: "Textarea"
+description: "Multi-line text input for longer content"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Textarea
+
+Multi-line text input for longer content
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface TextareaSchema {
+ type: 'textarea';
+ name?: string;
+ label?: string;
+ placeholder?: string;
+ rows?: number;
+ required?: boolean;
+ disabled?: boolean;
+}
+```
diff --git a/docs/reference/components/index.md b/docs/reference/components/index.md
index e8643e0e5..7a27428d2 100644
--- a/docs/reference/components/index.md
+++ b/docs/reference/components/index.md
@@ -20,20 +20,55 @@ import { registerDefaultRenderers } from '@object-ui/components'
registerDefaultRenderers()
```
-## Component Reference
+## Component Categories
-Detailed documentation for each component category:
+Browse components organized by category:
-* [Basic Components](./basic.md) (Text, Image, Icon, HTML)
-* [Layout Components](./layout.md) (Grid, Card, Container, etc.)
-* [Form Components](./form.md) (Input, Select, Checkbox, Form, etc.)
-* [Data Display](./data-display.md) (Table, List, Tag, Tree, etc.)
-* [Navigation](./navigation.md) (Button, Link, Menu, etc.)
-* [Feedback](./feedback.md) (Alert, Progress, Toast, etc.)
-* [Overlay](./overlay.md) (Dialog, Drawer, Tooltip, etc.)
+### [Basic Components](./basic)
+
+Fundamental UI elements for displaying simple content.
+- Text, Icon, Image, HTML, Separator
+
+### [Form Components](./form)
+
+Components for user input and data collection.
+- Button, Input, Select, Checkbox, Switch, Textarea, Slider
+
+### [Layout Components](./layout)
+
+Organize and structure your interface.
+- Container, Card, Grid, Flex, Stack, Tabs
+
+### [Data Display](./data-display)
+
+Present information and data to users.
+- Badge, Avatar, Alert, List
+
+### [Feedback](./feedback)
+
+Provide visual feedback to user actions.
+- Loading, Progress, Skeleton
+
+### [Overlay](./overlay)
+
+Floating UI elements and modals.
+- Dialog, Drawer, Tooltip, Popover
+
+### [Disclosure](./disclosure)
+
+Show and hide content progressively.
+- Accordion, Collapsible
+
+### [Complex](./complex)
+
+Advanced components for complex UIs.
+- Table
## Plugins
-* [Charts](./charts.md) (Bar, Line, Pie, etc.)
-* [Kanban](./kanban.md) (Board View)
-* [Markdown](./markdown.md) (Rich Text)
+Additional specialized components are available as plugins:
+
+* [Charts](./charts) - Visualization components (Bar, Line, Pie, etc.)
+* [Kanban](./kanban) - Board view for task management
+* [Markdown](./markdown) - Rich text rendering
+* [Calendar View](./calendar-view) - Full-featured calendar
diff --git a/docs/reference/components/layout/card.mdx b/docs/reference/components/layout/card.mdx
new file mode 100644
index 000000000..4fe376ea2
--- /dev/null
+++ b/docs/reference/components/layout/card.mdx
@@ -0,0 +1,74 @@
+---
+title: "Card"
+description: "Container with header, content, and footer sections"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Card
+
+Container with header, content, and footer sections
+
+## Examples
+
+
+
+
+
+## Schema
+
+```typescript
+interface CardSchema {
+ type: 'card';
+ title?: string;
+ description?: string;
+ children?: SchemaNode[];
+ header?: SchemaNode[];
+ footer?: SchemaNode[];
+ className?: string;
+}
+```
diff --git a/docs/reference/components/layout/container.mdx b/docs/reference/components/layout/container.mdx
new file mode 100644
index 000000000..4a695a76e
--- /dev/null
+++ b/docs/reference/components/layout/container.mdx
@@ -0,0 +1,36 @@
+---
+title: "Container"
+description: "Centered content container with max-width"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Container
+
+Centered content container with max-width
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface ContainerSchema {
+ type: 'container';
+ children: SchemaNode[];
+ className?: string;
+}
+```
diff --git a/docs/reference/components/layout/flex.mdx b/docs/reference/components/layout/flex.mdx
new file mode 100644
index 000000000..846f848b0
--- /dev/null
+++ b/docs/reference/components/layout/flex.mdx
@@ -0,0 +1,49 @@
+---
+title: "Flex"
+description: "Flexible box layout container"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Flex
+
+Flexible box layout container
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface FlexSchema {
+ type: 'flex';
+ direction?: 'row' | 'column';
+ gap?: number;
+ align?: 'start' | 'center' | 'end';
+ justify?: 'start' | 'center' | 'end' | 'between';
+ wrap?: boolean;
+ children: SchemaNode[];
+ className?: string;
+}
+```
diff --git a/docs/reference/components/layout/grid.mdx b/docs/reference/components/layout/grid.mdx
new file mode 100644
index 000000000..33def30c0
--- /dev/null
+++ b/docs/reference/components/layout/grid.mdx
@@ -0,0 +1,55 @@
+---
+title: "Grid"
+description: "Responsive grid layout container"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Grid
+
+Responsive grid layout container
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface GridSchema {
+ type: 'grid';
+ columns?: number;
+ gap?: number;
+ children: SchemaNode[];
+ className?: string;
+}
+```
diff --git a/docs/reference/components/layout/meta.json b/docs/reference/components/layout/meta.json
new file mode 100644
index 000000000..52c471e6a
--- /dev/null
+++ b/docs/reference/components/layout/meta.json
@@ -0,0 +1,11 @@
+{
+ "title": "Layout",
+ "pages": [
+ "container",
+ "card",
+ "grid",
+ "flex",
+ "stack",
+ "tabs"
+ ]
+}
diff --git a/docs/reference/components/layout/stack.mdx b/docs/reference/components/layout/stack.mdx
new file mode 100644
index 000000000..dfb115d42
--- /dev/null
+++ b/docs/reference/components/layout/stack.mdx
@@ -0,0 +1,46 @@
+---
+title: "Stack"
+description: "Vertical stack layout for organizing content"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Stack
+
+Vertical stack layout for organizing content
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface StackSchema {
+ type: 'stack';
+ gap?: number;
+ children: SchemaNode[];
+ className?: string;
+}
+```
diff --git a/docs/reference/components/layout/tabs.mdx b/docs/reference/components/layout/tabs.mdx
new file mode 100644
index 000000000..ba9ccae80
--- /dev/null
+++ b/docs/reference/components/layout/tabs.mdx
@@ -0,0 +1,61 @@
+---
+title: "Tabs"
+description: "Organize content into switchable tabs"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Tabs
+
+Organize content into switchable tabs
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface TabsSchema {
+ type: 'tabs';
+ items: Array<{
+ label: string;
+ content: SchemaNode[];
+ }>;
+ defaultValue?: number;
+}
+```
diff --git a/docs/reference/components/overlay/dialog.mdx b/docs/reference/components/overlay/dialog.mdx
new file mode 100644
index 000000000..11b54b305
--- /dev/null
+++ b/docs/reference/components/overlay/dialog.mdx
@@ -0,0 +1,44 @@
+---
+title: "Dialog"
+description: "Modal dialog overlay for focused interactions"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Dialog
+
+Modal dialog overlay for focused interactions
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface DialogSchema {
+ type: 'dialog';
+ trigger: SchemaNode;
+ title?: string;
+ description?: string;
+ children: SchemaNode[];
+ footer?: SchemaNode[];
+}
+```
diff --git a/docs/reference/components/overlay/drawer.mdx b/docs/reference/components/overlay/drawer.mdx
new file mode 100644
index 000000000..ee6e3473e
--- /dev/null
+++ b/docs/reference/components/overlay/drawer.mdx
@@ -0,0 +1,42 @@
+---
+title: "Drawer"
+description: "Sliding panel from edge of screen"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Drawer
+
+Sliding panel from edge of screen
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface DrawerSchema {
+ type: 'drawer';
+ trigger: SchemaNode;
+ title?: string;
+ children: SchemaNode[];
+ side?: 'left' | 'right' | 'top' | 'bottom';
+}
+```
diff --git a/docs/reference/components/overlay/meta.json b/docs/reference/components/overlay/meta.json
new file mode 100644
index 000000000..706a4540d
--- /dev/null
+++ b/docs/reference/components/overlay/meta.json
@@ -0,0 +1,9 @@
+{
+ "title": "Overlay",
+ "pages": [
+ "dialog",
+ "drawer",
+ "tooltip",
+ "popover"
+ ]
+}
diff --git a/docs/reference/components/overlay/popover.mdx b/docs/reference/components/overlay/popover.mdx
new file mode 100644
index 000000000..04dd6d781
--- /dev/null
+++ b/docs/reference/components/overlay/popover.mdx
@@ -0,0 +1,40 @@
+---
+title: "Popover"
+description: "Floating content panel"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Popover
+
+Floating content panel
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface PopoverSchema {
+ type: 'popover';
+ trigger: SchemaNode;
+ children: SchemaNode[];
+ side?: 'top' | 'right' | 'bottom' | 'left';
+}
+```
diff --git a/docs/reference/components/overlay/tooltip.mdx b/docs/reference/components/overlay/tooltip.mdx
new file mode 100644
index 000000000..9c79c1837
--- /dev/null
+++ b/docs/reference/components/overlay/tooltip.mdx
@@ -0,0 +1,37 @@
+---
+title: "Tooltip"
+description: "Contextual information on hover"
+---
+
+import { ComponentDemo, DemoGrid } from '@/app/components/ComponentDemo';
+
+# Tooltip
+
+Contextual information on hover
+
+## Examples
+
+
+
+## Schema
+
+```typescript
+interface TooltipSchema {
+ type: 'tooltip';
+ content: string;
+ children: SchemaNode;
+ side?: 'top' | 'right' | 'bottom' | 'left';
+}
+```
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index dfa935534..81ceece3b 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -105,15 +105,30 @@ importers:
apps/site:
dependencies:
+ '@object-ui/components':
+ specifier: workspace:*
+ version: link:../../packages/components
+ '@object-ui/core':
+ specifier: workspace:*
+ version: link:../../packages/core
+ '@object-ui/react':
+ specifier: workspace:*
+ version: link:../../packages/react
+ '@object-ui/types':
+ specifier: workspace:*
+ version: link:../../packages/types
fumadocs-core:
specifier: ^16.4.7
- version: 16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76)
+ version: 16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76)
fumadocs-mdx:
specifier: ^14.2.6
- version: 14.2.6(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2))
+ version: 14.2.6(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2))
fumadocs-ui:
specifier: ^16.4.7
- version: 16.4.7(@types/react-dom@19.0.3(@types/react@19.0.6))(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18)
+ version: 16.4.7(@types/react-dom@19.0.3(@types/react@19.0.6))(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18)
+ lucide-react:
+ specifier: ^0.468.0
+ version: 0.468.0(react@19.2.3)
next:
specifier: ^16.1.4
version: 16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -4827,6 +4842,11 @@ packages:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
+ lucide-react@0.468.0:
+ resolution: {integrity: sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==}
+ peerDependencies:
+ react: 19.2.3
+
lucide-react@0.562.0:
resolution: {integrity: sha512-82hOAu7y0dbVuFfmO4bYF1XEwYk/mEbM5E+b1jgci/udUBEE/R7LF5Ip0CCEmXe8AybRM8L+04eP+LGZeDvkiw==}
peerDependencies:
@@ -7209,9 +7229,9 @@ snapshots:
'@formatjs/fast-memoize': 3.0.3
tslib: 2.8.1
- '@fumadocs/ui@16.4.7(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18)':
+ '@fumadocs/ui@16.4.7(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18)':
dependencies:
- fumadocs-core: 16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76)
+ fumadocs-core: 16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76)
next-themes: 0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
postcss-selector-parser: 7.1.1
react: 19.2.3
@@ -10086,7 +10106,7 @@ snapshots:
fsevents@2.3.3:
optional: true
- fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76):
+ fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76):
dependencies:
'@formatjs/intl-localematcher': 0.7.5
'@orama/orama': 3.1.18
@@ -10110,7 +10130,7 @@ snapshots:
optionalDependencies:
'@types/react': 19.0.6
algoliasearch: 5.46.3
- lucide-react: 0.562.0(react@19.2.3)
+ lucide-react: 0.468.0(react@19.2.3)
next: 16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react: 19.2.3
react-dom: 19.2.3(react@19.2.3)
@@ -10119,14 +10139,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
- fumadocs-mdx@14.2.6(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)):
+ fumadocs-mdx@14.2.6(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(vite@7.3.1(@types/node@25.0.9)(jiti@2.6.1)(lightningcss@1.30.2)):
dependencies:
'@mdx-js/mdx': 3.1.1
'@standard-schema/spec': 1.1.0
chokidar: 5.0.0
esbuild: 0.27.2
estree-util-value-to-estree: 3.5.0
- fumadocs-core: 16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76)
+ fumadocs-core: 16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76)
js-yaml: 4.1.1
mdast-util-to-markdown: 2.1.2
picocolors: 1.1.1
@@ -10147,9 +10167,9 @@ snapshots:
transitivePeerDependencies:
- supports-color
- fumadocs-ui@16.4.7(@types/react-dom@19.0.3(@types/react@19.0.6))(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18):
+ fumadocs-ui@16.4.7(@types/react-dom@19.0.3(@types/react@19.0.6))(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18):
dependencies:
- '@fumadocs/ui': 16.4.7(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18)
+ '@fumadocs/ui': 16.4.7(@types/react@19.0.6)(fumadocs-core@16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react@19.2.3)(tailwindcss@4.1.18)
'@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.0.3(@types/react@19.0.6))(@types/react@19.0.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.0.3(@types/react@19.0.6))(@types/react@19.0.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
'@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.0.3(@types/react@19.0.6))(@types/react@19.0.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
@@ -10161,7 +10181,7 @@ snapshots:
'@radix-ui/react-slot': 1.2.4(@types/react@19.0.6)(react@19.2.3)
'@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.0.3(@types/react@19.0.6))(@types/react@19.0.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
class-variance-authority: 0.7.1
- fumadocs-core: 16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.562.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76)
+ fumadocs-core: 16.4.7(@types/react@19.0.6)(algoliasearch@5.46.3)(lucide-react@0.468.0(react@19.2.3))(next@16.1.4(@babel/core@7.28.6)(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react-dom@19.2.3(react@19.2.3))(react-router@7.12.0(react-dom@19.2.3(react@19.2.3))(react@19.2.3))(react@19.2.3)(zod@3.25.76)
lucide-react: 0.562.0(react@19.2.3)
next-themes: 0.4.6(react-dom@19.2.3(react@19.2.3))(react@19.2.3)
react: 19.2.3
@@ -10734,6 +10754,10 @@ snapshots:
dependencies:
yallist: 4.0.0
+ lucide-react@0.468.0(react@19.2.3):
+ dependencies:
+ react: 19.2.3
+
lucide-react@0.562.0(react@19.2.3):
dependencies:
react: 19.2.3