registry · react · vue · nuxt

Map components
you copy in, not install.

A shadcn-format registry for the unmap maps API. One command drops editable source into your project: a map, a geocoder, a routing panel, markers and popups, already wired to the gateway.

quick start

Register the @unmap namespace once, then add items by name. Files land in components/ui/ beside your own, and nothing is overwritten without asking. Once registered, npx shadcn search @unmap lists every item.

npx shadcn@latest registry add @unmap=https://registry.unmap.dev/r/{name}.json
npx shadcn@latest add @unmap/map @unmap/geocoder

§ 01 / lanes

Map components in two frameworks.

Map components and page blocks ship in React and Vue. These templates and examples ship in React. Install through shadcn or shadcn-vue for your framework.

react
r/

For a shadcn-initialized project. Components land in components/ui/ and lib/; the geocoder and routing panel use your own shadcn primitives, and MapLibre's popups and controls follow your tokens.

npx shadcn@latest add @unmap/map
vue · nuxt
r/vue/

The same items for a shadcn-vue-initialized project: one directory per item under components/ui/ with an index.ts, so shadcn-nuxt auto-imports them. Built on your shadcn-vue Combobox, Field, Input, Button and Alert. shadcn-vue has no registry add, so this lane installs from the item URL; @unmap/<name> works once @unmap is set under registries in your components.json.

npx shadcn-vue@latest add https://registry.unmap.dev/r/vue/map.json

§ 02 / react

React components

§ 03 / vue

Vue components

Not on shadcn-vue? @unmap/vue and @unmap/nuxt ship the map, geocoder and routing as composables for any UI. Compose a map theme for either lane at unmap.dev/create.

Templates and examples

React templates and examples with editable source; the templates come with English and French sample content. Built for shadcn with Base UI; your theme sets the interface.

Explore the interactive previews at unmap.dev/templates. HTML starters for the three place templates are there too.

§ 04 / agents

Docs for coding agents.

/llms.txt indexes every item. Each item has a Markdown page with its install command, its props and, for most items, a working example: /llm/<item>.md for React, /llm/vue/<item>.md for Vue and Nuxt. Templates and examples are React only.

prompt

Paste this into your coding agent in a React or Vue project that has a components.json:

Read https://registry.unmap.dev/llms.txt. Then run npx @unmap/cli add map in this project and render the map on the home page, centred on Calgary, with my unmap key from the environment.