Skip to content

Commit ef3c9aa

Browse files
authored
Merge pull request #143 from objectstack-ai/copilot/reorganize-top-menu-docs
2 parents 1158164 + cb6993d commit ef3c9aa

File tree

6 files changed

+269
-16
lines changed

6 files changed

+269
-16
lines changed

docs/components/index.mdx

Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
---
2+
title: "Component Gallery"
3+
description: "Explore all ObjectUI components organized by category"
4+
---
5+
6+
# Component Gallery
7+
8+
ObjectUI provides a comprehensive set of components built on React, Tailwind CSS, and Shadcn UI. All components are defined through JSON schemas and rendered with pixel-perfect quality.
9+
10+
## Quick Navigation
11+
12+
Browse components by category to find what you need:
13+
14+
### [Basic Components](/components/basic/text)
15+
Essential building blocks: Text, Icon, Image, Separator, HTML
16+
17+
### [Form Components](/components/form/button)
18+
Interactive inputs: Button, Input, Select, Checkbox, Switch, Textarea, Slider
19+
20+
### [Layout Components](/components/layout/container)
21+
Structure your UI: Container, Card, Grid, Flex, Stack, Tabs
22+
23+
### [Data Display](/components/data-display/badge)
24+
Show information: Badge, Avatar, Alert, List
25+
26+
### [Feedback Components](/components/feedback/loading)
27+
User feedback: Loading, Progress, Skeleton
28+
29+
### [Overlay Components](/components/overlay/dialog)
30+
Floating elements: Dialog, Drawer, Tooltip, Popover
31+
32+
### [Disclosure Components](/components/disclosure/accordion)
33+
Show/hide content: Accordion, Collapsible
34+
35+
### [Complex Components](/components/complex/table)
36+
Advanced patterns: Table (with sorting, filtering, pagination)
37+
38+
## Component Categories
39+
40+
### Basic Components
41+
42+
The foundation of your UI. These are simple, single-purpose components:
43+
44+
- **[Text](/components/basic/text)** - Display text with typography control
45+
- **[Icon](/components/basic/icon)** - Render icons from Lucide React
46+
- **[Image](/components/basic/image)** - Display images with lazy loading
47+
- **[Separator](/components/basic/separator)** - Visual divider between content
48+
- **[HTML](/components/basic/html)** - Render raw HTML content
49+
50+
### Form Components
51+
52+
Interactive elements for user input:
53+
54+
- **[Button](/components/form/button)** - Trigger actions with multiple variants
55+
- **[Input](/components/form/input)** - Text input with validation
56+
- **[Select](/components/form/select)** - Dropdown selection
57+
- **[Checkbox](/components/form/checkbox)** - Boolean selection
58+
- **[Switch](/components/form/switch)** - Toggle switch
59+
- **[Textarea](/components/form/textarea)** - Multi-line text input
60+
- **[Slider](/components/form/slider)** - Numeric range selection
61+
62+
### Layout Components
63+
64+
Structure and organize your interface:
65+
66+
- **[Container](/components/layout/container)** - Responsive container with max-width
67+
- **[Card](/components/layout/card)** - Content card with header and footer
68+
- **[Grid](/components/layout/grid)** - CSS Grid layout
69+
- **[Flex](/components/layout/flex)** - Flexbox layout
70+
- **[Stack](/components/layout/stack)** - Vertical or horizontal stack
71+
- **[Tabs](/components/layout/tabs)** - Tabbed interface
72+
73+
### Data Display
74+
75+
Present data to users:
76+
77+
- **[Badge](/components/data-display/badge)** - Small status indicators
78+
- **[Avatar](/components/data-display/avatar)** - User profile images
79+
- **[Alert](/components/data-display/alert)** - Contextual messages
80+
- **[List](/components/data-display/list)** - Ordered or unordered lists
81+
82+
### Feedback Components
83+
84+
Provide visual feedback:
85+
86+
- **[Loading](/components/feedback/loading)** - Loading spinner
87+
- **[Progress](/components/feedback/progress)** - Progress bar
88+
- **[Skeleton](/components/feedback/skeleton)** - Loading placeholder
89+
90+
### Overlay Components
91+
92+
Floating UI elements:
93+
94+
- **[Dialog](/components/overlay/dialog)** - Modal dialog
95+
- **[Drawer](/components/overlay/drawer)** - Slide-out drawer
96+
- **[Tooltip](/components/overlay/tooltip)** - Hover tooltips
97+
- **[Popover](/components/overlay/popover)** - Floating popover
98+
99+
### Disclosure Components
100+
101+
Expandable content:
102+
103+
- **[Accordion](/components/disclosure/accordion)** - Expandable sections
104+
- **[Collapsible](/components/disclosure/collapsible)** - Toggle content visibility
105+
106+
### Complex Components
107+
108+
Advanced, feature-rich components:
109+
110+
- **[Table](/components/complex/table)** - Data table with sorting, filtering, and pagination
111+
112+
## Usage Pattern
113+
114+
All ObjectUI components follow the same schema-based pattern:
115+
116+
```json
117+
{
118+
"type": "component-name",
119+
"className": "tailwind-classes",
120+
"props": {
121+
// Component-specific properties
122+
}
123+
}
124+
```
125+
126+
### Example: Button
127+
128+
```json
129+
{
130+
"type": "button",
131+
"label": "Click Me",
132+
"variant": "default",
133+
"size": "md",
134+
"className": "mt-4"
135+
}
136+
```
137+
138+
### Example: Card with Form
139+
140+
```json
141+
{
142+
"type": "card",
143+
"title": "User Profile",
144+
"className": "max-w-md",
145+
"body": {
146+
"type": "form",
147+
"fields": [
148+
{
149+
"type": "input",
150+
"name": "name",
151+
"label": "Full Name"
152+
},
153+
{
154+
"type": "input",
155+
"name": "email",
156+
"label": "Email",
157+
"inputType": "email"
158+
}
159+
]
160+
}
161+
}
162+
```
163+
164+
## Features
165+
166+
All ObjectUI components share these characteristics:
167+
168+
-**Schema-Driven** - Define with JSON, not code
169+
-**Tailwind CSS** - Use utility classes directly in schemas
170+
-**Accessible** - WCAG 2.1 AA compliant
171+
-**Responsive** - Mobile-first design
172+
-**Themeable** - Light/dark mode support
173+
-**Type-Safe** - Full TypeScript support
174+
-**Performant** - Lazy-loaded and tree-shakable
175+
176+
## Next Steps
177+
178+
- **[Quick Start Guide](/docs/guide/quick-start)** - Build your first ObjectUI app
179+
- **[Schema Rendering](/docs/concepts/schema-rendering)** - Learn how the engine works
180+
- **[Component Registry](/docs/concepts/component-registry)** - Register custom components
181+
- **[Expressions](/docs/concepts/expressions)** - Dynamic values with expressions
182+
183+
## Need Help?
184+
185+
Can't find what you're looking for? Check out:
186+
187+
- [Concepts](/docs/concepts) - Core concepts and architecture
188+
- [Advanced](/docs/reference) - API documentation and protocol specs
189+
- [GitHub](https://github.com/objectstack-ai/objectui) - Report issues or contribute

docs/components/meta.json

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
{
2+
"title": "Components",
3+
"pages": [
4+
"index",
5+
"---Basic",
6+
"basic/text",
7+
"basic/icon",
8+
"basic/image",
9+
"basic/separator",
10+
"basic/html",
11+
"---Form",
12+
"form/button",
13+
"form/input",
14+
"form/select",
15+
"form/checkbox",
16+
"form/switch",
17+
"form/textarea",
18+
"form/slider",
19+
"---Layout",
20+
"layout/container",
21+
"layout/card",
22+
"layout/grid",
23+
"layout/flex",
24+
"layout/stack",
25+
"layout/tabs",
26+
"---Data Display",
27+
"data-display/badge",
28+
"data-display/avatar",
29+
"data-display/alert",
30+
"data-display/list",
31+
"---Feedback",
32+
"feedback/loading",
33+
"feedback/progress",
34+
"feedback/skeleton",
35+
"---Overlay",
36+
"overlay/dialog",
37+
"overlay/drawer",
38+
"overlay/tooltip",
39+
"overlay/popover",
40+
"---Disclosure",
41+
"disclosure/accordion",
42+
"disclosure/collapsible",
43+
"---Complex",
44+
"complex/table"
45+
]
46+
}

docs/ecosystem/meta.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
{
22
"title": "Ecosystem",
33
"pages": [
4+
"objectql",
5+
"api",
46
"plugins",
57
"deployment"
68
]

docs/guide/meta.json

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
{
2-
"title": "Guide",
2+
"title": "Getting Started",
33
"pages": [
44
"index",
5-
"installation",
65
"quick-start",
6+
"installation",
77
"interactive-demos",
8+
"try-it-online",
9+
"---",
810
"studio",
911
"cli",
10-
"try-it-online",
12+
"---",
1113
"components",
1214
"interactive-showcase",
1315
"showcase"

docs/meta.json

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
{
22
"nav": [
33
{
4-
"title": "Guide",
4+
"title": "Getting Started",
55
"url": "/guide"
66
},
7-
{
8-
"title": "Concepts",
9-
"url": "/concepts"
10-
},
117
{
128
"title": "Components",
139
"url": "/components"
1410
},
1511
{
16-
"title": "Reference",
12+
"title": "Concepts",
13+
"url": "/concepts"
14+
},
15+
{
16+
"title": "Advanced",
1717
"url": "/reference"
1818
},
1919
{
20-
"title": "Ecosystem",
21-
"url": "/ecosystem"
20+
"title": "Community",
21+
"url": "/community"
2222
}
2323
],
2424
"pages": [
2525
"guide",
26-
"concepts",
2726
"components",
27+
"concepts",
2828
"reference",
2929
"ecosystem",
3030
"community"

docs/reference/meta.json

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
11
{
2-
"title": "Reference",
2+
"title": "Advanced",
33
"pages": [
4-
"components",
5-
"protocol",
6-
"api"
4+
"---API Reference",
5+
"api/core",
6+
"api/react",
7+
"api/components",
8+
"api/designer",
9+
"---Protocol",
10+
"protocol/overview",
11+
"protocol/page",
12+
"protocol/form",
13+
"protocol/view",
14+
"protocol/crud",
15+
"protocol/menu",
16+
"protocol/app",
17+
"protocol/report",
18+
"protocol/object",
19+
"---Ecosystem",
20+
"ecosystem"
721
]
822
}

0 commit comments

Comments
 (0)