// Generated by scripts/generate-showcase.mjs. Do not edit directly.
page ComboBoxDetail {
layout = "showcase"
state playground_size = ctx.url.searchParams.get("pg_size") ?? "default"
state playground_color = ctx.url.searchParams.get("pg_color") ?? "primary"
state playground_label = ctx.url.searchParams.get("pg_label") ?? "Default autocomplete"
state playground_name = ctx.url.searchParams.get("pg_name") ?? "combobox-1"
state playground_value = ctx.url.searchParams.get("pg_value") ?? ""
state playground_options = JSON.parse(ctx.url.searchParams.get("pg_options") ?? "[{\"value\":\"design\",\"label\":\"Design\",\"description\":\"Product and visual design\",\"icon\":\"icon-[lucide--palette]\",\"color\":\"#8b5cf6\",\"avatar\":\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='32' fill='%238b5cf6'/%3E%3Ctext x='32' y='40' text-anchor='middle' font-family='Arial' font-size='24' fill='white'%3ED%3C/text%3E%3C/svg%3E\"},{\"value\":\"engineering\",\"label\":\"Engineering\",\"description\":\"Platform and application engineering\",\"icon\":\"icon-[lucide--code-2]\",\"color\":\"#0ea5e9\",\"avatar\":\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='32' fill='%230ea5e9'/%3E%3Ctext x='32' y='40' text-anchor='middle' font-family='Arial' font-size='24' fill='white'%3EE%3C/text%3E%3C/svg%3E\"},{\"value\":\"growth\",\"label\":\"Growth\",\"description\":\"Marketing and customer growth\",\"icon\":\"icon-[lucide--trending-up]\",\"color\":\"#10b981\",\"avatar\":\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Crect width='64' height='64' rx='32' fill='%2310b981'/%3E%3Ctext x='32' y='40' text-anchor='middle' font-family='Arial' font-size='24' fill='white'%3EG%3C/text%3E%3C/svg%3E\"},{\"value\":\"support\",\"label\":\"Support\",\"description\":\"Customer operations\",\"icon\":\"icon-[lucide--life-buoy]\",\"color\":\"#f59e0b\"}]")
state playground_groups = JSON.parse(ctx.url.searchParams.get("pg_groups") ?? "[]")
state playground_placeholder = ctx.url.searchParams.get("pg_placeholder") ?? "Search teams"
state playground_searchPlaceholder = ctx.url.searchParams.get("pg_searchPlaceholder") ?? "Start typing…"
state playground_clearable = (ctx.url.searchParams.get("pg_clearable") ?? "true") === "true"
state playground_allowCustomValue = (ctx.url.searchParams.get("pg_allowCustomValue") ?? "false") === "true"
state playground_disabled = (ctx.url.searchParams.get("pg_disabled") ?? "false") === "true"
state playground_required = (ctx.url.searchParams.get("pg_required") ?? "false") === "true"
state playground_invalid = (ctx.url.searchParams.get("pg_invalid") ?? "false") === "true"
state playground_validationMessage = ctx.url.searchParams.get("pg_validationMessage") ?? ""
state playground_helpText = ctx.url.searchParams.get("pg_helpText") ?? ""
state playground_loading = (ctx.url.searchParams.get("pg_loading") ?? "false") === "true"
state playground_loadingLabel = ctx.url.searchParams.get("pg_loadingLabel") ?? "Loading suggestions…"
state playground_emptyLabel = ctx.url.searchParams.get("pg_emptyLabel") ?? "No matching options"
state playground_clearLabel = ctx.url.searchParams.get("pg_clearLabel") ?? "Clear value"
state playground_toggleLabel = ctx.url.searchParams.get("pg_toggleLabel") ?? "Toggle suggestions"
state playground_searchMode = ctx.url.searchParams.get("pg_searchMode") ?? "contains"
state playground_searchFields = ctx.url.searchParams.get("pg_searchFields") ?? "label,description"
state playground_minSearchLength = Number(ctx.url.searchParams.get("pg_minSearchLength") ?? "0")
state playground_searchResultLimit = Number(ctx.url.searchParams.get("pg_searchResultLimit") ?? "0")
state playground_optionTemplate = ctx.url.searchParams.get("pg_optionTemplate") ?? "default"
state playground_defaultOpen = (ctx.url.searchParams.get("pg_defaultOpen") ?? "false") === "true"
state playground_closeOnSelect = (ctx.url.searchParams.get("pg_closeOnSelect") ?? "true") === "true"
state playground_fixed = (ctx.url.searchParams.get("pg_fixed") ?? "false") === "true"
state playground_placement = ctx.url.searchParams.get("pg_placement") ?? "bottom"
state playground_autocomplete = ctx.url.searchParams.get("pg_autocomplete") ?? "off"
state playground_remote = (ctx.url.searchParams.get("pg_remote") ?? "false") === "true"
state playground_remoteUrl = ctx.url.searchParams.get("pg_remoteUrl") ?? ""
state playground_remoteQueryParam = ctx.url.searchParams.get("pg_remoteQueryParam") ?? "q"
state playground_remoteDebounce = Number(ctx.url.searchParams.get("pg_remoteDebounce") ?? "250")
state playground_remoteAutoLoad = (ctx.url.searchParams.get("pg_remoteAutoLoad") ?? "true") === "true"
state playground_infinite = (ctx.url.searchParams.get("pg_infinite") ?? "false") === "true"
state playground_hasMore = (ctx.url.searchParams.get("pg_hasMore") ?? "false") === "true"
state playground_page = Number(ctx.url.searchParams.get("pg_page") ?? "1")
state playground_loadMoreLabel = ctx.url.searchParams.get("pg_loadMoreLabel") ?? "Load more"
state playground_class = ctx.url.searchParams.get("pg_class") ?? ""
seo {
title = "Combo Box"
description = "Editable autocomplete combobox with local and remote suggestions."
}
view {
Interactive playgroundConfigure Combo Box
Change any prop and inspect the server-rendered component immediately.
Live preview
<ComboBox
label="Default autocomplete"
name="combobox-1"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
/>
Event outputInteract with the preview to inspect event.detail.
Live examplesDesigned for real product surfaces
Compare configurations and resize the browser to check responsive behavior.
<ComboBox
label="Default autocomplete"
name="combobox-1"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
/>
<ComboBox
label="Local HTML options"
name="combobox-2"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
/>
<ComboBox
label="Grouped suggestions"
name="combobox-3"
options='[]'
groups='[
{
"label": "Product",
"options": [
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
}
]
},
{
"label": "Business",
"options": [
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]
}
]'
placeholder="Search teams"
/>
<ComboBox
label="Minimum search length"
name="combobox-4"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
minSearchLength="3"
/>
<ComboBox
label="Search result limit"
name="combobox-5"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
searchResultLimit="2"
/>
<ComboBox
label="Starts-with matching"
name="combobox-6"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
searchMode="startsWith"
/>
<ComboBox
label="Search labels and descriptions"
name="combobox-7"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
/>
<ComboBox
label="Suggestions with icons"
name="combobox-8"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
optionTemplate="icon"
/>
<ComboBox
label="Suggestions with avatars"
name="combobox-9"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
optionTemplate="avatar"
/>
<ComboBox
label="Suggestions with color indicators"
name="combobox-10"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
optionTemplate="color"
/>
<ComboBox
label="Clearable value"
name="combobox-11"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
/>
<ComboBox
label="Custom text values"
name="combobox-12"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
allowCustomValue="true"
/>
<ComboBox
label="Preselected value"
name="combobox-13"
value="engineering"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
/>
<ComboBox
label="Disabled combobox"
name="combobox-14"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
disabled="true"
/>
Live preview
<ComboBox
label="Validation state"
name="combobox-15"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
required="true"
/>
<ComboBox
label="Remote data with automatic preload"
name="combobox-16"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search remote teams"
minSearchLength="2"
remote="true"
remoteUrl="/api/teams"
/>
<ComboBox
label="Remote search API"
name="combobox-17"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search remote teams"
minSearchLength="2"
remote="true"
remoteUrl="/api/teams"
/>
<ComboBox
label="Remote query parameters"
name="combobox-18"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search remote teams"
minSearchLength="2"
remote="true"
remoteUrl="/api/teams"
/>
<ComboBox
label="Infinite remote suggestions"
name="combobox-19"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search remote teams"
minSearchLength="2"
remote="true"
remoteUrl="/api/teams"
infinite="true"
hasMore="true"
/>
<ComboBox
label="Fixed-position suggestions"
name="combobox-20"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
fixed="true"
/>
<ComboBox
label="JavaScript methods"
name="combobox-21"
options='[
{
"value": "design",
"label": "Design",
"description": "Product and visual design",
"icon": "icon-[lucide--palette]",
"color": "#8b5cf6",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%238b5cf6\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3ED%3C/text%3E%3C/svg%3E"
},
{
"value": "engineering",
"label": "Engineering",
"description": "Platform and application engineering",
"icon": "icon-[lucide--code-2]",
"color": "#0ea5e9",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%230ea5e9\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EE%3C/text%3E%3C/svg%3E"
},
{
"value": "growth",
"label": "Growth",
"description": "Marketing and customer growth",
"icon": "icon-[lucide--trending-up]",
"color": "#10b981",
"avatar": "data:image/svg+xml,%3Csvg xmlns=\u0027http://www.w3.org/2000/svg\u0027 viewBox=\u00270 0 64 64\u0027%3E%3Crect width=\u002764\u0027 height=\u002764\u0027 rx=\u002732\u0027 fill=\u0027%2310b981\u0027/%3E%3Ctext x=\u002732\u0027 y=\u002740\u0027 text-anchor=\u0027middle\u0027 font-family=\u0027Arial\u0027 font-size=\u002724\u0027 fill=\u0027white\u0027%3EG%3C/text%3E%3C/svg%3E"
},
{
"value": "support",
"label": "Support",
"description": "Customer operations",
"icon": "icon-[lucide--life-buoy]",
"color": "#f59e0b"
}
]'
groups='[]'
placeholder="Search teams"
/>
Component eventsRespond to every public interaction
Use declarative @event handlers in .wrn files or subscribe to the bubbling browser events from JavaScript.
@searchFires when the current search query changes.
@selectFires when an item, option, card, or result is selected.
@changeFires when the component's committed value or selection changes.
@clearFires after the current value or selection is cleared.
@openFires after the component opens.
@closeFires after the component closes.
@loadFires after remote or deferred content loads successfully.
@errorFires when the component cannot complete an operation.
<ComboBox
@search='console.log(event.detail)'
@select='console.log(event.detail)'
@change='console.log(event.detail)'
@clear='console.log(event.detail)'
@open='console.log(event.detail)'
@close='console.log(event.detail)'
@load='console.log(event.detail)'
@error='console.log(event.detail)'
/>
const component = document.querySelector("[data-ui-component=\"ComboBox\"], [data-component=\"ComboBox\"]")
component?.addEventListener("search", (event) => {
console.log("search", event.detail)
})
component?.addEventListener("select", (event) => {
console.log("select", event.detail)
})
component?.addEventListener("change", (event) => {
console.log("change", event.detail)
})
component?.addEventListener("clear", (event) => {
console.log("clear", event.detail)
})
component?.addEventListener("open", (event) => {
console.log("open", event.detail)
})
component?.addEventListener("close", (event) => {
console.log("close", event.detail)
})
component?.addEventListener("load", (event) => {
console.log("load", event.detail)
})
component?.addEventListener("error", (event) => {
console.log("error", event.detail)
})
Component APIProps and configuration
All content and behavior shown above is supplied through these props and slots.
| Prop | Type | Default | Required |
|---|
size | string | "default" | No |
color | string | "primary" | No |
label | string | "ComboBox" | No |
name | string | "" | No |
value | string | "" | No |
options | string | [] | No |
groups | string | [] | No |
placeholder | string | "Search or select an option" | No |
searchPlaceholder | string | "Start typing…" | No |
clearable | boolean | true | No |
allowCustomValue | boolean | false | No |
disabled | boolean | false | No |
required | boolean | false | No |
invalid | boolean | false | No |
validationMessage | string | "" | No |
helpText | string | "" | No |
loading | boolean | false | No |
loadingLabel | string | "Loading suggestions…" | No |
emptyLabel | string | "No matching options" | No |
clearLabel | string | "Clear value" | No |
toggleLabel | string | "Toggle suggestions" | No |
searchMode | string | "contains" | No |
searchFields | string | "label,description" | No |
minSearchLength | number | 0 | No |
searchResultLimit | number | 0 | No |
optionTemplate | string | "default" | No |
defaultOpen | boolean | false | No |
closeOnSelect | boolean | true | No |
fixed | boolean | false | No |
placement | string | "bottom" | No |
autocomplete | string | "off" | No |
remote | boolean | false | No |
remoteUrl | string | "" | No |
remoteQueryParam | string | "q" | No |
remoteDebounce | number | 250 | No |
remoteAutoLoad | boolean | true | No |
infinite | boolean | false | No |
hasMore | boolean | false | No |
page | number | 1 | No |
loadMoreLabel | string | "Load more" | No |
class | string | "" | No |
}
}