{{ display_name }}
{% if description %}{{ description }}
{% endif %} {% comment %} This page renders a component on a live server; the reference entry is the same component written down, generated from the same registry and pinned to whatever djust version the docs site builds from. Link both ways so a reader never has to guess which one they are looking at. {% endcomment %} {% comment %} ===== Preview — one bound component (ADR-032) ===== `{{ preview }}` is the only read of the component on this page, so an event that changes only its state (a playground chip, an accordion toggle) patches the preview's subtree instead of re-rendering the page. Keep it the bare variable. {% endcomment %} {{ preview }} {% if client_script_url %}{% endif %}Events this component sends to the view: {% for ev in events %}{{ ev }}{% if not forloop.last %}, {% endif %}{% endfor %}.
Needs its script on the page: <script src="{% static '{{ client_script }}' %}"></script>. djust ships it; without it the markup renders but does not update in the browser.
This is the {% theme_{{ name }} %} tag, which follows your theme. The {{ unstyled_class }} Python class (from djust.components import {{ unstyled_class }}) renders the same component unstyled: no stylesheet djust ships has a rule for its {{ unstyled_class_root }} classes, so you style it yourself — its docstring lists them.
Needs a client hook djust does not ship: dj-hook="{{ client_hook }}". The markup renders, but the interaction described above is yours to add — register window.djust.hooks.{{ client_hook }} = { mounted() { … } } before client.js loads (see the hooks guide).