Founding price: $35, then $99 after 23:59 UTC on 4 November, then $99
Get ProA select whose value lives in the address bar: it reads ?team=sales on load, writes the choice with pushState or replaceState, follows the Back and Forward buttons and ignores values that are not options. Use this when a filter should be shareable and survive a reload.
Derived from this item’s props table, because it declares no controls of its own. This item has no standalone playground, so changes update the code, the share link and the AI prompt.
Use it for list and dashboard filters (team, status, region), where the page must open on the same view when the link is shared or reloaded and Back should undo a change.
Do not use it when the value is private or changes every second. Keep it in memory.
This item is part of tealmac UI Pro
The source for this item installs with a Pro licence key. Log in with your key to see the install command, or read the Pro setup page.
| Prop | Type | Default | Description |
| --------------- | ------------------------- | ---------- | --------------------------------------------------------------------- | ---------------------------------------------------------- |
| param | string | - | The search-parameter name, e.g. team. |
| options | { value, label }[] | - | The choices; a URL value outside this list is ignored. |
| defaultValue | string | "" | Used when the URL has no (valid) value; it is not written to the URL. |
| history | "push" \\ | "replace" | push | push makes each choice a Back entry; replace does not. |
| onValueChange | (value: string) => void | - | Runs when the value changes, from a choice or from navigation. |
| aria-label | string | Filter | Names the control. |
popstate the field updates and a polite status reads <label>: <value>.The pattern ships with a Testing Library test (select-url-search-param-state.test.tsx) that covers reading the URL, writing on a choice, ignoring invalid values and following popstate.