@object-ui/types 0.3.0 → 0.5.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 +19 -11
- package/dist/api-types.d.ts +7 -0
- package/dist/api-types.d.ts.map +1 -1
- package/dist/api-types.js +4 -6
- package/dist/app.d.ts +17 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +4 -3
- package/dist/base.d.ts +7 -0
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +4 -6
- package/dist/blocks.d.ts +332 -0
- package/dist/blocks.d.ts.map +1 -0
- package/dist/blocks.js +8 -0
- package/dist/complex.d.ts +68 -1
- package/dist/complex.d.ts.map +1 -1
- package/dist/complex.js +4 -5
- package/dist/crud.d.ts +181 -3
- package/dist/crud.d.ts.map +1 -1
- package/dist/crud.js +4 -6
- package/dist/data-display.d.ts +54 -2
- package/dist/data-display.d.ts.map +1 -1
- package/dist/data-display.js +4 -5
- package/dist/data-protocol.d.ts +1268 -0
- package/dist/data-protocol.d.ts.map +1 -0
- package/dist/data-protocol.js +8 -0
- package/dist/data.d.ts +22 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/data.js +4 -6
- package/dist/disclosure.d.ts +70 -1
- package/dist/disclosure.d.ts.map +1 -1
- package/dist/disclosure.js +4 -5
- package/dist/feedback.d.ts +68 -1
- package/dist/feedback.d.ts.map +1 -1
- package/dist/feedback.js +4 -5
- package/dist/field-types.d.ts +728 -0
- package/dist/field-types.d.ts.map +1 -0
- package/dist/field-types.js +8 -0
- package/dist/form.d.ts +123 -1
- package/dist/form.d.ts.map +1 -1
- package/dist/form.js +4 -5
- package/dist/index.d.ts +48 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -37
- package/dist/layout.d.ts +66 -16
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +4 -6
- package/dist/navigation.d.ts +102 -2
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +4 -5
- package/dist/objectql.d.ts +491 -54
- package/dist/objectql.d.ts.map +1 -1
- package/dist/objectql.js +4 -6
- package/dist/overlay.d.ts +31 -1
- package/dist/overlay.d.ts.map +1 -1
- package/dist/overlay.js +4 -5
- package/dist/plugin-scope.d.ts +194 -0
- package/dist/plugin-scope.d.ts.map +1 -0
- package/dist/plugin-scope.js +8 -0
- package/dist/registry.d.ts +7 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +7 -0
- package/dist/reports.d.ts +336 -0
- package/dist/reports.d.ts.map +1 -0
- package/dist/reports.js +8 -0
- package/dist/theme.d.ts +289 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +8 -0
- package/dist/ui-action.d.ts +175 -0
- package/dist/ui-action.d.ts.map +1 -0
- package/dist/ui-action.js +8 -0
- package/dist/views.d.ts +417 -0
- package/dist/views.d.ts.map +1 -0
- package/dist/views.js +8 -0
- package/dist/zod/app.zod.d.ts +120 -0
- package/dist/zod/app.zod.d.ts.map +1 -0
- package/dist/zod/app.zod.js +60 -0
- package/dist/zod/base.zod.d.ts +202 -0
- package/dist/zod/base.zod.d.ts.map +1 -0
- package/dist/zod/base.zod.js +198 -0
- package/dist/zod/blocks.zod.d.ts +834 -0
- package/dist/zod/blocks.zod.d.ts.map +1 -0
- package/dist/zod/blocks.zod.js +145 -0
- package/dist/zod/complex.zod.d.ts +742 -0
- package/dist/zod/complex.zod.d.ts.map +1 -0
- package/dist/zod/complex.zod.js +233 -0
- package/dist/zod/crud.zod.d.ts +598 -0
- package/dist/zod/crud.zod.d.ts.map +1 -0
- package/dist/zod/crud.zod.js +230 -0
- package/dist/zod/data-display.zod.d.ts +996 -0
- package/dist/zod/data-display.zod.d.ts.map +1 -0
- package/dist/zod/data-display.zod.js +266 -0
- package/dist/zod/disclosure.zod.d.ts +267 -0
- package/dist/zod/disclosure.zod.d.ts.map +1 -0
- package/dist/zod/disclosure.zod.js +84 -0
- package/dist/zod/feedback.zod.d.ts +538 -0
- package/dist/zod/feedback.zod.d.ts.map +1 -0
- package/dist/zod/feedback.zod.js +127 -0
- package/dist/zod/form.zod.d.ts +1308 -0
- package/dist/zod/form.zod.d.ts.map +1 -0
- package/dist/zod/form.zod.js +406 -0
- package/dist/zod/index.zod.d.ts +4985 -0
- package/dist/zod/index.zod.d.ts.map +1 -0
- package/dist/zod/index.zod.js +183 -0
- package/dist/zod/layout.zod.d.ts +1048 -0
- package/dist/zod/layout.zod.d.ts.map +1 -0
- package/dist/zod/layout.zod.js +241 -0
- package/dist/zod/navigation.zod.d.ts +486 -0
- package/dist/zod/navigation.zod.d.ts.map +1 -0
- package/dist/zod/navigation.zod.js +142 -0
- package/dist/zod/objectql.zod.d.ts +1261 -0
- package/dist/zod/objectql.zod.d.ts.map +1 -0
- package/dist/zod/objectql.zod.js +248 -0
- package/dist/zod/overlay.zod.d.ts +691 -0
- package/dist/zod/overlay.zod.d.ts.map +1 -0
- package/dist/zod/overlay.zod.js +179 -0
- package/dist/zod/reports.zod.d.ts +1628 -0
- package/dist/zod/reports.zod.d.ts.map +1 -0
- package/dist/zod/reports.zod.js +152 -0
- package/dist/zod/theme.zod.d.ts +611 -0
- package/dist/zod/theme.zod.d.ts.map +1 -0
- package/dist/zod/theme.zod.js +130 -0
- package/dist/zod/views.zod.d.ts +675 -0
- package/dist/zod/views.zod.d.ts.map +1 -0
- package/dist/zod/views.zod.js +159 -0
- package/package.json +9 -1
- package/src/__tests__/namespace-exports.test.ts +80 -0
- package/src/__tests__/phase2-schemas.test.ts +639 -0
- package/src/api-types.ts +8 -0
- package/src/app.ts +20 -0
- package/src/base.ts +8 -0
- package/src/blocks.ts +405 -0
- package/src/complex.ts +69 -1
- package/src/crud.ts +185 -3
- package/src/data-display.ts +60 -2
- package/src/data-protocol.ts +1679 -0
- package/src/data.ts +21 -1
- package/src/disclosure.ts +74 -1
- package/src/feedback.ts +76 -2
- package/src/field-types.ts +846 -0
- package/src/form.ts +131 -1
- package/src/index.ts +305 -8
- package/src/layout.ts +70 -15
- package/src/navigation.ts +109 -2
- package/src/objectql.ts +563 -59
- package/src/overlay.ts +35 -1
- package/src/plugin-scope.ts +210 -0
- package/src/registry.ts +8 -0
- package/src/reports.ts +408 -0
- package/src/theme.ts +351 -0
- package/src/ui-action.ts +276 -0
- package/src/views.ts +429 -0
- package/src/zod/README.md +329 -0
- package/src/zod/app.zod.ts +72 -0
- package/src/zod/base.zod.ts +229 -0
- package/src/zod/blocks.zod.ts +170 -0
- package/src/zod/complex.zod.ts +258 -0
- package/src/zod/crud.zod.ts +259 -0
- package/src/zod/data-display.zod.ts +290 -0
- package/src/zod/disclosure.zod.ts +92 -0
- package/src/zod/feedback.zod.ts +138 -0
- package/src/zod/form.zod.ts +434 -0
- package/src/zod/index.zod.ts +425 -0
- package/src/zod/layout.zod.ts +262 -0
- package/src/zod/navigation.zod.ts +159 -0
- package/src/zod/objectql.zod.ts +268 -0
- package/src/zod/overlay.zod.ts +196 -0
- package/src/zod/reports.zod.ts +183 -0
- package/src/zod/theme.zod.ts +155 -0
- package/src/zod/views.zod.ts +182 -0
package/src/data.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectUI
|
|
3
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
1
9
|
/**
|
|
2
10
|
* @object-ui/types - Data Source Types
|
|
3
11
|
*
|
|
@@ -27,9 +35,11 @@ export interface QueryParams {
|
|
|
27
35
|
|
|
28
36
|
/**
|
|
29
37
|
* Sort order
|
|
38
|
+
* Can be a Map { field: 'asc' }, an Array of strings ['field', '-field'], or Array of sort objects
|
|
30
39
|
* @example { createdAt: 'desc', name: 'asc' }
|
|
40
|
+
* @example ['name', '-createdAt']
|
|
31
41
|
*/
|
|
32
|
-
$orderby?: Record<string, 'asc' | 'desc'>;
|
|
42
|
+
$orderby?: Record<string, 'asc' | 'desc'> | string[] | Array<{ field: string; order?: 'asc' | 'desc' }>;
|
|
33
43
|
|
|
34
44
|
/**
|
|
35
45
|
* Number of records to skip (for pagination)
|
|
@@ -185,6 +195,16 @@ export interface DataSource<T = any> {
|
|
|
185
195
|
* @returns Promise resolving to operation result
|
|
186
196
|
*/
|
|
187
197
|
bulk?(resource: string, operation: 'create' | 'update' | 'delete', data: Partial<T>[]): Promise<T[]>;
|
|
198
|
+
|
|
199
|
+
/**
|
|
200
|
+
* Get object schema/metadata.
|
|
201
|
+
* Used by ObjectQL-aware components to auto-generate UI from object metadata.
|
|
202
|
+
* Required for all DataSource implementations to support schema-aware components.
|
|
203
|
+
*
|
|
204
|
+
* @param objectName - Object name
|
|
205
|
+
* @returns Promise resolving to the object schema
|
|
206
|
+
*/
|
|
207
|
+
getObjectSchema(objectName: string): Promise<any>;
|
|
188
208
|
}
|
|
189
209
|
|
|
190
210
|
/**
|
package/src/disclosure.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectUI
|
|
3
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
1
9
|
/**
|
|
2
10
|
* @object-ui/types - Disclosure Component Schemas
|
|
3
11
|
*
|
|
@@ -105,9 +113,74 @@ export interface CollapsibleSchema extends BaseSchema {
|
|
|
105
113
|
onOpenChange?: (open: boolean) => void;
|
|
106
114
|
}
|
|
107
115
|
|
|
116
|
+
/**
|
|
117
|
+
* Toggle group item
|
|
118
|
+
*/
|
|
119
|
+
export interface ToggleGroupItem {
|
|
120
|
+
/**
|
|
121
|
+
* Item value
|
|
122
|
+
*/
|
|
123
|
+
value: string;
|
|
124
|
+
/**
|
|
125
|
+
* Item label
|
|
126
|
+
*/
|
|
127
|
+
label: string;
|
|
128
|
+
/**
|
|
129
|
+
* Item icon
|
|
130
|
+
*/
|
|
131
|
+
icon?: string;
|
|
132
|
+
/**
|
|
133
|
+
* Whether item is disabled
|
|
134
|
+
*/
|
|
135
|
+
disabled?: boolean;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Toggle group component
|
|
140
|
+
*/
|
|
141
|
+
export interface ToggleGroupSchema extends BaseSchema {
|
|
142
|
+
type: 'toggle-group';
|
|
143
|
+
/**
|
|
144
|
+
* Toggle group selection mode
|
|
145
|
+
* @default 'single'
|
|
146
|
+
*/
|
|
147
|
+
selectionType?: 'single' | 'multiple';
|
|
148
|
+
/**
|
|
149
|
+
* Toggle group variant
|
|
150
|
+
* @default 'default'
|
|
151
|
+
*/
|
|
152
|
+
variant?: 'default' | 'outline';
|
|
153
|
+
/**
|
|
154
|
+
* Toggle group size
|
|
155
|
+
* @default 'default'
|
|
156
|
+
*/
|
|
157
|
+
size?: 'default' | 'sm' | 'lg';
|
|
158
|
+
/**
|
|
159
|
+
* Toggle group items
|
|
160
|
+
*/
|
|
161
|
+
items?: ToggleGroupItem[];
|
|
162
|
+
/**
|
|
163
|
+
* Default selected value(s)
|
|
164
|
+
*/
|
|
165
|
+
defaultValue?: string | string[];
|
|
166
|
+
/**
|
|
167
|
+
* Controlled selected value(s)
|
|
168
|
+
*/
|
|
169
|
+
value?: string | string[];
|
|
170
|
+
/**
|
|
171
|
+
* Whether toggle group is disabled
|
|
172
|
+
*/
|
|
173
|
+
disabled?: boolean;
|
|
174
|
+
/**
|
|
175
|
+
* Change handler
|
|
176
|
+
*/
|
|
177
|
+
onValueChange?: (value: string | string[]) => void;
|
|
178
|
+
}
|
|
179
|
+
|
|
108
180
|
/**
|
|
109
181
|
* Union type of all disclosure schemas
|
|
110
182
|
*/
|
|
111
183
|
export type DisclosureSchema =
|
|
112
184
|
| AccordionSchema
|
|
113
|
-
| CollapsibleSchema
|
|
185
|
+
| CollapsibleSchema
|
|
186
|
+
| ToggleGroupSchema;
|
package/src/feedback.ts
CHANGED
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ObjectUI
|
|
3
|
+
* Copyright (c) 2024-present ObjectStack Inc.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under the MIT license found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree.
|
|
7
|
+
*/
|
|
8
|
+
|
|
1
9
|
/**
|
|
2
10
|
* @object-ui/types - Feedback Component Schemas
|
|
3
11
|
*
|
|
@@ -7,7 +15,7 @@
|
|
|
7
15
|
* @packageDocumentation
|
|
8
16
|
*/
|
|
9
17
|
|
|
10
|
-
import type { BaseSchema
|
|
18
|
+
import type { BaseSchema } from './base';
|
|
11
19
|
|
|
12
20
|
/**
|
|
13
21
|
* Loading/Spinner component
|
|
@@ -159,6 +167,69 @@ export interface ToasterSchema extends BaseSchema {
|
|
|
159
167
|
limit?: number;
|
|
160
168
|
}
|
|
161
169
|
|
|
170
|
+
/**
|
|
171
|
+
* Spinner component
|
|
172
|
+
*/
|
|
173
|
+
export interface SpinnerSchema extends BaseSchema {
|
|
174
|
+
type: 'spinner';
|
|
175
|
+
/**
|
|
176
|
+
* Spinner size
|
|
177
|
+
* @default 'md'
|
|
178
|
+
*/
|
|
179
|
+
size?: 'sm' | 'md' | 'lg' | 'xl';
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Empty state component
|
|
184
|
+
*/
|
|
185
|
+
export interface EmptySchema extends BaseSchema {
|
|
186
|
+
type: 'empty';
|
|
187
|
+
/**
|
|
188
|
+
* Empty state title
|
|
189
|
+
*/
|
|
190
|
+
title?: string;
|
|
191
|
+
/**
|
|
192
|
+
* Empty state description
|
|
193
|
+
*/
|
|
194
|
+
description?: string;
|
|
195
|
+
/**
|
|
196
|
+
* Icon to display
|
|
197
|
+
*/
|
|
198
|
+
icon?: string;
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Sonner toast component (using sonner library)
|
|
203
|
+
*/
|
|
204
|
+
export interface SonnerSchema extends BaseSchema {
|
|
205
|
+
type: 'sonner';
|
|
206
|
+
/**
|
|
207
|
+
* Toast message/title
|
|
208
|
+
*/
|
|
209
|
+
message?: string;
|
|
210
|
+
/**
|
|
211
|
+
* Toast title (alias for message)
|
|
212
|
+
*/
|
|
213
|
+
title?: string;
|
|
214
|
+
/**
|
|
215
|
+
* Toast description
|
|
216
|
+
*/
|
|
217
|
+
description?: string;
|
|
218
|
+
/**
|
|
219
|
+
* Toast variant
|
|
220
|
+
* @default 'default'
|
|
221
|
+
*/
|
|
222
|
+
variant?: 'default' | 'success' | 'error' | 'warning' | 'info';
|
|
223
|
+
/**
|
|
224
|
+
* Button label to trigger toast
|
|
225
|
+
*/
|
|
226
|
+
buttonLabel?: string;
|
|
227
|
+
/**
|
|
228
|
+
* Button variant
|
|
229
|
+
*/
|
|
230
|
+
buttonVariant?: 'default' | 'secondary' | 'destructive' | 'outline' | 'ghost' | 'link';
|
|
231
|
+
}
|
|
232
|
+
|
|
162
233
|
/**
|
|
163
234
|
* Union type of all feedback schemas
|
|
164
235
|
*/
|
|
@@ -167,4 +238,7 @@ export type FeedbackSchema =
|
|
|
167
238
|
| ProgressSchema
|
|
168
239
|
| SkeletonSchema
|
|
169
240
|
| ToastSchema
|
|
170
|
-
| ToasterSchema
|
|
241
|
+
| ToasterSchema
|
|
242
|
+
| SpinnerSchema
|
|
243
|
+
| EmptySchema
|
|
244
|
+
| SonnerSchema;
|