@object-ui/components 2.0.0 β 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +12 -12
- package/CHANGELOG.md +19 -0
- package/dist/index.css +1 -1
- package/dist/index.js +19610 -19344
- package/dist/index.umd.cjs +29 -29
- package/dist/src/custom/index.d.ts +2 -0
- package/dist/src/custom/view-skeleton.d.ts +37 -0
- package/dist/src/custom/view-states.d.ts +33 -0
- package/package.json +17 -17
- package/src/__tests__/__snapshots__/snapshot-critical.test.tsx.snap +811 -0
- package/src/__tests__/__snapshots__/snapshot.test.tsx.snap +327 -0
- package/src/__tests__/accessibility.test.tsx +137 -0
- package/src/__tests__/api-consistency.test.tsx +596 -0
- package/src/__tests__/color-contrast.test.tsx +212 -0
- package/src/__tests__/edge-cases.test.tsx +285 -0
- package/src/__tests__/snapshot-critical.test.tsx +317 -0
- package/src/__tests__/snapshot.test.tsx +205 -0
- package/src/__tests__/wcag-audit.test.tsx +493 -0
- package/src/custom/index.ts +2 -0
- package/src/custom/view-skeleton.tsx +243 -0
- package/src/custom/view-states.tsx +153 -0
- package/src/renderers/complex/data-table.tsx +28 -13
- package/src/renderers/complex/resizable.tsx +20 -17
- package/src/renderers/data-display/list.tsx +1 -1
- package/src/renderers/data-display/table.tsx +1 -1
- package/src/renderers/data-display/tree-view.tsx +2 -1
- package/src/renderers/form/form.tsx +10 -6
- package/src/renderers/layout/aspect-ratio.tsx +1 -1
- package/src/stories-json/Accessibility.mdx +297 -0
- package/src/stories-json/EdgeCases.stories.tsx +160 -0
- package/src/stories-json/GettingStarted.mdx +89 -0
- package/src/stories-json/Introduction.mdx +127 -0
- package/src/ui/slider.tsx +6 -2
- package/src/stories/Introduction.mdx +0 -61
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { Meta } from "@storybook/blocks";
|
|
2
|
-
|
|
3
|
-
<Meta title="Getting Started/Introduction" />
|
|
4
|
-
|
|
5
|
-
# ObjectUI β Server-Driven UI Engine
|
|
6
|
-
|
|
7
|
-
**ObjectUI** is a universal, server-driven UI (SDUI) engine built on **React + Tailwind + Shadcn**.
|
|
8
|
-
It interprets JSON metadata into pixel-perfect, accessible, and interactive enterprise interfaces.
|
|
9
|
-
|
|
10
|
-
## π Architecture
|
|
11
|
-
|
|
12
|
-
| Package | Role |
|
|
13
|
-
|---|---|
|
|
14
|
-
| `@object-ui/types` | JSON Protocol β Pure TypeScript interfaces |
|
|
15
|
-
| `@object-ui/core` | Engine β Schema registry, validation, expressions |
|
|
16
|
-
| `@object-ui/components` | Primitives β Shadcn UI wrappers (Button, Card, Badgeβ¦) |
|
|
17
|
-
| `@object-ui/fields` | Field Widgets β 47+ input field renderers |
|
|
18
|
-
| `@object-ui/layout` | Shell β Header, Sidebar, AppShell |
|
|
19
|
-
| `@object-ui/react` | Runtime β `SchemaRenderer`, `useRenderer` |
|
|
20
|
-
| `@object-ui/plugin-*` | Plugins β Grid, Kanban, Charts, Gantt, Mapβ¦ |
|
|
21
|
-
| `@object-ui/data-*` | Data Adapters β REST, ObjectQL, ObjectStack |
|
|
22
|
-
|
|
23
|
-
## π― How It Works
|
|
24
|
-
|
|
25
|
-
Everything is driven by **JSON schemas**. A UI tree is a recursive structure of `UIComponent` nodes:
|
|
26
|
-
|
|
27
|
-
```json
|
|
28
|
-
{
|
|
29
|
-
"type": "page",
|
|
30
|
-
"children": [
|
|
31
|
-
{
|
|
32
|
-
"type": "grid",
|
|
33
|
-
"props": { "cols": 3, "gap": 4 },
|
|
34
|
-
"children": [
|
|
35
|
-
{ "type": "metric", "label": "Revenue", "value": "$45,231" },
|
|
36
|
-
{ "type": "metric", "label": "Users", "value": "2,350" },
|
|
37
|
-
{ "type": "metric", "label": "Growth", "value": "12.5%" }
|
|
38
|
-
]
|
|
39
|
-
}
|
|
40
|
-
]
|
|
41
|
-
}
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
The `SchemaRenderer` recursively walks this tree and resolves each `type` to a registered React component.
|
|
45
|
-
|
|
46
|
-
## π Storybook Guide
|
|
47
|
-
|
|
48
|
-
This Storybook is organized by capability:
|
|
49
|
-
|
|
50
|
-
- **Getting Started** β Introduction and data binding guides.
|
|
51
|
-
- **Primitives** β Atomic Shadcn UI wrappers driven by JSON (Button, Card, Input, Dialogβ¦).
|
|
52
|
-
- **Fields** β All 47+ field widget renderers (text, number, select, date, lookupβ¦).
|
|
53
|
-
- **Plugins** β Complex views powered by specialized libraries (Grid, Kanban, Gantt, Charts, Mapβ¦).
|
|
54
|
-
- **Templates** β Composed page-level layouts (Dashboard, Page, Reports, Sidebar).
|
|
55
|
-
- **Apps** β Full application demos (CRM) using all of the above.
|
|
56
|
-
|
|
57
|
-
## π Links
|
|
58
|
-
|
|
59
|
-
- [GitHub Repository](https://github.com/objectstack-ai/objectui)
|
|
60
|
-
- [ObjectStack Spec](https://github.com/objectstack-ai/spec)
|
|
61
|
-
- [Shadcn UI](https://ui.shadcn.com/)
|