Button IDs

Prefix-based IDs for hidden keyboard action buttons.

CardStackButtonIds

IDs for hidden buttons that the keyboard navigation system triggers via htmx_trigger. These are separate from CardStackHtmlIds because they serve a different purpose: DOM element targeting vs keyboard action triggering.


source

CardStackButtonIds


def CardStackButtonIds(
    prefix:str
)->None:

Prefix-based IDs for hidden keyboard action buttons.

# Test CardStackButtonIds
btn = CardStackButtonIds(prefix="cs0")
assert btn.nav_up == "cs0-btn-nav-up"
assert btn.nav_down == "cs0-btn-nav-down"
assert btn.nav_first == "cs0-btn-nav-first"
assert btn.nav_last == "cs0-btn-nav-last"
assert btn.nav_page_up == "cs0-btn-nav-page-up"
assert btn.nav_page_down == "cs0-btn-nav-page-down"
assert btn.width_narrow == "cs0-btn-width-narrow"
assert btn.width_widen == "cs0-btn-width-widen"
assert btn.scale_decrease == "cs0-btn-scale-decrease"
assert btn.scale_increase == "cs0-btn-scale-increase"
print("CardStackButtonIds tests passed!")
CardStackButtonIds tests passed!
# Test multi-instance uniqueness
btn_a = CardStackButtonIds(prefix="text")
btn_b = CardStackButtonIds(prefix="vad")
assert btn_a.nav_up != btn_b.nav_up
assert btn_a.nav_up == "text-btn-nav-up"
assert btn_b.nav_up == "vad-btn-nav-up"
print("Button ID multi-instance tests passed!")
Button ID multi-instance tests passed!