Files
myeasycms-v2/packages/ui/src/makerkit/sidebar-schema.ts
giancarlo bce3479368 Cleanup
2024-03-24 02:23:22 +08:00

31 lines
707 B
TypeScript

import { z } from 'zod';
export const SidebarConfigSchema = z.object({
routes: z.array(
z.union([
z.object({
label: z.string(),
path: z.string(),
Icon: z.custom<React.ReactNode>(),
end: z.boolean().optional(),
}),
z.object({
label: z.string(),
collapsible: z.boolean().optional(),
collapsed: z.boolean().optional(),
children: z.array(
z.object({
label: z.string(),
path: z.string(),
Icon: z.custom<React.ReactNode>(),
end: z.boolean().optional(),
}),
),
}),
z.object({
divider: z.literal(true),
}),
]),
),
});