# Test config generation
result = js_config_from_dict({"key": "value", "num": 42})
assert "const cfg" in result
assert '"key"' in result
assert '"value"' in resultJavaScript Utilities
Core JavaScript utility generators for keyboard navigation.
Configuration Injection
js_config_from_dict
def js_config_from_dict(
config:dict[str, Any], # Python dict to convert
var_name:str='cfg', # JavaScript variable name
)->str: # JavaScript const declaration
Generate JavaScript const declaration from Python dict.
Input Detection
js_input_detection
def js_input_detection(
selector:str="input, textarea, select, [contenteditable='true']", # CSS selector for input elements
)->str: # JavaScript function definition
Generate JavaScript function to detect if input element is focused.
# Test input detection
result = js_input_detection()
assert "function isInputFocused" in result
assert "target.matches" in resultFocus Ring Helpers
js_focus_ring_helpers
def js_focus_ring_helpers(
default_classes:tuple[str, ...]=('ring-2', 'ring-primary'), # default focus ring CSS classes
)->str: # JavaScript function definitions
Generate JavaScript functions for adding/removing focus ring classes.
# Test focus ring helpers
result = js_focus_ring_helpers()
assert "function addFocusRing" in result
assert "function removeFocusRing" in result
assert str(ring(2)) in result
assert str(ring_dui.primary) in resultScroll Into View
js_scroll_into_view
def js_scroll_into_view(
behavior:str='smooth', # "smooth" or "auto"
block:str='nearest', # "start", "center", "end", "nearest"
)->str: # JavaScript function definition
Generate JavaScript function to scroll element into view.
# Test scroll helper
result = js_scroll_into_view()
assert "function scrollToElement" in result
assert "scrollIntoView" in result
assert "smooth" in resultData Attribute Extraction
js_get_data_attributes
def js_get_data_attributes(
)->str: # JavaScript function definition
Generate JavaScript function to extract data attributes from element.
# Test data attribute extraction
result = js_get_data_attributes()
assert "function getDataAttributes" in result
assert "getAttribute" in resultModifier Key Detection
js_get_modifiers
def js_get_modifiers(
)->str: # JavaScript function definition
Generate JavaScript function to extract modifier keys from event.
# Test modifier detection
result = js_get_modifiers()
assert "function getModifiers" in result
assert "function modifiersMatch" in result
assert "shiftKey" in resultCombined Utilities
Function to generate all utility functions at once.
js_all_utils
def js_all_utils(
input_selector:str="input, textarea, select, [contenteditable='true']", # input element selector
default_focus_classes:tuple[str, ...]=('ring-2', 'ring-primary'), # focus ring classes
scroll_behavior:str='smooth', # scroll behavior
scroll_block:str='nearest', # scroll block alignment
)->str: # all utility functions combined
Generate all JavaScript utility functions.
# Test combined utilities
result = js_all_utils()
assert "isInputFocused" in result
assert "addFocusRing" in result
assert "scrollToElement" in result
assert "updateHiddenInput" in result
assert "triggerClick" in result
assert "getDataAttributes" in result
assert "getModifiers" in result