# JS: Page Navigation


<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

## generate_page_nav_js

Generates functions that trigger HTMX navigation buttons for page jumps
and first/last navigation. These are called by the keyboard navigation
system’s `KeyAction` definitions.

------------------------------------------------------------------------

<a
href="https://github.com/cj-mills/cjm-fasthtml-card-stack/blob/main/cjm_fasthtml_card_stack/js/navigation.py#L12"
target="_blank" style="float:right; font-size:smaller">source</a>

### generate_page_nav_js

``` python

def generate_page_nav_js(
    button_ids:CardStackButtonIds, # Button IDs for navigation triggers
)->str: # JavaScript code fragment for page navigation

```

*Generate JS for page-based and first/last navigation functions.*

``` python
# Test page navigation JS generation
btn = CardStackButtonIds(prefix="cs0")
js = generate_page_nav_js(btn)
assert btn.nav_page_up in js
assert btn.nav_page_down in js
assert btn.nav_first in js
assert btn.nav_last in js
assert "ns.jumpPageUp" in js
assert "ns.jumpPageDown" in js
assert "ns.jumpToFirstItem" in js
assert "ns.jumpToLastItem" in js
print("Page navigation JS tests passed!")
```

    Page navigation JS tests passed!
