123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247 |
- import { field, group } from '@nuxt/content/preview'
- export default defineNuxtSchema({
- appConfig: {
- ui: group({
- title: 'UI',
- description: 'UI Customization.',
- icon: 'i-mdi-palette-outline',
- fields: {
- colors: group({
- title: 'Colors',
- description: 'Manage main colors of your application',
- icon: 'i-mdi-palette-outline',
- fields: {
- primary: field({
- type: 'string',
- title: 'Primary',
- description: 'Primary color of your UI.',
- icon: 'i-mdi-palette-outline',
- default: 'green',
- required: ['red', 'orange', 'amber', 'yellow', 'lime', 'green', 'emerald', 'teal', 'cyan', 'sky', 'blue', 'indigo', 'violet', 'purple', 'fuchsia', 'pink', 'rose'],
- }),
- neutral: field({
- type: 'string',
- title: 'Neutral',
- description: 'Neutral color of your UI.',
- icon: 'i-mdi-palette-outline',
- default: 'slate',
- required: ['slate', 'gray', 'zinc', 'neutral', 'stone'],
- }),
- },
- }),
- icons: group({
- title: 'Icons',
- description: 'Manage icons used in the application.',
- icon: 'i-mdi-application-settings-outline',
- fields: {
- search: field({
- type: 'icon',
- title: 'Search Bar',
- description: 'Icon to display in the search bar.',
- icon: 'i-mdi-magnify',
- default: 'i-lucide-search',
- }),
- dark: field({
- type: 'icon',
- title: 'Dark mode',
- description: 'Icon of color mode button for dark mode.',
- icon: 'i-mdi-moon-waning-crescent',
- default: 'i-lucide-moon',
- }),
- light: field({
- type: 'icon',
- title: 'Light mode',
- description: 'Icon of color mode button for light mode.',
- icon: 'i-mdi-white-balance-sunny',
- default: 'i-lucide-sun',
- }),
- external: field({
- type: 'icon',
- title: 'External Link',
- description: 'Icon for external link.',
- icon: 'i-mdi-arrow-top-right',
- default: 'i-lucide-external-link',
- }),
- chevron: field({
- type: 'icon',
- title: 'Chevron',
- description: 'Icon for chevron.',
- icon: 'i-mdi-chevron-down',
- default: 'i-lucide-chevron-down',
- }),
- hash: field({
- type: 'icon',
- title: 'Hash',
- description: 'Icon for hash anchors.',
- icon: 'i-ph-hash',
- default: 'i-lucide-hash',
- }),
- },
- }),
- },
- }),
- seo: group({
- title: 'SEO',
- description: 'SEO configuration.',
- icon: 'i-ph-app-window',
- fields: {
- siteName: field({
- type: 'string',
- title: 'Site Name',
- description: 'Name used in ogSiteName and used as second part of your page title (My page title - Nuxt UI Pro).',
- icon: 'i-mdi-web',
- default: [],
- }),
- },
- }),
- header: group({
- title: 'Header',
- description: 'Header configuration.',
- icon: 'i-mdi-page-layout-header',
- fields: {
- title: field({
- type: 'string',
- title: 'Title',
- description: 'Title to display in the header.',
- icon: 'i-mdi-format-title',
- default: '',
- }),
- to: field({
- type: 'string',
- title: 'To',
- description: 'URL to redirect to when the title is clicked.',
- icon: 'i-mdi-link-variant',
- default: '',
- }),
- logo: group({
- title: 'Logo',
- description: 'Header logo configuration.',
- icon: 'i-mdi-image-filter-center-focus-strong-outline',
- fields: {
- light: field({
- type: 'media',
- title: 'Light Mode Logo',
- description: 'Pick an image from your gallery.',
- icon: 'i-mdi-white-balance-sunny',
- default: '',
- }),
- dark: field({
- type: 'media',
- title: 'Dark Mode Logo',
- description: 'Pick an image from your gallery.',
- icon: 'i-mdi-moon-waning-crescent',
- default: '',
- }),
- alt: field({
- type: 'string',
- title: 'Alt',
- description: 'Alt to display for accessibility.',
- icon: 'i-mdi-alphabet-latin',
- default: '',
- }),
- },
- }),
- search: field({
- type: 'boolean',
- title: 'Search Bar',
- description: 'Hide or display the search bar.',
- icon: 'i-mdi-magnify',
- default: true,
- }),
- colorMode: field({
- type: 'boolean',
- title: 'Color Mode',
- description: 'Hide or display the color mode button in your header.',
- icon: 'i-mdi-moon-waning-crescent',
- default: true,
- }),
- links: field({
- type: 'array',
- title: 'Links',
- description: 'Array of link object displayed in header.',
- icon: 'i-mdi-link-variant',
- default: [],
- }),
- },
- }),
- footer: group({
- title: 'Footer',
- description: 'Footer configuration.',
- icon: 'i-mdi-page-layout-footer',
- fields: {
- credits: field({
- type: 'string',
- title: 'Footer credits section',
- description: 'Text to display as credits in the footer.',
- icon: 'i-mdi-circle-edit-outline',
- default: '',
- }),
- colorMode: field({
- type: 'boolean',
- title: 'Color Mode',
- description: 'Hide or display the color mode button in the footer.',
- icon: 'i-mdi-moon-waning-crescent',
- default: false,
- }),
- links: field({
- type: 'array',
- title: 'Links',
- description: 'Array of link object displayed in footer.',
- icon: 'i-mdi-link-variant',
- default: [],
- }),
- },
- }),
- toc: group({
- title: 'Table of contents',
- description: 'TOC configuration.',
- icon: 'i-mdi-table-of-contents',
- fields: {
- title: field({
- type: 'string',
- title: 'Title',
- description: 'Text to display as title of the main toc.',
- icon: 'i-mdi-format-title',
- default: '',
- }),
- bottom: group({
- title: 'Bottom',
- description: 'Bottom TOC configuration.',
- icon: 'i-mdi-table-of-contents',
- fields: {
- title: field({
- type: 'string',
- title: 'Title',
- description: 'Text to display as title of the bottom toc.',
- icon: 'i-mdi-format-title',
- default: '',
- }),
- edit: field({
- type: 'string',
- title: 'Edit Page Link',
- description: 'URL of your repository content folder.',
- icon: 'i-ph-note-pencil',
- default: '',
- }),
- links: field({
- type: 'array',
- title: 'Links',
- description: 'Array of link object displayed in bottom toc.',
- icon: 'i-mdi-link-variant',
- default: [],
- }),
- },
- }),
- },
- }),
- },
- })
- declare module '@nuxt/schema' {
- interface CustomAppConfig {
- ui: {
- icons: object
- }
- }
- }
|