{#- chirp-ui: ASCII Fader / Slider Vertical mixing-board faders using block characters. Usage: from "chirpui/ascii_fader.html" import ascii_fader, fader_bank ascii_fader("volume", value=75, label="VOL") ascii_fader("bass", value=40, label="BASS", variant="accent") call fader_bank() ascii_fader("ch1", value=80, label="CH1") ascii_fader("ch2", value=60, label="CH2") ascii_fader("ch3", value=30, label="CH3") ascii_fader("ch4", value=90, label="CH4") end Variants: default, accent, success, warning, danger. value: 0-100 (maps to 8 block levels). -#} {% def ascii_fader(name, value=0, label=none, variant="", cls="") %} {% set variant = variant | validate_variant(("", "default", "accent", "success", "warning", "danger"), "") %} {% set variant_class = " chirpui-ascii-fader--" ~ variant if variant and variant != "default" else "" %} {% set level = ((value / 100) * 8) | int %} {% set level = 8 if level > 8 else (0 if level < 0 else level) %}
{% if label %}{{ label }}{% end %} {{ value }}
{% end %} {% def fader_bank(title=none, cls="") %}
{% if title %}
{{ title }}
{% end %}
{% slot %}
{% end %}