shadcn.io is not affiliated with official shadcn/ui
Data Residency Onboarding Block for Radix UI
A region step with a dotted world map and four pins as radios (US East, EU West, Asia Pacific, Australia); the chosen region shows its city, a typed latency from your office and what it commits to.
Installation
Overview
Let a new organisation say where its data lives before anything is stored, with this region step for React with Radix UI. It is a whole screen of Orrerywick, a video-meeting service for schools: the page's rails and one band across it, split in two under the step header and heading. The map is drawn from a typed grid of dots, with four region pins that are native radios: US East, EU West, Asia Pacific and Australia. The panel beside it gives the chosen region's city, its latency "from your office" and a list of what it commits to, each with a tick ("Data stays in Frankfurt", "GDPR processing terms apply"). Use EU West (the name follows the choice) is the one Shine Button.
FAQ
How is the map drawn?
From a 72 by 36 grid of characters in the file, a # for land and a . for sea. Every land cell becomes one dot in a single SVG path, so it scales with the width, costs no image and is hidden from assistive technology. The pins are placed by longitude and latitude as percentages of the map. To change the map, edit the grid.
How do the pins work without a mouse?
They are native radios in one group named Region: Tab reaches the chosen pin and the arrow keys move between regions and pick the one they reach, with a visible ring on the focused pin. The panel under the map is a labelled section whose heading is the region's name.
What changes on a phone?
The map comes first at 2 to 1, and only the chosen pin carries its name, since four names would overlap at that width. The panel follows it, and Use EU West stays pinned to the bottom of the screen.
Are the latencies and commitments real?
No: they are typed example figures, marked as such on the panel. In your app measure latency from the visitor's own network, and write each region's commitments from the terms you actually offer.