Slider (slider)

MDC Slider provides an implementation of the Material Design slider component. It is modeled after the browser's <input type="range"> element. Sliders are fully RTL-aware, and conform to the WAI-ARIA slider authoring practices.

🔗 External documentation.

ID Label Description Schema
label Label Not displayed. For accessibility.
value Value
                        type: number

                      
value_end End value (for range only)
                        type: number

                      
min Minimum
                        type: number

                      
max Maximum
                        type: number

                      
name Machine name
                        type: string

                      
            id: slider
label: Slider
description: 'MDC Slider provides an implementation of the Material Design slider component. It is modeled after the browser''s <input type="range"> element. Sliders are fully RTL-aware, and conform to the WAI-ARIA slider authoring practices. '
homepage: 'https://m2.material.io/develop/web/components/sliders'
variants:
    default:
        id: default
        label: 'Default (Continuous)'
    range:
        id: range
        label: 'Continuous range'
    discrete:
        id: discrete
        label: Discrete
        description: 'Discrete sliders display a numeric value label upon pressing the thumb, which allows a user to select an exact value.'
    discrete__tick_marks:
        id: discrete__tick_marks
        label: 'Discrete with tick marks'
    range__discrete:
        id: range__discrete
        label: 'Discrete range'
    range__discrete__tick_marks:
        id: range__discrete__tick_marks
        label: 'Discrete range'
    disabled:
        id: disabled
        label: Disabled
slots:
    label:
        id: label
        label: Label
        description: 'Not displayed. For accessibility.'
props:
    value:
        id: value
        label: Value
        schema:
            type: number
    value_end:
        id: value_end
        label: 'End value (for range only)'
        schema:
            type: number
    min:
        id: min
        label: Minimum
        schema:
            type: number
    max:
        id: max
        label: Maximum
        schema:
            type: number
    name:
        id: name
        label: 'Machine name'
        schema:
            type: string
library:
    js:
        'https://data.dilla.io/material_2/components/slider/slider_init.js': {  }
    id: slider
examples:
    preview:
        id: preview
        label: Preview
        renderable:
            '@component': slider
            label: 'Continuous slider demo'
            value: 50
            value_end: 70
            max: 100
            name: volume

          

Default (Continuous) ( default )

<div class="mdc-slider"> <input class="mdc-slider__input" type="range" min="" max="100" value="50" name="volume" aria-label="Continuous slider demo"> <div class="mdc-slider__track"> <div class="mdc-slider__track--inactive"></div> <div class="mdc-slider__track--active"> <div class="mdc-slider__track--active_fill"></div> </div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__thumb-knob"></div> </div> </div>

Continuous range ( range )

<div class="mdc-slider--range mdc-slider"> <input class="mdc-slider__input" type="range" min="" max="100" value="50" name="volume_start" aria-label="Continuous slider demo"> <input class="mdc-slider__input" type="range" min="" max="100" value="70" name="volume_end" aria-label="Continuous range slider demo"> <div class="mdc-slider__track"> <div class="mdc-slider__track--inactive"></div> <div class="mdc-slider__track--active"> <div class="mdc-slider__track--active_fill"></div> </div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__thumb-knob"></div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__thumb-knob"></div> </div> </div>

Discrete ( discrete )

Discrete sliders display a numeric value label upon pressing the thumb, which allows a user to select an exact value.

<div class="mdc-slider--discrete mdc-slider"> <input class="mdc-slider__input" type="range" min="" max="100" value="50" name="volume" aria-label="Continuous slider demo"> <div class="mdc-slider__track"> <div class="mdc-slider__track--inactive"></div> <div class="mdc-slider__track--active"> <div class="mdc-slider__track--active_fill"></div> </div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__value-indicator-container" aria-hidden="true"> <div class="mdc-slider__value-indicator"> <span class="mdc-slider__value-indicator-text">50</span> </div> </div> <div class="mdc-slider__thumb-knob"></div> </div> </div>

Discrete with tick marks ( discrete__tick_marks )

<div class="mdc-slider--discrete mdc-slider--tick-marks mdc-slider"> <input class="mdc-slider__input" type="range" min="" max="100" value="50" name="volume" aria-label="Continuous slider demo"> <div class="mdc-slider__track"> <div class="mdc-slider__track--inactive"></div> <div class="mdc-slider__track--active"> <div class="mdc-slider__track--active_fill"></div> </div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__value-indicator-container" aria-hidden="true"> <div class="mdc-slider__value-indicator"> <span class="mdc-slider__value-indicator-text">50</span> </div> </div> <div class="mdc-slider__thumb-knob"></div> </div> </div>

Discrete range ( range__discrete )

<div class="mdc-slider--range mdc-slider--discrete mdc-slider"> <input class="mdc-slider__input" type="range" min="" max="100" value="50" name="volume_start" aria-label="Continuous slider demo"> <input class="mdc-slider__input" type="range" min="" max="100" value="70" name="volume_end" aria-label="Continuous range slider demo"> <div class="mdc-slider__track"> <div class="mdc-slider__track--inactive"></div> <div class="mdc-slider__track--active"> <div class="mdc-slider__track--active_fill"></div> </div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__value-indicator-container" aria-hidden="true"> <div class="mdc-slider__value-indicator"> <span class="mdc-slider__value-indicator-text">50</span> </div> </div> <div class="mdc-slider__thumb-knob"></div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__value-indicator-container" aria-hidden="true"> <div class="mdc-slider__value-indicator"> <span class="mdc-slider__value-indicator-text">70</span> </div> </div> <div class="mdc-slider__thumb-knob"></div> </div> </div>

Discrete range ( range__discrete__tick_marks )

<div class="mdc-slider--range mdc-slider--discrete mdc-slider--tick-marks mdc-slider"> <input class="mdc-slider__input" type="range" min="" max="100" value="50" name="volume_start" aria-label="Continuous slider demo"> <input class="mdc-slider__input" type="range" min="" max="100" value="70" name="volume_end" aria-label="Continuous range slider demo"> <div class="mdc-slider__track"> <div class="mdc-slider__track--inactive"></div> <div class="mdc-slider__track--active"> <div class="mdc-slider__track--active_fill"></div> </div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__value-indicator-container" aria-hidden="true"> <div class="mdc-slider__value-indicator"> <span class="mdc-slider__value-indicator-text">50</span> </div> </div> <div class="mdc-slider__thumb-knob"></div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__value-indicator-container" aria-hidden="true"> <div class="mdc-slider__value-indicator"> <span class="mdc-slider__value-indicator-text">70</span> </div> </div> <div class="mdc-slider__thumb-knob"></div> </div> </div>

Disabled ( disabled )

<div class="mdc-slider--disabled mdc-slider"> <input class="mdc-slider__input" type="range" min="" max="100" value="50" name="volume" aria-label="Continuous slider demo"> <div class="mdc-slider__track"> <div class="mdc-slider__track--inactive"></div> <div class="mdc-slider__track--active"> <div class="mdc-slider__track--active_fill"></div> </div> </div> <div class="mdc-slider__thumb"> <div class="mdc-slider__thumb-knob"></div> </div> </div>