"""Search field + dropdown select component (pure Python, domain-agnostic). Pairs a search box with a dropdown of options. Supports single/multi select; in multi-select, chosen items render as removable ``Pill``s, each backed by a hidden ```` so an existing ``ModelMultipleChoiceField`` keeps validating. This module imports only from ``common.components`` — it has no Django-forms or ``games`` knowledge. Styling is inline Tailwind utilities; behavioural hooks are ``data-*`` attributes wired up by ``ts/search_select.ts`` (compiled to ``games/static/js/dist/search_select.js``). **Field id / label association**: when ``SearchSelect`` is used as a Django form widget, the field ``id`` (e.g. ``id_related_game``) is placed on the inner search ```` (``[data-search-select-search]``), making it a real labelable control. ``