@object-ui/types 3.0.3 → 3.1.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 (85) hide show
  1. package/dist/app.d.ts +217 -0
  2. package/dist/app.d.ts.map +1 -1
  3. package/dist/app.js +85 -1
  4. package/dist/complex.d.ts +118 -0
  5. package/dist/complex.d.ts.map +1 -1
  6. package/dist/data-display.d.ts +105 -1
  7. package/dist/data-display.d.ts.map +1 -1
  8. package/dist/data.d.ts +45 -0
  9. package/dist/data.d.ts.map +1 -1
  10. package/dist/designer.d.ts +197 -35
  11. package/dist/designer.d.ts.map +1 -1
  12. package/dist/designer.js +11 -1
  13. package/dist/index.d.ts +21 -10
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/layout.d.ts +39 -2
  17. package/dist/layout.d.ts.map +1 -1
  18. package/dist/navigation.d.ts +27 -0
  19. package/dist/navigation.d.ts.map +1 -1
  20. package/dist/objectql.d.ts +641 -7
  21. package/dist/objectql.d.ts.map +1 -1
  22. package/dist/record-components.d.ts +160 -0
  23. package/dist/record-components.d.ts.map +1 -0
  24. package/dist/record-components.js +8 -0
  25. package/dist/reports.d.ts +37 -0
  26. package/dist/reports.d.ts.map +1 -1
  27. package/dist/theme.d.ts +5 -0
  28. package/dist/theme.d.ts.map +1 -1
  29. package/dist/views.d.ts +257 -3
  30. package/dist/views.d.ts.map +1 -1
  31. package/dist/workflow.d.ts +198 -0
  32. package/dist/workflow.d.ts.map +1 -1
  33. package/dist/zod/app.zod.d.ts +42 -2
  34. package/dist/zod/app.zod.d.ts.map +1 -1
  35. package/dist/zod/app.zod.js +61 -1
  36. package/dist/zod/complex.zod.d.ts +122 -0
  37. package/dist/zod/complex.zod.d.ts.map +1 -1
  38. package/dist/zod/complex.zod.js +57 -0
  39. package/dist/zod/data-display.zod.d.ts +4 -0
  40. package/dist/zod/data-display.zod.d.ts.map +1 -1
  41. package/dist/zod/data-display.zod.js +2 -0
  42. package/dist/zod/form.zod.d.ts +6 -6
  43. package/dist/zod/index.zod.d.ts +364 -41
  44. package/dist/zod/index.zod.d.ts.map +1 -1
  45. package/dist/zod/index.zod.js +2 -2
  46. package/dist/zod/layout.zod.d.ts +6 -6
  47. package/dist/zod/navigation.zod.d.ts +58 -12
  48. package/dist/zod/navigation.zod.d.ts.map +1 -1
  49. package/dist/zod/navigation.zod.js +21 -9
  50. package/dist/zod/objectql.zod.d.ts +515 -27
  51. package/dist/zod/objectql.zod.d.ts.map +1 -1
  52. package/dist/zod/objectql.zod.js +162 -0
  53. package/dist/zod/reports.zod.d.ts +38 -38
  54. package/dist/zod/views.zod.d.ts +161 -7
  55. package/dist/zod/views.zod.d.ts.map +1 -1
  56. package/dist/zod/views.zod.js +21 -2
  57. package/package.json +2 -2
  58. package/src/__tests__/app-creation-types.test.ts +177 -0
  59. package/src/__tests__/dashboard-config.test.ts +208 -0
  60. package/src/__tests__/examples-metadata-compliance.test.ts +264 -0
  61. package/src/__tests__/navigation-model.test.ts +406 -0
  62. package/src/__tests__/p1-spec-alignment.test.ts +660 -0
  63. package/src/__tests__/p2-spec-exports.test.ts +312 -0
  64. package/src/__tests__/phase2-schemas.test.ts +108 -0
  65. package/src/app.ts +377 -0
  66. package/src/complex.ts +120 -0
  67. package/src/data-display.ts +107 -0
  68. package/src/data.ts +49 -0
  69. package/src/designer.ts +219 -30
  70. package/src/index.ts +192 -3
  71. package/src/layout.ts +55 -2
  72. package/src/navigation.ts +20 -0
  73. package/src/objectql.ts +757 -8
  74. package/src/record-components.ts +188 -0
  75. package/src/reports.ts +43 -0
  76. package/src/theme.ts +6 -0
  77. package/src/views.ts +275 -3
  78. package/src/workflow.ts +226 -0
  79. package/src/zod/app.zod.ts +74 -1
  80. package/src/zod/complex.zod.ts +59 -0
  81. package/src/zod/data-display.zod.ts +2 -0
  82. package/src/zod/index.zod.ts +5 -0
  83. package/src/zod/navigation.zod.ts +22 -10
  84. package/src/zod/objectql.zod.ts +167 -0
  85. package/src/zod/views.zod.ts +21 -2
@@ -1 +1 @@
1
- {"version":3,"file":"objectql.zod.d.ts","sourceRoot":"","sources":["../../src/zod/objectql.zod.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectql.zod.d.ts","sourceRoot":"","sources":["../../src/zod/objectql.zod.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,18 @@ export const ListColumnSchema = z.object({
67
67
  type: z.string().optional().describe('Renderer type override'),
68
68
  link: z.boolean().optional().describe('Functions as the primary navigation link (triggers View navigation)'),
69
69
  action: z.string().optional().describe('Registered Action ID to execute when clicked'),
70
+ pinned: z.enum(['left', 'right']).optional().describe('Pin column to left or right edge'),
71
+ summary: z.union([
72
+ z.string(),
73
+ z.object({
74
+ type: z.enum(['count', 'sum', 'avg', 'min', 'max']).describe('Aggregation type'),
75
+ field: z.string().optional().describe('Field to aggregate (defaults to column field)'),
76
+ }),
77
+ ]).optional().describe('Column footer summary/aggregation'),
78
+ prefix: z.object({
79
+ field: z.string().describe('Field name to render as prefix'),
80
+ type: z.enum(['badge', 'text']).optional().describe('Renderer type for the prefix'),
81
+ }).optional().describe('Prefix configuration for compound cell rendering (Airtable-style)'),
70
82
  });
71
83
  /**
72
84
  * Selection Config Schema
@@ -166,6 +178,7 @@ export const ObjectViewSchema = BaseSchema.extend({
166
178
  form: z.lazy(() => ObjectFormSchema.omit({ type: true, objectName: true, mode: true }).partial()).optional().describe('Form config'),
167
179
  showSearch: z.boolean().optional().describe('Show search'),
168
180
  showFilters: z.boolean().optional().describe('Show filters'),
181
+ showSort: z.boolean().optional().describe('Show sort controls'),
169
182
  showCreate: z.boolean().optional().describe('Show create button'),
170
183
  showRefresh: z.boolean().optional().describe('Show refresh button'),
171
184
  operations: z.object({
@@ -175,6 +188,45 @@ export const ObjectViewSchema = BaseSchema.extend({
175
188
  delete: z.boolean().optional(),
176
189
  }).optional().describe('Enabled operations'),
177
190
  });
191
+ /**
192
+ * User Filters — field-level filter option
193
+ */
194
+ const UserFilterOptionSchema = z.object({
195
+ label: z.string().describe('Option display label'),
196
+ value: z.union([z.string(), z.number(), z.boolean()]).describe('Option value'),
197
+ color: z.string().optional().describe('Option badge color'),
198
+ });
199
+ /**
200
+ * User Filters — field-level filter definition (dropdown & toggle modes)
201
+ */
202
+ const UserFilterFieldSchema = z.object({
203
+ field: z.string().describe('Field name to filter on'),
204
+ label: z.string().optional().describe('Display label'),
205
+ type: z.enum(['select', 'multi-select', 'boolean', 'date-range', 'text']).optional().describe('Filter input type'),
206
+ options: z.array(UserFilterOptionSchema).optional().describe('Static options'),
207
+ showCount: z.boolean().optional().describe('Show record count per option'),
208
+ defaultValues: z.array(z.union([z.string(), z.number(), z.boolean()])).optional().describe('Default selected values'),
209
+ });
210
+ /**
211
+ * User Filters — tab preset definition (tabs mode)
212
+ */
213
+ const UserFilterTabSchema = z.object({
214
+ id: z.string().describe('Unique tab identifier'),
215
+ label: z.string().describe('Tab display label'),
216
+ filters: z.array(z.union([z.array(z.any()), z.string()])).describe('Filter conditions'),
217
+ icon: z.string().optional().describe('Icon name'),
218
+ default: z.boolean().optional().describe('Default active tab'),
219
+ });
220
+ /**
221
+ * User Filters Configuration Schema (Airtable Interfaces-style)
222
+ */
223
+ const UserFiltersSchema = z.object({
224
+ element: z.enum(['dropdown', 'tabs', 'toggle']).describe('UI element type'),
225
+ fields: z.array(UserFilterFieldSchema).optional().describe('Field-level filters'),
226
+ tabs: z.array(UserFilterTabSchema).optional().describe('Named filter presets'),
227
+ allowAddTab: z.boolean().optional().describe('Allow adding new tabs'),
228
+ showAllRecords: z.boolean().optional().describe('Show All records tab'),
229
+ });
178
230
  /**
179
231
  * ListView Schema
180
232
  */
@@ -186,6 +238,105 @@ export const ListViewSchema = BaseSchema.extend({
186
238
  filters: z.array(z.union([z.array(z.any()), z.string()])).optional().describe('Filter conditions'),
187
239
  sort: z.array(SortConfigSchema).optional().describe('Sort order'),
188
240
  options: z.record(z.string(), z.any()).optional().describe('Component overrides'),
241
+ userFilters: UserFiltersSchema.optional().describe('User filters configuration'),
242
+ showSearch: z.boolean().optional().describe('Show search in toolbar'),
243
+ showSort: z.boolean().optional().describe('Show sort controls in toolbar'),
244
+ showFilters: z.boolean().optional().describe('Show filter controls in toolbar'),
245
+ showHideFields: z.boolean().optional().describe('Show hide-fields button in toolbar'),
246
+ showGroup: z.boolean().optional().describe('Show group button in toolbar'),
247
+ showColor: z.boolean().optional().describe('Show color button in toolbar'),
248
+ showDensity: z.boolean().optional().describe('Show density/row-height button in toolbar'),
249
+ allowExport: z.boolean().optional().describe('Allow data export'),
250
+ striped: z.boolean().optional().describe('Alternating row colors'),
251
+ bordered: z.boolean().optional().describe('Show cell borders'),
252
+ color: z.string().optional().describe('Color field for row/card coloring'),
253
+ inlineEdit: z.boolean().optional().describe('Enable inline editing'),
254
+ wrapHeaders: z.boolean().optional().describe('Wrap column headers'),
255
+ clickIntoRecordDetails: z.boolean().optional().describe('Navigate to detail on row click'),
256
+ addRecordViaForm: z.boolean().optional().describe('Add records via form dialog'),
257
+ addDeleteRecordsInline: z.boolean().optional().describe('Enable inline add/delete'),
258
+ collapseAllByDefault: z.boolean().optional().describe('Collapse all groups by default'),
259
+ fieldTextColor: z.string().optional().describe('Field for custom text color'),
260
+ prefixField: z.string().optional().describe('Prefix field before title'),
261
+ showDescription: z.boolean().optional().describe('Show field descriptions'),
262
+ navigation: z.object({
263
+ mode: z.enum(['page', 'drawer', 'modal', 'split', 'popover', 'new_window', 'none']),
264
+ view: z.string().optional(),
265
+ preventNavigation: z.boolean().optional(),
266
+ openNewTab: z.boolean().optional(),
267
+ width: z.union([z.string(), z.number()]).optional(),
268
+ }).optional().describe('Navigation configuration'),
269
+ selection: z.object({
270
+ type: z.enum(['none', 'single', 'multiple']),
271
+ }).optional().describe('Row selection mode'),
272
+ pagination: z.object({
273
+ pageSize: z.number(),
274
+ pageSizeOptions: z.array(z.number()).optional(),
275
+ }).optional().describe('Pagination configuration'),
276
+ searchableFields: z.array(z.string()).optional().describe('Searchable fields'),
277
+ filterableFields: z.array(z.string()).optional().describe('Filterable fields'),
278
+ resizable: z.boolean().optional().describe('Allow column resizing'),
279
+ densityMode: z.enum(['compact', 'comfortable', 'spacious']).optional().describe('Density mode'),
280
+ rowHeight: z.enum(['compact', 'short', 'medium', 'tall', 'extra_tall']).optional().describe('Row height'),
281
+ hiddenFields: z.array(z.string()).optional().describe('Hidden fields'),
282
+ exportOptions: z.union([
283
+ z.array(z.enum(['csv', 'xlsx', 'json', 'pdf'])),
284
+ z.object({
285
+ formats: z.array(z.enum(['csv', 'xlsx', 'json', 'pdf'])).optional(),
286
+ maxRecords: z.number().optional(),
287
+ includeHeaders: z.boolean().optional(),
288
+ fileNamePrefix: z.string().optional(),
289
+ }),
290
+ ]).optional().describe('Export options'),
291
+ rowActions: z.array(z.string()).optional().describe('Row action identifiers'),
292
+ bulkActions: z.array(z.string()).optional().describe('Bulk action identifiers'),
293
+ sharing: z.object({
294
+ visibility: z.enum(['private', 'team', 'organization', 'public']).optional(),
295
+ enabled: z.boolean().optional(),
296
+ type: z.enum(['personal', 'collaborative']).optional(),
297
+ lockedBy: z.string().optional(),
298
+ }).optional().describe('Sharing configuration'),
299
+ addRecord: z.object({
300
+ enabled: z.boolean().optional(),
301
+ position: z.string().optional(),
302
+ mode: z.string().optional(),
303
+ formView: z.string().optional(),
304
+ }).optional().describe('Add record configuration'),
305
+ conditionalFormatting: z.array(z.union([
306
+ z.object({
307
+ field: z.string(),
308
+ operator: z.enum(['equals', 'not_equals', 'contains', 'greater_than', 'less_than', 'in']),
309
+ value: z.any(),
310
+ backgroundColor: z.string().optional(),
311
+ textColor: z.string().optional(),
312
+ borderColor: z.string().optional(),
313
+ expression: z.string().optional(),
314
+ }),
315
+ z.object({
316
+ condition: z.string(),
317
+ style: z.record(z.string(), z.string()),
318
+ }),
319
+ ])).optional().describe('Conditional formatting rules'),
320
+ quickFilters: z.array(z.object({
321
+ id: z.string(),
322
+ label: z.string(),
323
+ filters: z.array(z.union([z.array(z.any()), z.string()])),
324
+ icon: z.string().optional(),
325
+ defaultActive: z.boolean().optional(),
326
+ })).optional().describe('Quick filter presets'),
327
+ showRecordCount: z.boolean().optional().describe('Show total record count'),
328
+ allowPrinting: z.boolean().optional().describe('Allow printing'),
329
+ virtualScroll: z.boolean().optional().describe('Enable virtual scrolling'),
330
+ emptyState: z.object({
331
+ title: z.string().optional(),
332
+ message: z.string().optional(),
333
+ icon: z.string().optional(),
334
+ }).optional().describe('Empty state configuration'),
335
+ aria: z.object({
336
+ label: z.string().optional(),
337
+ describedBy: z.string().optional(),
338
+ live: z.enum(['polite', 'assertive', 'off']).optional(),
339
+ }).optional().describe('ARIA attributes'),
189
340
  });
190
341
  /**
191
342
  * ObjectMap Schema
@@ -222,12 +373,23 @@ export const ObjectCalendarSchema = BaseSchema.extend({
222
373
  /**
223
374
  * ObjectKanban Schema
224
375
  */
376
+ const KanbanConditionalFormattingRuleSchema = z.object({
377
+ field: z.string().describe('Field name to check'),
378
+ operator: z.enum(['equals', 'not_equals', 'contains', 'in']).describe('Comparison operator'),
379
+ value: z.union([z.string(), z.array(z.string())]).describe('Value to compare against'),
380
+ backgroundColor: z.string().optional().describe('Background color'),
381
+ borderColor: z.string().optional().describe('Border color'),
382
+ });
225
383
  export const ObjectKanbanSchema = BaseSchema.extend({
226
384
  type: z.literal('object-kanban'),
227
385
  objectName: z.string().describe('ObjectQL object name'),
228
386
  groupField: z.string().describe('Group field'),
229
387
  titleField: z.string().optional().describe('Title field'),
230
388
  cardFields: z.array(z.string()).optional().describe('Card fields'),
389
+ quickAdd: z.boolean().optional().describe('Enable Quick Add button at column bottom'),
390
+ coverImageField: z.string().optional().describe('Field name for cover image on cards'),
391
+ allowCollapse: z.boolean().optional().describe('Allow columns to collapse/expand'),
392
+ conditionalFormatting: z.array(KanbanConditionalFormattingRuleSchema).optional().describe('Card conditional formatting rules'),
231
393
  });
232
394
  /**
233
395
  * ObjectChart Schema
@@ -21,9 +21,9 @@ import { z } from 'zod';
21
21
  export declare const ReportExportFormatSchema: z.ZodEnum<{
22
22
  html: "html";
23
23
  json: "json";
24
+ csv: "csv";
24
25
  pdf: "pdf";
25
26
  excel: "excel";
26
- csv: "csv";
27
27
  }>;
28
28
  /**
29
29
  * Report Schedule Frequency Schema
@@ -42,8 +42,8 @@ export declare const ReportScheduleFrequencySchema: z.ZodEnum<{
42
42
  export declare const ReportAggregationTypeSchema: z.ZodEnum<{
43
43
  min: "min";
44
44
  max: "max";
45
- count: "count";
46
45
  sum: "sum";
46
+ count: "count";
47
47
  avg: "avg";
48
48
  distinct: "distinct";
49
49
  }>;
@@ -62,8 +62,8 @@ export declare const ReportFieldSchema: z.ZodObject<{
62
62
  aggregation: z.ZodOptional<z.ZodEnum<{
63
63
  min: "min";
64
64
  max: "max";
65
- count: "count";
66
65
  sum: "sum";
66
+ count: "count";
67
67
  avg: "avg";
68
68
  distinct: "distinct";
69
69
  }>>;
@@ -169,8 +169,8 @@ export declare const ReportSectionSchema: z.ZodObject<{
169
169
  aggregation: z.ZodOptional<z.ZodEnum<{
170
170
  min: "min";
171
171
  max: "max";
172
- count: "count";
173
172
  sum: "sum";
173
+ count: "count";
174
174
  avg: "avg";
175
175
  distinct: "distinct";
176
176
  }>>;
@@ -204,9 +204,9 @@ export declare const ReportScheduleSchema: z.ZodObject<{
204
204
  formats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
205
205
  html: "html";
206
206
  json: "json";
207
+ csv: "csv";
207
208
  pdf: "pdf";
208
209
  excel: "excel";
209
- csv: "csv";
210
210
  }>>>;
211
211
  }, z.core.$strip>;
212
212
  /**
@@ -216,9 +216,9 @@ export declare const ReportExportConfigSchema: z.ZodObject<{
216
216
  format: z.ZodEnum<{
217
217
  html: "html";
218
218
  json: "json";
219
+ csv: "csv";
219
220
  pdf: "pdf";
220
221
  excel: "excel";
221
- csv: "csv";
222
222
  }>;
223
223
  filename: z.ZodOptional<z.ZodString>;
224
224
  includeHeaders: z.ZodOptional<z.ZodBoolean>;
@@ -270,8 +270,8 @@ export declare const ReportSchema: z.ZodObject<{
270
270
  aggregation: z.ZodOptional<z.ZodEnum<{
271
271
  min: "min";
272
272
  max: "max";
273
- count: "count";
274
273
  sum: "sum";
274
+ count: "count";
275
275
  avg: "avg";
276
276
  distinct: "distinct";
277
277
  }>>;
@@ -368,8 +368,8 @@ export declare const ReportSchema: z.ZodObject<{
368
368
  aggregation: z.ZodOptional<z.ZodEnum<{
369
369
  min: "min";
370
370
  max: "max";
371
- count: "count";
372
371
  sum: "sum";
372
+ count: "count";
373
373
  avg: "avg";
374
374
  distinct: "distinct";
375
375
  }>>;
@@ -400,25 +400,25 @@ export declare const ReportSchema: z.ZodObject<{
400
400
  formats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
401
401
  html: "html";
402
402
  json: "json";
403
+ csv: "csv";
403
404
  pdf: "pdf";
404
405
  excel: "excel";
405
- csv: "csv";
406
406
  }>>>;
407
407
  }, z.core.$strip>>;
408
408
  defaultExportFormat: z.ZodOptional<z.ZodEnum<{
409
409
  html: "html";
410
410
  json: "json";
411
+ csv: "csv";
411
412
  pdf: "pdf";
412
413
  excel: "excel";
413
- csv: "csv";
414
414
  }>>;
415
415
  exportConfigs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
416
416
  format: z.ZodEnum<{
417
417
  html: "html";
418
418
  json: "json";
419
+ csv: "csv";
419
420
  pdf: "pdf";
420
421
  excel: "excel";
421
- csv: "csv";
422
422
  }>;
423
423
  filename: z.ZodOptional<z.ZodString>;
424
424
  includeHeaders: z.ZodOptional<z.ZodBoolean>;
@@ -497,8 +497,8 @@ export declare const ReportBuilderSchema: z.ZodObject<{
497
497
  aggregation: z.ZodOptional<z.ZodEnum<{
498
498
  min: "min";
499
499
  max: "max";
500
- count: "count";
501
500
  sum: "sum";
501
+ count: "count";
502
502
  avg: "avg";
503
503
  distinct: "distinct";
504
504
  }>>;
@@ -595,8 +595,8 @@ export declare const ReportBuilderSchema: z.ZodObject<{
595
595
  aggregation: z.ZodOptional<z.ZodEnum<{
596
596
  min: "min";
597
597
  max: "max";
598
- count: "count";
599
598
  sum: "sum";
599
+ count: "count";
600
600
  avg: "avg";
601
601
  distinct: "distinct";
602
602
  }>>;
@@ -627,25 +627,25 @@ export declare const ReportBuilderSchema: z.ZodObject<{
627
627
  formats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
628
628
  html: "html";
629
629
  json: "json";
630
+ csv: "csv";
630
631
  pdf: "pdf";
631
632
  excel: "excel";
632
- csv: "csv";
633
633
  }>>>;
634
634
  }, z.core.$strip>>;
635
635
  defaultExportFormat: z.ZodOptional<z.ZodEnum<{
636
636
  html: "html";
637
637
  json: "json";
638
+ csv: "csv";
638
639
  pdf: "pdf";
639
640
  excel: "excel";
640
- csv: "csv";
641
641
  }>>;
642
642
  exportConfigs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
643
643
  format: z.ZodEnum<{
644
644
  html: "html";
645
645
  json: "json";
646
+ csv: "csv";
646
647
  pdf: "pdf";
647
648
  excel: "excel";
648
- csv: "csv";
649
649
  }>;
650
650
  filename: z.ZodOptional<z.ZodString>;
651
651
  includeHeaders: z.ZodOptional<z.ZodBoolean>;
@@ -681,8 +681,8 @@ export declare const ReportBuilderSchema: z.ZodObject<{
681
681
  aggregation: z.ZodOptional<z.ZodEnum<{
682
682
  min: "min";
683
683
  max: "max";
684
- count: "count";
685
684
  sum: "sum";
685
+ count: "count";
686
686
  avg: "avg";
687
687
  distinct: "distinct";
688
688
  }>>;
@@ -749,8 +749,8 @@ export declare const ReportViewerSchema: z.ZodObject<{
749
749
  aggregation: z.ZodOptional<z.ZodEnum<{
750
750
  min: "min";
751
751
  max: "max";
752
- count: "count";
753
752
  sum: "sum";
753
+ count: "count";
754
754
  avg: "avg";
755
755
  distinct: "distinct";
756
756
  }>>;
@@ -847,8 +847,8 @@ export declare const ReportViewerSchema: z.ZodObject<{
847
847
  aggregation: z.ZodOptional<z.ZodEnum<{
848
848
  min: "min";
849
849
  max: "max";
850
- count: "count";
851
850
  sum: "sum";
851
+ count: "count";
852
852
  avg: "avg";
853
853
  distinct: "distinct";
854
854
  }>>;
@@ -879,25 +879,25 @@ export declare const ReportViewerSchema: z.ZodObject<{
879
879
  formats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
880
880
  html: "html";
881
881
  json: "json";
882
+ csv: "csv";
882
883
  pdf: "pdf";
883
884
  excel: "excel";
884
- csv: "csv";
885
885
  }>>>;
886
886
  }, z.core.$strip>>;
887
887
  defaultExportFormat: z.ZodOptional<z.ZodEnum<{
888
888
  html: "html";
889
889
  json: "json";
890
+ csv: "csv";
890
891
  pdf: "pdf";
891
892
  excel: "excel";
892
- csv: "csv";
893
893
  }>>;
894
894
  exportConfigs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
895
895
  format: z.ZodEnum<{
896
896
  html: "html";
897
897
  json: "json";
898
+ csv: "csv";
898
899
  pdf: "pdf";
899
900
  excel: "excel";
900
- csv: "csv";
901
901
  }>;
902
902
  filename: z.ZodOptional<z.ZodString>;
903
903
  includeHeaders: z.ZodOptional<z.ZodBoolean>;
@@ -962,8 +962,8 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
962
962
  aggregation: z.ZodOptional<z.ZodEnum<{
963
963
  min: "min";
964
964
  max: "max";
965
- count: "count";
966
965
  sum: "sum";
966
+ count: "count";
967
967
  avg: "avg";
968
968
  distinct: "distinct";
969
969
  }>>;
@@ -1060,8 +1060,8 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1060
1060
  aggregation: z.ZodOptional<z.ZodEnum<{
1061
1061
  min: "min";
1062
1062
  max: "max";
1063
- count: "count";
1064
1063
  sum: "sum";
1064
+ count: "count";
1065
1065
  avg: "avg";
1066
1066
  distinct: "distinct";
1067
1067
  }>>;
@@ -1092,25 +1092,25 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1092
1092
  formats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1093
1093
  html: "html";
1094
1094
  json: "json";
1095
+ csv: "csv";
1095
1096
  pdf: "pdf";
1096
1097
  excel: "excel";
1097
- csv: "csv";
1098
1098
  }>>>;
1099
1099
  }, z.core.$strip>>;
1100
1100
  defaultExportFormat: z.ZodOptional<z.ZodEnum<{
1101
1101
  html: "html";
1102
1102
  json: "json";
1103
+ csv: "csv";
1103
1104
  pdf: "pdf";
1104
1105
  excel: "excel";
1105
- csv: "csv";
1106
1106
  }>>;
1107
1107
  exportConfigs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1108
1108
  format: z.ZodEnum<{
1109
1109
  html: "html";
1110
1110
  json: "json";
1111
+ csv: "csv";
1111
1112
  pdf: "pdf";
1112
1113
  excel: "excel";
1113
- csv: "csv";
1114
1114
  }>;
1115
1115
  filename: z.ZodOptional<z.ZodString>;
1116
1116
  includeHeaders: z.ZodOptional<z.ZodBoolean>;
@@ -1185,8 +1185,8 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1185
1185
  aggregation: z.ZodOptional<z.ZodEnum<{
1186
1186
  min: "min";
1187
1187
  max: "max";
1188
- count: "count";
1189
1188
  sum: "sum";
1189
+ count: "count";
1190
1190
  avg: "avg";
1191
1191
  distinct: "distinct";
1192
1192
  }>>;
@@ -1283,8 +1283,8 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1283
1283
  aggregation: z.ZodOptional<z.ZodEnum<{
1284
1284
  min: "min";
1285
1285
  max: "max";
1286
- count: "count";
1287
1286
  sum: "sum";
1287
+ count: "count";
1288
1288
  avg: "avg";
1289
1289
  distinct: "distinct";
1290
1290
  }>>;
@@ -1315,25 +1315,25 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1315
1315
  formats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1316
1316
  html: "html";
1317
1317
  json: "json";
1318
+ csv: "csv";
1318
1319
  pdf: "pdf";
1319
1320
  excel: "excel";
1320
- csv: "csv";
1321
1321
  }>>>;
1322
1322
  }, z.core.$strip>>;
1323
1323
  defaultExportFormat: z.ZodOptional<z.ZodEnum<{
1324
1324
  html: "html";
1325
1325
  json: "json";
1326
+ csv: "csv";
1326
1327
  pdf: "pdf";
1327
1328
  excel: "excel";
1328
- csv: "csv";
1329
1329
  }>>;
1330
1330
  exportConfigs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1331
1331
  format: z.ZodEnum<{
1332
1332
  html: "html";
1333
1333
  json: "json";
1334
+ csv: "csv";
1334
1335
  pdf: "pdf";
1335
1336
  excel: "excel";
1336
- csv: "csv";
1337
1337
  }>;
1338
1338
  filename: z.ZodOptional<z.ZodString>;
1339
1339
  includeHeaders: z.ZodOptional<z.ZodBoolean>;
@@ -1369,8 +1369,8 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1369
1369
  aggregation: z.ZodOptional<z.ZodEnum<{
1370
1370
  min: "min";
1371
1371
  max: "max";
1372
- count: "count";
1373
1372
  sum: "sum";
1373
+ count: "count";
1374
1374
  avg: "avg";
1375
1375
  distinct: "distinct";
1376
1376
  }>>;
@@ -1433,8 +1433,8 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1433
1433
  aggregation: z.ZodOptional<z.ZodEnum<{
1434
1434
  min: "min";
1435
1435
  max: "max";
1436
- count: "count";
1437
1436
  sum: "sum";
1437
+ count: "count";
1438
1438
  avg: "avg";
1439
1439
  distinct: "distinct";
1440
1440
  }>>;
@@ -1531,8 +1531,8 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1531
1531
  aggregation: z.ZodOptional<z.ZodEnum<{
1532
1532
  min: "min";
1533
1533
  max: "max";
1534
- count: "count";
1535
1534
  sum: "sum";
1535
+ count: "count";
1536
1536
  avg: "avg";
1537
1537
  distinct: "distinct";
1538
1538
  }>>;
@@ -1563,25 +1563,25 @@ export declare const ReportComponentSchema: z.ZodDiscriminatedUnion<[z.ZodObject
1563
1563
  formats: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1564
1564
  html: "html";
1565
1565
  json: "json";
1566
+ csv: "csv";
1566
1567
  pdf: "pdf";
1567
1568
  excel: "excel";
1568
- csv: "csv";
1569
1569
  }>>>;
1570
1570
  }, z.core.$strip>>;
1571
1571
  defaultExportFormat: z.ZodOptional<z.ZodEnum<{
1572
1572
  html: "html";
1573
1573
  json: "json";
1574
+ csv: "csv";
1574
1575
  pdf: "pdf";
1575
1576
  excel: "excel";
1576
- csv: "csv";
1577
1577
  }>>;
1578
1578
  exportConfigs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
1579
1579
  format: z.ZodEnum<{
1580
1580
  html: "html";
1581
1581
  json: "json";
1582
+ csv: "csv";
1582
1583
  pdf: "pdf";
1583
1584
  excel: "excel";
1584
- csv: "csv";
1585
1585
  }>;
1586
1586
  filename: z.ZodOptional<z.ZodString>;
1587
1587
  includeHeaders: z.ZodOptional<z.ZodBoolean>;