{% load ui_assets ui_classes ui_props %}
{% ui_require_asset "trellis:sidebar" %}
{% ui_class "ui.sidebar" "root" elevation=elevation drawerElevation=drawer_elevation mobilePresentation=mobile_presentation divider=divider side=side sticky=sticky class=class as root_class %}
{% ui_class "ui.sidebar" "edge" side=side as edge_class %}
{% ui_class "ui.sidebar" "resizeHandle" side=side as resize_handle_class %}
<{{ as }} id="{{ id }}"
x-data="UiSidebar"
{% if "x-ui-transition:opening" not in attrs %}x-ui-transition:opening="transitionSidebar($transition)"{% endif %}
{% if "x-ui-transition:closing" not in attrs %}x-ui-transition:closing="transitionSidebar($transition)"{% endif %}
{% if resizable|ui_bool %}x-ui-resizable{% endif %}
x-bind="root"
data-ui-sidebar
data-ui-substrate="chrome"
data-placement="{{ placement }}"
data-mobile-presentation="{{ mobile_presentation }}"
data-ui-surface="{{ surface }}"
data-ui-elevation="{{ elevation }}"
data-ui-drawer-elevation="{{ drawer_elevation }}"
data-divider="{{ divider }}"
data-state="{% if open|ui_bool %}open{% else %}closed{% endif %}"
data-mobile-state="{% if open|ui_bool %}open{% else %}closed{% endif %}"
data-desktop-state="{% if stashed|ui_bool %}stashed{% else %}expanded{% endif %}"
data-drawer-state="{% if open|ui_bool %}open{% else %}closed{% endif %}"
data-sidebar-exiting="false"
data-side="{{ side }}"
data-sticky="{% if sticky|ui_bool %}true{% else %}false{% endif %}"
data-collapse="{{ collapse }}"
data-open="{{ open }}"
data-stashed="{{ stashed }}"
data-persist="{{ persist }}"
data-edge-reveal="{{ edge_reveal }}"
data-resizable="{{ resizable }}"
{% if resizable|ui_bool %}data-resize-axis="{% if placement == 'top' %}y{% else %}x{% endif %}" data-resize-direction="{% if placement == 'side' and side == 'right' %}negative{% else %}positive{% endif %}" data-resize-min="{% if placement == 'top' %}var(--spacing-sidebar-min-height){% else %}var(--spacing-sidebar-min-width){% endif %}" data-resize-max="{% if placement == 'top' %}var(--spacing-sidebar-max-height){% else %}var(--spacing-sidebar-max-width){% endif %}" data-resize-mode="onChange" data-resize-hit-area="8" data-resize-coarse-hit-area="24"{% endif %}
data-class="{{ class }}"
class="group/sidebar {{ root_class }}"
{{ attrs }}>
{% if persist|ui_bool %}
{% endif %}
{{ slot }}
{% if resizable|ui_bool %}
{% endif %}
{{ as }}>
{% if edge_reveal|ui_bool %}
{% endif %}