mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-14 12:14:41 +01:00
docs: add showcase page (#3659)
Co-authored-by: Benjamin Canac <canacb1@gmail.com>
This commit is contained in:
@@ -1,6 +1,18 @@
|
||||
import { defineCollection, z } from '@nuxt/content'
|
||||
import { resolve } from 'node:path'
|
||||
|
||||
const Button = z.object({
|
||||
label: z.string(),
|
||||
icon: z.string().optional(),
|
||||
trailingIcon: z.string().optional(),
|
||||
to: z.string().optional(),
|
||||
color: z.enum(['primary', 'neutral', 'success', 'warning', 'error', 'info']).optional(),
|
||||
size: z.enum(['xs', 'sm', 'md', 'lg', 'xl']).optional(),
|
||||
variant: z.enum(['solid', 'outline', 'subtle', 'soft', 'ghost', 'link']).optional(),
|
||||
id: z.string().optional(),
|
||||
target: z.enum(['_blank', '_self']).optional()
|
||||
})
|
||||
|
||||
const schema = z.object({
|
||||
category: z.enum(['layout', 'form', 'element', 'navigation', 'data', 'overlay']).optional(),
|
||||
framework: z.string().optional(),
|
||||
@@ -42,5 +54,26 @@ export const collections = {
|
||||
include: '**/*'
|
||||
}, pro!].filter(Boolean),
|
||||
schema
|
||||
}),
|
||||
showcase: defineCollection({
|
||||
type: 'page',
|
||||
source: 'showcase.yml',
|
||||
schema: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
hero: z.object({
|
||||
title: z.string(),
|
||||
description: z.string(),
|
||||
links: z.array(Button)
|
||||
}),
|
||||
items: z.array(z.object({
|
||||
name: z.string(),
|
||||
url: z.string(),
|
||||
screenshotUrl: z.string().optional(),
|
||||
screenshotOptions: z.object({
|
||||
delay: z.number()
|
||||
})
|
||||
}))
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user