{#- chirp-ui: Search Header composite Header + prominent search strip for discovery/list pages. Composes layout.page_header + forms.search_bar + action_strip. -#} {% from "chirpui/layout.html" import page_header, stack %} {% from "chirpui/forms.html" import form, search_bar %} {% from "chirpui/action_strip.html" import action_strip %} {% def search_header(title, form_action, query="", search_name="q", subtitle=none, meta=none, breadcrumb_items=none, form_method="get", form_attrs="", form_attrs_map=none, search_placeholder="Search...", button_label="Search", button_icon="⌕", surface_variant="muted", density="md", wrap="wrap", sticky=false, cls="") %} {% call stack(gap="sm", cls="chirpui-search-header" ~ (" " ~ cls if cls else "")) %} {% if title %}{{ page_header(title, subtitle=subtitle, meta=meta, breadcrumb_items=breadcrumb_items) }}{% end %} {% call form(form_action, method=form_method, attrs=form_attrs, attrs_map=form_attrs_map, cls="chirpui-search-header__form") %} {% call action_strip(surface_variant=surface_variant, density=density, wrap=wrap, sticky=sticky, role="region", aria_label="Search and controls", cls="chirpui-search-header__strip") %}
{{ search_bar(search_name, value=query, variant="with-button", placeholder=search_placeholder, button_label=button_label, button_icon=button_icon) }}
{% if caller is defined %}{{ caller() }}{% end %}
{% end %} {% end %} {% end %} {% end %}