ValyroUI English version

Color Mode Switch

Светлая, тёмная или системная: выбор сохраняется, применяется до первого кадра, синхронизируется между вкладками и сменяется плавно. Бесплатно, MIT · Базовые элементы › Кнопки

Установка

npx valyro-cli@latest add color-mode-switch
npx shadcn@latest add https://valyro.xyz/r/color-mode-switch.json
npm install valyro-ui

import 'valyro-ui/styles.css';
import { ColorModeSwitch } from 'valyro-ui';

Пропсы

PropTypeDefault
valueColorModeChoiceThe chosen mode (controlled). Leave value and defaultValue out to switch the page's mode: the switch then reads and sets useColorMode (the nearest ThemeProvider saves and paints it).
defaultValueColorModeChoiceStarts a switch that keeps its own value instead of the page's mode.
onValueChange(mode: ColorModeChoice) => voidCalled with the new value when it changes.
modesreadonly ColorModeChoice[]DEFAULT_MODESModes offered, in order. Default light, dark, system.
iconOnlybooleanfalseIcons only; the names stay as accessible names and tooltips.
labelsPartial<ColorModeSwitchLabels>Overrides for the built-in English text; keys left out keep their defaults.
size'sm' | 'md' | 'lg''sm'Control height and text size.
fullWidthbooleanStretch to the container width with equal segments (a label wider than its share keeps its width). Either way, segments that don't fit scroll sideways with faded edges instead of truncating.
invalidbooleanError state, e.g. from a FormField: aria-invalid on the group (an explicit aria-invalid wins).
disabledbooleanDisables every segment, like RadioGroup's disabled.
animation'default' | 'spring'spring: the thumb springs to the chosen segment with a slight overshoot. default: the theme's curve.

Похожие компоненты

  • Button — Кнопки всех типов
  • Icon Button — Кнопка с иконкой
  • Button Group — Группы кнопок
  • Copy to Clipboard — Копирование с подтверждением
  • Badge — Статусы и метки
  • Tag — Удаляемые и кликабельные теги, группы с «+N»
  • Avatar — Аватары пользователей
  • Tooltip — Всплывающие подсказки
  • Separator — Разделители
  • Icon — Любая иконка по правилам кита: размер от текста, штрих темы, зеркалирование в RTL, доступное имя; createIcon и галерея из 111 иконок
  • Kbd — Клавиши и сочетания: одна строка «mod+k» — ⌘K на Mac и Ctrl+K на остальных, для скринридера — словами
  • Highlight — Совпадения поиска в тексте: без учёта регистра и диакритики, несколько терминов своими цветами, готовые диапазоны, текущее совпадение

Назад: Icon Button · Далее: Button Group · Весь раздел «Базовые элементы»