TimeZoneSelect
An app-bounded IANA timezone combobox with stable SSR and hydration options.@gemologic/sheen-date · date and timePlayground
This example has no scalar controls. Its validated source remains interactive below.
<TimeZoneSelect label="Market timezone" name="timeZone" options={[{ id: "UTC", label: "UTC" }, { id: "America/New_York", label: "New York" }]} defaultValue={createTimeZone("UTC")} />Variant matrix
Market timezone
Anatomy
- Package
@gemologic/sheen-date- Source
packages/date/src/TimeZoneSelect.tsx- Tokens
--sheen-color-bg-raised--sheen-color-border-control--sheen-color-focus-ring
Accessibility
Role: combobox and listboxKeyboard: Tab, Arrow keys, Home, End, Enter, Escape, TypeaheadDo
- Commit one stable option list for server and client rendering.
Do not
- Do not call Intl.supportedValuesOf during render; ICU lists can differ across hosts.
Generated props
| Name | Type | Default | Description |
|---|---|---|---|
label * | string | — | Required visible combobox label. |
options * | readonly TimeZoneOption[] | — | Explicit stable IANA IDs and app-localized labels; no host-derived default list. |
value | TimeZone | null | — | App-owned Sheen TimeZone, or null. |
defaultValue | TimeZone | null | — | Initial uncontrolled zone. |
onValueChange | (value: TimeZone | null) => void | — | Receives validated Sheen TimeZone values and clearing. |
name | string | — | Native form field name for the IANA identifier. |
form | string | — | Optional external form owner. |
placeholder | string | — | Empty-selection text. |
description | string | — | Associated instructions. |
error | string | — | Associated field validation error. |
pending | boolean | false | Retains accepted options while an app-owned refresh is in flight. |
resultsError | string | — | Safe app-owned option request error shown in the open list. |
onRetry | () => void | — | Optional app retry action for a failed option request. |
required | boolean | false | Requires a selection. |
disabled | boolean | false | Disables interaction and projection. |
readOnly | boolean | false | Allows inspection while rejecting changes. |