Date-time display and date range
The API returns UTC; the browser formats in the staff member's zone (T001 Q25). Relative up to 7 days, then absolute; the tooltip shows the staff zone, UTC and ISO. The F1 DateRange takes day boundaries in the staff zone and sends UTC, with Today / 7 days / 30 days presets and a month / year mode for the gantt grid.
Covers: M08, date designer. Exports: DateTime, DateRange.
Anatomy
The component as it sits in the product: English, compact, real data shapes.
States
7 states, left to right, top to bottom. A mock poll never finishes, so each state is drawn on purpose.
2026-10-18T06:20:00ZDensity
Compact (2b ultra, the default) and comfortable, side by side. Same markup, only the density tokens change.
English · 中文
Staff pick en or cn (T001 Q25). Labels arrive localised; CJK falls back to PingFang SC / Noto Sans SC.
Long string · permission denied
The long-string case (PL-063) and what a role without the permission sees (the server decides; T003).
Both apps
One @rj/admin-kit component, two themes: the Laravel admin (navy pinned) and the DTC admin (kit v4 Midnight green), by token swap only.
Contract
The @rj/admin-kit API for this family. Mirrored in CONTRACT.md.
- Export
DateTime·@rj/admin-kit- Props
valueISO UTC ·modeauto|relative|absolute ·zone(default: me.timezone) ·ownZone- States
- relative · absolute · dual-zone · null · withheld · loading
- shadcn / Radix
- Tooltip
- Package underneath
- date-fns + @date-fns/tz (TZDate)
- Accessibility
<time datetime>; tooltip on focus too- Phone variant
- tap flips relative ↔ exact
- Export
DateRange·@rj/admin-kit- Props
from/to·presets·modeday|month- Variants
- range + presets · month / year
- shadcn / Radix
- Popover + Calendar
- Package underneath
- react-day-picker · @date-fns/tz
- API operations
- from / to on admin.replays.index · month / year on admin.orders.gantt-grid