{# Layout components — page header, titled card sections, key/value grids. Macros: page_header, section_card, info_item, info_grid, collapsible #} {% macro page_header(title, back_url="", description="") %} {# Title row with optional back arrow and a slot for actions (use with {% call %}). Usage: {% call page_header("Pipeline details", back_url="/ci") %} {% endcall %} #}
{% if back_url %} {% endif %}

{{ title }}

{% if description %}

{{ description }}

{% endif %}
{{ caller() }}
{% endmacro %} {% macro section_card(title, subtitle="", icon="") %} {# Card with a header bar; the body has NO padding so tables and editors go edge to edge. Use with {% call %}. #}

{% if icon %}{% endif %} {{ title }}

{% if subtitle %}{{ subtitle }}{% endif %}
{{ caller() }}
{% endmacro %} {% macro info_item(label, value, mono=false) %} {# One label/value cell for info_grid. #}
{{ label }}
{{ value }}
{% endmacro %} {% macro info_grid(cols=4) %} {# Grid of info_item cells. cols: 2, 3 or 4. Use with {% call %}. #}
{{ caller() }}
{% endmacro %} {% macro collapsible(title, expanded=true, id="") %} {# Section that folds on click. Use with {% call %}. #}
{{ caller() }}
{% endmacro %}