Pronounced 'mis-tər yü-'ī
. Mapbox React UI components.
UI components for Mapbox projects. See docs at https://mapbox.github.io/mr-ui/.
This project is for internal Mapbox usage. The code is open source and we appreciate bug reports; but we will only consider feature requests and pull requests from Mapbox developers.
npm install @mapbox/mr-ui
On Mapbox projects, pair these components with version 1.1.0+ of Mapbox's custom Assembly build. (This is not in peerDependencies
because you might use <link>
and <script>
tags instead of the npm package.)
The public Assembly build should work fine, with maybe one or two hiccups.
Import individual components! All components are exposed at @mapbox/mr-ui/{component-name}
. For example:
import Modal from '@mapbox/mr-ui/modal';
import Tooltip from '@mapbox/mr-ui/tooltip';
Only the component itself and whatever it depends on will be drawn into your bundle.
There are a few utility functions you can import from @mapbox/mr-ui/utils/{name}
.
Here are some commands you'll probably want to use:
# Start the documentation site.
npm start
# Start Jest's CLI in watch mode.
npx jest --watchAll
# Lint and test everything.
npm test
The build
command creates a pkg/
directory that contains the code we want to publish, organized the way we want it. So pkg/
is the directory that we publish. pkg/package.json
is a clone of package.json
but with private: true
removed.
- Increment version numbers in
package.json
andpackage.lock.json
, and ensure the changelog has an entry for the latest version. Then, create a new Git tag. - Build the
pkg/
directory:npm run build
. cd
into thepkg/
directory andmbx npm publish
from there.cd
back to root and runnpm run deploy-docs
to update the docs at https://mapbox.github.io/mr-ui/