@object-ui/types 0.3.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/ai.d.ts +376 -0
- package/dist/ai.d.ts.map +1 -0
- package/dist/ai.js +8 -0
- package/dist/app.d.ts +10 -0
- package/dist/app.d.ts.map +1 -1
- package/dist/blocks.d.ts +332 -0
- package/dist/blocks.d.ts.map +1 -0
- package/dist/blocks.js +8 -0
- package/dist/crud.d.ts +177 -3
- package/dist/crud.d.ts.map +1 -1
- package/dist/data-display.d.ts +35 -0
- package/dist/data-display.d.ts.map +1 -1
- 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 +74 -1
- package/dist/data.d.ts.map +1 -1
- package/dist/designer.d.ts +473 -0
- package/dist/designer.d.ts.map +1 -0
- package/dist/designer.js +8 -0
- package/dist/field-types.d.ts +353 -11
- package/dist/field-types.d.ts.map +1 -1
- package/dist/form.d.ts +35 -1
- package/dist/form.d.ts.map +1 -1
- package/dist/index.d.ts +58 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -0
- package/dist/layout.d.ts +63 -8
- package/dist/layout.d.ts.map +1 -1
- package/dist/mobile.d.ts +186 -0
- package/dist/mobile.d.ts.map +1 -0
- package/dist/mobile.js +8 -0
- package/dist/objectql.d.ts +337 -89
- package/dist/objectql.d.ts.map +1 -1
- package/dist/permissions.d.ts +150 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +8 -0
- 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/reports.d.ts +336 -0
- package/dist/reports.d.ts.map +1 -0
- package/dist/reports.js +8 -0
- package/dist/tenant.d.ts +138 -0
- package/dist/tenant.d.ts.map +1 -0
- package/dist/tenant.js +8 -0
- package/dist/theme.d.ts +180 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +8 -0
- package/dist/ui-action.d.ts +290 -0
- package/dist/ui-action.d.ts.map +1 -0
- package/dist/ui-action.js +8 -0
- package/dist/views.d.ts +427 -0
- package/dist/views.d.ts.map +1 -0
- package/dist/views.js +8 -0
- package/dist/widget.d.ts +181 -0
- package/dist/widget.d.ts.map +1 -0
- package/dist/widget.js +8 -0
- package/dist/workflow.d.ts +340 -0
- package/dist/workflow.d.ts.map +1 -0
- package/dist/workflow.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/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 +4 -4
- package/dist/zod/complex.zod.js +1 -1
- 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.js +1 -1
- package/dist/zod/disclosure.zod.js +1 -1
- package/dist/zod/feedback.zod.d.ts +10 -10
- package/dist/zod/feedback.zod.js +1 -1
- package/dist/zod/form.zod.d.ts +4 -4
- package/dist/zod/form.zod.js +1 -1
- package/dist/zod/index.zod.d.ts +2032 -30
- package/dist/zod/index.zod.d.ts.map +1 -1
- package/dist/zod/index.zod.js +96 -19
- package/dist/zod/layout.zod.d.ts +134 -2
- package/dist/zod/layout.zod.d.ts.map +1 -1
- package/dist/zod/layout.zod.js +35 -1
- package/dist/zod/navigation.zod.js +1 -1
- package/dist/zod/objectql.zod.d.ts +34 -18
- package/dist/zod/objectql.zod.d.ts.map +1 -1
- package/dist/zod/objectql.zod.js +9 -1
- package/dist/zod/overlay.zod.js +1 -1
- 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 +1292 -0
- package/dist/zod/theme.zod.d.ts.map +1 -0
- package/dist/zod/theme.zod.js +260 -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 +3 -2
- package/src/__tests__/namespace-exports.test.ts +36 -0
- package/src/__tests__/phase2-schemas.test.ts +634 -0
- package/src/ai.ts +454 -0
- package/src/app.ts +12 -0
- package/src/blocks.ts +405 -0
- package/src/crud.ts +180 -3
- package/src/data-display.ts +31 -0
- package/src/data-protocol.ts +1679 -0
- package/src/data.ts +84 -1
- package/src/designer.ts +509 -0
- package/src/field-types.ts +392 -11
- package/src/form.ts +35 -1
- package/src/index.ts +426 -0
- package/src/layout.ts +66 -8
- package/src/mobile.ts +205 -0
- package/src/objectql.ts +412 -94
- package/src/permissions.ts +166 -0
- package/src/plugin-scope.ts +210 -0
- package/src/reports.ts +408 -0
- package/src/tenant.ts +153 -0
- package/src/theme.ts +238 -0
- package/src/ui-action.ts +415 -0
- package/src/views.ts +436 -0
- package/src/widget.ts +197 -0
- package/src/workflow.ts +409 -0
- package/src/zod/app.zod.ts +72 -0
- package/src/zod/blocks.zod.ts +170 -0
- package/src/zod/complex.zod.ts +1 -1
- package/src/zod/crud.zod.ts +259 -0
- package/src/zod/data-display.zod.ts +1 -1
- package/src/zod/disclosure.zod.ts +1 -1
- package/src/zod/feedback.zod.ts +1 -1
- package/src/zod/form.zod.ts +1 -1
- package/src/zod/index.zod.ts +178 -19
- package/src/zod/layout.zod.ts +39 -1
- package/src/zod/navigation.zod.ts +1 -1
- package/src/zod/objectql.zod.ts +9 -1
- package/src/zod/overlay.zod.ts +1 -1
- package/src/zod/reports.zod.ts +183 -0
- package/src/zod/theme.zod.ts +296 -0
- package/src/zod/views.zod.ts +182 -0
|
@@ -0,0 +1,340 @@
|
|
|
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 - Workflow Schema
|
|
10
|
+
*
|
|
11
|
+
* Defines workflow UI types for visual workflow design, approval processes,
|
|
12
|
+
* and workflow instance tracking.
|
|
13
|
+
*/
|
|
14
|
+
import type { BaseSchema } from './base';
|
|
15
|
+
/**
|
|
16
|
+
* Workflow lifecycle status
|
|
17
|
+
*/
|
|
18
|
+
export type WorkflowStatus = 'draft' | 'active' | 'paused' | 'completed' | 'cancelled';
|
|
19
|
+
/**
|
|
20
|
+
* Types of nodes available in the workflow designer
|
|
21
|
+
*/
|
|
22
|
+
export type WorkflowNodeType = 'start' | 'end' | 'task' | 'approval' | 'condition' | 'parallel' | 'delay' | 'notification' | 'script';
|
|
23
|
+
/**
|
|
24
|
+
* Types of edges connecting workflow nodes
|
|
25
|
+
*/
|
|
26
|
+
export type WorkflowEdgeType = 'default' | 'conditional' | 'timeout';
|
|
27
|
+
/**
|
|
28
|
+
* Action that can be performed on a workflow node
|
|
29
|
+
*/
|
|
30
|
+
export interface WorkflowNodeAction {
|
|
31
|
+
/**
|
|
32
|
+
* Action type
|
|
33
|
+
*/
|
|
34
|
+
type: 'approve' | 'reject' | 'reassign' | 'comment' | 'escalate' | 'custom';
|
|
35
|
+
/**
|
|
36
|
+
* Display label for the action
|
|
37
|
+
*/
|
|
38
|
+
label: string;
|
|
39
|
+
/**
|
|
40
|
+
* Target node to transition to after action
|
|
41
|
+
*/
|
|
42
|
+
nextNodeId?: string;
|
|
43
|
+
/**
|
|
44
|
+
* Condition expression for action availability
|
|
45
|
+
*/
|
|
46
|
+
condition?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A node in the workflow graph
|
|
50
|
+
*/
|
|
51
|
+
export interface WorkflowNode {
|
|
52
|
+
/**
|
|
53
|
+
* Unique node identifier
|
|
54
|
+
*/
|
|
55
|
+
id: string;
|
|
56
|
+
/**
|
|
57
|
+
* Node type
|
|
58
|
+
*/
|
|
59
|
+
type: WorkflowNodeType;
|
|
60
|
+
/**
|
|
61
|
+
* Display label
|
|
62
|
+
*/
|
|
63
|
+
label: string;
|
|
64
|
+
/**
|
|
65
|
+
* Node description
|
|
66
|
+
*/
|
|
67
|
+
description?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Position in the workflow canvas
|
|
70
|
+
*/
|
|
71
|
+
position?: {
|
|
72
|
+
x: number;
|
|
73
|
+
y: number;
|
|
74
|
+
};
|
|
75
|
+
/**
|
|
76
|
+
* Node-specific configuration
|
|
77
|
+
*/
|
|
78
|
+
config?: Record<string, any>;
|
|
79
|
+
/**
|
|
80
|
+
* Assignee identifier
|
|
81
|
+
*/
|
|
82
|
+
assignee?: string;
|
|
83
|
+
/**
|
|
84
|
+
* How the assignee is resolved
|
|
85
|
+
*/
|
|
86
|
+
assigneeType?: 'user' | 'role' | 'group' | 'expression';
|
|
87
|
+
/**
|
|
88
|
+
* Timeout duration in minutes
|
|
89
|
+
*/
|
|
90
|
+
timeout?: number;
|
|
91
|
+
/**
|
|
92
|
+
* Available actions for this node
|
|
93
|
+
*/
|
|
94
|
+
actions?: WorkflowNodeAction[];
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* An edge connecting two workflow nodes
|
|
98
|
+
*/
|
|
99
|
+
export interface WorkflowEdge {
|
|
100
|
+
/**
|
|
101
|
+
* Unique edge identifier
|
|
102
|
+
*/
|
|
103
|
+
id: string;
|
|
104
|
+
/**
|
|
105
|
+
* Source node identifier
|
|
106
|
+
*/
|
|
107
|
+
source: string;
|
|
108
|
+
/**
|
|
109
|
+
* Target node identifier
|
|
110
|
+
*/
|
|
111
|
+
target: string;
|
|
112
|
+
/**
|
|
113
|
+
* Edge type
|
|
114
|
+
*/
|
|
115
|
+
type?: WorkflowEdgeType;
|
|
116
|
+
/**
|
|
117
|
+
* Display label
|
|
118
|
+
*/
|
|
119
|
+
label?: string;
|
|
120
|
+
/**
|
|
121
|
+
* Condition expression for conditional edges
|
|
122
|
+
*/
|
|
123
|
+
condition?: string;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Rule governing how approvals are processed
|
|
127
|
+
*/
|
|
128
|
+
export interface ApprovalRule {
|
|
129
|
+
/**
|
|
130
|
+
* Approval strategy type
|
|
131
|
+
*/
|
|
132
|
+
type: 'any' | 'all' | 'majority' | 'sequential';
|
|
133
|
+
/**
|
|
134
|
+
* Minimum number of approvals required
|
|
135
|
+
*/
|
|
136
|
+
minApprovals?: number;
|
|
137
|
+
/**
|
|
138
|
+
* Timeout duration in minutes
|
|
139
|
+
*/
|
|
140
|
+
timeout?: number;
|
|
141
|
+
/**
|
|
142
|
+
* Identifier to escalate to on timeout
|
|
143
|
+
*/
|
|
144
|
+
escalateTo?: string;
|
|
145
|
+
/**
|
|
146
|
+
* Expression that triggers automatic approval
|
|
147
|
+
*/
|
|
148
|
+
autoApproveCondition?: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Variable definition for workflow context
|
|
152
|
+
*/
|
|
153
|
+
export interface WorkflowVariable {
|
|
154
|
+
/**
|
|
155
|
+
* Variable name
|
|
156
|
+
*/
|
|
157
|
+
name: string;
|
|
158
|
+
/**
|
|
159
|
+
* Variable data type
|
|
160
|
+
*/
|
|
161
|
+
type: 'string' | 'number' | 'boolean' | 'date' | 'object';
|
|
162
|
+
/**
|
|
163
|
+
* Default value
|
|
164
|
+
*/
|
|
165
|
+
defaultValue?: any;
|
|
166
|
+
/**
|
|
167
|
+
* Whether the variable is required
|
|
168
|
+
*/
|
|
169
|
+
required?: boolean;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Workflow Schema - Main workflow definition
|
|
173
|
+
*/
|
|
174
|
+
export interface WorkflowSchema extends BaseSchema {
|
|
175
|
+
type: 'workflow';
|
|
176
|
+
/**
|
|
177
|
+
* Workflow title
|
|
178
|
+
*/
|
|
179
|
+
title?: string;
|
|
180
|
+
/**
|
|
181
|
+
* Workflow description
|
|
182
|
+
*/
|
|
183
|
+
description?: string;
|
|
184
|
+
/**
|
|
185
|
+
* Current workflow status
|
|
186
|
+
*/
|
|
187
|
+
status?: WorkflowStatus;
|
|
188
|
+
/**
|
|
189
|
+
* Workflow nodes
|
|
190
|
+
*/
|
|
191
|
+
nodes: WorkflowNode[];
|
|
192
|
+
/**
|
|
193
|
+
* Workflow edges
|
|
194
|
+
*/
|
|
195
|
+
edges: WorkflowEdge[];
|
|
196
|
+
/**
|
|
197
|
+
* Workflow variables
|
|
198
|
+
*/
|
|
199
|
+
variables?: WorkflowVariable[];
|
|
200
|
+
/**
|
|
201
|
+
* Workflow version number
|
|
202
|
+
*/
|
|
203
|
+
version?: number;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Workflow Designer Schema - Visual workflow editor component
|
|
207
|
+
*/
|
|
208
|
+
export interface WorkflowDesignerSchema extends BaseSchema {
|
|
209
|
+
type: 'workflow-designer';
|
|
210
|
+
/**
|
|
211
|
+
* Workflow to edit
|
|
212
|
+
*/
|
|
213
|
+
workflow?: WorkflowSchema;
|
|
214
|
+
/**
|
|
215
|
+
* Whether the designer is in read-only mode
|
|
216
|
+
*/
|
|
217
|
+
readOnly?: boolean;
|
|
218
|
+
/**
|
|
219
|
+
* Show minimap navigation panel
|
|
220
|
+
*/
|
|
221
|
+
showMinimap?: boolean;
|
|
222
|
+
/**
|
|
223
|
+
* Show designer toolbar
|
|
224
|
+
*/
|
|
225
|
+
showToolbar?: boolean;
|
|
226
|
+
/**
|
|
227
|
+
* Save callback action
|
|
228
|
+
*/
|
|
229
|
+
onSave?: string;
|
|
230
|
+
/**
|
|
231
|
+
* Publish callback action
|
|
232
|
+
*/
|
|
233
|
+
onPublish?: string;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* A single entry in the approval history
|
|
237
|
+
*/
|
|
238
|
+
export interface ApprovalHistoryItem {
|
|
239
|
+
/**
|
|
240
|
+
* Node where the action was taken
|
|
241
|
+
*/
|
|
242
|
+
nodeId: string;
|
|
243
|
+
/**
|
|
244
|
+
* Action that was performed
|
|
245
|
+
*/
|
|
246
|
+
action: string;
|
|
247
|
+
/**
|
|
248
|
+
* Actor identifier
|
|
249
|
+
*/
|
|
250
|
+
actor: string;
|
|
251
|
+
/**
|
|
252
|
+
* Display name of the actor
|
|
253
|
+
*/
|
|
254
|
+
actorName?: string;
|
|
255
|
+
/**
|
|
256
|
+
* ISO 8601 timestamp of the action
|
|
257
|
+
*/
|
|
258
|
+
timestamp: string;
|
|
259
|
+
/**
|
|
260
|
+
* Optional comment
|
|
261
|
+
*/
|
|
262
|
+
comment?: string;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Approval Process Schema - Approval workflow UI component
|
|
266
|
+
*/
|
|
267
|
+
export interface ApprovalProcessSchema extends BaseSchema {
|
|
268
|
+
type: 'approval-process';
|
|
269
|
+
/**
|
|
270
|
+
* Associated workflow identifier
|
|
271
|
+
*/
|
|
272
|
+
workflowId?: string;
|
|
273
|
+
/**
|
|
274
|
+
* Workflow instance identifier
|
|
275
|
+
*/
|
|
276
|
+
instanceId?: string;
|
|
277
|
+
/**
|
|
278
|
+
* Current active node identifier
|
|
279
|
+
*/
|
|
280
|
+
currentNodeId?: string;
|
|
281
|
+
/**
|
|
282
|
+
* Approval rule configuration
|
|
283
|
+
*/
|
|
284
|
+
approvalRule?: ApprovalRule;
|
|
285
|
+
/**
|
|
286
|
+
* Approval history entries
|
|
287
|
+
*/
|
|
288
|
+
history?: ApprovalHistoryItem[];
|
|
289
|
+
/**
|
|
290
|
+
* Approval process data
|
|
291
|
+
*/
|
|
292
|
+
data?: Record<string, any>;
|
|
293
|
+
/**
|
|
294
|
+
* Show approval history timeline
|
|
295
|
+
*/
|
|
296
|
+
showHistory?: boolean;
|
|
297
|
+
/**
|
|
298
|
+
* Show comments section
|
|
299
|
+
*/
|
|
300
|
+
showComments?: boolean;
|
|
301
|
+
}
|
|
302
|
+
/**
|
|
303
|
+
* Workflow Instance Schema - Runtime state of a workflow execution
|
|
304
|
+
*/
|
|
305
|
+
export interface WorkflowInstanceSchema extends BaseSchema {
|
|
306
|
+
type: 'workflow-instance';
|
|
307
|
+
/**
|
|
308
|
+
* Associated workflow definition identifier
|
|
309
|
+
*/
|
|
310
|
+
workflowId: string;
|
|
311
|
+
/**
|
|
312
|
+
* Unique instance identifier
|
|
313
|
+
*/
|
|
314
|
+
instanceId: string;
|
|
315
|
+
/**
|
|
316
|
+
* Current instance status
|
|
317
|
+
*/
|
|
318
|
+
status: WorkflowStatus;
|
|
319
|
+
/**
|
|
320
|
+
* Currently active node identifiers
|
|
321
|
+
*/
|
|
322
|
+
currentNodes: string[];
|
|
323
|
+
/**
|
|
324
|
+
* Runtime variable values
|
|
325
|
+
*/
|
|
326
|
+
variables?: Record<string, any>;
|
|
327
|
+
/**
|
|
328
|
+
* ISO 8601 timestamp when the instance started
|
|
329
|
+
*/
|
|
330
|
+
startedAt?: string;
|
|
331
|
+
/**
|
|
332
|
+
* ISO 8601 timestamp when the instance completed
|
|
333
|
+
*/
|
|
334
|
+
completedAt?: string;
|
|
335
|
+
/**
|
|
336
|
+
* Instance data payload
|
|
337
|
+
*/
|
|
338
|
+
data?: Record<string, any>;
|
|
339
|
+
}
|
|
340
|
+
//# sourceMappingURL=workflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflow.d.ts","sourceRoot":"","sources":["../src/workflow.ts"],"names":[],"mappings":"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"}
|
package/dist/workflow.js
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
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 - Application Schema Zod Validators
|
|
10
|
+
*
|
|
11
|
+
* Zod validation schemas for top-level application configuration.
|
|
12
|
+
* Following @objectstack/spec UI specification format.
|
|
13
|
+
*
|
|
14
|
+
* @module zod/app
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
/**
|
|
19
|
+
* Menu Item Schema - Navigation menu item
|
|
20
|
+
*/
|
|
21
|
+
export declare const MenuItemSchema: z.ZodType<any>;
|
|
22
|
+
/**
|
|
23
|
+
* App Action Schema - Application header/toolbar action
|
|
24
|
+
*/
|
|
25
|
+
export declare const AppActionSchema: z.ZodObject<{
|
|
26
|
+
type: z.ZodEnum<{
|
|
27
|
+
button: "button";
|
|
28
|
+
dropdown: "dropdown";
|
|
29
|
+
user: "user";
|
|
30
|
+
}>;
|
|
31
|
+
label: z.ZodOptional<z.ZodString>;
|
|
32
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
33
|
+
onClick: z.ZodOptional<z.ZodString>;
|
|
34
|
+
avatar: z.ZodOptional<z.ZodString>;
|
|
35
|
+
description: z.ZodOptional<z.ZodString>;
|
|
36
|
+
items: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
|
|
37
|
+
shortcut: z.ZodOptional<z.ZodString>;
|
|
38
|
+
variant: z.ZodOptional<z.ZodEnum<{
|
|
39
|
+
default: "default";
|
|
40
|
+
destructive: "destructive";
|
|
41
|
+
outline: "outline";
|
|
42
|
+
secondary: "secondary";
|
|
43
|
+
ghost: "ghost";
|
|
44
|
+
link: "link";
|
|
45
|
+
}>>;
|
|
46
|
+
size: z.ZodOptional<z.ZodEnum<{
|
|
47
|
+
default: "default";
|
|
48
|
+
sm: "sm";
|
|
49
|
+
lg: "lg";
|
|
50
|
+
icon: "icon";
|
|
51
|
+
}>>;
|
|
52
|
+
}, z.core.$strip>;
|
|
53
|
+
/**
|
|
54
|
+
* App Schema - Top-level application configuration
|
|
55
|
+
*/
|
|
56
|
+
export declare const AppSchema: z.ZodObject<{
|
|
57
|
+
id: z.ZodOptional<z.ZodString>;
|
|
58
|
+
label: z.ZodOptional<z.ZodString>;
|
|
59
|
+
placeholder: z.ZodOptional<z.ZodString>;
|
|
60
|
+
className: z.ZodOptional<z.ZodString>;
|
|
61
|
+
style: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>>;
|
|
62
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
63
|
+
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>>>]>>;
|
|
64
|
+
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>>>]>>;
|
|
65
|
+
visible: z.ZodOptional<z.ZodBoolean>;
|
|
66
|
+
visibleOn: z.ZodOptional<z.ZodString>;
|
|
67
|
+
hidden: z.ZodOptional<z.ZodBoolean>;
|
|
68
|
+
hiddenOn: z.ZodOptional<z.ZodString>;
|
|
69
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
70
|
+
disabledOn: z.ZodOptional<z.ZodString>;
|
|
71
|
+
testId: z.ZodOptional<z.ZodString>;
|
|
72
|
+
ariaLabel: z.ZodOptional<z.ZodString>;
|
|
73
|
+
type: z.ZodLiteral<"app">;
|
|
74
|
+
name: z.ZodOptional<z.ZodString>;
|
|
75
|
+
title: z.ZodOptional<z.ZodString>;
|
|
76
|
+
description: z.ZodOptional<z.ZodString>;
|
|
77
|
+
logo: z.ZodOptional<z.ZodString>;
|
|
78
|
+
favicon: z.ZodOptional<z.ZodString>;
|
|
79
|
+
layout: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
|
|
80
|
+
sidebar: "sidebar";
|
|
81
|
+
header: "header";
|
|
82
|
+
empty: "empty";
|
|
83
|
+
}>>>;
|
|
84
|
+
menu: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
|
|
85
|
+
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
86
|
+
type: z.ZodEnum<{
|
|
87
|
+
button: "button";
|
|
88
|
+
dropdown: "dropdown";
|
|
89
|
+
user: "user";
|
|
90
|
+
}>;
|
|
91
|
+
label: z.ZodOptional<z.ZodString>;
|
|
92
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
93
|
+
onClick: z.ZodOptional<z.ZodString>;
|
|
94
|
+
avatar: z.ZodOptional<z.ZodString>;
|
|
95
|
+
description: z.ZodOptional<z.ZodString>;
|
|
96
|
+
items: z.ZodOptional<z.ZodArray<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>>;
|
|
97
|
+
shortcut: z.ZodOptional<z.ZodString>;
|
|
98
|
+
variant: z.ZodOptional<z.ZodEnum<{
|
|
99
|
+
default: "default";
|
|
100
|
+
destructive: "destructive";
|
|
101
|
+
outline: "outline";
|
|
102
|
+
secondary: "secondary";
|
|
103
|
+
ghost: "ghost";
|
|
104
|
+
link: "link";
|
|
105
|
+
}>>;
|
|
106
|
+
size: z.ZodOptional<z.ZodEnum<{
|
|
107
|
+
default: "default";
|
|
108
|
+
sm: "sm";
|
|
109
|
+
lg: "lg";
|
|
110
|
+
icon: "icon";
|
|
111
|
+
}>>;
|
|
112
|
+
}, z.core.$strip>>>;
|
|
113
|
+
}, z.core.$loose>;
|
|
114
|
+
/**
|
|
115
|
+
* Export type inference helpers
|
|
116
|
+
*/
|
|
117
|
+
export type MenuItemSchemaType = z.infer<typeof MenuItemSchema>;
|
|
118
|
+
export type AppActionSchemaType = z.infer<typeof AppActionSchema>;
|
|
119
|
+
export type AppSchemaType = z.infer<typeof AppSchema>;
|
|
120
|
+
//# sourceMappingURL=app.zod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.zod.d.ts","sourceRoot":"","sources":["../../src/zod/app.zod.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CASvC,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAW1B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUpB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAChE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAClE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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 - Application Schema Zod Validators
|
|
10
|
+
*
|
|
11
|
+
* Zod validation schemas for top-level application configuration.
|
|
12
|
+
* Following @objectstack/spec UI specification format.
|
|
13
|
+
*
|
|
14
|
+
* @module zod/app
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import { z } from 'zod';
|
|
18
|
+
import { BaseSchema } from './base.zod.js';
|
|
19
|
+
/**
|
|
20
|
+
* Menu Item Schema - Navigation menu item
|
|
21
|
+
*/
|
|
22
|
+
export const MenuItemSchema = z.lazy(() => z.object({
|
|
23
|
+
type: z.enum(['item', 'group', 'separator']).optional().describe('Item type'),
|
|
24
|
+
label: z.string().optional().describe('Display label'),
|
|
25
|
+
icon: z.string().optional().describe('Icon name (Lucide)'),
|
|
26
|
+
path: z.string().optional().describe('Target path (route)'),
|
|
27
|
+
href: z.string().optional().describe('External link'),
|
|
28
|
+
children: z.array(MenuItemSchema).optional().describe('Child items (submenu)'),
|
|
29
|
+
badge: z.union([z.string(), z.number()]).optional().describe('Badge or count'),
|
|
30
|
+
hidden: z.union([z.boolean(), z.string()]).optional().describe('Visibility condition'),
|
|
31
|
+
}));
|
|
32
|
+
/**
|
|
33
|
+
* App Action Schema - Application header/toolbar action
|
|
34
|
+
*/
|
|
35
|
+
export const AppActionSchema = z.object({
|
|
36
|
+
type: z.enum(['button', 'dropdown', 'user']).describe('Action type'),
|
|
37
|
+
label: z.string().optional().describe('Action label'),
|
|
38
|
+
icon: z.string().optional().describe('Icon name'),
|
|
39
|
+
onClick: z.string().optional().describe('Click handler expression'),
|
|
40
|
+
avatar: z.string().optional().describe('User avatar URL (for type="user")'),
|
|
41
|
+
description: z.string().optional().describe('Additional description (e.g., email for user)'),
|
|
42
|
+
items: z.array(MenuItemSchema).optional().describe('Dropdown menu items (for type="dropdown" or "user")'),
|
|
43
|
+
shortcut: z.string().optional().describe('Keyboard shortcut'),
|
|
44
|
+
variant: z.enum(['default', 'destructive', 'outline', 'secondary', 'ghost', 'link']).optional().describe('Button variant'),
|
|
45
|
+
size: z.enum(['default', 'sm', 'lg', 'icon']).optional().describe('Button size'),
|
|
46
|
+
});
|
|
47
|
+
/**
|
|
48
|
+
* App Schema - Top-level application configuration
|
|
49
|
+
*/
|
|
50
|
+
export const AppSchema = BaseSchema.extend({
|
|
51
|
+
type: z.literal('app'),
|
|
52
|
+
name: z.string().optional().describe('Application name (system ID)'),
|
|
53
|
+
title: z.string().optional().describe('Display title'),
|
|
54
|
+
description: z.string().optional().describe('Application description'),
|
|
55
|
+
logo: z.string().optional().describe('Logo URL or icon name'),
|
|
56
|
+
favicon: z.string().optional().describe('Favicon URL'),
|
|
57
|
+
layout: z.enum(['sidebar', 'header', 'empty']).optional().default('sidebar').describe('Global layout strategy'),
|
|
58
|
+
menu: z.array(MenuItemSchema).optional().describe('Global navigation menu'),
|
|
59
|
+
actions: z.array(AppActionSchema).optional().describe('Global actions (user profile, settings, etc.)'),
|
|
60
|
+
});
|