{#- chirp-ui: ASCII Toggle Switch controls rendered with box-drawing characters and Unicode glyphs. Horizontal (default): from "chirpui/ascii_toggle.html" import ascii_toggle ascii_toggle("dark_mode", label="Dark Mode") ascii_toggle("notifications", checked=true, variant="success") Vertical breaker switch: from "chirpui/ascii_toggle.html" import ascii_switch ascii_switch("power", label="Power") ascii_switch("debug", checked=true, label="Debug", variant="danger") Variants: default, success, danger, accent. Sizes: sm, md (default), lg. Horizontal visual: OFF: ╶───○ ON: ●───╴ Vertical visual: OFF: ┌───┐ ON: ┌───┐ │░░░│ │███│ │░░░│ │███│ │███│ │░░░│ │███│ │░░░│ └───┘ └───┘ -#} {% def ascii_toggle(name, checked=false, label=none, variant="", size="", disabled=false, cls="") %} {% set variant = variant | validate_variant(("", "default", "success", "danger", "accent"), "") %} {% set size_class = " chirpui-ascii-toggle--" ~ size if size in ("sm", "lg") else "" %} {% set variant_class = " chirpui-ascii-toggle--" ~ variant if variant and variant != "default" else "" %} {% end %} {% def ascii_switch(name, checked=false, label=none, variant="", size="", disabled=false, cls="") %} {% set variant = variant | validate_variant(("", "default", "success", "danger", "accent"), "") %} {% set size_class = " chirpui-ascii-switch--" ~ size if size in ("sm", "lg") else "" %} {% set variant_class = " chirpui-ascii-switch--" ~ variant if variant and variant != "default" else "" %} {% end %}