SimpleSelect
Status: Content below is sourced from the Naos Figma documentation page for Simple Select (file nfTKjsYTKM2qvIo8KXDAXV, node 5001:825351, "🧩 Naos – Forms and inputs", checked 2026-08-19) plus the component's TypeScript source. This Figma page has no written description or usage-rules text at all (same pattern as Timepicker and PhoneInput in this file) — only anatomy, trigger variants, item states, and menu-content variants are shown visually. Nothing below is invented — qualitative usage guidance is left as an explicit TODO.
Source: DTSL/design-system → packages/product/@dtsl-react/src/components/molecular/SimpleSelect/ (package @dtsl/react, exported as SimpleSelectMenu, SimpleSelectOption)
Its index.ts re-exports (verbatim):
export { SimpleSelectMenu } from './SimpleSelectMenu'
export { SimpleSelectOption } from './SimpleSelectOption'
export type { SimpleSelectMenuProps } from './SimpleSelectMenu'
export type { SimpleSelectOptionProps } from './SimpleSelectOption'
export type { OptionType, SelectState, RefType } from './utils/propTypes'
export { default as useSelect } from './hooks/useSelect'
export type { UseSelectProps, UseSelectReturn } from './hooks/useSelect'
Full SimpleSelectMenuProps/SimpleSelectOptionProps shapes not extracted here — see source directly.
Anatomy​
Form field composition (when used as a labeled field):
- Label (+ optional required asterisk)
- Help text
- Trigger (the field itself, with a chevron that flips up when open)
- Dropdown menu (list of options, opens below the trigger)
Trigger variants — a real, non-obvious finding: the Figma page shows two distinct trigger presentations:
- A bordered input-style field, paired with the label/help-text/asterisk composition above
- A compact
NaosButton-style trigger (pill button with a chevron), shown in two states: an unselected placeholder ("Simple SelectMenu ⌄") and a selected-value display ("Option A ⌄")
Confirm with design whether both are meant to be equally valid entry points, or whether one is the primary pattern.
List item anatomy: each option = an optional leading icon (explicitly labeled "Icon is optional" on the anatomy diagram, shown with a flag icon example) + label text.
Menu content variants: a plain option list, and a variant with a Search input pinned above the list (search icon + placeholder text).
Item interaction states​
8 real states documented for .SelectMenuListItem: Default, Hover, Pressed, Focus, Selected, Selected + Hover, Selected + Pressed, Selected + Focus.
When to Use​
TODO — not covered on this Figma page. Needs design/PM input. (See also the open SimpleSelect-vs-SelectMenu-vs-CheckboxDropdown decision noted in this component's earlier scaffold — SelectMenu's own Figma page hasn't been reviewed yet.)
When NOT to Use​
TODO — not covered on this Figma page.
Decision Logic​
Need the trigger to look like a labeled form field (label/help text/asterisk)?
YES → use the bordered input-style trigger
NO, need a compact inline trigger instead → use the NaosButton-style trigger
Need users to filter a long option list?
YES → use the Search variant of the menu
NO → use the plain option list
Accessibility​
TODO — not covered on this Figma page. Needs UX/product input.
Common Mistakes​
TODO — not covered on this Figma page. Needs UX/product input.