{% if toolbar.should_render() %}
{% set items=toolbar.get_items() %}
{#
Details panel. Visibility is driven entirely by data attributes on the
wrapper (no JS class toggling): shown when data-expanded=true, but
force-hidden on desktop while the bar is a collapsed pill.
#}
{# Mobile: scrollable tabs #}
{% for item in items %}
{% if item.name and item.panel_template_name %}
{% endif %}
{% endfor %}
{# Resize handle - hidden on mobile (touch resize not supported) #}
{# Panel content - taller on mobile for better usability #}
{% for item in items %}
{% if item.name and item.panel_template_name %}
{{ item.render_panel() }}
{% endif %}
{% endfor %}
{#
Bar layout:
- Mobile (always): floating pill at the chosen position
- Desktop collapsed pill: floating pill at the chosen position
- Desktop uncollapsed (group-data-[collapsed=false]): full-width bottom bar
#}
{#
The pill's three positions are pure CSS translateX off a fixed left-0
anchor, so resize needs no JS. data-animate (set by toolbar.js only for
a snap or cycle) gates the slide transition; drag/dock stay instant.
#}
{# Version: tappable toggle on mobile / desktop pill #}
{# Version: selectable, non-interactive text on the desktop full bar #}
{{ toolbar.version }}
{# Filler that expands the panel - desktop full bar only #}
{#
Items list:
- desktop full bar: always shown
- mobile: shown when data-items-open=true (toggled by the version button)
- desktop pill: hidden
#}
{% for item in items %}
{% if item.button_template_name %}
{{ item.render_button() }}
{% endif %}
{% endfor %}
{% include "toolbar/links.html" ignore missing %}