3.8 KiB
templateEngineOverride, layout, title, description, toc
| templateEngineOverride | layout | title | description | toc | ||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| njk | layouts/page.njk | Slider | An input where the user selects a value from within a given range. |
|
{% from "macros/code_preview.njk" import code_preview %} {% from "macros/code_block.njk" import code_block %}
{% set code %}<input type="range" class="input w-full" min="0" max="100" value="50"
{% endset %} {{ code_preview("slider", code, "w-full max-w-sm") }}
Usage
HTML + JavaScript
Use a native <input type="range"> with the input class. Include range.js so Basecoat can keep the filled track in sync with the input value.
{% set code_script %}<script src="https://cdn.jsdelivr.net/npm/basecoat-css@{{ pkg.version }}/dist/js/basecoat.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/basecoat-css@{{ pkg.version }}/dist/js/range.min.js" defer></script>{% endset %}{{ code_block(code_script | prettyHtml, "html") }}
{{ code_block(code | prettyHtml, "html") }}
HTML structure
<input type="range" class="input">- Native range input styled as a slider. Width utilities such as
w-fullcan be added directly.
Basecoat intentionally uses the native range input. Unlike shadcn/ui's Base UI slider, it does not support multiple thumbs or vertical orientation.
Examples
Default
{% set code %}{% endset %} {{ code_preview("slider-default", code, "w-full max-w-sm") }}
Controlled Label
{% set code %}
Disabled
{% set code %}{% endset %} {{ code_preview("slider-disabled", code, "w-full max-w-sm") }}
RTL
{% set code %}