@object-ui/plugin-designer 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/README.md ADDED
@@ -0,0 +1,154 @@
1
+ # @object-ui/plugin-designer
2
+
3
+ Visual designers for Object UI β€” page, view, data model, process, and report designers with collaboration support.
4
+
5
+ ## Features
6
+
7
+ - 🎨 **Page Designer** - Drag-and-drop page builder with component tree
8
+ - πŸ“Š **View Designer** - Configure grid, list, and detail views visually
9
+ - πŸ—„οΈ **Data Model Designer** - Entity-relationship diagram editor with auto-layout
10
+ - βš™οΈ **Process Designer** - BPMN-style process flow editor with minimap
11
+ - πŸ“ **Report Designer** - Visual report layout builder with sections
12
+ - 🀝 **Collaboration Provider** - Real-time multi-user editing with connection status
13
+ - ↩️ **Undo/Redo** - Full undo/redo history via `useUndoRedo`
14
+ - πŸ“‹ **Clipboard** - Copy/paste support via `useClipboard`
15
+ - πŸ”² **Multi-Select** - Bulk selection via `useMultiSelect`
16
+ - πŸ” **Canvas Pan/Zoom** - Smooth pan and zoom via `useCanvasPanZoom`
17
+ - πŸ—ΊοΈ **Minimap** - Overview minimap for large canvases
18
+ - πŸ“¦ **Auto-registered** - Components register with `ComponentRegistry` on import
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ npm install @object-ui/plugin-designer
24
+ ```
25
+
26
+ **Peer Dependencies:**
27
+ - `react` ^18.0.0 || ^19.0.0
28
+ - `react-dom` ^18.0.0 || ^19.0.0
29
+ - `@object-ui/core`
30
+
31
+ ## Quick Start
32
+
33
+ ```tsx
34
+ import {
35
+ PageDesigner,
36
+ ViewDesigner,
37
+ DataModelDesigner,
38
+ CollaborationProvider,
39
+ } from '@object-ui/plugin-designer';
40
+
41
+ function DesignerApp() {
42
+ return (
43
+ <CollaborationProvider>
44
+ <PageDesigner
45
+ components={componentList}
46
+ showComponentTree
47
+ undoRedo
48
+ />
49
+ </CollaborationProvider>
50
+ );
51
+ }
52
+
53
+ function ViewEditor() {
54
+ return (
55
+ <ViewDesigner
56
+ objectName="Contact"
57
+ viewType="grid"
58
+ viewLabel="All Contacts"
59
+ />
60
+ );
61
+ }
62
+ ```
63
+
64
+ ## API
65
+
66
+ ### PageDesigner
67
+
68
+ Drag-and-drop page layout builder:
69
+
70
+ ```tsx
71
+ <PageDesigner
72
+ canvas={canvasConfig}
73
+ components={componentList}
74
+ showComponentTree
75
+ undoRedo
76
+ readOnly={false}
77
+ />
78
+ ```
79
+
80
+ ### ViewDesigner
81
+
82
+ Visual view configuration editor:
83
+
84
+ ```tsx
85
+ <ViewDesigner objectName="Order" viewType="grid" viewLabel="My Orders" />
86
+ ```
87
+
88
+ ### DataModelDesigner
89
+
90
+ Entity-relationship diagram editor:
91
+
92
+ ```tsx
93
+ <DataModelDesigner entities={entities} relationships={relationships} autoLayout />
94
+ ```
95
+
96
+ ### ProcessDesigner
97
+
98
+ BPMN-style process flow editor:
99
+
100
+ ```tsx
101
+ <ProcessDesigner
102
+ processName="Order Approval"
103
+ nodes={nodes}
104
+ edges={edges}
105
+ showMinimap
106
+ showToolbar
107
+ />
108
+ ```
109
+
110
+ ### ReportDesigner
111
+
112
+ Visual report layout builder:
113
+
114
+ ```tsx
115
+ <ReportDesigner reportName="Sales Report" objectName="Order" sections={sections} />
116
+ ```
117
+
118
+ ### CollaborationProvider / ConnectionStatusIndicator
119
+
120
+ Multi-user real-time editing support:
121
+
122
+ ```tsx
123
+ <CollaborationProvider>
124
+ <ConnectionStatusIndicator />
125
+ <PageDesigner ... />
126
+ </CollaborationProvider>
127
+ ```
128
+
129
+ ### Shared Hooks
130
+
131
+ ```tsx
132
+ import {
133
+ useUndoRedo,
134
+ useClipboard,
135
+ useMultiSelect,
136
+ useCanvasPanZoom,
137
+ useConfirmDialog,
138
+ } from '@object-ui/plugin-designer';
139
+
140
+ const { undo, redo, canUndo, canRedo } = useUndoRedo();
141
+ const { copy, paste, cut } = useClipboard();
142
+ const { selected, select, selectAll, clearSelection } = useMultiSelect();
143
+ const { zoom, pan, resetView } = useCanvasPanZoom();
144
+ ```
145
+
146
+ ### Shared Components
147
+
148
+ ```tsx
149
+ import { ConfirmDialog, Minimap, PropertyEditor, VersionHistory } from '@object-ui/plugin-designer';
150
+ ```
151
+
152
+ ## License
153
+
154
+ MIT