ArtificialSenseDocs

Docs / Components

SenseSelectComponent

Combobox-style select from @artificialsenselabs/ui โ€” composes sense-icon, sense-icon-button, and sense-spinner.

Live demo: run nx serve showcase and open /components/select (port 4202).

Overview

Category: Form / inputs. Selector: sense-select. Import: import { SenseSelectComponent } from '@artificialsenselabs/ui';

<sense-select
  label="Country"
  [options]="countries"
  [searchable]="true"
  [(ngModel)]="country"
/>

API

Generated from libs/ui/src/lib/select/sense-select/sense-select.component.ts โ€” run pnpm run docs:api to refresh.

Inputs
InputTypeDefaultDescription
optionsSenseSelectOption[][] Label/value options rendered in the listbox.
sizeSenseSelectSize'md' Trigger control scale token.
variantSenseSurfaceVariant'outlined' Field chrome: `outlined` (default), `filled`, or `ghost`.
multiplebooleanfalse Allow multiple selections; the CVA value becomes an array.
searchablebooleanfalse Shows a filter field inside the open panel.
placeholderstring'' Placeholder shown on the trigger when nothing is selected.
disabledbooleanfalse Disables interaction and dims the control.
loadingbooleanfalse Shows a busy indicator and suppresses interaction while options load.
labelstring'' Visible label text.
ariaLabelstring | nullnull Accessible name override when no visible `label` is provided.
ariaLabelledBystring | nullnull `id` of an external element labelling the control (`aria-labelledby`).
invalidbooleanfalse Marks the control invalid for ARIA and error styling.
requiredbooleanfalse Marks the control required for validation and ARIA.

Accessibility

  • Host exposes combobox semantics: aria-expanded, aria-controls, aria-activedescendant.
  • Visible labels use aria-labelledby; standalone controls use aria-label.
  • Searchable mode announces filtered result counts via a polite live region.
  • Keyboard: Arrow keys, Enter/Space, Home/End, Escape, and typeahead.