client mode — buttons update page and emit
materialPageChange; windowing keeps first/last + siblings
event: —
server mode — href-template="#page={page}" renders real
links (add up-target for Unpoly); ends: first / last page
few pages — no ellipsis · single page
RTL — chevrons follow the reading direction
Sample usage (Django / Unpoly)
<!-- inside material-data-table's footer -->
<footer>
<span>{{ page.start_index }}–{{ page.end_index }} of {{ paginator.count }}</span>
<material-pagination page="{{ page.number }}" pages="{{ paginator.num_pages }}"
href-template="?page={page}" up-target="table">
</material-pagination>
</footer>