Компонент Slider в библиотеке Carbon Components Svelte предназначен для выбора числового значения в заданном диапазоне с помощью ползунка. Он может быть использован как для одиночного значения, так и для диапазона значений. Slider обеспечивает высокий уровень кастомизации и интеграцию с другими компонентами интерфейса.
Для подключения Slider необходимо импортировать компонент из пакета
carbon-components-svelte:
<script>
import { Slider } from 'carbon-components-svelte';
let value = 50;
</script>
<Slider
bind:value
min={0}
max={100}
step={1}
label="Выберите значение"
/>
Slider позволяет гибко управлять диапазоном и точностью:
<Slider
bind:value
min={0}
max={500}
step={5}
label="Выберите количество"
/>
Компонент поддерживает ориентацию по горизонтали и вертикали:
<Slider
bind:value
min={0}
max={100}
orientation="vertical"
label="Вертикальный ползунок"
/>
"horizontal" (по умолчанию) и "vertical".Slider может работать с диапазоном, когда необходимо выбрать два значения одновременно (например, минимальное и максимальное):
<script>
let range = [20, 80];
</script>
<Slider
bind:value={range}
min={0}
max={100}
step={1}
label="Выберите диапазон"
/>
Carbon Components Svelte позволяет кастомизировать визуальное представление Slider:
Пример:
<Slider
bind:value
min={0}
max={100}
label="Недоступный ползунок"
disabled
/>
Slider поддерживает стандартные события Svelte:
<Slider
bind:value
min={0}
max={100}
label="События"
on:input={(e) => console.log("Текущее значение:", e.detail)}
on:change={(e) => console.log("Завершено:", e.detail)}
/>
Slider можно использовать внутри формы для отправки выбранного значения на сервер или его привязки к состоянию приложения:
<form on:submit|preventDefault={() => console.log(value)}>
<Slider bind:value min={0} max={100} label="Оценка" />
<button type="submit">Отправить</button>
</form>
Carbon Components Svelte предоставляет переменные CSS для тонкой настройки внешнего вида Slider:
:global(.bx--slider__thumb) {
background-color: #0f62fe;
border: 2px solid #0043ce;
}
:global(.bx--slider__track) {
height: 6px;
background-color: #c6c6c6;
}
:global необходимо, чтобы стили
применялись к компонентам Carbon.Slider в Carbon Components Svelte сочетает в себе простоту настройки, гибкость и интеграцию с Svelte. Он поддерживает одиночные и диапазонные значения, горизонтальную и вертикальную ориентацию, события изменения значения, доступность и кастомизацию стиля через CSS. Такой компонент идеально подходит для управления числовыми данными в интерфейсе, где важна точность и удобство взаимодействия.