{#- chirp-ui: Tray (slide-out panel) Use tray_trigger to open, tray for content. Requires Alpine.js (Alpine.store('trays')). persist_open: when true, restores open state across boosted navigation via localStorage (opt-in — default false). Usage: from "chirpui/tray.html" import tray, tray_trigger {{ tray_trigger("filters", "Filters", icon="⚙") }} {% call tray("filters", "Filters", position="right") %}
...
{% end %} -#} {% def tray_trigger(id, label, icon=none) %} {% end %} {% def tray(id, title, position="right", persist_open=false, cls="") %} {% end %}