Add FilterSelect: include/exclude combobox on the shared shell

FilterSelect renders value rows with +/- (include/exclude) buttons, check/cross
pills for the included/excluded sets, and an optional set of pinned modifier
pseudo-options (e.g. (Any)/(None)) that stay visible above the value rows. A
selected modifier is mutually exclusive with value pills. It delegates assembly
to _combobox_shell and supports both pre-rendered options (complete set) and
search_url + prefetch (windowed); included/excluded are passed as resolved
value+label so pills show labels even outside the fetched window. Styling is
inline (ported from the old SelectableFilter CSS) so nothing lives in input.css.

https://claude.ai/code/session_01XzhXvMvw42CQGc9kmin3GS
This commit is contained in:
Claude
2026-06-07 22:11:00 +00:00
committed by Lukáš Kucharczyk
parent 003e6ebe15
commit d7e6efa68a
3 changed files with 313 additions and 0 deletions
+2
View File
@@ -40,6 +40,7 @@ from common.components.primitives import (
paginated_table_content,
)
from common.components.search_select import (
FilterSelect,
SearchSelect,
SearchSelectOption,
searchselect_selected,
@@ -85,6 +86,7 @@ __all__ = [
"Popover",
"PopoverTruncated",
"SearchField",
"FilterSelect",
"SearchSelect",
"SearchSelectOption",
"searchselect_selected",