{
"type": "object",
"properties": {
"type": {
"const": "Combobox",
"default": "Combobox",
"type": "string"
},
"id": {
"type": [
"string",
"null"
],
"default": null,
"description": "HTML id attribute for CSS targeting. Applied to the outermost element."
},
"cssClass": {
"type": [
"string",
"null"
],
"default": null,
"description": "CSS/Tailwind classes for styling. Accepts a Responsive() for breakpoint-aware classes."
},
"children": {
"type": "array",
"items": {
"$ref": "Component"
}
},
"let": {
"additionalProperties": true,
"type": [
"object",
"null"
],
"default": null,
"description": "Scoped bindings available to children. Values are template strings."
},
"name": {
"type": [
"string",
"null"
],
"default": null,
"description": "State key for reactive binding. Auto-generated if omitted."
},
"value": {
"type": [
"string",
"null"
],
"default": null,
"description": "Initially selected option value"
},
"placeholder": {
"type": [
"string",
"null"
],
"default": null,
"description": "Placeholder text shown when no value is selected"
},
"searchPlaceholder": {
"type": [
"string",
"null"
],
"default": null,
"description": "Placeholder text in the search input"
},
"disabled": {
"default": false,
"description": "Whether combobox is disabled",
"type": "boolean"
},
"side": {
"enum": [
"top",
"right",
"bottom",
"left"
],
"type": [
"string",
"null"
],
"default": null,
"description": "Which side to show the dropdown"
},
"align": {
"enum": [
"start",
"center",
"end"
],
"type": [
"string",
"null"
],
"default": null,
"description": "Alignment of the dropdown relative to the trigger"
},
"invalid": {
"default": false,
"description": "Whether the combobox is in an error state",
"type": "boolean"
},
"onChange": {
"$ref": "Action",
"description": "Action(s) when the selected value changes",
"default": null
}
},
"required": [
"type"
]
}