@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.
- 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 +7 -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/complex.d.ts +68 -1
- package/dist/complex.d.ts.map +1 -1
- package/dist/complex.js +4 -5
- package/dist/crud.d.ts +7 -0
- 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.d.ts +16 -0
- 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 +386 -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 +21 -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 +484 -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/registry.d.ts +7 -0
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +7 -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/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/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 +3174 -0
- package/dist/zod/index.zod.d.ts.map +1 -0
- package/dist/zod/index.zod.js +106 -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/package.json +9 -1
- package/src/api-types.ts +8 -0
- package/src/app.ts +8 -0
- package/src/base.ts +8 -0
- package/src/complex.ts +69 -1
- package/src/crud.ts +8 -0
- package/src/data-display.ts +60 -2
- package/src/data.ts +18 -0
- package/src/disclosure.ts +74 -1
- package/src/feedback.ts +76 -2
- package/src/field-types.ts +465 -0
- package/src/form.ts +131 -1
- package/src/index.ts +91 -8
- package/src/layout.ts +70 -15
- package/src/navigation.ts +109 -2
- package/src/objectql.ts +555 -59
- package/src/overlay.ts +35 -1
- package/src/registry.ts +8 -0
- package/src/zod/README.md +329 -0
- package/src/zod/base.zod.ts +229 -0
- package/src/zod/complex.zod.ts +258 -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 +277 -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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-display.zod.d.ts","sourceRoot":"","sources":["../../src/zod/data-display.zod.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAStB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOvB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;iBASzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;iBAc5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQtB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmB1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;iBAKzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAUzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAWzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;EAQ1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;iBAI5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAatB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;iBAQ9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAKzB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;iBAIpB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;iBAGrB,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAc5B,CAAC"}
|
|
@@ -0,0 +1,266 @@
|
|
|
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 - Data Display Component Zod Validators
|
|
10
|
+
*
|
|
11
|
+
* Zod validation schemas for data display and information presentation components.
|
|
12
|
+
* Following @objectstack/spec UI specification format.
|
|
13
|
+
*
|
|
14
|
+
* @module zod/data-display
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
import { BaseSchema, SchemaNodeSchema } from './base.zod';
|
|
19
|
+
/**
|
|
20
|
+
* Alert Schema - Alert/notification component
|
|
21
|
+
*/
|
|
22
|
+
export const AlertSchema = BaseSchema.extend({
|
|
23
|
+
type: z.literal('alert'),
|
|
24
|
+
title: z.string().optional().describe('Alert title'),
|
|
25
|
+
description: z.string().optional().describe('Alert description'),
|
|
26
|
+
variant: z.enum(['default', 'destructive']).optional().describe('Alert variant'),
|
|
27
|
+
icon: z.string().optional().describe('Alert icon'),
|
|
28
|
+
dismissible: z.boolean().optional().describe('Whether alert can be dismissed'),
|
|
29
|
+
onDismiss: z.function().optional().describe('Dismiss handler'),
|
|
30
|
+
children: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional(),
|
|
31
|
+
});
|
|
32
|
+
/**
|
|
33
|
+
* Statistic Schema - Statistic display component
|
|
34
|
+
*/
|
|
35
|
+
export const StatisticSchema = BaseSchema.extend({
|
|
36
|
+
type: z.literal('statistic'),
|
|
37
|
+
label: z.string().optional().describe('Statistic label'),
|
|
38
|
+
value: z.union([z.string(), z.number()]).describe('Statistic value'),
|
|
39
|
+
trend: z.enum(['up', 'down', 'neutral']).optional().describe('Trend indicator'),
|
|
40
|
+
description: z.string().optional().describe('Description text'),
|
|
41
|
+
icon: z.string().optional().describe('Statistic icon'),
|
|
42
|
+
});
|
|
43
|
+
/**
|
|
44
|
+
* Badge Schema - Badge/tag component
|
|
45
|
+
*/
|
|
46
|
+
export const BadgeSchema = BaseSchema.extend({
|
|
47
|
+
type: z.literal('badge'),
|
|
48
|
+
label: z.string().optional().describe('Badge label'),
|
|
49
|
+
variant: z.enum(['default', 'secondary', 'destructive', 'outline']).optional().describe('Badge variant'),
|
|
50
|
+
icon: z.string().optional().describe('Badge icon'),
|
|
51
|
+
children: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional(),
|
|
52
|
+
});
|
|
53
|
+
/**
|
|
54
|
+
* Avatar Schema - Avatar/profile picture component
|
|
55
|
+
*/
|
|
56
|
+
export const AvatarSchema = BaseSchema.extend({
|
|
57
|
+
type: z.literal('avatar'),
|
|
58
|
+
src: z.string().optional().describe('Image source URL'),
|
|
59
|
+
alt: z.string().optional().describe('Alt text'),
|
|
60
|
+
fallback: z.string().optional().describe('Fallback text/initials'),
|
|
61
|
+
size: z.enum(['sm', 'default', 'lg', 'xl']).optional().describe('Avatar size'),
|
|
62
|
+
shape: z.enum(['circle', 'square']).optional().describe('Avatar shape'),
|
|
63
|
+
});
|
|
64
|
+
/**
|
|
65
|
+
* List Item Schema
|
|
66
|
+
*/
|
|
67
|
+
export const ListItemSchema = z.object({
|
|
68
|
+
id: z.string().optional().describe('Item ID'),
|
|
69
|
+
label: z.string().optional().describe('Item label'),
|
|
70
|
+
description: z.string().optional().describe('Item description'),
|
|
71
|
+
icon: z.string().optional().describe('Item icon'),
|
|
72
|
+
avatar: z.string().optional().describe('Item avatar URL'),
|
|
73
|
+
disabled: z.boolean().optional().describe('Whether item is disabled'),
|
|
74
|
+
onClick: z.function().optional().describe('Click handler'),
|
|
75
|
+
content: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Custom content'),
|
|
76
|
+
});
|
|
77
|
+
/**
|
|
78
|
+
* List Schema - List component
|
|
79
|
+
*/
|
|
80
|
+
export const ListSchema = BaseSchema.extend({
|
|
81
|
+
type: z.literal('list'),
|
|
82
|
+
items: z.array(ListItemSchema).describe('List items'),
|
|
83
|
+
ordered: z.boolean().optional().describe('Whether list is ordered'),
|
|
84
|
+
dividers: z.boolean().optional().describe('Show dividers between items'),
|
|
85
|
+
dense: z.boolean().optional().describe('Dense spacing'),
|
|
86
|
+
});
|
|
87
|
+
/**
|
|
88
|
+
* Table Column Schema
|
|
89
|
+
*/
|
|
90
|
+
export const TableColumnSchema = z.object({
|
|
91
|
+
header: z.string().describe('Column header text'),
|
|
92
|
+
accessorKey: z.string().describe('Data accessor key'),
|
|
93
|
+
className: z.string().optional().describe('Column class name'),
|
|
94
|
+
cellClassName: z.string().optional().describe('Cell class name'),
|
|
95
|
+
width: z.union([z.string(), z.number()]).optional().describe('Column width'),
|
|
96
|
+
minWidth: z.union([z.string(), z.number()]).optional().describe('Minimum width'),
|
|
97
|
+
align: z.enum(['left', 'center', 'right']).optional().describe('Column alignment'),
|
|
98
|
+
fixed: z.enum(['left', 'right']).optional().describe('Fixed column position'),
|
|
99
|
+
type: z.string().optional().describe('Column type'),
|
|
100
|
+
sortable: z.boolean().optional().describe('Whether column is sortable'),
|
|
101
|
+
filterable: z.boolean().optional().describe('Whether column is filterable'),
|
|
102
|
+
resizable: z.boolean().optional().describe('Whether column is resizable'),
|
|
103
|
+
cell: z.function().optional().describe('Custom cell renderer'),
|
|
104
|
+
});
|
|
105
|
+
/**
|
|
106
|
+
* Table Schema - Simple table component
|
|
107
|
+
*/
|
|
108
|
+
export const TableSchema = BaseSchema.extend({
|
|
109
|
+
type: z.literal('table'),
|
|
110
|
+
caption: z.string().optional().describe('Table caption'),
|
|
111
|
+
columns: z.array(TableColumnSchema).describe('Table columns'),
|
|
112
|
+
data: z.array(z.any()).describe('Table data'),
|
|
113
|
+
footer: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Table footer'),
|
|
114
|
+
hoverable: z.boolean().optional().describe('Highlight rows on hover'),
|
|
115
|
+
striped: z.boolean().optional().describe('Striped rows'),
|
|
116
|
+
});
|
|
117
|
+
/**
|
|
118
|
+
* Data Table Schema - Advanced data table with features
|
|
119
|
+
*/
|
|
120
|
+
export const DataTableSchema = BaseSchema.extend({
|
|
121
|
+
type: z.literal('data-table'),
|
|
122
|
+
caption: z.string().optional().describe('Table caption'),
|
|
123
|
+
toolbar: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Toolbar content'),
|
|
124
|
+
columns: z.array(TableColumnSchema).describe('Table columns'),
|
|
125
|
+
data: z.array(z.any()).describe('Table data'),
|
|
126
|
+
pagination: z.boolean().optional().describe('Enable pagination'),
|
|
127
|
+
pageSize: z.number().optional().describe('Default page size'),
|
|
128
|
+
searchable: z.boolean().optional().describe('Enable search'),
|
|
129
|
+
selectable: z.boolean().optional().describe('Enable row selection'),
|
|
130
|
+
sortable: z.boolean().optional().describe('Enable sorting'),
|
|
131
|
+
exportable: z.boolean().optional().describe('Enable data export'),
|
|
132
|
+
rowActions: z.array(z.any()).optional().describe('Row action buttons'),
|
|
133
|
+
resizableColumns: z.boolean().optional().describe('Allow column resizing'),
|
|
134
|
+
reorderableColumns: z.boolean().optional().describe('Allow column reordering'),
|
|
135
|
+
onRowEdit: z.function().optional().describe('Row edit handler'),
|
|
136
|
+
onRowDelete: z.function().optional().describe('Row delete handler'),
|
|
137
|
+
onSelectionChange: z.function().optional().describe('Selection change handler'),
|
|
138
|
+
onColumnsReorder: z.function().optional().describe('Column reorder handler'),
|
|
139
|
+
});
|
|
140
|
+
/**
|
|
141
|
+
* Markdown Schema - Markdown content renderer
|
|
142
|
+
*/
|
|
143
|
+
export const MarkdownSchema = BaseSchema.extend({
|
|
144
|
+
type: z.literal('markdown'),
|
|
145
|
+
content: z.string().describe('Markdown content'),
|
|
146
|
+
sanitize: z.boolean().optional().describe('Sanitize HTML'),
|
|
147
|
+
components: z.record(z.string(), z.any()).optional().describe('Custom component overrides'),
|
|
148
|
+
});
|
|
149
|
+
/**
|
|
150
|
+
* Tree Node Schema
|
|
151
|
+
*/
|
|
152
|
+
export const TreeNodeSchema = z.lazy(() => z.object({
|
|
153
|
+
id: z.string().describe('Node ID'),
|
|
154
|
+
label: z.string().describe('Node label'),
|
|
155
|
+
icon: z.string().optional().describe('Node icon'),
|
|
156
|
+
defaultExpanded: z.boolean().optional().describe('Default expanded state'),
|
|
157
|
+
selectable: z.boolean().optional().describe('Whether node is selectable'),
|
|
158
|
+
children: z.array(TreeNodeSchema).optional().describe('Child nodes'),
|
|
159
|
+
data: z.any().optional().describe('Custom node data'),
|
|
160
|
+
}));
|
|
161
|
+
/**
|
|
162
|
+
* Tree View Schema - Tree/hierarchical view component
|
|
163
|
+
*/
|
|
164
|
+
export const TreeViewSchema = BaseSchema.extend({
|
|
165
|
+
type: z.literal('tree-view'),
|
|
166
|
+
data: z.array(TreeNodeSchema).describe('Tree data'),
|
|
167
|
+
defaultExpandedIds: z.array(z.string()).optional().describe('Default expanded node IDs'),
|
|
168
|
+
defaultSelectedIds: z.array(z.string()).optional().describe('Default selected node IDs'),
|
|
169
|
+
expandedIds: z.array(z.string()).optional().describe('Controlled expanded node IDs'),
|
|
170
|
+
selectedIds: z.array(z.string()).optional().describe('Controlled selected node IDs'),
|
|
171
|
+
multiSelect: z.boolean().optional().describe('Allow multiple selection'),
|
|
172
|
+
showLines: z.boolean().optional().describe('Show connecting lines'),
|
|
173
|
+
onSelectChange: z.function().optional().describe('Selection change handler'),
|
|
174
|
+
onExpandChange: z.function().optional().describe('Expand change handler'),
|
|
175
|
+
});
|
|
176
|
+
/**
|
|
177
|
+
* Chart Type Enum
|
|
178
|
+
*/
|
|
179
|
+
export const ChartTypeSchema = z.enum([
|
|
180
|
+
'line',
|
|
181
|
+
'bar',
|
|
182
|
+
'area',
|
|
183
|
+
'pie',
|
|
184
|
+
'donut',
|
|
185
|
+
'radar',
|
|
186
|
+
'scatter',
|
|
187
|
+
]);
|
|
188
|
+
/**
|
|
189
|
+
* Chart Series Schema
|
|
190
|
+
*/
|
|
191
|
+
export const ChartSeriesSchema = z.object({
|
|
192
|
+
name: z.string().describe('Series name'),
|
|
193
|
+
data: z.array(z.number()).describe('Series data points'),
|
|
194
|
+
color: z.string().optional().describe('Series color'),
|
|
195
|
+
});
|
|
196
|
+
/**
|
|
197
|
+
* Chart Schema - Chart/graph component
|
|
198
|
+
*/
|
|
199
|
+
export const ChartSchema = BaseSchema.extend({
|
|
200
|
+
type: z.literal('chart'),
|
|
201
|
+
chartType: ChartTypeSchema.describe('Chart type'),
|
|
202
|
+
title: z.string().optional().describe('Chart title'),
|
|
203
|
+
description: z.string().optional().describe('Chart description'),
|
|
204
|
+
categories: z.array(z.string()).optional().describe('X-axis categories'),
|
|
205
|
+
series: z.array(ChartSeriesSchema).describe('Chart data series'),
|
|
206
|
+
height: z.union([z.string(), z.number()]).optional().describe('Chart height'),
|
|
207
|
+
width: z.union([z.string(), z.number()]).optional().describe('Chart width'),
|
|
208
|
+
showLegend: z.boolean().optional().describe('Show legend'),
|
|
209
|
+
showGrid: z.boolean().optional().describe('Show grid lines'),
|
|
210
|
+
animate: z.boolean().optional().describe('Enable animations'),
|
|
211
|
+
config: z.record(z.string(), z.any()).optional().describe('Additional chart configuration'),
|
|
212
|
+
});
|
|
213
|
+
/**
|
|
214
|
+
* Timeline Event Schema
|
|
215
|
+
*/
|
|
216
|
+
export const TimelineEventSchema = z.object({
|
|
217
|
+
id: z.string().optional().describe('Event ID'),
|
|
218
|
+
title: z.string().describe('Event title'),
|
|
219
|
+
description: z.string().optional().describe('Event description'),
|
|
220
|
+
date: z.union([z.string(), z.date()]).describe('Event date'),
|
|
221
|
+
icon: z.string().optional().describe('Event icon'),
|
|
222
|
+
color: z.string().optional().describe('Event color'),
|
|
223
|
+
content: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).optional().describe('Custom content'),
|
|
224
|
+
});
|
|
225
|
+
/**
|
|
226
|
+
* Timeline Schema - Timeline component
|
|
227
|
+
*/
|
|
228
|
+
export const TimelineSchema = BaseSchema.extend({
|
|
229
|
+
type: z.literal('timeline'),
|
|
230
|
+
events: z.array(TimelineEventSchema).describe('Timeline events'),
|
|
231
|
+
orientation: z.enum(['vertical', 'horizontal']).optional().describe('Timeline orientation'),
|
|
232
|
+
position: z.enum(['left', 'right', 'alternate']).optional().describe('Event position'),
|
|
233
|
+
});
|
|
234
|
+
/**
|
|
235
|
+
* Keyboard Key Schema - Keyboard key display
|
|
236
|
+
*/
|
|
237
|
+
export const KbdSchema = BaseSchema.extend({
|
|
238
|
+
type: z.literal('kbd'),
|
|
239
|
+
label: z.string().optional().describe('Key label'),
|
|
240
|
+
keys: z.union([z.string(), z.array(z.string())]).optional().describe('Key(s) to display'),
|
|
241
|
+
});
|
|
242
|
+
/**
|
|
243
|
+
* HTML Schema - Raw HTML renderer
|
|
244
|
+
*/
|
|
245
|
+
export const HtmlSchema = BaseSchema.extend({
|
|
246
|
+
type: z.literal('html'),
|
|
247
|
+
html: z.string().describe('HTML content'),
|
|
248
|
+
});
|
|
249
|
+
/**
|
|
250
|
+
* Data Display Schema Union - All data display component schemas
|
|
251
|
+
*/
|
|
252
|
+
export const DataDisplaySchema = z.union([
|
|
253
|
+
AlertSchema,
|
|
254
|
+
StatisticSchema,
|
|
255
|
+
BadgeSchema,
|
|
256
|
+
AvatarSchema,
|
|
257
|
+
ListSchema,
|
|
258
|
+
TableSchema,
|
|
259
|
+
DataTableSchema,
|
|
260
|
+
MarkdownSchema,
|
|
261
|
+
TreeViewSchema,
|
|
262
|
+
ChartSchema,
|
|
263
|
+
TimelineSchema,
|
|
264
|
+
KbdSchema,
|
|
265
|
+
HtmlSchema,
|
|
266
|
+
]);
|
|
@@ -0,0 +1,267 @@
|
|
|
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 - Disclosure Component Zod Validators
|
|
10
|
+
*
|
|
11
|
+
* Zod validation schemas for collapsible/disclosure components.
|
|
12
|
+
* Following @objectstack/spec UI specification format.
|
|
13
|
+
*
|
|
14
|
+
* @module zod/disclosure
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
/**
|
|
19
|
+
* Accordion Item Schema
|
|
20
|
+
*/
|
|
21
|
+
export declare const AccordionItemSchema: z.ZodObject<{
|
|
22
|
+
value: z.ZodString;
|
|
23
|
+
title: z.ZodString;
|
|
24
|
+
content: z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>;
|
|
25
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
/**
|
|
29
|
+
* Accordion Schema - Accordion component
|
|
30
|
+
*/
|
|
31
|
+
export declare const AccordionSchema: z.ZodObject<{
|
|
32
|
+
id: z.ZodOptional<z.ZodString>;
|
|
33
|
+
name: z.ZodOptional<z.ZodString>;
|
|
34
|
+
label: z.ZodOptional<z.ZodString>;
|
|
35
|
+
description: z.ZodOptional<z.ZodString>;
|
|
36
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
37
|
+
className: z.ZodOptional<z.ZodString>;
|
|
38
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
39
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
40
|
+
body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
41
|
+
children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
42
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
43
|
+
visibleOn: z.ZodOptional<z.ZodString>;
|
|
44
|
+
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
45
|
+
hiddenOn: z.ZodOptional<z.ZodString>;
|
|
46
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
47
|
+
disabledOn: z.ZodOptional<z.ZodString>;
|
|
48
|
+
testId: z.ZodOptional<z.ZodString>;
|
|
49
|
+
ariaLabel: z.ZodOptional<z.ZodString>;
|
|
50
|
+
type: z.ZodLiteral<"accordion">;
|
|
51
|
+
items: z.ZodArray<z.ZodObject<{
|
|
52
|
+
value: z.ZodString;
|
|
53
|
+
title: z.ZodString;
|
|
54
|
+
content: z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>;
|
|
55
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
56
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
57
|
+
}, z.core.$strip>>;
|
|
58
|
+
accordionType: z.ZodOptional<z.ZodEnum<{
|
|
59
|
+
multiple: "multiple";
|
|
60
|
+
single: "single";
|
|
61
|
+
}>>;
|
|
62
|
+
collapsible: z.ZodOptional<z.ZodBoolean>;
|
|
63
|
+
defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
64
|
+
value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
65
|
+
onValueChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
66
|
+
variant: z.ZodOptional<z.ZodEnum<{
|
|
67
|
+
default: "default";
|
|
68
|
+
bordered: "bordered";
|
|
69
|
+
separated: "separated";
|
|
70
|
+
}>>;
|
|
71
|
+
}, z.core.$loose>;
|
|
72
|
+
/**
|
|
73
|
+
* Collapsible Schema - Collapsible component
|
|
74
|
+
*/
|
|
75
|
+
export declare const CollapsibleSchema: z.ZodObject<{
|
|
76
|
+
id: z.ZodOptional<z.ZodString>;
|
|
77
|
+
name: z.ZodOptional<z.ZodString>;
|
|
78
|
+
label: z.ZodOptional<z.ZodString>;
|
|
79
|
+
description: z.ZodOptional<z.ZodString>;
|
|
80
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
81
|
+
className: z.ZodOptional<z.ZodString>;
|
|
82
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
83
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
84
|
+
body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
85
|
+
children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
86
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
87
|
+
visibleOn: z.ZodOptional<z.ZodString>;
|
|
88
|
+
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
89
|
+
hiddenOn: z.ZodOptional<z.ZodString>;
|
|
90
|
+
disabledOn: z.ZodOptional<z.ZodString>;
|
|
91
|
+
testId: z.ZodOptional<z.ZodString>;
|
|
92
|
+
ariaLabel: z.ZodOptional<z.ZodString>;
|
|
93
|
+
type: z.ZodLiteral<"collapsible">;
|
|
94
|
+
trigger: z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>;
|
|
95
|
+
content: z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>;
|
|
96
|
+
defaultOpen: z.ZodOptional<z.ZodBoolean>;
|
|
97
|
+
open: z.ZodOptional<z.ZodBoolean>;
|
|
98
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
99
|
+
onOpenChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
100
|
+
}, z.core.$loose>;
|
|
101
|
+
/**
|
|
102
|
+
* Toggle Group Item Schema
|
|
103
|
+
*/
|
|
104
|
+
export declare const ToggleGroupItemSchema: z.ZodObject<{
|
|
105
|
+
value: z.ZodString;
|
|
106
|
+
label: z.ZodString;
|
|
107
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
108
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
109
|
+
}, z.core.$strip>;
|
|
110
|
+
/**
|
|
111
|
+
* Toggle Group Schema - Toggle group component
|
|
112
|
+
*/
|
|
113
|
+
export declare const ToggleGroupSchema: z.ZodObject<{
|
|
114
|
+
id: z.ZodOptional<z.ZodString>;
|
|
115
|
+
name: z.ZodOptional<z.ZodString>;
|
|
116
|
+
label: z.ZodOptional<z.ZodString>;
|
|
117
|
+
description: z.ZodOptional<z.ZodString>;
|
|
118
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
119
|
+
className: z.ZodOptional<z.ZodString>;
|
|
120
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
121
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
122
|
+
body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
123
|
+
children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
124
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
125
|
+
visibleOn: z.ZodOptional<z.ZodString>;
|
|
126
|
+
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
127
|
+
hiddenOn: z.ZodOptional<z.ZodString>;
|
|
128
|
+
disabledOn: z.ZodOptional<z.ZodString>;
|
|
129
|
+
testId: z.ZodOptional<z.ZodString>;
|
|
130
|
+
ariaLabel: z.ZodOptional<z.ZodString>;
|
|
131
|
+
type: z.ZodLiteral<"toggle-group">;
|
|
132
|
+
selectionType: z.ZodOptional<z.ZodEnum<{
|
|
133
|
+
multiple: "multiple";
|
|
134
|
+
single: "single";
|
|
135
|
+
}>>;
|
|
136
|
+
variant: z.ZodOptional<z.ZodEnum<{
|
|
137
|
+
default: "default";
|
|
138
|
+
outline: "outline";
|
|
139
|
+
}>>;
|
|
140
|
+
size: z.ZodOptional<z.ZodEnum<{
|
|
141
|
+
default: "default";
|
|
142
|
+
sm: "sm";
|
|
143
|
+
lg: "lg";
|
|
144
|
+
}>>;
|
|
145
|
+
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
146
|
+
value: z.ZodString;
|
|
147
|
+
label: z.ZodString;
|
|
148
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
149
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
150
|
+
}, z.core.$strip>>>;
|
|
151
|
+
defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
152
|
+
value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
153
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
154
|
+
onValueChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
155
|
+
}, z.core.$loose>;
|
|
156
|
+
/**
|
|
157
|
+
* Disclosure Schema Union - All disclosure component schemas
|
|
158
|
+
*/
|
|
159
|
+
export declare const DisclosureSchema: z.ZodUnion<readonly [z.ZodObject<{
|
|
160
|
+
id: z.ZodOptional<z.ZodString>;
|
|
161
|
+
name: z.ZodOptional<z.ZodString>;
|
|
162
|
+
label: z.ZodOptional<z.ZodString>;
|
|
163
|
+
description: z.ZodOptional<z.ZodString>;
|
|
164
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
165
|
+
className: z.ZodOptional<z.ZodString>;
|
|
166
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
167
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
168
|
+
body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
169
|
+
children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
170
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
171
|
+
visibleOn: z.ZodOptional<z.ZodString>;
|
|
172
|
+
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
173
|
+
hiddenOn: z.ZodOptional<z.ZodString>;
|
|
174
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
175
|
+
disabledOn: z.ZodOptional<z.ZodString>;
|
|
176
|
+
testId: z.ZodOptional<z.ZodString>;
|
|
177
|
+
ariaLabel: z.ZodOptional<z.ZodString>;
|
|
178
|
+
type: z.ZodLiteral<"accordion">;
|
|
179
|
+
items: z.ZodArray<z.ZodObject<{
|
|
180
|
+
value: z.ZodString;
|
|
181
|
+
title: z.ZodString;
|
|
182
|
+
content: z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>;
|
|
183
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
184
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
185
|
+
}, z.core.$strip>>;
|
|
186
|
+
accordionType: z.ZodOptional<z.ZodEnum<{
|
|
187
|
+
multiple: "multiple";
|
|
188
|
+
single: "single";
|
|
189
|
+
}>>;
|
|
190
|
+
collapsible: z.ZodOptional<z.ZodBoolean>;
|
|
191
|
+
defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
192
|
+
value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
193
|
+
onValueChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
194
|
+
variant: z.ZodOptional<z.ZodEnum<{
|
|
195
|
+
default: "default";
|
|
196
|
+
bordered: "bordered";
|
|
197
|
+
separated: "separated";
|
|
198
|
+
}>>;
|
|
199
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
200
|
+
id: z.ZodOptional<z.ZodString>;
|
|
201
|
+
name: z.ZodOptional<z.ZodString>;
|
|
202
|
+
label: z.ZodOptional<z.ZodString>;
|
|
203
|
+
description: z.ZodOptional<z.ZodString>;
|
|
204
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
205
|
+
className: z.ZodOptional<z.ZodString>;
|
|
206
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
207
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
208
|
+
body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
209
|
+
children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
210
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
211
|
+
visibleOn: z.ZodOptional<z.ZodString>;
|
|
212
|
+
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
213
|
+
hiddenOn: z.ZodOptional<z.ZodString>;
|
|
214
|
+
disabledOn: z.ZodOptional<z.ZodString>;
|
|
215
|
+
testId: z.ZodOptional<z.ZodString>;
|
|
216
|
+
ariaLabel: z.ZodOptional<z.ZodString>;
|
|
217
|
+
type: z.ZodLiteral<"collapsible">;
|
|
218
|
+
trigger: z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>;
|
|
219
|
+
content: z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>;
|
|
220
|
+
defaultOpen: z.ZodOptional<z.ZodBoolean>;
|
|
221
|
+
open: z.ZodOptional<z.ZodBoolean>;
|
|
222
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
223
|
+
onOpenChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
224
|
+
}, z.core.$loose>, z.ZodObject<{
|
|
225
|
+
id: z.ZodOptional<z.ZodString>;
|
|
226
|
+
name: z.ZodOptional<z.ZodString>;
|
|
227
|
+
label: z.ZodOptional<z.ZodString>;
|
|
228
|
+
description: z.ZodOptional<z.ZodString>;
|
|
229
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
230
|
+
className: z.ZodOptional<z.ZodString>;
|
|
231
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
232
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
233
|
+
body: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
234
|
+
children: z.ZodOptional<z.ZodUnion<readonly [z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>, z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>]>>;
|
|
235
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
236
|
+
visibleOn: z.ZodOptional<z.ZodString>;
|
|
237
|
+
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
238
|
+
hiddenOn: z.ZodOptional<z.ZodString>;
|
|
239
|
+
disabledOn: z.ZodOptional<z.ZodString>;
|
|
240
|
+
testId: z.ZodOptional<z.ZodString>;
|
|
241
|
+
ariaLabel: z.ZodOptional<z.ZodString>;
|
|
242
|
+
type: z.ZodLiteral<"toggle-group">;
|
|
243
|
+
selectionType: z.ZodOptional<z.ZodEnum<{
|
|
244
|
+
multiple: "multiple";
|
|
245
|
+
single: "single";
|
|
246
|
+
}>>;
|
|
247
|
+
variant: z.ZodOptional<z.ZodEnum<{
|
|
248
|
+
default: "default";
|
|
249
|
+
outline: "outline";
|
|
250
|
+
}>>;
|
|
251
|
+
size: z.ZodOptional<z.ZodEnum<{
|
|
252
|
+
default: "default";
|
|
253
|
+
sm: "sm";
|
|
254
|
+
lg: "lg";
|
|
255
|
+
}>>;
|
|
256
|
+
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
257
|
+
value: z.ZodString;
|
|
258
|
+
label: z.ZodString;
|
|
259
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
260
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
261
|
+
}, z.core.$strip>>>;
|
|
262
|
+
defaultValue: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
263
|
+
value: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
264
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
265
|
+
onValueChange: z.ZodOptional<z.ZodFunction<z.core.$ZodFunctionArgs, z.core.$ZodFunctionOut>>;
|
|
266
|
+
}, z.core.$loose>]>;
|
|
267
|
+
//# sourceMappingURL=disclosure.zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disclosure.zod.d.ts","sourceRoot":"","sources":["../../src/zod/disclosure.zod.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;;iBAKhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAU5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAI3B,CAAC"}
|
|
@@ -0,0 +1,84 @@
|
|
|
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 - Disclosure Component Zod Validators
|
|
10
|
+
*
|
|
11
|
+
* Zod validation schemas for collapsible/disclosure components.
|
|
12
|
+
* Following @objectstack/spec UI specification format.
|
|
13
|
+
*
|
|
14
|
+
* @module zod/disclosure
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
import { BaseSchema, SchemaNodeSchema } from './base.zod';
|
|
19
|
+
/**
|
|
20
|
+
* Accordion Item Schema
|
|
21
|
+
*/
|
|
22
|
+
export const AccordionItemSchema = z.object({
|
|
23
|
+
value: z.string().describe('Unique accordion item identifier'),
|
|
24
|
+
title: z.string().describe('Accordion item title'),
|
|
25
|
+
content: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).describe('Accordion item content'),
|
|
26
|
+
disabled: z.boolean().optional().describe('Whether item is disabled'),
|
|
27
|
+
icon: z.string().optional().describe('Item icon'),
|
|
28
|
+
});
|
|
29
|
+
/**
|
|
30
|
+
* Accordion Schema - Accordion component
|
|
31
|
+
*/
|
|
32
|
+
export const AccordionSchema = BaseSchema.extend({
|
|
33
|
+
type: z.literal('accordion'),
|
|
34
|
+
items: z.array(AccordionItemSchema).describe('Accordion items'),
|
|
35
|
+
accordionType: z.enum(['single', 'multiple']).optional().describe('Accordion type'),
|
|
36
|
+
collapsible: z.boolean().optional().describe('Whether items can be collapsed'),
|
|
37
|
+
defaultValue: z.union([z.string(), z.array(z.string())]).optional().describe('Default open item(s)'),
|
|
38
|
+
value: z.union([z.string(), z.array(z.string())]).optional().describe('Controlled open item(s)'),
|
|
39
|
+
onValueChange: z.function().optional().describe('Value change handler'),
|
|
40
|
+
variant: z.enum(['default', 'bordered', 'separated']).optional().describe('Accordion variant'),
|
|
41
|
+
});
|
|
42
|
+
/**
|
|
43
|
+
* Collapsible Schema - Collapsible component
|
|
44
|
+
*/
|
|
45
|
+
export const CollapsibleSchema = BaseSchema.extend({
|
|
46
|
+
type: z.literal('collapsible'),
|
|
47
|
+
trigger: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).describe('Trigger content'),
|
|
48
|
+
content: z.union([SchemaNodeSchema, z.array(SchemaNodeSchema)]).describe('Collapsible content'),
|
|
49
|
+
defaultOpen: z.boolean().optional().describe('Default open state'),
|
|
50
|
+
open: z.boolean().optional().describe('Controlled open state'),
|
|
51
|
+
disabled: z.boolean().optional().describe('Whether collapsible is disabled'),
|
|
52
|
+
onOpenChange: z.function().optional().describe('Open change handler'),
|
|
53
|
+
});
|
|
54
|
+
/**
|
|
55
|
+
* Toggle Group Item Schema
|
|
56
|
+
*/
|
|
57
|
+
export const ToggleGroupItemSchema = z.object({
|
|
58
|
+
value: z.string().describe('Item value'),
|
|
59
|
+
label: z.string().describe('Item label'),
|
|
60
|
+
icon: z.string().optional().describe('Item icon'),
|
|
61
|
+
disabled: z.boolean().optional().describe('Whether item is disabled'),
|
|
62
|
+
});
|
|
63
|
+
/**
|
|
64
|
+
* Toggle Group Schema - Toggle group component
|
|
65
|
+
*/
|
|
66
|
+
export const ToggleGroupSchema = BaseSchema.extend({
|
|
67
|
+
type: z.literal('toggle-group'),
|
|
68
|
+
selectionType: z.enum(['single', 'multiple']).optional().describe('Selection type'),
|
|
69
|
+
variant: z.enum(['default', 'outline']).optional().describe('Toggle group variant'),
|
|
70
|
+
size: z.enum(['default', 'sm', 'lg']).optional().describe('Toggle group size'),
|
|
71
|
+
items: z.array(ToggleGroupItemSchema).optional().describe('Toggle group items'),
|
|
72
|
+
defaultValue: z.union([z.string(), z.array(z.string())]).optional().describe('Default value(s)'),
|
|
73
|
+
value: z.union([z.string(), z.array(z.string())]).optional().describe('Controlled value(s)'),
|
|
74
|
+
disabled: z.boolean().optional().describe('Whether toggle group is disabled'),
|
|
75
|
+
onValueChange: z.function().optional().describe('Value change handler'),
|
|
76
|
+
});
|
|
77
|
+
/**
|
|
78
|
+
* Disclosure Schema Union - All disclosure component schemas
|
|
79
|
+
*/
|
|
80
|
+
export const DisclosureSchema = z.union([
|
|
81
|
+
AccordionSchema,
|
|
82
|
+
CollapsibleSchema,
|
|
83
|
+
ToggleGroupSchema,
|
|
84
|
+
]);
|