# Display JS


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

## Public API

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

### generate_display_js

``` python

def generate_display_js(
    config:TokenSelectorConfig, # config for this instance
    ids:TokenSelectorHtmlIds, # HTML IDs
)->str: # JS code fragment for the IIFE

```

*Generate display update and hidden input sync JS functions.*

``` python
from cjm_fasthtml_token_selector.core.config import TokenSelectorConfig, _reset_prefix_counter
from cjm_fasthtml_token_selector.core.html_ids import TokenSelectorHtmlIds

_reset_prefix_counter()

cfg = TokenSelectorConfig(prefix="t", selection_mode="gap")
ids = TokenSelectorHtmlIds(prefix="t")
js = generate_display_js(cfg, ids)
assert "ns.updateDisplay" in js
assert "ns.updateInputs" in js
assert "t-anchor" in js
assert "t-focus" in js
assert "caret-indicator" in js
print("Gap display JS generated!")

cfg_w = TokenSelectorConfig(prefix="tw", selection_mode="word")
ids_w = TokenSelectorHtmlIds(prefix="tw")
js_w = generate_display_js(cfg_w, ids_w)
assert HIGHLIGHT_CLS in js_w
print("Word display JS generated!")

cfg_s = TokenSelectorConfig(prefix="ts", selection_mode="span")
ids_s = TokenSelectorHtmlIds(prefix="ts")
js_s = generate_display_js(cfg_s, ids_s)
assert HIGHLIGHT_CLS in js_s
assert "caret-indicator" in js_s
print("Span display JS generated!")

_reset_prefix_counter()
print("All display JS tests passed!")
```

    Gap display JS generated!
    Word display JS generated!
    Span display JS generated!
    All display JS tests passed!
