Cal.comdesign-system

Location Select

Grouped, searchable location picker for event types and booking edit flows.

Searchable, grouped location picker shared by event-type setup and the booking “edit location” dialog. Callers pass options built from installed conferencing apps and credentials.

Ownership

Feature — not @coss/ui/shared. Options use app-store location types (EventLocationType), credential/address identity, and i18n for empty/search copy. The combobox shell is coss; the contract stays Feature-owned.

Example

Use the Feature component with grouped options built from the caller's installed apps and credentials. The event-type location list is the richest composition — form field name, disabled state, custom class hooks, and option filtering:

This is the canonical composition from Locations.tsx. For the empty-state path, the same file also passes defaultOpen={showEmptyLocationSelect}. Consumers own domain option construction and the mutation after selection; LocationSelect owns grouped search, option identity (value + credential + address), icons, disabled states, and localized combobox behavior. HostLocations and EditLocationDialog are thinner variants of the same control.

API

Also exports types: LocationOption, SingleValueLocationOption, GroupOptionType, LocationSelectProps.

Call sites

Example URLs

Not exhaustive — a few places you can open locally (e.g. http://localhost:3000) to see this in product.

Source

packages/features/form/components/location-select.tsx