{% if icon %}{{ icon }}{% endif %} {% if slot_label %}{{ slot_label|safe }}{% else %}{{ label }}{% endif %} {% if badge %}{{ badge }}{% endif %}
{% if slot_items %} {{ slot_items|safe }} {% else %} {% for item in items %} {% comment %} `navigate` is opt-in per item: a link the app knows points at a LiveView route carries dj-navigate so a plain left click goes over the open socket instead of reloading the document. The href is what makes the rest still work — copy-link, crawlers, and the modified clicks (Cmd, Ctrl, Shift, Alt, middle button) that dj-navigate deliberately does not intercept. {% endcomment %} {% if item.icon %}{{ item.icon }}{% endif %} {{ item.label }} {% if item.badge %}{{ item.badge }}{% endif %} {% endfor %} {% endif %}