{% macro htmx_pagination(pagination, hx_endpoint, hx_target, method="POST", hx_swap="outerHTML") %} {% set current_page = pagination.current_page %} {% set total_items = pagination.total_items %} {% set page_size = pagination.page_size %} {% set page_sizes = pagination.page_sizes %} {% set total_pages = ((total_items - 1) // page_size + 1) if total_items > 0 else 1 %} {% set start_item = (current_page) * page_size + 1 %} {% set end_item = [(current_page + 1) * page_size, total_items] | min %} {% set is_post = method.upper() == 'POST' %}