AppSelectMini
A compact, single-purpose picker for toolbars and table headers — page size, a status filter, a sort order.
<app-select-mini name="status" aria-label="Filter status">…</app-select-mini><app-select-mini> is the compact single-purpose picker — the small dropdown that sits in a toolbar or table header for a page size, a status filter, or a sort order. It is the same underlying select as <app-select>, styled tight and inline, with no label, hint, or validation shell.
Its look comes entirely from the shared @webority/theme, and the behaviour lives once in the shared <wui-select> element, so the Razor <app-select-mini> and the React <AppSelectMini> render and behave identically on every Webority surface.
Playground
Every attribute, live. Each change re-renders the real tag helper on the server, so the markup underneath is the exact call that produced the picker above it.
aria-label="Filter status" so the demo stays accessible — always set it yourself, since the mini picker has no visible label.Basic
A compact picker with a short option set. It has no visible label, so give it an ariaLabel for its accessible name.
Show code
<app-select-mini name="status" aria-label="Filter status">
<app-option value="all" selected>All statuses</app-option>
<app-option value="draft">Draft</app-option>
<app-option value="active">Active</app-option>
<app-option value="done">Complete</app-option>
</app-select-mini>
aria-label (for example "Filter status") — that is the accessible name a screen reader announces in place of a bare "combobox".In a toolbar
Its home is inline among other controls — a rows-per-page picker beside a table, a filter beside a search box. Keep the label text tiny and the control tight.
Show code
<div class="d-flex align-items-center gap-2">
<span class="wui-text-sm text-body-secondary">Rows</span>
<app-select-mini name="pageSize" aria-label="Rows per page">
<app-option value="10">10 / page</app-option>
<app-option value="25" selected>25 / page</app-option>
<app-option value="50">50 / page</app-option>
</app-select-mini>
</div>
AppIcon & prefix
A leading icon and a static prefix make a toolbar picker self-describing without a separate label. icon takes a Bootstrap Icons name; prefix is plain text shown before the value.
Show code
<app-select-mini name="status" icon="filter" aria-label="Filter status">…</app-select-mini> <app-select-mini name="sort" icon="sort" prefix="Sort:" aria-label="Sort order">…</app-select-mini>
Sizes
size takes sm or lg around the default compact 32px picker — for a denser toolbar or a slightly larger tap target.
Show code
<app-select-mini name="s" size="sm">…</app-select-mini> <app-select-mini name="s">…</app-select-mini> <app-select-mini name="s" size="lg">…</app-select-mini>
When to use
Use it when
- A compact, single-purpose picker in a toolbar or table header — page size, a status filter, a sort order.
- The choice sits inline next to other controls and a full labelled field would be too heavy.
- The option set is short and self-explanatory from the values alone.
Reach for something else when
- It is a form field that needs a label, hint, or validation. → AppSelect
- The list is long enough to need type-to-find. → AppSelect (searchable)
- The user picks several values at once. → AppMultiSelect
Best practices
Every option
The whole surface of the component, one cell per value.
size — every value
size (default)size="sm"size="lg"icon
(none)icon="filter"icon="sort"prefix
(none)prefix="Sort:"icon="sort" prefix="Sort:" — combinedstate
disabledno option selected — shows placeholderplaceholder="Sort by…"no <app-option> children — empty listclass="toolbar-sort"long option label — overflow inside the menuAttributes
| Attribute | Type | Default | Description |
|---|---|---|---|
| name | string | — | Field name the picker posts its value under. |
| aria-label | string | — | Accessible name — set it, as there is no visible label. |
| placeholder | string | Select... | Shown when nothing is selected. |
| id | string | — | Explicit control id. |
| icon | string | — | Leading Bootstrap Icons glyph, e.g. funnel / sort-down. |
| prefix | string | — | Static text before the value, e.g. Sort:. |
| size | string | — | Compact-scaled size: sm / lg around the default 32px picker. |
| disabled | bool | false | Disables the control. |
| <app-option> value | string | — | The value of an option child. Its label is the inner content. |
| <app-option> selected | bool | false | Marks that option as initially selected. |
| value | string | — | The currently selected value (React value). |
| class | string | — | Razor's spelling of React's className, carried onto the rendered <wui-select> element (this helper has no field shell to attach it to instead). |