Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

### Changed

- **Package Restructure**: `@object-ui/plugin-object` has been upgraded to a core package and renamed to `@object-ui/views`
- Package name changed from `@object-ui/plugin-object` to `@object-ui/views`
- Now positioned as a core package instead of a plugin
- All functionality remains the same, only the package name and classification have changed
- Users should update their imports from `@object-ui/plugin-object` to `@object-ui/views`

---

## [0.3.0] - 2026-01-17
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ Object UI is a modular monorepo with packages designed for specific use cases:
**Plugins** (lazy-loaded):
- `@object-ui/plugin-charts` - Chart components (Chart.js)
- `@object-ui/plugin-editor` - Rich text editor components
- `@object-ui/plugin-object` - ObjectStack-aware table and form components
- `@object-ui/views` - ObjectStack-aware table and form components (core package)

**Developer Tools**:
- **[VSCode Extension](./packages/vscode-extension)** - IntelliSense, live preview, validation, and snippets for Object UI schemas
Expand Down
2 changes: 1 addition & 1 deletion apps/site/app/components/InteractiveDemo.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const pluginsLoading = typeof window !== 'undefined'
import('@object-ui/plugin-charts'),
import('@object-ui/plugin-kanban'),
import('@object-ui/plugin-markdown'),
import('@object-ui/plugin-object'),
import('@object-ui/views'),
])
: Promise.resolve([]);

Expand Down
2 changes: 1 addition & 1 deletion apps/site/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
"@object-ui/plugin-editor": "workspace:*",
"@object-ui/plugin-kanban": "workspace:*",
"@object-ui/plugin-markdown": "workspace:*",
"@object-ui/plugin-object": "workspace:*",
"@object-ui/views": "workspace:*",
"@object-ui/react": "workspace:*",
"@object-ui/types": "workspace:*",
"fumadocs-core": "16.4.8",
Expand Down
11 changes: 6 additions & 5 deletions content/docs/plugins/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Kanban board with drag-and-drop functionality
### [Markdown Plugin](/docs/plugins/plugin-markdown)
Markdown renderer with GitHub Flavored Markdown support

### [Object Plugin](/docs/plugins/plugin-object)
### [Views (Core Package)](/docs/plugins/views)
Advanced object data management and visualization

## Official Plugins
Expand Down Expand Up @@ -96,19 +96,20 @@ npm install @object-ui/plugin-markdown

---

### Object Plugin
### Views (Core Package)

**[@object-ui/plugin-object](/docs/plugins/plugin-object)** - Advanced object data management and visualization.
**[@object-ui/views](/docs/plugins/views)** - Core views package for advanced object data management and visualization.

- Object data rendering
- Complex data structures support
- Flexible visualization options
- Part of core framework

```bash
npm install @object-ui/plugin-object
npm install @object-ui/views
```

[Read full documentation →](/docs/plugins/plugin-object)
[Read full documentation →](/docs/plugins/views)

---

Expand Down
2 changes: 1 addition & 1 deletion content/docs/plugins/meta.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@
"plugin-editor",
"plugin-kanban",
"plugin-markdown",
"plugin-object"
"views"
]
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
title: "Plugin Object"
title: "Views (Core Package)"
---

ObjectQL integration plugin providing smart components for CRUD operations.
Core Object UI views package providing smart components for CRUD operations with ObjectQL integration.

## Installation

```bash
npm install @object-ui/plugin-object @object-ui/data-objectql
npm install @object-ui/views @object-ui/data-objectql
```

## Overview

The Object plugin provides seamless integration with ObjectQL backends through smart components that automatically generate UI from ObjectQL object schemas. It's the official plugin for building data-driven applications with ObjectUI.
The Views package provides seamless integration with ObjectQL backends through smart components that automatically generate UI from ObjectQL object schemas. It's a core package for building data-driven applications with ObjectUI.

## Components

Expand All @@ -32,17 +32,17 @@ Enterprise-grade table component with unified schema supporting both traditional
**Single unified type:**
- `type: 'object-grid'` - Supports both traditional and grid modes

[Learn more about ObjectTable →](/docs/plugins/plugin-object/object-grid)
[Learn more about ObjectTable →](/docs/plugins/views/object-grid)

### ObjectForm
Smart forms with validation and schema integration. Supports both create and edit modes with automatic field generation.

[Learn more about ObjectForm →](/docs/plugins/plugin-object/object-form)
[Learn more about ObjectForm →](/docs/plugins/views/object-form)

### ObjectView
Complete CRUD views combining list, detail, and edit modes in a single component. Ideal for building full-featured data management interfaces.

[Learn more about ObjectView →](/docs/plugins/plugin-object/object-view)
[Learn more about ObjectView →](/docs/plugins/views/object-view)

## Features

Expand Down Expand Up @@ -90,7 +90,7 @@ import type {
ObjectTableSchema,
ObjectFormSchema,
ObjectViewSchema
} from '@object-ui/plugin-object';
} from '@object-ui/views';

// Object Table (Traditional CRUD)
const tableSchema: ObjectTableSchema = {
Expand Down Expand Up @@ -142,4 +142,4 @@ const viewSchema: ObjectViewSchema = {
- [ObjectQL Integration](/docs/ecosystem/objectql)
- [Data Sources](/docs/concepts/data-source)
- [Plugin System Overview](/docs/concepts/plugins)
- [Package README](https://github.com/objectstack-ai/objectui/tree/main/packages/plugin-object)
- [Package README](https://github.com/objectstack-ai/objectui/tree/main/packages/views)
16 changes: 8 additions & 8 deletions docs/IMPLEMENTATION_SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ This implementation delivers a comprehensive upgrade to ObjectUI's ObjectForm an

**Testing**
- 27 unit tests for field renderers (100% pass rate)
- 80 total tests in plugin-object package (100% pass rate)
- 80 total tests in views package (100% pass rate)
- Zero TypeScript errors
- CodeQL security scan: 0 alerts

Expand Down Expand Up @@ -144,18 +144,18 @@ interface FieldMetadata {

### New Files
1. `packages/types/src/field-types.ts` - Field type definitions
2. `packages/plugin-object/src/field-renderers.tsx` - Cell renderers
3. `packages/plugin-object/src/ObjectGrid.tsx` - Grid component
4. `packages/plugin-object/src/__tests__/field-renderers.test.tsx` - Tests
2. `packages/views/src/field-renderers.tsx` - Cell renderers
3. `packages/views/src/ObjectGrid.tsx` - Grid component
4. `packages/views/src/__tests__/field-renderers.test.tsx` - Tests
5. `docs/reference/field-types.md` - Documentation
6. `docs/reference/field-types-examples.md` - Examples
7. `docs/reference/objectgrid-examples.md` - Grid examples

### Modified Files
1. `packages/types/src/index.ts` - Export field types
2. `packages/types/src/objectql.ts` - Add ObjectGridSchema
3. `packages/plugin-object/src/index.tsx` - Export ObjectGrid
4. `packages/plugin-object/src/ObjectTable.tsx` - Use field renderers
3. `packages/views/src/index.tsx` - Export ObjectGrid
4. `packages/views/src/ObjectTable.tsx` - Use field renderers

## What's Remaining

Expand Down Expand Up @@ -201,7 +201,7 @@ interface FieldMetadata {

### Field Renderers
```typescript
import { getCellRenderer } from '@object-ui/plugin-object';
import { getCellRenderer } from '@object-ui/views';

const CurrencyRenderer = getCellRenderer('currency');
<CurrencyRenderer
Expand All @@ -212,7 +212,7 @@ const CurrencyRenderer = getCellRenderer('currency');

### ObjectGrid
```typescript
import { ObjectGrid } from '@object-ui/plugin-object';
import { ObjectGrid } from '@object-ui/views';

<ObjectGrid
schema={{
Expand Down
6 changes: 3 additions & 3 deletions docs/reference/field-types-examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Comprehensive examples demonstrating all ObjectUI field types in ObjectForm and
This example shows all field types in a realistic CRM contact management form:

```typescript
import { ObjectForm } from '@object-ui/plugin-object';
import { ObjectForm } from '@object-ui/views';

const contactFormSchema = {
type: 'object-form',
Expand Down Expand Up @@ -271,7 +271,7 @@ const contactFormSchema = {
Display contacts in a table with type-aware cell rendering:

```typescript
import { ObjectTable } from '@object-ui/plugin-object';
import { ObjectTable } from '@object-ui/views';

const contactTableSchema = {
type: 'object-grid',
Expand Down Expand Up @@ -391,7 +391,7 @@ import {
getCellRenderer,
CurrencyCellRenderer,
UserCellRenderer
} from '@object-ui/plugin-object';
} from '@object-ui/views';

// Get renderer by type
const CurrencyRenderer = getCellRenderer('currency');
Expand Down
6 changes: 3 additions & 3 deletions docs/reference/field-types.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,15 +63,15 @@ Each field type has two rendering modes:

## Implementation

All field renderers are exported from `@object-ui/plugin-object`:
All field renderers are exported from `@object-ui/views`:

```typescript
import { getCellRenderer } from '@object-ui/plugin-object';
import { getCellRenderer } from '@object-ui/views';

const renderer = getCellRenderer('currency');
```

## See Also

- [Field Type TypeScript Definitions](../../packages/types/src/field-types.ts)
- [Field Renderers Implementation](../../packages/plugin-object/src/field-renderers.tsx)
- [Field Renderers Implementation](../../packages/views/src/field-renderers.tsx)
6 changes: 3 additions & 3 deletions docs/reference/objecttable-refactored.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ When `type: 'object-grid'`:

**Before:**
```typescript
import { ObjectGrid } from '@object-ui/plugin-object';
import { ObjectGrid } from '@object-ui/views';

<ObjectGrid
schema={{
Expand All @@ -109,7 +109,7 @@ import { ObjectGrid } from '@object-ui/plugin-object';

**After:**
```typescript
import { ObjectTable } from '@object-ui/plugin-object';
import { ObjectTable } from '@object-ui/views';

<ObjectTable
schema={{
Expand Down Expand Up @@ -242,4 +242,4 @@ import { ObjectTable } from '@object-ui/plugin-object';

- [data-table Component](../../packages/components/src/renderers/complex/data-table.tsx)
- [Field Types Reference](./field-types.md)
- [Field Renderers](../../packages/plugin-object/src/field-renderers.tsx)
- [Field Renderers](../../packages/views/src/field-renderers.tsx)
2 changes: 1 addition & 1 deletion packages/cli/src/commands/dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ export async function dev(schemaPath: string, options: DevOptions) {
'@object-ui/plugin-editor': join(cwd, 'packages/plugin-editor/src/index.tsx'),
'@object-ui/plugin-kanban': join(cwd, 'packages/plugin-kanban/src/index.tsx'),
'@object-ui/plugin-markdown': join(cwd, 'packages/plugin-markdown/src/index.tsx'),
'@object-ui/plugin-object': join(cwd, 'packages/plugin-object/src/index.ts'),
'@object-ui/views': join(cwd, 'packages/views/src/index.ts'),
};

// Fix: Resolve lucide-react from components package to avoid "dependency not found" in temp app
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/src/utils/app-generator.ts
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ import '@object-ui/plugin-charts';
import '@object-ui/plugin-editor';
import '@object-ui/plugin-kanban';
import '@object-ui/plugin-markdown';
import '@object-ui/plugin-object';
import '@object-ui/views';

const schema = ${JSON.stringify(schema, null, 2)};

Expand Down Expand Up @@ -779,7 +779,7 @@ import '@object-ui/plugin-charts';
import '@object-ui/plugin-editor';
import '@object-ui/plugin-kanban';
import '@object-ui/plugin-markdown';
import '@object-ui/plugin-object';
import '@object-ui/views';
${schemaImports.join('\n')}
${layoutImport}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,13 @@
# @object-ui/plugin-object
# @object-ui/views

## Unreleased

### Changed

- **Package Renamed**: This package was formerly known as `@object-ui/plugin-object`
- Upgraded from plugin status to core package
- Package name changed from `@object-ui/plugin-object` to `@object-ui/views`
- All functionality remains the same

## 0.3.0

Expand Down
12 changes: 6 additions & 6 deletions packages/plugin-object/README.md → packages/views/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# @object-ui/plugin-object
# @object-ui/views

ObjectStack plugin for Object UI, providing seamless integration with ObjectStack backends through auto-generated components.
Core Object UI views package, providing seamless integration with ObjectStack backends through auto-generated components.

## Features

Expand All @@ -11,15 +11,15 @@ ObjectStack plugin for Object UI, providing seamless integration with ObjectStac
## Installation

```bash
npm install @object-ui/plugin-object @object-ui/core
npm install @object-ui/views @object-ui/core
```

## Usage

### ObjectTable

```tsx
import { ObjectTable } from '@object-ui/plugin-object';
import { ObjectTable } from '@object-ui/views';
import { createObjectStackAdapter } from '@object-ui/core';

const dataSource = createObjectStackAdapter({
Expand All @@ -43,7 +43,7 @@ function UsersTable() {
### ObjectForm

```tsx
import { ObjectForm } from '@object-ui/plugin-object';
import { ObjectForm } from '@object-ui/views';
import { createObjectStackAdapter } from '@object-ui/core';

const dataSource = createObjectStackAdapter({
Expand All @@ -69,7 +69,7 @@ function UserForm() {
### ObjectView

```tsx
import { ObjectView } from '@object-ui/plugin-object';
import { ObjectView } from '@object-ui/views';
import { createObjectStackAdapter } from '@object-ui/core';

const dataSource = createObjectStackAdapter({
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@object-ui/plugin-object",
"name": "@object-ui/views",
"version": "0.3.0",
"description": "ObjectQL plugin for Object UI - Object Table and Object Form components",
"description": "Core Object UI views - Object Table, Form, and View components",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
Expand Down Expand Up @@ -31,7 +31,9 @@
"objectql",
"object-grid",
"object-form",
"plugin",
"object-view",
"core",
"views",
"components",
"typescript"
],
Expand All @@ -40,7 +42,7 @@
"repository": {
"type": "git",
"url": "https://github.com/objectstack-ai/objectui.git",
"directory": "packages/plugin-object"
"directory": "packages/views"
},
"dependencies": {
"@object-ui/types": "workspace:*",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
*/

/**
* @object-ui/plugin-object
* @object-ui/views
*
* ObjectQL plugin for Object UI.
* Core Object UI views package.
* Provides seamless integration with ObjectQL backends through smart components
* that automatically generate UI from ObjectQL object schemas.
*
Expand Down
File renamed without changes.
File renamed without changes.
Loading