{% if not component %}

Component not found.

{% else %}
{{ component.name }} {{ component.type }} {{ component.subsystem }}

{{ component.location }}

{{ component.purpose | default('No purpose documented') }}

{% if component.tags %}

{% for tag in component.tags %} {{ tag }} {% endfor %}

{% endif %} {% if component.route %}

Route: {{ component.route.method | default('GET') }} {{ component.route.url }}{{ component.route.handler }}

{% endif %} {% if component.docs %}

Documentation:

{% endif %}
{% if source_code is defined %}
Source Code {% if source_code %} {{ source_lines }} lines · {{ source_size }} {% endif %} {% if source_code %}
{{ source_code }}
{% else %}

Source file not found at {{ component.location }}

{% endif %}
{% endif %} {% if component.depends_on %}
Depends On ({{ component.depends_on | length }}) {% for dep in component.depends_on %} {% if dep is mapping %} {% set resolved_name = id_to_name.get(dep.target, '') if id_to_name is defined else '' %} {% endif %} {% endfor %}
Type Target Location Contract
{{ dep.type | default('uses') }} {% if resolved_name %} {{ resolved_name }} {% if resolved_name != dep.target %} ({{ dep.target }}) {% endif %} {% else %} {{ dep.target }} {% endif %} {{ dep.location | default('') }} {{ dep.contract | default('') }}
{% endif %} {% if reverse_deps %}
Depended By ({{ reverse_deps | length }}) {% for dep in reverse_deps %} {% endfor %}
Type Component Location
{{ dep.type }} {{ dep.name }} {{ dep.location | default('') }}
{% endif %} {% if component.interactive_elements %}
Interactive Elements ({{ component.interactive_elements | length }}) {% for el in component.interactive_elements %}
[{{ el.data_component }}] action={{ el.data_action }}
{{ el.htmx }}
Endpoint: {{ el.api_endpoint }}
Effect: {{ el.backend_effect }}
{% endfor %}
{% endif %} {% if component.writers or component.readers %}
Data Flow {% if component.writers %}

Writers:

{% endif %} {% if component.readers %}

Readers:

{% endif %}
{% endif %} {% if component.coupling_note %}
Coupling Warning

{{ component.coupling_note }}

{% endif %} {% endif %}