@ngrok/mantle
v0.17.0
Published
mantle is ngrok's UI library and design system.
Downloads
2,887
Keywords
Readme
Mantle is ngrok’s UI library and design system. It’s inspired by shadcn/ui and uses Radix with Tailwind for styling. It’s documented using Remix.
Getting Started
Install @ngrok/mantle
with your preferred package manager:
| package manager | command | | --------------- | ---------------------------- | | npm | npm install -E @ngrok/mantle | | yarn | yarn add -E @ngrok/mantle | | pnpm | pnpm add -E @ngrok/mantle | | bun | bun add -E @ngrok/mantle |
Then, add the preset and mantle content to your tailwind configuration.
import { createRequire } from "node:module";
import { mantlePreset, resolveMantleContentGlob } from "@ngrok/mantle/tailwind-preset";
import type { Config } from "tailwindcss";
const require = createRequire(import.meta.url);
export default {
presets: [mantlePreset],
content: [resolveMantleContentGlob(require), "./app/**/*.tsx"], // 👈 don't forget to swap out app content glob here!
// ... the rest of your tailwind config!
} satisfies Config;
Next, check out the Overview & Setup and Theme Provider usage docs and start using mantle components in your application!
Prerequisites
The following prerequisites are required to contribute to @ngrok/mantle
.
We walk through the tooling installation steps below.
Installation
Install the prerequisites through either the automated or manual installation guides.
Automated Installation
We use direnv to assist you with setting up all of the required tooling. Prefer to install and manage the tooling yourself? See the manual installation instructions below.
First, install direnv
:
| OS | command | | ------ | ----------------------- | | macOS | brew install direnv | | ubuntu | sudo apt install direnv |
For all other OSes, see the direnv installation guide.
[!NOTE] Don't forget to set up direnv integration with your shell.
Next, clone the repo and move into the directory:
git clone [email protected]:ngrok-oss/mantle.git
cd frontend
Next, run:
direnv allow
[!WARNING] If
direnv allow
does nothing for you (you should see things happening!), consider following the guides to integrate direnv with your shell and then trydirenv allow
again! As a last resort, you can follow the manual installation instructions up above.
This will install nvm
(if not already installed) as well as set the correct node
and pnpm
versions for you.
It will also run pnpm install
at the end to install all node_modules
.
Manual Installation
If you prefer to manually manage and install the tooling yourself, follow these steps:
- Install nvm or your node version manager of choice.
- Ensure that
node 20
is installed. Withnvm
, runnvm install
. - Enable
pnpm
withcorepack
:corepack enable pnpm
- Install
pnpm
withcorepack
:corepack install
- Install project dependencies with
pnpm
:pnpm install