Logoshadcn-docs-template
DocsDemo
Sections
  • Get Started
Getting Started
  • Introduction
  • Installation
Customization
  • Customizing the Template
  • MDC Components
  • Composables
  • Writing Documentation
Components
  • DocTabs
  • Callout
  • ComponentPreview
  • CommandMenu
  • CopyButton
  • DocsSidebar
  • DocsTableOfContents
  • PageHeader
  • SiteHeader
  • CopyCodeButton
  • DocsCopyPage
  • CodeBlockCommand
  • CommandMenuItem
  • CommandMenuKbd
  • GitHubLink
  • LucideIcon
  • MainNav
  • MobileNav
  • ModeSwitcher
  • PageHeaderDescription
  • PageHeaderHeading
  • SiteBody
  • SiteConfig
  • SiteFooter
  • OgImage (Custom)

ModeSwitcher

PreviousNext

A button component for toggling between light and dark themes.

The ModeSwitcher component provides a simple way to toggle between light and dark color modes.

Usage

<script setup lang="ts">
import { ModeSwitcher } from '@/components/ModeSwitcher'
</script>

<template>
  <ModeSwitcher />
</template>

Features

  • Cycles between light and dark modes
  • Uses Nuxt Color Mode module
  • Custom theme icon
  • Accessible with screen reader text

API Reference

ModeSwitcher

No props. Automatically uses useColorMode() composable.

Behavior

  • Click to cycle: light → dark → light
  • Persists preference in localStorage
  • Updates immediately on click
  • Uses system preference as default

Customization

The component uses a custom SVG icon. To customize:

  1. Replace the SVG path in ModeSwitcher.vue
  2. Or use a Lucide icon instead

Integration

Requires @nuxtjs/color-mode module to be installed and configured in nuxt.config.ts.

MobileNavPageHeaderDescription

On This Page

UsageFeaturesAPI ReferenceModeSwitcherBehaviorCustomizationIntegration
© shadcn-vue.com