Переключатель
Пружинный переключатель
Переключатель, у которого кноб не переезжает, а перелетает с небольшим промахом и вытягивается по ходу движения. Ни строки JS: всё держится на :checked.
Что можно поменять
- тексты label и description; без description строка становится однострочной
- любые нативные пропы input: name, checked, defaultChecked, onChange, value
- disabled — гасит и строку, и переключатель целиком
Ссылка для ИИ-агента: в ней превью, код и инструкция.
Превью
Использовать с ИИ
- 1. Скопируйте ссылку.
- 2. Напишите агенту своими словами и вставьте её в предложение.
- 3. Агент откроет ссылку и поставит компонент из реестра.
добавь это на главную первым экраном:
https://vibeui.ru/c/switch-016?theme=dark
Не знаете, куда вставить? Пошаговый гайд
Показать полную инструкцию
То, что лежит по ссылке в развёрнутом виде. Нужна, если агент не может открыть ссылку — тогда вставьте этот текст целиком.
Загружается…
Для разработчика
Команда установки — в блоке «Исходник компонента» ниже: подписанная ссылка действует сутки.
Технические заметки
Компонент самодостаточен: один файл, ноль зависимостей, собственная палитра в локальных переменных --vibeui-switch-016-*. Серверный: состояние несёт нативный input[type=checkbox] с role="switch" и appearance:none — дорожкой работает сам input, кнобом соседний span. Растяжение сделано без ключевых кадров: кноб прижат к дорожке одновременно слева и справа, и у left и right разные задержки перехода, поэтому передний край трогается первым, а задний догоняет через 70 мс — кноб вытягивается в обе стороны одинаково честно. Перелёт даёт пружинная кривая linear(). Корень — <label>, поэтому мишень для клика вся строка. Тема — light-dark() плюс правило :where(.dark,[data-theme="dark"]) … {color-scheme:dark}.
Теги
- switch
- toggle
- spring
- css-only
- settings
Исходник компонента
Тот же файл, который поставит агент. Нужен, если вы предпочитаете скопировать код руками.
Загружается…