{# Rendered standalone for filter keystrokes (?partial=1) and included by files.html for a full page load. The filter input lives outside this fragment so a swap never steals focus or the caret. The pager sits inside it, because filtering changes the count and the number of pages. #} {% import 'partials/pager.html' as pager %} {{ pager.pager(page, per_page, total, page_href, size_options=per_page_options) }}