@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/form.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 - Form Component Schemas
|
|
3
11
|
*
|
|
@@ -932,6 +940,126 @@ export interface LabelSchema extends BaseSchema {
|
|
|
932
940
|
htmlFor?: string;
|
|
933
941
|
}
|
|
934
942
|
|
|
943
|
+
/**
|
|
944
|
+
* Combobox option
|
|
945
|
+
*/
|
|
946
|
+
export interface ComboboxOption {
|
|
947
|
+
/**
|
|
948
|
+
* Option value
|
|
949
|
+
*/
|
|
950
|
+
value: string;
|
|
951
|
+
/**
|
|
952
|
+
* Option label (displayed to user)
|
|
953
|
+
*/
|
|
954
|
+
label: string;
|
|
955
|
+
/**
|
|
956
|
+
* Whether option is disabled
|
|
957
|
+
*/
|
|
958
|
+
disabled?: boolean;
|
|
959
|
+
}
|
|
960
|
+
|
|
961
|
+
/**
|
|
962
|
+
* Combobox component (searchable select)
|
|
963
|
+
*/
|
|
964
|
+
export interface ComboboxSchema extends BaseSchema {
|
|
965
|
+
type: 'combobox';
|
|
966
|
+
/**
|
|
967
|
+
* Field name for form submission
|
|
968
|
+
*/
|
|
969
|
+
name?: string;
|
|
970
|
+
/**
|
|
971
|
+
* Combobox label
|
|
972
|
+
*/
|
|
973
|
+
label?: string;
|
|
974
|
+
/**
|
|
975
|
+
* Placeholder text
|
|
976
|
+
*/
|
|
977
|
+
placeholder?: string;
|
|
978
|
+
/**
|
|
979
|
+
* Combobox options
|
|
980
|
+
*/
|
|
981
|
+
options?: ComboboxOption[];
|
|
982
|
+
/**
|
|
983
|
+
* Default selected value
|
|
984
|
+
*/
|
|
985
|
+
defaultValue?: string;
|
|
986
|
+
/**
|
|
987
|
+
* Controlled value
|
|
988
|
+
*/
|
|
989
|
+
value?: string;
|
|
990
|
+
/**
|
|
991
|
+
* Whether field is disabled
|
|
992
|
+
*/
|
|
993
|
+
disabled?: boolean;
|
|
994
|
+
/**
|
|
995
|
+
* Help text or description
|
|
996
|
+
*/
|
|
997
|
+
description?: string;
|
|
998
|
+
/**
|
|
999
|
+
* Error message
|
|
1000
|
+
*/
|
|
1001
|
+
error?: string;
|
|
1002
|
+
/**
|
|
1003
|
+
* Change handler
|
|
1004
|
+
*/
|
|
1005
|
+
onChange?: (value: string) => void;
|
|
1006
|
+
}
|
|
1007
|
+
|
|
1008
|
+
/**
|
|
1009
|
+
* Command menu item
|
|
1010
|
+
*/
|
|
1011
|
+
export interface CommandItem {
|
|
1012
|
+
/**
|
|
1013
|
+
* Item value
|
|
1014
|
+
*/
|
|
1015
|
+
value: string;
|
|
1016
|
+
/**
|
|
1017
|
+
* Item label (displayed to user)
|
|
1018
|
+
*/
|
|
1019
|
+
label: string;
|
|
1020
|
+
/**
|
|
1021
|
+
* Item icon
|
|
1022
|
+
*/
|
|
1023
|
+
icon?: string;
|
|
1024
|
+
}
|
|
1025
|
+
|
|
1026
|
+
/**
|
|
1027
|
+
* Command menu group
|
|
1028
|
+
*/
|
|
1029
|
+
export interface CommandGroup {
|
|
1030
|
+
/**
|
|
1031
|
+
* Group heading
|
|
1032
|
+
*/
|
|
1033
|
+
heading?: string;
|
|
1034
|
+
/**
|
|
1035
|
+
* Group items
|
|
1036
|
+
*/
|
|
1037
|
+
items: CommandItem[];
|
|
1038
|
+
}
|
|
1039
|
+
|
|
1040
|
+
/**
|
|
1041
|
+
* Command component (command palette)
|
|
1042
|
+
*/
|
|
1043
|
+
export interface CommandSchema extends BaseSchema {
|
|
1044
|
+
type: 'command';
|
|
1045
|
+
/**
|
|
1046
|
+
* Placeholder text
|
|
1047
|
+
*/
|
|
1048
|
+
placeholder?: string;
|
|
1049
|
+
/**
|
|
1050
|
+
* Empty state text
|
|
1051
|
+
*/
|
|
1052
|
+
emptyText?: string;
|
|
1053
|
+
/**
|
|
1054
|
+
* Command groups
|
|
1055
|
+
*/
|
|
1056
|
+
groups?: CommandGroup[];
|
|
1057
|
+
/**
|
|
1058
|
+
* Change handler
|
|
1059
|
+
*/
|
|
1060
|
+
onChange?: (value: string) => void;
|
|
1061
|
+
}
|
|
1062
|
+
|
|
935
1063
|
/**
|
|
936
1064
|
* Union type of all form schemas
|
|
937
1065
|
*/
|
|
@@ -950,5 +1078,7 @@ export type FormComponentSchema =
|
|
|
950
1078
|
| CalendarSchema
|
|
951
1079
|
| InputOTPSchema
|
|
952
1080
|
| FormSchema
|
|
953
|
-
| LabelSchema
|
|
1081
|
+
| LabelSchema
|
|
1082
|
+
| ComboboxSchema
|
|
1083
|
+
| CommandSchema;
|
|
954
1084
|
|
package/src/index.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
|
|
3
11
|
*
|
|
@@ -75,6 +83,7 @@ export type {
|
|
|
75
83
|
SeparatorSchema,
|
|
76
84
|
ContainerSchema,
|
|
77
85
|
FlexSchema,
|
|
86
|
+
StackSchema,
|
|
78
87
|
GridSchema,
|
|
79
88
|
CardSchema,
|
|
80
89
|
TabsSchema,
|
|
@@ -82,6 +91,7 @@ export type {
|
|
|
82
91
|
ScrollAreaSchema,
|
|
83
92
|
ResizableSchema,
|
|
84
93
|
ResizablePanel,
|
|
94
|
+
AspectRatioSchema,
|
|
85
95
|
LayoutSchema,
|
|
86
96
|
PageSchema,
|
|
87
97
|
} from './layout';
|
|
@@ -99,15 +109,17 @@ export type {
|
|
|
99
109
|
RadioGroupSchema,
|
|
100
110
|
RadioOption,
|
|
101
111
|
SwitchSchema,
|
|
102
|
-
ToggleSchema,
|
|
103
112
|
SliderSchema,
|
|
104
113
|
FileUploadSchema,
|
|
105
114
|
DatePickerSchema,
|
|
106
115
|
CalendarSchema,
|
|
107
|
-
InputOTPSchema,
|
|
108
116
|
ValidationRule,
|
|
109
117
|
FieldCondition,
|
|
110
118
|
FormField,
|
|
119
|
+
ComboboxSchema,
|
|
120
|
+
CommandSchema,
|
|
121
|
+
InputOTPSchema,
|
|
122
|
+
ToggleSchema,
|
|
111
123
|
FormSchema,
|
|
112
124
|
LabelSchema,
|
|
113
125
|
FormComponentSchema,
|
|
@@ -133,6 +145,7 @@ export type {
|
|
|
133
145
|
ChartSchema,
|
|
134
146
|
TimelineEvent,
|
|
135
147
|
TimelineSchema,
|
|
148
|
+
KbdSchema,
|
|
136
149
|
HtmlSchema,
|
|
137
150
|
StatisticSchema,
|
|
138
151
|
DataDisplaySchema,
|
|
@@ -142,10 +155,13 @@ export type {
|
|
|
142
155
|
// Feedback Components - Status & Progress Indication
|
|
143
156
|
// ============================================================================
|
|
144
157
|
export type {
|
|
158
|
+
SpinnerSchema,
|
|
145
159
|
LoadingSchema,
|
|
146
160
|
ProgressSchema,
|
|
147
161
|
SkeletonSchema,
|
|
148
162
|
ToastSchema,
|
|
163
|
+
EmptySchema,
|
|
164
|
+
SonnerSchema,
|
|
149
165
|
ToasterSchema,
|
|
150
166
|
FeedbackSchema,
|
|
151
167
|
} from './feedback';
|
|
@@ -155,6 +171,7 @@ export type {
|
|
|
155
171
|
// ============================================================================
|
|
156
172
|
export type {
|
|
157
173
|
AccordionItem,
|
|
174
|
+
ToggleGroupSchema,
|
|
158
175
|
AccordionSchema,
|
|
159
176
|
CollapsibleSchema,
|
|
160
177
|
DisclosureSchema,
|
|
@@ -174,6 +191,7 @@ export type {
|
|
|
174
191
|
TooltipSchema,
|
|
175
192
|
HoverCardSchema,
|
|
176
193
|
MenuItem,
|
|
194
|
+
MenubarSchema,
|
|
177
195
|
DropdownMenuSchema,
|
|
178
196
|
ContextMenuSchema,
|
|
179
197
|
OverlaySchema,
|
|
@@ -188,8 +206,10 @@ export type {
|
|
|
188
206
|
SidebarSchema,
|
|
189
207
|
BreadcrumbItem,
|
|
190
208
|
BreadcrumbSchema,
|
|
191
|
-
|
|
209
|
+
ButtonGroupSchema,
|
|
210
|
+
NavigationMenuSchema,
|
|
192
211
|
NavigationSchema,
|
|
212
|
+
PaginationSchema,
|
|
193
213
|
} from './navigation';
|
|
194
214
|
|
|
195
215
|
// ============================================================================
|
|
@@ -209,6 +229,9 @@ export type {
|
|
|
209
229
|
FilterField,
|
|
210
230
|
CarouselItem,
|
|
211
231
|
CarouselSchema,
|
|
232
|
+
DashboardWidgetLayout,
|
|
233
|
+
DashboardWidgetSchema,
|
|
234
|
+
DashboardSchema,
|
|
212
235
|
ChatMessage,
|
|
213
236
|
ChatbotSchema,
|
|
214
237
|
ComplexSchema,
|
|
@@ -247,11 +270,168 @@ export type {
|
|
|
247
270
|
// ObjectQL Components - ObjectQL-specific components
|
|
248
271
|
// ============================================================================
|
|
249
272
|
export type {
|
|
250
|
-
|
|
273
|
+
// Schema types aligned with @objectstack/spec
|
|
274
|
+
HttpMethod,
|
|
275
|
+
HttpRequest,
|
|
276
|
+
ViewData,
|
|
277
|
+
ListColumn,
|
|
278
|
+
SelectionConfig,
|
|
279
|
+
PaginationConfig,
|
|
280
|
+
KanbanConfig,
|
|
281
|
+
CalendarConfig,
|
|
282
|
+
GanttConfig,
|
|
283
|
+
SortConfig,
|
|
284
|
+
// Component schemas
|
|
285
|
+
ObjectMapSchema,
|
|
286
|
+
ObjectGanttSchema,
|
|
287
|
+
ObjectCalendarSchema,
|
|
288
|
+
ObjectKanbanSchema,
|
|
289
|
+
ObjectChartSchema,
|
|
290
|
+
ListViewSchema,
|
|
291
|
+
ObjectGridSchema,
|
|
251
292
|
ObjectFormSchema,
|
|
293
|
+
ObjectViewSchema,
|
|
252
294
|
ObjectQLComponentSchema,
|
|
253
295
|
} from './objectql';
|
|
254
296
|
|
|
297
|
+
// ============================================================================
|
|
298
|
+
// Field Types - ObjectQL Field Type System
|
|
299
|
+
// ============================================================================
|
|
300
|
+
export type {
|
|
301
|
+
BaseFieldMetadata,
|
|
302
|
+
VisibilityCondition,
|
|
303
|
+
ValidationFunction as FieldValidationFunction,
|
|
304
|
+
TextFieldMetadata,
|
|
305
|
+
TextareaFieldMetadata,
|
|
306
|
+
MarkdownFieldMetadata,
|
|
307
|
+
HtmlFieldMetadata,
|
|
308
|
+
NumberFieldMetadata,
|
|
309
|
+
CurrencyFieldMetadata,
|
|
310
|
+
PercentFieldMetadata,
|
|
311
|
+
BooleanFieldMetadata,
|
|
312
|
+
DateFieldMetadata,
|
|
313
|
+
DateTimeFieldMetadata,
|
|
314
|
+
TimeFieldMetadata,
|
|
315
|
+
SelectFieldMetadata,
|
|
316
|
+
SelectOptionMetadata,
|
|
317
|
+
EmailFieldMetadata,
|
|
318
|
+
PhoneFieldMetadata,
|
|
319
|
+
UrlFieldMetadata,
|
|
320
|
+
PasswordFieldMetadata,
|
|
321
|
+
FileFieldMetadata,
|
|
322
|
+
FileMetadata,
|
|
323
|
+
ImageFieldMetadata,
|
|
324
|
+
LocationFieldMetadata,
|
|
325
|
+
LookupFieldMetadata,
|
|
326
|
+
FormulaFieldMetadata,
|
|
327
|
+
SummaryFieldMetadata,
|
|
328
|
+
AutoNumberFieldMetadata,
|
|
329
|
+
UserFieldMetadata,
|
|
330
|
+
ObjectFieldMetadata,
|
|
331
|
+
VectorFieldMetadata,
|
|
332
|
+
GridFieldMetadata,
|
|
333
|
+
GridColumnDefinition,
|
|
334
|
+
ColorFieldMetadata,
|
|
335
|
+
CodeFieldMetadata,
|
|
336
|
+
AvatarFieldMetadata,
|
|
337
|
+
SignatureFieldMetadata,
|
|
338
|
+
QRCodeFieldMetadata,
|
|
339
|
+
AddressFieldMetadata,
|
|
340
|
+
GeolocationFieldMetadata,
|
|
341
|
+
SliderFieldMetadata,
|
|
342
|
+
RatingFieldMetadata,
|
|
343
|
+
MasterDetailFieldMetadata,
|
|
344
|
+
FieldMetadata,
|
|
345
|
+
ObjectTrigger,
|
|
346
|
+
ObjectPermission,
|
|
347
|
+
SharingRule,
|
|
348
|
+
ObjectSchemaMetadata,
|
|
349
|
+
ObjectIndex,
|
|
350
|
+
ObjectRelationship,
|
|
351
|
+
} from './field-types';
|
|
352
|
+
|
|
353
|
+
// ============================================================================
|
|
354
|
+
// Phase 3: Data Protocol Advanced Types
|
|
355
|
+
// ============================================================================
|
|
356
|
+
export type {
|
|
357
|
+
// Query AST (Phase 3.3)
|
|
358
|
+
QueryASTNodeType,
|
|
359
|
+
QueryASTNode,
|
|
360
|
+
SelectNode,
|
|
361
|
+
FromNode,
|
|
362
|
+
WhereNode,
|
|
363
|
+
JoinNode,
|
|
364
|
+
JoinStrategy,
|
|
365
|
+
GroupByNode,
|
|
366
|
+
OrderByNode,
|
|
367
|
+
LimitNode,
|
|
368
|
+
OffsetNode,
|
|
369
|
+
SubqueryNode,
|
|
370
|
+
AggregateNode,
|
|
371
|
+
WindowNode,
|
|
372
|
+
WindowFunction,
|
|
373
|
+
WindowFrame,
|
|
374
|
+
WindowFrameUnit,
|
|
375
|
+
WindowFrameBoundary,
|
|
376
|
+
FieldNode,
|
|
377
|
+
LiteralNode,
|
|
378
|
+
OperatorNode,
|
|
379
|
+
FunctionNode,
|
|
380
|
+
ComparisonOperator,
|
|
381
|
+
LogicalOperator,
|
|
382
|
+
QueryAST,
|
|
383
|
+
QuerySchema,
|
|
384
|
+
QuerySortConfig,
|
|
385
|
+
JoinConfig,
|
|
386
|
+
AggregationConfig,
|
|
387
|
+
WindowConfig,
|
|
388
|
+
// Filter Schema (Phase 3.4)
|
|
389
|
+
AdvancedFilterSchema,
|
|
390
|
+
AdvancedFilterCondition,
|
|
391
|
+
AdvancedFilterOperator,
|
|
392
|
+
DateRangeFilter,
|
|
393
|
+
DateRangePreset,
|
|
394
|
+
FilterBuilderConfig,
|
|
395
|
+
FilterFieldConfig,
|
|
396
|
+
// Validation Schema (Phase 3.5)
|
|
397
|
+
AdvancedValidationSchema,
|
|
398
|
+
AdvancedValidationRule,
|
|
399
|
+
ValidationRuleType,
|
|
400
|
+
ValidationFunction,
|
|
401
|
+
AsyncValidationFunction,
|
|
402
|
+
ValidationContext,
|
|
403
|
+
AdvancedValidationResult,
|
|
404
|
+
AdvancedValidationError,
|
|
405
|
+
// ObjectStack Spec v0.7.1 Validation
|
|
406
|
+
BaseValidation,
|
|
407
|
+
ScriptValidation,
|
|
408
|
+
UniquenessValidation,
|
|
409
|
+
StateMachineValidation,
|
|
410
|
+
CrossFieldValidation,
|
|
411
|
+
AsyncValidation,
|
|
412
|
+
ConditionalValidation,
|
|
413
|
+
FormatValidation,
|
|
414
|
+
RangeValidation,
|
|
415
|
+
ObjectValidationRule,
|
|
416
|
+
// Driver Interface (Phase 3.6)
|
|
417
|
+
DriverInterface,
|
|
418
|
+
ConnectionConfig,
|
|
419
|
+
DriverQueryResult,
|
|
420
|
+
BatchOperation,
|
|
421
|
+
BatchResult,
|
|
422
|
+
TransactionContext,
|
|
423
|
+
CacheManager,
|
|
424
|
+
ConnectionPool,
|
|
425
|
+
// Datasource Schema (Phase 3.7)
|
|
426
|
+
DatasourceSchema,
|
|
427
|
+
DatasourceType,
|
|
428
|
+
DatasourceMetric,
|
|
429
|
+
DatasourceAlert,
|
|
430
|
+
DatasourceManager,
|
|
431
|
+
HealthCheckResult,
|
|
432
|
+
DatasourceMetrics,
|
|
433
|
+
} from './data-protocol';
|
|
434
|
+
|
|
255
435
|
// ============================================================================
|
|
256
436
|
// API and Events - API Integration and Event Handling
|
|
257
437
|
// ============================================================================
|
|
@@ -273,18 +453,83 @@ export type {
|
|
|
273
453
|
// ============================================================================
|
|
274
454
|
|
|
275
455
|
import type { BaseSchema, SchemaNode } from './base';
|
|
276
|
-
import type { LayoutSchema } from './layout';
|
|
456
|
+
import type { LayoutSchema, PageSchema } from './layout';
|
|
277
457
|
import type { FormComponentSchema } from './form';
|
|
278
458
|
import type { DataDisplaySchema } from './data-display';
|
|
279
459
|
import type { FeedbackSchema } from './feedback';
|
|
280
460
|
import type { DisclosureSchema } from './disclosure';
|
|
281
461
|
import type { OverlaySchema } from './overlay';
|
|
282
462
|
import type { NavigationSchema } from './navigation';
|
|
283
|
-
import type { ComplexSchema } from './complex';
|
|
463
|
+
import type { ComplexSchema, DashboardSchema } from './complex';
|
|
284
464
|
import type { CRUDComponentSchema } from './crud';
|
|
285
|
-
import type { ObjectQLComponentSchema } from './objectql';
|
|
465
|
+
import type { ObjectQLComponentSchema, ListViewSchema } from './objectql';
|
|
286
466
|
import type { AppSchema } from './app';
|
|
287
467
|
|
|
468
|
+
// ============================================================================
|
|
469
|
+
// Phase 2 Schemas - New Additions
|
|
470
|
+
// ============================================================================
|
|
471
|
+
export type {
|
|
472
|
+
// Theme System
|
|
473
|
+
ThemeSchema,
|
|
474
|
+
ThemeDefinition,
|
|
475
|
+
ThemeMode,
|
|
476
|
+
ColorPalette,
|
|
477
|
+
Typography,
|
|
478
|
+
SpacingScale,
|
|
479
|
+
BorderRadius,
|
|
480
|
+
ThemeSwitcherSchema,
|
|
481
|
+
ThemePreviewSchema,
|
|
482
|
+
} from './theme';
|
|
483
|
+
|
|
484
|
+
export type {
|
|
485
|
+
// Report System
|
|
486
|
+
ReportSchema,
|
|
487
|
+
ReportExportFormat,
|
|
488
|
+
ReportScheduleFrequency,
|
|
489
|
+
ReportAggregationType,
|
|
490
|
+
ReportField,
|
|
491
|
+
ReportFilter,
|
|
492
|
+
ReportGroupBy,
|
|
493
|
+
ReportSection,
|
|
494
|
+
ReportSchedule,
|
|
495
|
+
ReportExportConfig,
|
|
496
|
+
ReportBuilderSchema,
|
|
497
|
+
ReportViewerSchema,
|
|
498
|
+
} from './reports';
|
|
499
|
+
|
|
500
|
+
export type {
|
|
501
|
+
// Block System
|
|
502
|
+
BlockSchema,
|
|
503
|
+
BlockMetadata,
|
|
504
|
+
BlockVariable,
|
|
505
|
+
BlockSlot,
|
|
506
|
+
BlockLibraryItem,
|
|
507
|
+
BlockLibrarySchema,
|
|
508
|
+
BlockEditorSchema,
|
|
509
|
+
BlockInstanceSchema,
|
|
510
|
+
ComponentSchema,
|
|
511
|
+
} from './blocks';
|
|
512
|
+
|
|
513
|
+
export type {
|
|
514
|
+
// View System Enhancements
|
|
515
|
+
ViewType,
|
|
516
|
+
DetailViewSchema,
|
|
517
|
+
DetailViewField,
|
|
518
|
+
DetailViewSection,
|
|
519
|
+
DetailViewTab,
|
|
520
|
+
ViewSwitcherSchema,
|
|
521
|
+
FilterUISchema,
|
|
522
|
+
SortUISchema,
|
|
523
|
+
ViewComponentSchema,
|
|
524
|
+
} from './views';
|
|
525
|
+
|
|
526
|
+
export type {
|
|
527
|
+
// Enhanced Action System (Phase 2)
|
|
528
|
+
ActionExecutionMode,
|
|
529
|
+
ActionCallback,
|
|
530
|
+
ActionCondition,
|
|
531
|
+
} from './crud';
|
|
532
|
+
|
|
288
533
|
/**
|
|
289
534
|
* Union of all component schemas.
|
|
290
535
|
* Use this for generic component rendering where the type is determined at runtime.
|
|
@@ -293,6 +538,7 @@ export type AnySchema =
|
|
|
293
538
|
| AppSchema
|
|
294
539
|
| BaseSchema
|
|
295
540
|
| LayoutSchema
|
|
541
|
+
| PageSchema
|
|
296
542
|
| FormComponentSchema
|
|
297
543
|
| DataDisplaySchema
|
|
298
544
|
| FeedbackSchema
|
|
@@ -300,8 +546,10 @@ export type AnySchema =
|
|
|
300
546
|
| OverlaySchema
|
|
301
547
|
| NavigationSchema
|
|
302
548
|
| ComplexSchema
|
|
549
|
+
| DashboardSchema
|
|
303
550
|
| CRUDComponentSchema
|
|
304
|
-
| ObjectQLComponentSchema
|
|
551
|
+
| ObjectQLComponentSchema
|
|
552
|
+
| ListViewSchema;
|
|
305
553
|
|
|
306
554
|
/**
|
|
307
555
|
* Utility type to extract the schema type from a type string.
|
|
@@ -348,3 +596,52 @@ export type {
|
|
|
348
596
|
SchemaRegistry,
|
|
349
597
|
ComponentType,
|
|
350
598
|
} from './registry';
|
|
599
|
+
|
|
600
|
+
// ============================================================================
|
|
601
|
+
// Plugin Scope Isolation - Section 3.3
|
|
602
|
+
// ============================================================================
|
|
603
|
+
export type {
|
|
604
|
+
PluginScope,
|
|
605
|
+
PluginScopeConfig,
|
|
606
|
+
ComponentMeta as PluginComponentMeta,
|
|
607
|
+
ComponentInput as PluginComponentInput,
|
|
608
|
+
PluginEventHandler,
|
|
609
|
+
} from './plugin-scope';
|
|
610
|
+
|
|
611
|
+
// ============================================================================
|
|
612
|
+
// UI Actions - Enhanced Action Schema (ObjectStack Spec v0.7.1)
|
|
613
|
+
// ============================================================================
|
|
614
|
+
/**
|
|
615
|
+
* Enhanced action schema with location-based placement, parameter collection,
|
|
616
|
+
* conditional visibility, and rich feedback mechanisms.
|
|
617
|
+
*/
|
|
618
|
+
export type {
|
|
619
|
+
ActionLocation,
|
|
620
|
+
ActionComponent,
|
|
621
|
+
ActionType,
|
|
622
|
+
ActionParam,
|
|
623
|
+
ActionSchema as UIActionSchema,
|
|
624
|
+
ActionGroup,
|
|
625
|
+
ActionContext,
|
|
626
|
+
ActionResult,
|
|
627
|
+
ActionExecutor,
|
|
628
|
+
} from './ui-action';
|
|
629
|
+
|
|
630
|
+
// ============================================================================
|
|
631
|
+
// ObjectStack Protocol Namespaces - Protocol Re-exports
|
|
632
|
+
// ============================================================================
|
|
633
|
+
/**
|
|
634
|
+
* Re-export ObjectStack Protocol namespaces for convenience.
|
|
635
|
+
*
|
|
636
|
+
* This allows consumers to access the full ObjectStack protocol through
|
|
637
|
+
* @object-ui/types without needing to install @objectstack/spec separately.
|
|
638
|
+
*
|
|
639
|
+
* @example
|
|
640
|
+
* ```typescript
|
|
641
|
+
* import { Data, UI, System, AI, API } from '@object-ui/types';
|
|
642
|
+
*
|
|
643
|
+
* const field: Data.Field = { name: 'task_name', type: 'text' };
|
|
644
|
+
* const component: UI.Component = { type: 'button', label: 'Click me' };
|
|
645
|
+
* ```
|
|
646
|
+
*/
|
|
647
|
+
export type { Data, UI, System, AI, API, Auth, Hub, Automation, Permission, Shared, QA } from '@objectstack/spec';
|
package/src/layout.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 - Layout Component Schemas
|
|
3
11
|
*
|
|
@@ -388,6 +396,60 @@ export interface ResizablePanel {
|
|
|
388
396
|
content: SchemaNode | SchemaNode[];
|
|
389
397
|
}
|
|
390
398
|
|
|
399
|
+
/**
|
|
400
|
+
* Aspect ratio component
|
|
401
|
+
*/
|
|
402
|
+
export interface AspectRatioSchema extends BaseSchema {
|
|
403
|
+
type: 'aspect-ratio';
|
|
404
|
+
/**
|
|
405
|
+
* Aspect ratio (width / height)
|
|
406
|
+
* @default 16/9
|
|
407
|
+
*/
|
|
408
|
+
ratio?: number;
|
|
409
|
+
/**
|
|
410
|
+
* Image URL to display
|
|
411
|
+
*/
|
|
412
|
+
image?: string;
|
|
413
|
+
/**
|
|
414
|
+
* Image alt text
|
|
415
|
+
*/
|
|
416
|
+
alt?: string;
|
|
417
|
+
/**
|
|
418
|
+
* Child components (alternative to image)
|
|
419
|
+
*/
|
|
420
|
+
body?: SchemaNode | SchemaNode[];
|
|
421
|
+
/**
|
|
422
|
+
* Child components (alternative syntax)
|
|
423
|
+
*/
|
|
424
|
+
children?: SchemaNode | SchemaNode[];
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/**
|
|
428
|
+
* Page Region (Header, Sidebar, Main, etc)
|
|
429
|
+
*/
|
|
430
|
+
export interface PageRegion {
|
|
431
|
+
/**
|
|
432
|
+
* Region name/id
|
|
433
|
+
*/
|
|
434
|
+
name: string;
|
|
435
|
+
/**
|
|
436
|
+
* Region type
|
|
437
|
+
*/
|
|
438
|
+
type?: 'header' | 'sidebar' | 'main' | 'footer' | 'aside';
|
|
439
|
+
/**
|
|
440
|
+
* Width (flex basis)
|
|
441
|
+
*/
|
|
442
|
+
width?: string;
|
|
443
|
+
/**
|
|
444
|
+
* Components in this region
|
|
445
|
+
*/
|
|
446
|
+
components: SchemaNode[];
|
|
447
|
+
/**
|
|
448
|
+
* CSS class
|
|
449
|
+
*/
|
|
450
|
+
className?: string;
|
|
451
|
+
}
|
|
452
|
+
|
|
391
453
|
/**
|
|
392
454
|
* Page layout component
|
|
393
455
|
* Top-level container for a page route
|
|
@@ -407,7 +469,12 @@ export interface PageSchema extends BaseSchema {
|
|
|
407
469
|
*/
|
|
408
470
|
description?: string;
|
|
409
471
|
/**
|
|
410
|
-
*
|
|
472
|
+
* Page layout regions
|
|
473
|
+
* (Aligned with @objectstack/spec Page.regions)
|
|
474
|
+
*/
|
|
475
|
+
regions?: PageRegion[];
|
|
476
|
+
/**
|
|
477
|
+
* Main content array (Legacy/Simple mode)
|
|
411
478
|
*/
|
|
412
479
|
body?: SchemaNode[];
|
|
413
480
|
/**
|
|
@@ -428,24 +495,12 @@ export type LayoutSchema =
|
|
|
428
495
|
| SeparatorSchema
|
|
429
496
|
| ContainerSchema
|
|
430
497
|
| FlexSchema
|
|
498
|
+
| StackSchema
|
|
431
499
|
| GridSchema
|
|
432
500
|
| CardSchema
|
|
433
501
|
| TabsSchema
|
|
434
502
|
| ScrollAreaSchema
|
|
435
503
|
| ResizableSchema
|
|
504
|
+
| AspectRatioSchema
|
|
436
505
|
| PageSchema;
|
|
437
506
|
|
|
438
|
-
/**
|
|
439
|
-
* Page container component
|
|
440
|
-
*/
|
|
441
|
-
export interface PageSchema extends BaseSchema {
|
|
442
|
-
type: 'page';
|
|
443
|
-
/**
|
|
444
|
-
* Page title
|
|
445
|
-
*/
|
|
446
|
-
title?: string;
|
|
447
|
-
/**
|
|
448
|
-
* Child components
|
|
449
|
-
*/
|
|
450
|
-
children?: SchemaNode | SchemaNode[];
|
|
451
|
-
}
|