Startboard project

Startboard / Design system

Documentation v1.0.0 · Public product

Design system contents

Components

Icon picker

A searchable catalog gives bookmarks and boards an optional recognizable symbol.

On this page

Purpose and placement

A searchable catalog gives bookmarks and boards an optional recognizable symbol.

Anatomy

  • Search input
  • Absolutely positioned results list
  • Result icon and name
  • Selected row with removal

Contract

Contract
Input or boundaryBehavior
queryTrimmed lowercase substring
ResultsFirst 40 catalog matches
Selectionlabel and className pair
CatalogLazy import in dashboard; direct import in board settings

States and feedback

  • No query: no list
  • Query matches: scrollable suggestions
  • Selected icon
  • Cleared selection

Interaction and composition

Preserve the relationship between search field and results. Choosing an item stores its class and hides suggestions. A loaded existing record uses Selected icon as the display label instead of resolving the catalog name.

Responsive behavior

The list uses max-height 192px and scrolls. Its absolute placement can cover save actions or extend past the viewport.

Accessibility contract

Results are buttons, so tab/click work, but there are no combobox/listbox roles, active-descendant handling or arrow-key selection.

Known implementation gaps

No explicit no-icon-results feedback exists. The dashboard memo depends on query rather than the lazy-loaded catalog, so the first search may stay empty until the query changes after loading. Captures reproduce that next-keystroke interaction. Lazy loading has no loading announcement. Saved arbitrary classes may not have valid local glyphs.

Source references

Source references
Repository fileResponsibility
app/(home)/AppHome.tsxDashboard search and selection
app/settings/boards/BoardsList.tsxSettings icon picker
lib/icon-library.tsCatalog

Examples from the app

Actual Startboard source UI with isolated fictional records; both native themes at 2× resolution or higher. No live integrations or account writes. Captured at 2× resolution or higher. Select an image to inspect it full size.

Icon Picker Open Desktop Light · Component detail · Light · Desktop · Open · 1800 × 1695 px
Icon Picker Selected Desktop Light · Component detail · Light · Desktop · Selected · 1800 × 1422 px

Source audit: 2026-10-08 · Revision 08fa2595a668 · Documentation v1.0.0