@object-ui/types 0.5.0 → 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.
Files changed (89) hide show
  1. package/README.md +1 -1
  2. package/dist/ai.d.ts +376 -0
  3. package/dist/ai.d.ts.map +1 -0
  4. package/dist/ai.js +8 -0
  5. package/dist/app.d.ts +2 -2
  6. package/dist/crud.d.ts +3 -0
  7. package/dist/crud.d.ts.map +1 -1
  8. package/dist/data-display.d.ts +35 -0
  9. package/dist/data-display.d.ts.map +1 -1
  10. package/dist/data-protocol.d.ts +19 -19
  11. package/dist/data.d.ts +68 -0
  12. package/dist/data.d.ts.map +1 -1
  13. package/dist/designer.d.ts +473 -0
  14. package/dist/designer.d.ts.map +1 -0
  15. package/dist/designer.js +8 -0
  16. package/dist/form.d.ts +35 -1
  17. package/dist/form.d.ts.map +1 -1
  18. package/dist/index.d.ts +35 -8
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +18 -0
  21. package/dist/layout.d.ts +63 -8
  22. package/dist/layout.d.ts.map +1 -1
  23. package/dist/mobile.d.ts +186 -0
  24. package/dist/mobile.d.ts.map +1 -0
  25. package/dist/mobile.js +8 -0
  26. package/dist/objectql.d.ts +329 -88
  27. package/dist/objectql.d.ts.map +1 -1
  28. package/dist/permissions.d.ts +150 -0
  29. package/dist/permissions.d.ts.map +1 -0
  30. package/dist/permissions.js +8 -0
  31. package/dist/tenant.d.ts +138 -0
  32. package/dist/tenant.d.ts.map +1 -0
  33. package/dist/tenant.js +8 -0
  34. package/dist/theme.d.ts +115 -224
  35. package/dist/theme.d.ts.map +1 -1
  36. package/dist/ui-action.d.ts +126 -11
  37. package/dist/ui-action.d.ts.map +1 -1
  38. package/dist/views.d.ts +10 -0
  39. package/dist/views.d.ts.map +1 -1
  40. package/dist/widget.d.ts +181 -0
  41. package/dist/widget.d.ts.map +1 -0
  42. package/dist/widget.js +8 -0
  43. package/dist/workflow.d.ts +340 -0
  44. package/dist/workflow.d.ts.map +1 -0
  45. package/dist/workflow.js +8 -0
  46. package/dist/zod/complex.zod.d.ts +4 -4
  47. package/dist/zod/crud.zod.d.ts +5 -5
  48. package/dist/zod/feedback.zod.d.ts +10 -10
  49. package/dist/zod/form.zod.d.ts +4 -4
  50. package/dist/zod/index.zod.d.ts +323 -132
  51. package/dist/zod/index.zod.d.ts.map +1 -1
  52. package/dist/zod/index.zod.js +4 -4
  53. package/dist/zod/layout.zod.d.ts +132 -0
  54. package/dist/zod/layout.zod.d.ts.map +1 -1
  55. package/dist/zod/layout.zod.js +34 -0
  56. package/dist/zod/objectql.zod.d.ts +32 -16
  57. package/dist/zod/objectql.zod.d.ts.map +1 -1
  58. package/dist/zod/objectql.zod.js +8 -0
  59. package/dist/zod/reports.zod.d.ts +17 -17
  60. package/dist/zod/theme.zod.d.ts +947 -266
  61. package/dist/zod/theme.zod.d.ts.map +1 -1
  62. package/dist/zod/theme.zod.js +175 -45
  63. package/dist/zod/views.zod.d.ts +20 -20
  64. package/package.json +3 -2
  65. package/src/__tests__/namespace-exports.test.ts +24 -68
  66. package/src/__tests__/phase2-schemas.test.ts +8 -13
  67. package/src/ai.ts +454 -0
  68. package/src/app.ts +2 -2
  69. package/src/crud.ts +3 -0
  70. package/src/data-display.ts +31 -0
  71. package/src/data-protocol.ts +19 -19
  72. package/src/data.ts +81 -0
  73. package/src/designer.ts +509 -0
  74. package/src/form.ts +35 -1
  75. package/src/index.ts +220 -8
  76. package/src/layout.ts +66 -8
  77. package/src/mobile.ts +205 -0
  78. package/src/objectql.ts +403 -93
  79. package/src/permissions.ts +166 -0
  80. package/src/tenant.ts +153 -0
  81. package/src/theme.ts +147 -260
  82. package/src/ui-action.ts +166 -27
  83. package/src/views.ts +7 -0
  84. package/src/widget.ts +197 -0
  85. package/src/workflow.ts +409 -0
  86. package/src/zod/index.zod.ts +14 -3
  87. package/src/zod/layout.zod.ts +38 -0
  88. package/src/zod/objectql.zod.ts +8 -0
  89. package/src/zod/theme.zod.ts +189 -48
@@ -0,0 +1,181 @@
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 - Widget Manifest & Registry Types
10
+ *
11
+ * Defines the WidgetManifest interface for runtime widget registration,
12
+ * plugin auto-discovery from server metadata, and custom widget registry
13
+ * for user-defined components.
14
+ *
15
+ * @module widget
16
+ * @packageDocumentation
17
+ */
18
+ /**
19
+ * Widget manifest describing a runtime-loadable widget.
20
+ *
21
+ * A manifest provides all metadata needed to discover, load, and render
22
+ * a widget without requiring an upfront import of its code.
23
+ *
24
+ * @example
25
+ * ```ts
26
+ * const manifest: WidgetManifest = {
27
+ * name: 'custom-chart',
28
+ * version: '1.0.0',
29
+ * type: 'chart',
30
+ * label: 'Custom Chart Widget',
31
+ * description: 'A custom chart powered by D3.',
32
+ * category: 'data-visualization',
33
+ * icon: 'BarChart',
34
+ * source: { type: 'module', url: '/widgets/custom-chart.js' },
35
+ * };
36
+ * ```
37
+ */
38
+ export interface WidgetManifest {
39
+ /** Unique widget identifier (e.g., 'custom-chart', 'org.acme.table') */
40
+ name: string;
41
+ /** Semver version string */
42
+ version: string;
43
+ /** Component type key used for schema rendering (e.g., 'chart', 'grid') */
44
+ type: string;
45
+ /** Human-readable label for the widget */
46
+ label: string;
47
+ /** Short description of the widget */
48
+ description?: string;
49
+ /** Category for grouping in the designer palette */
50
+ category?: string;
51
+ /** Icon name (Lucide icon name) or SVG string */
52
+ icon?: string;
53
+ /** Thumbnail image URL for the designer palette */
54
+ thumbnail?: string;
55
+ /** Widget loading source configuration */
56
+ source: WidgetSource;
57
+ /** Required peer dependencies (e.g., { 'react': '^18.0.0' }) */
58
+ peerDependencies?: Record<string, string>;
59
+ /** Dependencies on other widgets by name */
60
+ dependencies?: string[];
61
+ /** Default props to apply when the widget is first dropped in the designer */
62
+ defaultProps?: Record<string, unknown>;
63
+ /** Input schema for the widget's configurable properties */
64
+ inputs?: WidgetInput[];
65
+ /** Whether the widget can contain child components */
66
+ isContainer?: boolean;
67
+ /** Widget capabilities */
68
+ capabilities?: WidgetCapabilities;
69
+ /** Additional metadata */
70
+ metadata?: Record<string, unknown>;
71
+ }
72
+ /**
73
+ * Describes how to load the widget's code at runtime.
74
+ */
75
+ export type WidgetSource = WidgetSourceModule | WidgetSourceInline | WidgetSourceRegistry;
76
+ /**
77
+ * Load from an ES module URL.
78
+ *
79
+ * ⚠️ SECURITY WARNING: Only use URLs from trusted sources.
80
+ * Never pass user-supplied URLs directly. URLs should be validated
81
+ * and controlled by your application. This feature uses dynamic imports
82
+ * which bypass static analysis and may be restricted by Content Security Policy.
83
+ */
84
+ export interface WidgetSourceModule {
85
+ type: 'module';
86
+ /**
87
+ * URL to the ES module (e.g., '/widgets/chart.js' or 'https://cdn.example.com/widget.mjs')
88
+ * Must be from a trusted source - never user input.
89
+ */
90
+ url: string;
91
+ /** Named export to use (default: 'default') */
92
+ exportName?: string;
93
+ }
94
+ /** The component is provided inline (already loaded) */
95
+ export interface WidgetSourceInline {
96
+ type: 'inline';
97
+ /** The React component (already resolved) */
98
+ component: unknown;
99
+ }
100
+ /** The component is registered in the global component registry */
101
+ export interface WidgetSourceRegistry {
102
+ type: 'registry';
103
+ /** The component type key in the registry */
104
+ registryKey: string;
105
+ }
106
+ /**
107
+ * Configurable input for a widget.
108
+ */
109
+ export interface WidgetInput {
110
+ /** Input field name (maps to prop name) */
111
+ name: string;
112
+ /** Input field type */
113
+ type: 'string' | 'number' | 'boolean' | 'enum' | 'array' | 'object' | 'color' | 'date' | 'code' | 'file' | 'slot';
114
+ /** Human-readable label */
115
+ label?: string;
116
+ /** Default value */
117
+ defaultValue?: unknown;
118
+ /** Whether this input is required */
119
+ required?: boolean;
120
+ /** Enum options (for type: 'enum') */
121
+ options?: string[] | Array<{
122
+ label: string;
123
+ value: unknown;
124
+ }>;
125
+ /** Help text */
126
+ description?: string;
127
+ /** Whether this is an advanced setting (hidden by default) */
128
+ advanced?: boolean;
129
+ }
130
+ /**
131
+ * Widget capabilities flag set.
132
+ */
133
+ export interface WidgetCapabilities {
134
+ /** Widget supports data binding via dataSource */
135
+ dataBinding?: boolean;
136
+ /** Widget supports real-time updates */
137
+ realTime?: boolean;
138
+ /** Widget supports export (PDF, CSV, etc.) */
139
+ export?: boolean;
140
+ /** Widget supports responsive sizing */
141
+ responsive?: boolean;
142
+ /** Widget supports theming */
143
+ themeable?: boolean;
144
+ /** Widget supports drag and drop */
145
+ draggable?: boolean;
146
+ /** Widget supports resize */
147
+ resizable?: boolean;
148
+ }
149
+ /**
150
+ * Resolved widget: a manifest with its loaded component.
151
+ */
152
+ export interface ResolvedWidget {
153
+ /** The original manifest */
154
+ manifest: WidgetManifest;
155
+ /** The loaded React component */
156
+ component: unknown;
157
+ /** Timestamp when the widget was loaded */
158
+ loadedAt: number;
159
+ }
160
+ /**
161
+ * Widget registry event types.
162
+ */
163
+ export type WidgetRegistryEvent = {
164
+ type: 'widget:registered';
165
+ widget: WidgetManifest;
166
+ } | {
167
+ type: 'widget:unregistered';
168
+ name: string;
169
+ } | {
170
+ type: 'widget:loaded';
171
+ widget: ResolvedWidget;
172
+ } | {
173
+ type: 'widget:error';
174
+ name: string;
175
+ error: Error;
176
+ };
177
+ /**
178
+ * Widget registry event listener.
179
+ */
180
+ export type WidgetRegistryListener = (event: WidgetRegistryEvent) => void;
181
+ //# sourceMappingURL=widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../src/widget.ts"],"names":[],"mappings":"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"}
package/dist/widget.js ADDED
@@ -0,0 +1,8 @@
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
+ export {};
@@ -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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"}
@@ -0,0 +1,8 @@
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
+ export {};
@@ -26,10 +26,10 @@ export declare const KanbanCardSchema: z.ZodObject<{
26
26
  assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
27
27
  dueDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>;
28
28
  priority: z.ZodOptional<z.ZodEnum<{
29
+ critical: "critical";
29
30
  low: "low";
30
31
  medium: "medium";
31
32
  high: "high";
32
- critical: "critical";
33
33
  }>>;
34
34
  content: 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>>>]>>;
35
35
  data: z.ZodOptional<z.ZodAny>;
@@ -48,10 +48,10 @@ export declare const KanbanColumnSchema: z.ZodObject<{
48
48
  assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
49
49
  dueDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>;
50
50
  priority: z.ZodOptional<z.ZodEnum<{
51
+ critical: "critical";
51
52
  low: "low";
52
53
  medium: "medium";
53
54
  high: "high";
54
- critical: "critical";
55
55
  }>>;
56
56
  content: 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>>>]>>;
57
57
  data: z.ZodOptional<z.ZodAny>;
@@ -94,10 +94,10 @@ export declare const KanbanSchema: z.ZodObject<{
94
94
  assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
95
95
  dueDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>;
96
96
  priority: z.ZodOptional<z.ZodEnum<{
97
+ critical: "critical";
97
98
  low: "low";
98
99
  medium: "medium";
99
100
  high: "high";
100
- critical: "critical";
101
101
  }>>;
102
102
  content: 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>>>]>>;
103
103
  data: z.ZodOptional<z.ZodAny>;
@@ -507,10 +507,10 @@ export declare const ComplexSchema: z.ZodUnion<readonly [z.ZodObject<{
507
507
  assignees: z.ZodOptional<z.ZodArray<z.ZodString>>;
508
508
  dueDate: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodDate]>>;
509
509
  priority: z.ZodOptional<z.ZodEnum<{
510
+ critical: "critical";
510
511
  low: "low";
511
512
  medium: "medium";
512
513
  high: "high";
513
- critical: "critical";
514
514
  }>>;
515
515
  content: 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>>>]>>;
516
516
  data: z.ZodOptional<z.ZodAny>;
@@ -29,9 +29,9 @@ export declare const ActionExecutionModeSchema: z.ZodEnum<{
29
29
  */
30
30
  export declare const ActionCallbackSchema: z.ZodObject<{
31
31
  type: z.ZodEnum<{
32
+ custom: "custom";
32
33
  dialog: "dialog";
33
34
  toast: "toast";
34
- custom: "custom";
35
35
  reload: "reload";
36
36
  message: "message";
37
37
  redirect: "redirect";
@@ -255,10 +255,10 @@ export declare const CRUDSchema: z.ZodObject<{
255
255
  loading: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
256
256
  loadingComponent: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
257
257
  mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
258
- kanban: "kanban";
259
258
  list: "list";
260
- table: "table";
261
259
  grid: "grid";
260
+ kanban: "kanban";
261
+ table: "table";
262
262
  }>>>;
263
263
  gridColumns: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
264
264
  cardTemplate: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
@@ -479,10 +479,10 @@ export declare const CRUDComponentSchema: z.ZodUnion<readonly [z.ZodType<any, un
479
479
  loading: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
480
480
  loadingComponent: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;
481
481
  mode: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
482
- kanban: "kanban";
483
482
  list: "list";
484
- table: "table";
485
483
  grid: "grid";
484
+ kanban: "kanban";
485
+ table: "table";
486
486
  }>>>;
487
487
  gridColumns: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
488
488
  cardTemplate: z.ZodOptional<z.ZodType<any, unknown, z.core.$ZodTypeInternals<any, unknown>>>;