SusSelect

Form select / combobox — closed field identity (open list is optional).
Package
SusKit · Atoms (commercial)
Props
| Name | Type | Default | |
|---|---|---|---|
Model | Prop<object> | null | v-model |
Label | Prop<string> | "" | v-model |
Placeholder | Prop<string> | "" | v-model |
ItemTitle | Prop<string> | "" | v-model |
ItemValue | Prop<string> | "" | v-model |
Multiple | Prop<bool> | false | v-model |
Clearable | Prop<bool> | false | v-model |
Searchable | Prop<bool> | false | v-model |
AllowCreate | Prop<bool> | false | v-model |
CreateText | Prop<string> | "Create \"{0}\"" | v-model |
SearchText | Prop<string> | "" | v-model |
NoDataText | Prop<string> | "Nothing found" | v-model |
Disabled | Prop<bool> | false | v-model |
Readonly | Prop<bool> | false | v-model |
Loading | Prop<bool> | false | v-model |
Mandatory | Prop<bool> | false | v-model |
IsOpen | Prop<bool> | false | v-model |
Variant | Prop<string> | "outlined" | v-model |
Color | Prop<string> | "primary" | v-model |
Density | Prop<string> | "default" | v-model |
Counter | Prop<bool> | false | v-model |
Error | Prop<string> | "" | v-model |
Hint | Prop<string> | "" | v-model |
PersistentHint | Prop<bool> | false | v-model |
HideDetails | Prop<string> | "auto" | v-model |
Slots
| Name |
|---|
prepend |
selection |
append |
item |
noData |
Events
| Name | Field | Payload |
|---|---|---|
Search | OnSearch | string |
Create | OnCreate | string |
Change | OnChange | object |
Open | OnOpen | — |
Close | OnClose | — |
Style hooks
USS class contract — override appearance without touching C#. States toggle via these classes:
sus-selectsus-select__arrowsus-select__chipssus-select__clearsus-select__clear--visiblesus-select__controlsus-select__countersus-select__detailssus-select__details--hiddensus-select__errorsus-select__fieldsus-select__field-contentsus-select__hintsus-select__itemsus-select__item--createsus-select__item--highlightedsus-select__item--select-allsus-select__item--selectedsus-select__item-checksus-select__item-textsus-select__labelsus-select__label--floatingsus-select__loadersus-select__loader--activesus-select__messagessus-select__placeholdersus-select__search--hiddensus-select__valuesus-select__value-rowsus-select--dangersus-select--density-comfortablesus-select--density-compactsus-select--dirtysus-select--disabledsus-select--errorsus-select--filledsus-select--focusedsus-select--has-labelsus-select--has-valuesus-select--hide-detailssus-select--infosus-select--loadingsus-select--multiplesus-select--opensus-select--outlinedsus-select--plainsus-select--primarysus-select--readonlysus-select--secondarysus-select--solosus-select--solo-filledsus-select--solo-invertedsus-select--successsus-select--underlinedsus-select--warningsus-slotunity-labelunity-text-element
Usage
xml
<template>
<sus:SusSelect Label="Faction"
Placeholder="Pick one"
:Items="Factions.Value"
:Model="Faction.Value"
Variant="outlined"
@change="OnFaction" />
</template>
<script>
public Prop<List<object>> Factions = new(new List<object>
{
"Empire", "Republic", "Independent",
});
public Prop<object> Faction = new(null);
void OnFaction(object value) { /* … */ }
</script>csharp
var select = new SusSelect();
select.Label.Value = "Country";
select.Placeholder.Value = "Pick one";
select.Items.Value = new List<object> { "US", "UK", "JP" };
select.Model.Value = null;
select.Clearable.Value = true;
select.Searchable.Value = true;
select.OnChange += value => { /* … */ };| Prop | Role |
|---|---|
Items | Options (List<object>) |
Model | Current selection (single) |
SelectedValues | Multi-select selections |
ItemTitle / ItemValue | Property names when items are objects |
Multiple / Searchable / AllowCreate | Combobox behaviors |
Variant
filled · outlined · underlined · plain · solo · solo-inverted · solo-filled