{%- macro search_input(content, name="q", value="", label=_("Search"), placeholder=_("Search...")) -%}
{{ ui.input(content, name=name, label=label, value=value, type="search", placeholder=placeholder, **kwargs) }}
{%- endmacro %}
{%- macro search_submit_button(content=ui.icon("search") ~ _("Search")) -%}
{{ ui.button(content, type="submit", **kwargs) }}
{%- endmacro %}
{%- macro search_sort_control(content, name="sort", selected="", options=[], label=_("Order by")) -%}
{{ ui.select(content, name=name, label=label, selected=selected, options=options, **kwargs) if options }}
{%- endmacro %}
{%- macro search_results_text(count, error, type, query, template) -%}
{%- call ui.util.call(ui.heading, level=2, **kwargs) -%}
{%- if error %}
{{ _('Error: {error}').format(error=error) }}
{%- else %}
{%- if count %}
{% set template = template or ungettext("Found {count} result", "Found {count} results", count) %}
{{ template.format(count=count) }}
{%- else %}
{{ _('No results found') }}
{%- endif %}
{%- endif %}
{%- endcall %}
{%- endmacro %}
{%- macro search_active_filters(active_filters, facet_titles, facets, use_htmx) -%}
{%- if active_filters -%}
{%- call ui.util.call(ui.list, **kwargs) -%}
{%- for key, values in active_filters|groupby(0) -%}
{%- call ui.util.call(ui.list_item) -%}
{{ facet_titles.get(key, key) }}:
{%- for _, value in values %}
{%- with label=h.list_dict_filter(facets[key]["items"], 'name', 'display_name', value) -%}
{{ ui.link(label, h.remove_url_param(key, value), hx={"boost": "true" if use_htmx else "false"}) }}
{%- endwith %}
{% endfor %}
{%- endcall %}
{%- endfor %}
{%- endcall %}
{%- endif %}
{%- endmacro %}
{%- macro search_advanced_controls() -%}
{%- do kwargs -%}
{%- endmacro %}
{%- macro search_form_box(content, use_htmx) -%}
{%- if use_htmx -%}
{%- do kwargs.setdefault("hx", {"boost": "true", "disinherit": "hx-boost", "trigger": "change, submit"}) -%}
{%- endif %}
{%- call ui.util.call(ui.form, **kwargs) -%}
{{ content }}
{%- endcall %}
{%- endmacro %}
{%- macro search_form(query, sorting, sorting_options, error, count, facets, facet_titles, active_filters, use_htmx, query_name="q", sorting_name="sort") -%}
{%- do kwargs -%}
{%- include "macros/ui/snippets/search_form.html" -%}
{%- endmacro %}