The Object UI Showcase is a comprehensive, interactive demo that demonstrates all available components, layouts, and features. It's the best way to explore what Object UI can do and see real examples you can copy into your own projects.
The showcase is organized into categories, each demonstrating different aspects of the Object UI component library:
- Div - Container elements with flexible styling
- Text - Typography and text rendering
- HTML - Raw HTML content rendering
- Icon - Lucide icon integration
- Image - Image display and optimization
- Separator - Visual dividers
- Flex - Flexbox layouts
- Grid - CSS Grid layouts
- Stack - Vertical/horizontal stacks
- Card - Card containers with headers and footers
- Container - Responsive containers
- Tabs - Tabbed interfaces
- Header Bar - Application headers
- Sidebar - Navigation sidebars
- Button - Interactive buttons with variants
- Input - Text input fields
- Textarea - Multi-line text input
- Select - Dropdown selections
- Checkbox - Boolean selections
- Radio Group - Single choice from options
- Switch - Toggle switches
- Slider - Range sliders
- Date Picker - Date selection
- Calendar - Calendar views
- Input OTP - One-time password input
- Toggle - Toggle buttons
- File Upload - File input handling
- List - Ordered and unordered lists
- Table - Data tables
- Avatar - User avatars
- Badge - Status badges
- Alert - Alert messages
- Statistic - Statistical displays
- Tree View - Hierarchical data
- Toaster - Toast notifications
- Progress - Progress bars
- Loading - Loading indicators
- Skeleton - Loading placeholders
- Dialog - Modal dialogs
- Sheet - Side panels
- Drawer - Bottom drawers
- Popover - Popover menus
- Tooltip - Tooltips
- Hover Card - Hover information cards
- Alert Dialog - Confirmation dialogs
- Dropdown Menu - Dropdown menus
- Context Menu - Right-click menus
- Accordion - Collapsible sections
- Collapsible - Show/hide content
- Data Table - Advanced sortable, filterable tables
- Kanban - Kanban board views
- Filter Builder - Dynamic filter creation
- Calendar View - Full calendar components
- Timeline - Timeline visualizations
- Charts - Data visualization charts
- Carousel - Image/content carousels
- Resizable - Resizable panels
- Scroll Area - Custom scrollable areas
- Chatbot - Chat interfaces
The easiest way to run the showcase is using the built-in command:
# Clone the repository
git clone https://github.com/objectstack-ai/objectui.git
cd objectui
# Install dependencies
pnpm install
# Build the packages
pnpm build
# Run the showcase
pnpm showcaseThis will start the showcase at http://localhost:3000 and automatically open it in your browser.
If you have the Object UI CLI installed globally:
# Install CLI
npm install -g @object-ui/cli
# Navigate to the repository
cd objectui
# Run the showcase
objectui showcaseFor development with hot reload:
pnpm dev:showcaseOr using the CLI directly:
node packages/cli/dist/cli.js dev examples/showcase/app.jsonThe showcase uses a sidebar layout with a hierarchical navigation menu:
- Click on any category (e.g., "Form", "Layout") to expand it
- Select a specific component to view its demo
- Use the top navigation for quick access to features
Each component page typically includes:
- Live Preview - See the component in action
- Multiple Variants - Different styles and configurations
- Interactive Examples - Try different states and options
- JSON Schema - View the schema that generates each example
To use an example in your own project:
- Navigate to the component you want to use
- View the page source in
examples/showcase/pages/ - Copy the JSON schema
- Paste it into your own
app.jsonor page schema
Example: To find the Button component schema:
cat examples/showcase/pages/form/button.jsonStart with Basic Components to understand fundamental building blocks:
- How
divcontainers work with Tailwind classes - How
textcomponents render typography - How
iconcomponents integrate Lucide icons
Move to Layout Components to see how to structure pages:
flexfor flexible layoutsgridfor structured gridscardfor contained content sections
Explore Form Components to see validation, state management, and user input:
- Input field variants
- Select dropdowns
- Date pickers
- Form submission handling
Check out Data Display components for showing information:
- Tables with sorting and filtering
- Lists with custom rendering
- Statistics and metrics
Finally, explore Complex Components for advanced use cases:
- Data tables with pagination
- Kanban boards with drag-and-drop
- Charts and visualizations
- Rich interactions
The showcase demonstrates Object UI's Tailwind-first philosophy. Every component accepts a className prop for styling:
{
"type": "button",
"label": "Custom Button",
"className": "bg-gradient-to-r from-purple-500 to-pink-500 hover:from-purple-600 hover:to-pink-600"
}See how components adapt to different themes:
- Light mode (default)
- Dark mode (via
dark:classes) - Custom color schemes
Most components support multiple sizes:
{
"type": "button",
"size": "sm", // Small
"size": "default", // Default
"size": "lg" // Large
}Buttons, cards, and other components have built-in variants:
{
"type": "button",
"variant": "default", // Primary
"variant": "secondary", // Secondary
"variant": "outline", // Outlined
"variant": "ghost", // Ghost
"variant": "destructive" // Destructive
}The showcase is built entirely from JSON files:
examples/showcase/
├── app.json # Main application configuration
└── pages/ # Component demonstration pages
├── index.json # Dashboard/home page
├── basic/ # Basic components
│ ├── div.json
│ ├── text.json
│ └── ...
├── layout/ # Layout components
├── form/ # Form components
├── data-display/ # Data display components
├── feedback/ # Feedback components
├── overlay/ # Overlay components
├── disclosure/ # Disclosure components
└── complex/ # Complex components
Each page is a standalone JSON schema that demonstrates specific components.
Want to deploy the showcase to your own website? See our Showcase Deployment Guide for:
- Static site deployment (Vercel, Netlify, GitHub Pages)
- Docker containerization
- Embedding in existing websites
- Custom domain configuration
The showcase is your living documentation. Whenever you need to implement a component:
- Find it in the showcase
- Interact with it to understand behavior
- Copy the JSON schema
- Customize for your needs
The showcase is perfect for experimentation:
- Clone the repository
- Edit JSON files in
examples/showcase/pages/ - See changes instantly with hot reload
- No compilation or build step needed
When reporting issues or asking for help:
- Create a minimal example in the showcase format
- Share the JSON schema
- Others can reproduce it instantly
- Component Reference - Detailed component documentation
- Quick Start Guide - Get started with Object UI
- Schema Rendering - Understand how schemas work
- Try It Online - Use the online playground
Found a component that's missing from the showcase? Want to add more examples?
- Create a new JSON file in the appropriate category
- Follow the existing pattern
- Submit a pull request
See our Contributing Guide for details.
Ready to explore? Run pnpm showcase and start discovering what Object UI can do!