@dotdo/do 0.1.1 → 0.1.2

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.
@@ -1,751 +1,11 @@
1
1
  /**
2
- * MDXUI Type Re-exports and Adapters
2
+ * MDXUI Type Re-exports
3
3
  *
4
4
  * DO entities ARE the props for MDXUI components.
5
- * This file re-exports MDXUI Zod schemas for use in DO.
6
- *
7
- * Key insight: Instead of reinventing types, we reuse MDXUI's
8
- * well-designed, feature-based composition patterns.
9
- *
10
- * Usage:
11
- * ```typescript
12
- * import { AppPropsSchema, SitePropsSchema, DashboardPropsSchema } from 'do/types/mdxui'
13
- * ```
5
+ * mdxui is the source of truth - we re-export from there.
14
6
  *
15
7
  * @see https://mdxui.dev for component documentation
16
8
  */
17
- // =============================================================================
18
- // NOTE: These are reference types for the MDXUI package.
19
- // In production, import directly from 'mdxui' or 'mdxui/app', 'mdxui/site'.
20
- // These local definitions ensure DO types align with MDXUI expectations.
21
- // =============================================================================
22
- import { z } from 'zod';
23
- export const NavItemSchema = z.object({
24
- label: z.string(),
25
- href: z.string(),
26
- icon: z.string().optional(),
27
- description: z.string().optional(),
28
- children: z.lazy(() => z.array(NavItemSchema)).optional(),
29
- });
30
- /**
31
- * Theme mode options
32
- */
33
- export const ThemeModeSchema = z.enum(['light', 'dark', 'system']);
34
- /**
35
- * Action configuration for behavior props
36
- */
37
- export const ActionConfigSchema = z.object({
38
- kind: z.literal('config').optional(),
39
- href: z.string(),
40
- onClick: z.function().optional(),
41
- target: z.enum(['_blank', '_self']).optional(),
42
- });
43
- /**
44
- * Action prop - string shorthand or full config
45
- */
46
- export const ActionPropSchema = z.union([z.string(), ActionConfigSchema]);
47
- /**
48
- * Standard actions object for primary/secondary CTAs
49
- */
50
- export const ActionsPropsSchema = z.object({
51
- primary: ActionPropSchema.optional(),
52
- secondary: ActionPropSchema.optional(),
53
- });
54
- // =============================================================================
55
- // App Schemas (from mdxui/app)
56
- // =============================================================================
57
- /**
58
- * Base App schema - foundation for all app types
59
- */
60
- export const BaseAppSchema = z.object({
61
- name: z.string().describe('Display name of the application'),
62
- description: z.string().optional().describe('Brief description of the application'),
63
- defaultViews: z.array(z.string()).optional().describe('Default views/pages to include'),
64
- defaultPanels: z.array(z.string()).optional().describe('Default panels/widgets to display'),
65
- navigation: z.array(NavItemSchema).optional().describe('Navigation items for sidebar'),
66
- shell: z
67
- .object({
68
- sidebar: z.boolean().default(true),
69
- header: z.boolean().default(true),
70
- sidebarCollapsed: z.boolean().default(false),
71
- })
72
- .optional(),
73
- theme: z
74
- .object({
75
- preset: z.string().optional(),
76
- mode: ThemeModeSchema.optional(),
77
- custom: z.record(z.string(), z.string()).optional(),
78
- })
79
- .optional(),
80
- });
81
- /**
82
- * Auth provider options
83
- */
84
- export const AuthProviderSchema = z.enum(['workos', 'clerk', 'auth0', 'custom']);
85
- /**
86
- * App root container props
87
- */
88
- export const AppPropsSchema = z.object({
89
- name: z.string(),
90
- auth: z
91
- .object({
92
- provider: AuthProviderSchema,
93
- clientId: z.string().optional(),
94
- loginUrl: z.string().optional(),
95
- redirectUri: z.string().optional(),
96
- })
97
- .optional(),
98
- children: z.any().optional(),
99
- });
100
- /**
101
- * Shell props - app layout
102
- */
103
- export const ShellPropsSchema = z.object({
104
- sidebar: z.boolean().default(true),
105
- header: z.boolean().default(true),
106
- sidebarCollapsed: z.boolean().default(false),
107
- children: z.any().optional(),
108
- });
109
- /**
110
- * Dashboard props
111
- */
112
- export const DashboardPropsSchema = z.object({
113
- title: z.string().optional(),
114
- metrics: z
115
- .array(z.object({
116
- label: z.string(),
117
- value: z.union([z.string(), z.number()]),
118
- change: z.number().optional(),
119
- trend: z.enum(['up', 'down', 'neutral']).optional(),
120
- }))
121
- .optional(),
122
- children: z.any().optional(),
123
- });
124
- /**
125
- * Dashboard identity/auth configuration
126
- */
127
- export const DashboardIdentitySchema = z.object({
128
- clientId: z.string(),
129
- apiHostname: z.string().optional(),
130
- devMode: z.boolean().default(false),
131
- redirectUri: z.string().optional(),
132
- useMockWidgets: z.boolean().default(false),
133
- required: z.boolean().default(true),
134
- onUnauthenticated: z.enum(['redirect', 'landing', 'allow']).default('landing'),
135
- });
136
- /**
137
- * Dashboard branding
138
- */
139
- export const DashboardBrandingSchema = z.object({
140
- name: z.string().optional(),
141
- logo: z.any().optional(),
142
- });
143
- /**
144
- * Dashboard routes toggle
145
- */
146
- export const DashboardRoutesSchema = z.object({
147
- overview: z.boolean().default(true),
148
- requests: z.boolean().default(true),
149
- keys: z.boolean().default(true),
150
- team: z.boolean().default(true),
151
- billing: z.boolean().default(true),
152
- settings: z.boolean().default(true),
153
- webhooks: z.boolean().default(false),
154
- database: z.boolean().default(false),
155
- integrations: z.boolean().default(false),
156
- vault: z.boolean().default(false),
157
- });
158
- /**
159
- * Custom route schema
160
- */
161
- export const CustomRouteSchema = z.object({
162
- path: z.string(),
163
- label: z.string(),
164
- icon: z.string().optional(),
165
- element: z.any(),
166
- group: z.enum(['main', 'secondary', 'admin']).default('main'),
167
- order: z.number().optional(),
168
- index: z.boolean().optional(),
169
- });
170
- /**
171
- * Developer Dashboard props
172
- */
173
- export const DeveloperDashboardPropsSchema = z.object({
174
- basePath: z.string().default('/'),
175
- branding: DashboardBrandingSchema.optional(),
176
- routes: DashboardRoutesSchema.optional(),
177
- customRoutes: z.array(CustomRouteSchema).optional(),
178
- theme: z
179
- .object({
180
- preset: z.string().optional(),
181
- mode: ThemeModeSchema.optional(),
182
- custom: z.record(z.string(), z.string()).optional(),
183
- })
184
- .optional(),
185
- identity: DashboardIdentitySchema.optional(),
186
- devToken: z.string().optional(),
187
- debug: z.boolean().optional(),
188
- });
189
- // =============================================================================
190
- // Site Schemas (from mdxui/site)
191
- // =============================================================================
192
- /**
193
- * Site root container props
194
- */
195
- export const SitePropsSchema = z.object({
196
- name: z.string(),
197
- domain: z.string().optional(),
198
- theme: ThemeModeSchema.default('system'),
199
- children: z.any(),
200
- });
201
- /**
202
- * Header props
203
- */
204
- export const HeaderPropsSchema = z.object({
205
- logo: z.any(),
206
- nav: z.array(NavItemSchema),
207
- callToAction: z.string().optional(),
208
- actions: ActionsPropsSchema.optional(),
209
- LinkComponent: z.any().optional(),
210
- });
211
- /**
212
- * Footer link group
213
- */
214
- export const FooterLinkGroupSchema = z.object({
215
- title: z.string(),
216
- links: z.array(z.object({
217
- label: z.string(),
218
- href: z.string(),
219
- })),
220
- });
221
- /**
222
- * Footer props
223
- */
224
- export const FooterPropsSchema = z.object({
225
- logo: z.any(),
226
- links: z.array(FooterLinkGroupSchema),
227
- social: z
228
- .array(z.object({
229
- platform: z.string(),
230
- href: z.string(),
231
- icon: z.any().optional(),
232
- }))
233
- .optional(),
234
- copyright: z.string().optional(),
235
- newsletter: z
236
- .object({
237
- headline: z.string(),
238
- subheadline: z.string(),
239
- })
240
- .optional(),
241
- });
242
- /**
243
- * Landing page props
244
- */
245
- export const LandingPagePropsSchema = z.object({
246
- children: z.any(),
247
- });
248
- /**
249
- * Generic page props
250
- */
251
- export const PagePropsSchema = z.object({
252
- title: z.string().optional(),
253
- description: z.string().optional(),
254
- children: z.any(),
255
- });
256
- // =============================================================================
257
- // Section Schemas (from mdxui/site/props/sections)
258
- // =============================================================================
259
- /**
260
- * Hero section props
261
- */
262
- export const HeroPropsSchema = z.object({
263
- title: z.string().describe('Main hero headline'),
264
- subtitle: z.string().optional().describe('Supporting subheadline'),
265
- badge: z.string().optional().describe('Badge or tag above headline'),
266
- callToAction: z.string().describe('Primary button text'),
267
- secondaryCallToAction: z.string().optional().describe('Secondary button text'),
268
- variant: z.enum(['default', 'centered', 'split', 'code-below', 'video-beside', 'image-split']).default('default'),
269
- image: z.string().optional(),
270
- video: z.string().optional(),
271
- screenshot: z.string().optional(),
272
- code: z
273
- .object({
274
- language: z.string(),
275
- code: z.string(),
276
- })
277
- .optional(),
278
- actions: ActionsPropsSchema.optional(),
279
- });
280
- /**
281
- * Feature item schema
282
- */
283
- export const FeatureItemSchema = z.object({
284
- title: z.string().describe('Feature name or title'),
285
- description: z.string().describe('Feature description'),
286
- icon: z.any().optional(),
287
- actions: z.object({ link: ActionPropSchema.optional() }).optional(),
288
- });
289
- /**
290
- * Features section props
291
- */
292
- export const FeaturesPropsSchema = z.object({
293
- title: z.string().optional(),
294
- description: z.string().optional(),
295
- features: z.array(FeatureItemSchema),
296
- variant: z.enum(['grid', 'list', 'bento']).default('grid'),
297
- columns: z.number().default(3),
298
- });
299
- /**
300
- * Pricing tier schema
301
- */
302
- export const PricingTierSchema = z.object({
303
- name: z.string().describe('Tier name like "Starter", "Pro", "Enterprise"'),
304
- price: z.string().describe('Price display string'),
305
- description: z.string().optional(),
306
- features: z.array(z.string()),
307
- callToAction: z.string(),
308
- highlighted: z.boolean().default(false),
309
- actions: ActionsPropsSchema.optional(),
310
- });
311
- /**
312
- * Pricing section props
313
- */
314
- export const PricingPropsSchema = z.object({
315
- title: z.string().optional(),
316
- description: z.string().optional(),
317
- tiers: z.array(PricingTierSchema),
318
- showToggle: z.boolean().default(false),
319
- variant: z.enum(['cards', 'comparison-table', 'toggle']).default('cards'),
320
- });
321
- /**
322
- * Testimonial schema
323
- */
324
- export const TestimonialSchema = z.object({
325
- quote: z.string(),
326
- author: z.string(),
327
- title: z.string().optional(),
328
- company: z.string().optional(),
329
- avatar: z.string().optional(),
330
- });
331
- /**
332
- * Testimonials section props
333
- */
334
- export const TestimonialsPropsSchema = z.object({
335
- title: z.string().optional(),
336
- testimonials: z.array(TestimonialSchema),
337
- variant: z.enum(['grid', 'carousel', 'masonry']).default('grid'),
338
- });
339
- /**
340
- * FAQ item schema
341
- */
342
- export const FAQItemSchema = z.object({
343
- question: z.string(),
344
- answer: z.string(),
345
- });
346
- /**
347
- * FAQ section props
348
- */
349
- export const FAQPropsSchema = z.object({
350
- title: z.string().optional(),
351
- items: z.array(FAQItemSchema),
352
- variant: z.enum(['accordion', 'grid', 'list']).default('accordion'),
353
- });
354
- /**
355
- * CTA section props
356
- */
357
- export const CTASectionPropsSchema = z.object({
358
- title: z.string(),
359
- description: z.string().optional(),
360
- callToAction: z.string(),
361
- secondaryCallToAction: z.string().optional(),
362
- variant: z.enum(['simple', 'split', 'centered']).default('centered'),
363
- actions: ActionsPropsSchema.optional(),
364
- });
365
- /**
366
- * Stat item schema
367
- */
368
- export const StatItemSchema = z.object({
369
- label: z.string(),
370
- value: z.union([z.string(), z.number()]),
371
- description: z.string().optional(),
372
- });
373
- /**
374
- * Stats section props
375
- */
376
- export const StatsPropsSchema = z.object({
377
- title: z.string().optional(),
378
- description: z.string().optional(),
379
- stats: z.array(StatItemSchema),
380
- variant: z.enum(['simple', 'with-description', 'with-graph']).default('simple'),
381
- });
382
- /**
383
- * Team member schema
384
- */
385
- export const TeamMemberSchema = z.object({
386
- name: z.string(),
387
- role: z.string(),
388
- bio: z.string().optional(),
389
- avatar: z.string().optional(),
390
- social: z.record(z.string(), z.string()).optional(),
391
- });
392
- /**
393
- * Team section props
394
- */
395
- export const TeamSectionPropsSchema = z.object({
396
- title: z.string().optional(),
397
- description: z.string().optional(),
398
- members: z.array(TeamMemberSchema),
399
- variant: z.enum(['grid', 'list', 'cards']).default('grid'),
400
- columns: z.number().default(3),
401
- });
402
- /**
403
- * Logo item schema
404
- */
405
- export const LogoItemSchema = z.object({
406
- name: z.string(),
407
- src: z.string(),
408
- href: z.string().optional(),
409
- });
410
- /**
411
- * Logos section props
412
- */
413
- export const LogosPropsSchema = z.object({
414
- title: z.string().optional(),
415
- logos: z.array(LogoItemSchema),
416
- variant: z.enum(['simple', 'cards', 'carousel']).default('simple'),
417
- });
418
- // =============================================================================
419
- // App Type Schemas (18 app types from mdxui)
420
- // =============================================================================
421
- /**
422
- * Dashboard app configuration
423
- */
424
- export const DashboardAppSchema = BaseAppSchema.extend({
425
- config: z
426
- .object({
427
- metrics: z.array(z.string()).default(['revenue', 'users', 'growth', 'retention']),
428
- defaultPeriod: z.enum(['hour', 'day', 'week', 'month', 'quarter', 'year']).default('month'),
429
- realtime: z.boolean().default(false),
430
- charts: z.array(z.string()).optional(),
431
- })
432
- .optional(),
433
- });
434
- /**
435
- * Developer app configuration
436
- */
437
- export const DeveloperAppSchema = BaseAppSchema.extend({
438
- config: z
439
- .object({
440
- showAPIKeys: z.boolean().default(true),
441
- showWebhooks: z.boolean().default(true),
442
- showUsage: z.boolean().default(true),
443
- showLogs: z.boolean().default(true),
444
- showDocs: z.boolean().default(true),
445
- apiBaseUrl: z.string().optional(),
446
- apiVersions: z.array(z.string()).optional(),
447
- })
448
- .optional(),
449
- });
450
- /**
451
- * Admin app configuration
452
- */
453
- export const AdminAppSchema = BaseAppSchema.extend({
454
- config: z
455
- .object({
456
- collections: z.array(z.string()).default(['users', 'roles', 'permissions']),
457
- showUsers: z.boolean().default(true),
458
- showRoles: z.boolean().default(true),
459
- showAuditLogs: z.boolean().default(true),
460
- showSettings: z.boolean().default(true),
461
- enableBulkOps: z.boolean().default(true),
462
- })
463
- .optional(),
464
- });
465
- /**
466
- * SaaS app configuration
467
- */
468
- export const SaaSAppSchema = BaseAppSchema.extend({
469
- config: z
470
- .object({
471
- multiTenant: z.boolean().default(true),
472
- showWorkspaceSwitcher: z.boolean().default(true),
473
- showBilling: z.boolean().default(true),
474
- showTeam: z.boolean().default(true),
475
- showIntegrations: z.boolean().default(true),
476
- pricingTiers: z.array(z.string()).optional(),
477
- features: z.record(z.string(), z.boolean()).optional(),
478
- })
479
- .optional(),
480
- });
481
- /**
482
- * Data app configuration
483
- */
484
- export const DataAppSchema = BaseAppSchema.extend({
485
- config: z
486
- .object({
487
- showDatasets: z.boolean().default(true),
488
- showSources: z.boolean().default(true),
489
- showPipelines: z.boolean().default(true),
490
- showQueryExplorer: z.boolean().default(true),
491
- showQuality: z.boolean().default(true),
492
- sourceTypes: z.array(z.string()).optional(),
493
- maxDatasetSize: z.string().optional(),
494
- })
495
- .optional(),
496
- });
497
- /**
498
- * Headless app configuration
499
- */
500
- export const HeadlessAppSchema = BaseAppSchema.extend({
501
- config: z
502
- .object({
503
- showMCPServers: z.boolean().default(true),
504
- showAgents: z.boolean().default(true),
505
- showPlayground: z.boolean().default(true),
506
- showSchema: z.boolean().default(true),
507
- graphqlEndpoint: z.string().optional(),
508
- restEndpoint: z.string().optional(),
509
- protocols: z.array(z.enum(['rest', 'graphql', 'grpc', 'websocket'])).optional(),
510
- })
511
- .optional(),
512
- });
513
- /**
514
- * CRM app configuration
515
- */
516
- export const CRMAppSchema = BaseAppSchema.extend({
517
- config: z
518
- .object({
519
- showContacts: z.boolean().default(true),
520
- showCompanies: z.boolean().default(true),
521
- showDeals: z.boolean().default(true),
522
- showPipeline: z.boolean().default(true),
523
- showActivities: z.boolean().default(true),
524
- showEmail: z.boolean().default(false),
525
- pipelineStages: z.array(z.string()).optional(),
526
- currency: z.string().default('USD'),
527
- })
528
- .optional(),
529
- });
530
- /**
531
- * Booking app configuration
532
- */
533
- export const BookingAppSchema = BaseAppSchema.extend({
534
- config: z
535
- .object({
536
- showCalendar: z.boolean().default(true),
537
- showAppointments: z.boolean().default(true),
538
- showAvailability: z.boolean().default(true),
539
- showBookingPages: z.boolean().default(true),
540
- enableReminders: z.boolean().default(true),
541
- enableWaitingList: z.boolean().default(false),
542
- durationOptions: z.array(z.number()).default([15, 30, 45, 60]),
543
- timezone: z.string().optional(),
544
- })
545
- .optional(),
546
- });
547
- /**
548
- * Support app configuration
549
- */
550
- export const SupportAppSchema = BaseAppSchema.extend({
551
- config: z
552
- .object({
553
- showInbox: z.boolean().default(true),
554
- showTickets: z.boolean().default(true),
555
- showKnowledgeBase: z.boolean().default(true),
556
- showLiveChat: z.boolean().default(false),
557
- showCustomers: z.boolean().default(true),
558
- ticketStatuses: z.array(z.string()).default(['open', 'pending', 'resolved', 'closed']),
559
- ticketPriorities: z.array(z.string()).default(['low', 'medium', 'high', 'urgent']),
560
- enableSLA: z.boolean().default(false),
561
- })
562
- .optional(),
563
- });
564
- /**
565
- * Agency app configuration
566
- */
567
- export const AgencyAppSchema = BaseAppSchema.extend({
568
- config: z
569
- .object({
570
- showClients: z.boolean().default(true),
571
- showProjects: z.boolean().default(true),
572
- showTasks: z.boolean().default(true),
573
- showTimeTracking: z.boolean().default(true),
574
- showInvoicing: z.boolean().default(true),
575
- showProposals: z.boolean().default(false),
576
- projectStatuses: z.array(z.string()).default(['planning', 'active', 'on-hold', 'completed']),
577
- timeTrackingMethod: z.enum(['manual', 'timer', 'both']).default('both'),
578
- })
579
- .optional(),
580
- });
581
- /**
582
- * Ops app configuration
583
- */
584
- export const OpsAppSchema = BaseAppSchema.extend({
585
- config: z
586
- .object({
587
- showIncidents: z.boolean().default(true),
588
- showMonitoring: z.boolean().default(true),
589
- showOnCall: z.boolean().default(true),
590
- showStatusPage: z.boolean().default(true),
591
- showPostmortems: z.boolean().default(false),
592
- severityLevels: z.array(z.string()).default(['sev1', 'sev2', 'sev3', 'sev4']),
593
- alertChannels: z.array(z.string()).optional(),
594
- enableAutoEscalation: z.boolean().default(true),
595
- })
596
- .optional(),
597
- });
598
- /**
599
- * Agent app configuration
600
- */
601
- export const AgentAppSchema = BaseAppSchema.extend({
602
- config: z
603
- .object({
604
- showAgents: z.boolean().default(true),
605
- showMCPTools: z.boolean().default(true),
606
- showPrompts: z.boolean().default(true),
607
- showRuns: z.boolean().default(true),
608
- showTrainingData: z.boolean().default(false),
609
- modelProviders: z.array(z.string()).optional(),
610
- agentTypes: z.array(z.string()).optional(),
611
- enablePlayground: z.boolean().default(true),
612
- })
613
- .optional(),
614
- });
615
- /**
616
- * Workflow app configuration
617
- */
618
- export const WorkflowAppSchema = BaseAppSchema.extend({
619
- config: z
620
- .object({
621
- showWorkflows: z.boolean().default(true),
622
- showBuilder: z.boolean().default(true),
623
- showRuns: z.boolean().default(true),
624
- showIntegrations: z.boolean().default(true),
625
- showTemplates: z.boolean().default(true),
626
- triggers: z.array(z.string()).optional(),
627
- actions: z.array(z.string()).optional(),
628
- enableVisualBuilder: z.boolean().default(true),
629
- })
630
- .optional(),
631
- });
632
- /**
633
- * Infra app configuration
634
- */
635
- export const InfraAppSchema = BaseAppSchema.extend({
636
- config: z
637
- .object({
638
- showCompute: z.boolean().default(true),
639
- showStorage: z.boolean().default(true),
640
- showNetwork: z.boolean().default(true),
641
- showDatabases: z.boolean().default(true),
642
- showMonitoring: z.boolean().default(true),
643
- showCosts: z.boolean().default(true),
644
- cloudProviders: z.array(z.string()).optional(),
645
- enableIaC: z.boolean().default(false),
646
- })
647
- .optional(),
648
- });
649
- /**
650
- * Platform app configuration
651
- */
652
- export const PlatformAppSchema = BaseAppSchema.extend({
653
- config: z
654
- .object({
655
- showApps: z.boolean().default(true),
656
- showDeployments: z.boolean().default(true),
657
- showEnvironments: z.boolean().default(true),
658
- showServices: z.boolean().default(true),
659
- showPipelines: z.boolean().default(true),
660
- showObservability: z.boolean().default(true),
661
- environments: z.array(z.string()).default(['development', 'staging', 'production']),
662
- enableGitOps: z.boolean().default(false),
663
- })
664
- .optional(),
665
- });
666
- /**
667
- * Client Portal app configuration
668
- */
669
- export const ClientPortalAppSchema = BaseAppSchema.extend({
670
- config: z
671
- .object({
672
- showProjects: z.boolean().default(true),
673
- showInvoices: z.boolean().default(true),
674
- showDeliverables: z.boolean().default(true),
675
- showMessages: z.boolean().default(true),
676
- showSupport: z.boolean().default(false),
677
- enableFeedback: z.boolean().default(true),
678
- enableUploads: z.boolean().default(true),
679
- customBranding: z.boolean().default(true),
680
- })
681
- .optional(),
682
- });
683
- /**
684
- * VibeCode app configuration
685
- */
686
- export const VibeCodeAppSchema = BaseAppSchema.extend({
687
- config: z
688
- .object({
689
- showChat: z.boolean().default(true),
690
- showPreview: z.boolean().default(true),
691
- showCode: z.boolean().default(true),
692
- defaultLayout: z.enum(['horizontal', 'vertical', 'grid']).default('horizontal'),
693
- enableAIGeneration: z.boolean().default(true),
694
- enableLivePreview: z.boolean().default(true),
695
- languages: z.array(z.string()).optional(),
696
- editorThemes: z.array(z.string()).optional(),
697
- })
698
- .optional(),
699
- });
700
- /**
701
- * Mail app configuration
702
- */
703
- export const MailAppSchema = BaseAppSchema.extend({
704
- config: z
705
- .object({
706
- showInbox: z.boolean().default(true),
707
- showSent: z.boolean().default(true),
708
- showDrafts: z.boolean().default(true),
709
- showSpam: z.boolean().default(true),
710
- showTrash: z.boolean().default(true),
711
- showArchive: z.boolean().default(true),
712
- showStarred: z.boolean().default(true),
713
- showSnoozed: z.boolean().default(true),
714
- showScheduled: z.boolean().default(true),
715
- enableAICompose: z.boolean().default(true),
716
- enableAIReply: z.boolean().default(true),
717
- enableAISummarize: z.boolean().default(true),
718
- enableThreading: z.boolean().default(true),
719
- enableLabels: z.boolean().default(true),
720
- enableSnooze: z.boolean().default(true),
721
- enableScheduling: z.boolean().default(true),
722
- folders: z.array(z.string()).default(['inbox', 'sent', 'drafts', 'spam', 'trash', 'archive']),
723
- maxAttachmentSize: z.number().optional(),
724
- providers: z.array(z.string()).optional(),
725
- })
726
- .optional(),
727
- });
728
- // =============================================================================
729
- // Union of all app type schemas
730
- // =============================================================================
731
- export const AppTypeSchema = z.union([
732
- DashboardAppSchema,
733
- DeveloperAppSchema,
734
- AdminAppSchema,
735
- SaaSAppSchema,
736
- DataAppSchema,
737
- HeadlessAppSchema,
738
- CRMAppSchema,
739
- BookingAppSchema,
740
- SupportAppSchema,
741
- AgencyAppSchema,
742
- OpsAppSchema,
743
- AgentAppSchema,
744
- WorkflowAppSchema,
745
- InfraAppSchema,
746
- PlatformAppSchema,
747
- ClientPortalAppSchema,
748
- VibeCodeAppSchema,
749
- MailAppSchema,
750
- ]);
9
+ // Re-export everything from mdxui main
10
+ export * from 'mdxui';
751
11
  //# sourceMappingURL=mdxui.js.map