@object-ui/types 0.3.0 → 0.3.1

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.
Files changed (115) hide show
  1. package/README.md +19 -11
  2. package/dist/api-types.d.ts +7 -0
  3. package/dist/api-types.d.ts.map +1 -1
  4. package/dist/api-types.js +4 -6
  5. package/dist/app.d.ts +7 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +4 -3
  8. package/dist/base.d.ts +7 -0
  9. package/dist/base.d.ts.map +1 -1
  10. package/dist/base.js +4 -6
  11. package/dist/complex.d.ts +68 -1
  12. package/dist/complex.d.ts.map +1 -1
  13. package/dist/complex.js +4 -5
  14. package/dist/crud.d.ts +7 -0
  15. package/dist/crud.d.ts.map +1 -1
  16. package/dist/crud.js +4 -6
  17. package/dist/data-display.d.ts +54 -2
  18. package/dist/data-display.d.ts.map +1 -1
  19. package/dist/data-display.js +4 -5
  20. package/dist/data.d.ts +16 -0
  21. package/dist/data.d.ts.map +1 -1
  22. package/dist/data.js +4 -6
  23. package/dist/disclosure.d.ts +70 -1
  24. package/dist/disclosure.d.ts.map +1 -1
  25. package/dist/disclosure.js +4 -5
  26. package/dist/feedback.d.ts +68 -1
  27. package/dist/feedback.d.ts.map +1 -1
  28. package/dist/feedback.js +4 -5
  29. package/dist/field-types.d.ts +386 -0
  30. package/dist/field-types.d.ts.map +1 -0
  31. package/dist/field-types.js +8 -0
  32. package/dist/form.d.ts +123 -1
  33. package/dist/form.d.ts.map +1 -1
  34. package/dist/form.js +4 -5
  35. package/dist/index.d.ts +21 -13
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +4 -37
  38. package/dist/layout.d.ts +66 -16
  39. package/dist/layout.d.ts.map +1 -1
  40. package/dist/layout.js +4 -6
  41. package/dist/navigation.d.ts +102 -2
  42. package/dist/navigation.d.ts.map +1 -1
  43. package/dist/navigation.js +4 -5
  44. package/dist/objectql.d.ts +484 -54
  45. package/dist/objectql.d.ts.map +1 -1
  46. package/dist/objectql.js +4 -6
  47. package/dist/overlay.d.ts +31 -1
  48. package/dist/overlay.d.ts.map +1 -1
  49. package/dist/overlay.js +4 -5
  50. package/dist/registry.d.ts +7 -0
  51. package/dist/registry.d.ts.map +1 -1
  52. package/dist/registry.js +7 -0
  53. package/dist/zod/base.zod.d.ts +202 -0
  54. package/dist/zod/base.zod.d.ts.map +1 -0
  55. package/dist/zod/base.zod.js +198 -0
  56. package/dist/zod/complex.zod.d.ts +742 -0
  57. package/dist/zod/complex.zod.d.ts.map +1 -0
  58. package/dist/zod/complex.zod.js +233 -0
  59. package/dist/zod/data-display.zod.d.ts +996 -0
  60. package/dist/zod/data-display.zod.d.ts.map +1 -0
  61. package/dist/zod/data-display.zod.js +266 -0
  62. package/dist/zod/disclosure.zod.d.ts +267 -0
  63. package/dist/zod/disclosure.zod.d.ts.map +1 -0
  64. package/dist/zod/disclosure.zod.js +84 -0
  65. package/dist/zod/feedback.zod.d.ts +538 -0
  66. package/dist/zod/feedback.zod.d.ts.map +1 -0
  67. package/dist/zod/feedback.zod.js +127 -0
  68. package/dist/zod/form.zod.d.ts +1308 -0
  69. package/dist/zod/form.zod.d.ts.map +1 -0
  70. package/dist/zod/form.zod.js +406 -0
  71. package/dist/zod/index.zod.d.ts +3174 -0
  72. package/dist/zod/index.zod.d.ts.map +1 -0
  73. package/dist/zod/index.zod.js +106 -0
  74. package/dist/zod/layout.zod.d.ts +1048 -0
  75. package/dist/zod/layout.zod.d.ts.map +1 -0
  76. package/dist/zod/layout.zod.js +241 -0
  77. package/dist/zod/navigation.zod.d.ts +486 -0
  78. package/dist/zod/navigation.zod.d.ts.map +1 -0
  79. package/dist/zod/navigation.zod.js +142 -0
  80. package/dist/zod/objectql.zod.d.ts +1261 -0
  81. package/dist/zod/objectql.zod.d.ts.map +1 -0
  82. package/dist/zod/objectql.zod.js +248 -0
  83. package/dist/zod/overlay.zod.d.ts +691 -0
  84. package/dist/zod/overlay.zod.d.ts.map +1 -0
  85. package/dist/zod/overlay.zod.js +179 -0
  86. package/package.json +9 -1
  87. package/src/api-types.ts +8 -0
  88. package/src/app.ts +8 -0
  89. package/src/base.ts +8 -0
  90. package/src/complex.ts +69 -1
  91. package/src/crud.ts +8 -0
  92. package/src/data-display.ts +60 -2
  93. package/src/data.ts +18 -0
  94. package/src/disclosure.ts +74 -1
  95. package/src/feedback.ts +76 -2
  96. package/src/field-types.ts +465 -0
  97. package/src/form.ts +131 -1
  98. package/src/index.ts +91 -8
  99. package/src/layout.ts +70 -15
  100. package/src/navigation.ts +109 -2
  101. package/src/objectql.ts +555 -59
  102. package/src/overlay.ts +35 -1
  103. package/src/registry.ts +8 -0
  104. package/src/zod/README.md +329 -0
  105. package/src/zod/base.zod.ts +229 -0
  106. package/src/zod/complex.zod.ts +258 -0
  107. package/src/zod/data-display.zod.ts +290 -0
  108. package/src/zod/disclosure.zod.ts +92 -0
  109. package/src/zod/feedback.zod.ts +138 -0
  110. package/src/zod/form.zod.ts +434 -0
  111. package/src/zod/index.zod.ts +277 -0
  112. package/src/zod/layout.zod.ts +262 -0
  113. package/src/zod/navigation.zod.ts +159 -0
  114. package/src/zod/objectql.zod.ts +268 -0
  115. package/src/zod/overlay.zod.ts +196 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"objectql.zod.d.ts","sourceRoot":"","sources":["../../src/zod/objectql.zod.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;EAAoD,CAAC;AAElF;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;iBAM5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAczB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;iBAU3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;;iBAEhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;iBAG3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8B3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA0B3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkB3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;iBAK1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;iBAM7B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAUlC,CAAC"}
@@ -0,0 +1,248 @@
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
+ /**
9
+ * @object-ui/types/zod - ObjectQL Component Zod Validators
10
+ *
11
+ * Zod validation schemas for ObjectQL-specific components.
12
+ * Following @objectstack/spec UI specification format.
13
+ *
14
+ * @module zod/objectql
15
+ * @packageDocumentation
16
+ */
17
+ import { z } from 'zod';
18
+ import { BaseSchema } from './base.zod';
19
+ /**
20
+ * HTTP Method Schema
21
+ */
22
+ export const HttpMethodSchema = z.enum(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']);
23
+ /**
24
+ * HTTP Request Schema
25
+ */
26
+ export const HttpRequestSchema = z.object({
27
+ url: z.string().describe('API endpoint URL'),
28
+ method: HttpMethodSchema.optional().describe('HTTP method'),
29
+ headers: z.record(z.string(), z.string()).optional().describe('Custom HTTP headers'),
30
+ params: z.record(z.string(), z.unknown()).optional().describe('Query parameters'),
31
+ body: z.union([z.record(z.string(), z.unknown()), z.string(), z.instanceof(FormData), z.instanceof(Blob)]).optional().describe('Request body'),
32
+ });
33
+ /**
34
+ * View Data Source Schema
35
+ */
36
+ export const ViewDataSchema = z.union([
37
+ z.object({
38
+ provider: z.literal('object'),
39
+ object: z.string().describe('Target object name'),
40
+ }),
41
+ z.object({
42
+ provider: z.literal('api'),
43
+ read: HttpRequestSchema.optional().describe('Read configuration'),
44
+ write: HttpRequestSchema.optional().describe('Write configuration'),
45
+ }),
46
+ z.object({
47
+ provider: z.literal('value'),
48
+ items: z.array(z.unknown()).describe('Static data array'),
49
+ }),
50
+ ]);
51
+ /**
52
+ * List Column Schema
53
+ */
54
+ export const ListColumnSchema = z.object({
55
+ field: z.string().describe('Field name'),
56
+ label: z.string().optional().describe('Display label'),
57
+ width: z.number().optional().describe('Column width'),
58
+ align: z.enum(['left', 'center', 'right']).optional().describe('Text alignment'),
59
+ hidden: z.boolean().optional().describe('Hide column by default'),
60
+ sortable: z.boolean().optional().describe('Allow sorting'),
61
+ resizable: z.boolean().optional().describe('Allow resizing'),
62
+ wrap: z.boolean().optional().describe('Allow text wrapping'),
63
+ type: z.string().optional().describe('Renderer type override'),
64
+ });
65
+ /**
66
+ * Selection Config Schema
67
+ */
68
+ export const SelectionConfigSchema = z.object({
69
+ type: z.enum(['none', 'single', 'multiple']).optional().describe('Selection mode'),
70
+ });
71
+ /**
72
+ * Pagination Config Schema
73
+ */
74
+ export const PaginationConfigSchema = z.object({
75
+ pageSize: z.number().optional().describe('Page size'),
76
+ pageSizeOptions: z.array(z.number()).optional().describe('Page size options'),
77
+ });
78
+ /**
79
+ * Sort Config Schema
80
+ */
81
+ export const SortConfigSchema = z.object({
82
+ field: z.string().describe('Field to sort by'),
83
+ order: z.enum(['asc', 'desc']).describe('Sort order'),
84
+ });
85
+ /**
86
+ * ObjectGrid Schema
87
+ */
88
+ export const ObjectGridSchema = BaseSchema.extend({
89
+ type: z.literal('object-grid'),
90
+ objectName: z.string().describe('ObjectQL object name'),
91
+ data: ViewDataSchema.optional().describe('Data source configuration'),
92
+ columns: z.union([z.array(z.string()), z.array(ListColumnSchema)]).optional().describe('Columns configuration'),
93
+ filter: z.array(z.any()).optional().describe('Filter criteria'),
94
+ sort: z.union([z.string(), z.array(SortConfigSchema)]).optional().describe('Sort configuration'),
95
+ searchableFields: z.array(z.string()).optional().describe('Searchable fields'),
96
+ resizable: z.boolean().optional().describe('Enable column resizing'),
97
+ striped: z.boolean().optional().describe('Striped rows'),
98
+ bordered: z.boolean().optional().describe('Show borders'),
99
+ selection: SelectionConfigSchema.optional().describe('Selection configuration'),
100
+ pagination: PaginationConfigSchema.optional().describe('Pagination configuration'),
101
+ // Legacy fields
102
+ fields: z.array(z.string()).optional(),
103
+ staticData: z.array(z.any()).optional(),
104
+ selectable: z.union([z.boolean(), z.enum(['single', 'multiple'])]).optional(),
105
+ pageSize: z.number().optional(),
106
+ showSearch: z.boolean().optional(),
107
+ showFilters: z.boolean().optional(),
108
+ showPagination: z.boolean().optional(),
109
+ defaultSort: z.object({ field: z.string(), order: z.enum(['asc', 'desc']) }).optional(),
110
+ defaultFilters: z.record(z.string(), z.any()).optional(),
111
+ operators: z.record(z.string(), z.any()).optional(), // Missing in previous TS scan but common
112
+ rowActions: z.array(z.string()).optional(),
113
+ batchActions: z.array(z.string()).optional(),
114
+ editable: z.boolean().optional(),
115
+ keyboardNavigation: z.boolean().optional(),
116
+ frozenColumns: z.number().optional(),
117
+ });
118
+ /**
119
+ * ObjectForm Schema
120
+ */
121
+ export const ObjectFormSchema = BaseSchema.extend({
122
+ type: z.literal('object-form'),
123
+ objectName: z.string().describe('ObjectQL object name'),
124
+ mode: z.enum(['create', 'edit', 'view']).describe('Form mode'),
125
+ recordId: z.union([z.string(), z.number()]).optional().describe('Record ID'),
126
+ title: z.string().optional().describe('Form title'),
127
+ description: z.string().optional().describe('Form description'),
128
+ fields: z.array(z.string()).optional().describe('Included fields'),
129
+ customFields: z.array(z.any()).optional().describe('Custom field configs'),
130
+ initialData: z.record(z.string(), z.any()).optional().describe('Initial data'),
131
+ groups: z.array(z.object({
132
+ title: z.string().optional(),
133
+ description: z.string().optional(),
134
+ fields: z.array(z.string()),
135
+ collapsible: z.boolean().optional(),
136
+ defaultCollapsed: z.boolean().optional(),
137
+ })).optional().describe('Field groups'),
138
+ layout: z.enum(['vertical', 'horizontal', 'inline', 'grid']).optional().describe('Form layout'),
139
+ columns: z.number().optional().describe('Grid columns'),
140
+ showSubmit: z.boolean().optional().describe('Show submit button'),
141
+ submitText: z.string().optional().describe('Submit button text'),
142
+ showCancel: z.boolean().optional().describe('Show cancel button'),
143
+ cancelText: z.string().optional().describe('Cancel button text'),
144
+ showReset: z.boolean().optional().describe('Show reset button'),
145
+ initialValues: z.record(z.string(), z.any()).optional().describe('Initial values'),
146
+ readOnly: z.boolean().optional().describe('Read-only mode'),
147
+ });
148
+ /**
149
+ * ObjectView Schema
150
+ */
151
+ export const ObjectViewSchema = BaseSchema.extend({
152
+ type: z.literal('object-view'),
153
+ objectName: z.string().describe('ObjectQL object name'),
154
+ title: z.string().optional().describe('View title'),
155
+ description: z.string().optional().describe('View description'),
156
+ layout: z.enum(['drawer', 'modal', 'page']).optional().describe('Layout mode'),
157
+ table: z.lazy(() => ObjectGridSchema.omit({ type: true, objectName: true }).partial()).optional().describe('Table config'),
158
+ form: z.lazy(() => ObjectFormSchema.omit({ type: true, objectName: true, mode: true }).partial()).optional().describe('Form config'),
159
+ showSearch: z.boolean().optional().describe('Show search'),
160
+ showFilters: z.boolean().optional().describe('Show filters'),
161
+ showCreate: z.boolean().optional().describe('Show create button'),
162
+ showRefresh: z.boolean().optional().describe('Show refresh button'),
163
+ operations: z.object({
164
+ create: z.boolean().optional(),
165
+ read: z.boolean().optional(),
166
+ update: z.boolean().optional(),
167
+ delete: z.boolean().optional(),
168
+ }).optional().describe('Enabled operations'),
169
+ });
170
+ /**
171
+ * ListView Schema
172
+ */
173
+ export const ListViewSchema = BaseSchema.extend({
174
+ type: z.literal('list-view'),
175
+ objectName: z.string().describe('Object Name'),
176
+ viewType: z.enum(['grid', 'kanban', 'calendar', 'gantt', 'map', 'chart']).optional().describe('View Type'),
177
+ fields: z.array(z.string()).optional().describe('Fields to fetch'),
178
+ filters: z.array(z.union([z.array(z.any()), z.string()])).optional().describe('Filter conditions'),
179
+ sort: z.array(SortConfigSchema).optional().describe('Sort order'),
180
+ options: z.record(z.string(), z.any()).optional().describe('Component overrides'),
181
+ });
182
+ /**
183
+ * ObjectMap Schema
184
+ */
185
+ export const ObjectMapSchema = BaseSchema.extend({
186
+ type: z.literal('object-map'),
187
+ objectName: z.string().describe('ObjectQL object name'),
188
+ locationField: z.string().optional().describe('Location field'),
189
+ titleField: z.string().optional().describe('Title field'),
190
+ });
191
+ /**
192
+ * ObjectGantt Schema
193
+ */
194
+ export const ObjectGanttSchema = BaseSchema.extend({
195
+ type: z.literal('object-gantt'),
196
+ objectName: z.string().describe('ObjectQL object name'),
197
+ startDateField: z.string().optional().describe('Start date field'),
198
+ endDateField: z.string().optional().describe('End date field'),
199
+ titleField: z.string().optional().describe('Title field'),
200
+ dependencyField: z.string().optional().describe('Dependency field'),
201
+ progressField: z.string().optional().describe('Progress field'),
202
+ });
203
+ /**
204
+ * ObjectCalendar Schema
205
+ */
206
+ export const ObjectCalendarSchema = BaseSchema.extend({
207
+ type: z.literal('object-calendar'),
208
+ objectName: z.string().describe('ObjectQL object name'),
209
+ startDateField: z.string().optional().describe('Start date field'),
210
+ endDateField: z.string().optional().describe('End date field'),
211
+ titleField: z.string().optional().describe('Title field'),
212
+ defaultView: z.enum(['month', 'week', 'day', 'agenda']).optional().describe('Default view'),
213
+ });
214
+ /**
215
+ * ObjectKanban Schema
216
+ */
217
+ export const ObjectKanbanSchema = BaseSchema.extend({
218
+ type: z.literal('object-kanban'),
219
+ objectName: z.string().describe('ObjectQL object name'),
220
+ groupField: z.string().describe('Group field'),
221
+ titleField: z.string().optional().describe('Title field'),
222
+ cardFields: z.array(z.string()).optional().describe('Card fields'),
223
+ });
224
+ /**
225
+ * ObjectChart Schema
226
+ */
227
+ export const ObjectChartSchema = BaseSchema.extend({
228
+ type: z.literal('object-chart'),
229
+ objectName: z.string().describe('ObjectQL object name'),
230
+ chartType: z.enum(['bar', 'line', 'pie', 'area', 'scatter']).describe('Chart type'),
231
+ xAxisField: z.string().describe('X axis field'),
232
+ yAxisFields: z.array(z.string()).optional().describe('Y axis fields'),
233
+ aggregation: z.enum(['cardinality', 'sum', 'avg', 'min', 'max']).optional().describe('Aggregation'),
234
+ });
235
+ /**
236
+ * ObjectQL Component Schema Union
237
+ */
238
+ export const ObjectQLComponentSchema = z.union([
239
+ ObjectGridSchema,
240
+ ObjectFormSchema,
241
+ ObjectViewSchema,
242
+ ObjectMapSchema,
243
+ ObjectGanttSchema,
244
+ ObjectCalendarSchema,
245
+ ObjectKanbanSchema,
246
+ ObjectChartSchema,
247
+ ListViewSchema,
248
+ ]);