@mezo-org/mezo-clay v0.1.0-dev.27
Mezo Clay
Mezo Clay is Mezo's UI component library.
Development
Installation
This project uses pnpm for package management.
To install dependencies run:
pnpm installRun the development server
This project uses Storybook to view, develop and test UI components in isolation.
pnpm run devOpen http://localhost:6006/ to view it in the browser.
Linting
pnpm run formatThis will lint both config files and ts/tsx/js/jsx files. See the package.json for specific linting commands.
Pre-commit
The project includes a pre-commit hook to automate linting when you commit. Please refer to the docs to install.
Testing
Storybook automatically runs component tests for each story (if written as a play function) and are visible in the UI under the "Component Tests" tab. We've set up the test-addon to use Vitest as the test runner. You can also run all tests in the terminal:
pnpm run testBuild
Build storybook
pnpm run buildThe storybook build will be generated as the /storybook-static directory.
Build the library
pnpm run build:libThe library is output as the /dist directory.
Publishing to NPM
Before you build and publish to NPM, you'll want to increment the version in package.json.
Build the library (same as above)
pnpm run build:libLogin to NPM
pnpm loginTest the Built Package Locally
Use pnpm pack to build a .tgz file that you can link to from your test application.
Publish
pnpm publish --access publicNote: You can use the --dry-run flag on publish if you want to preview what will be included in the release package without actually publishing.
Check out your new release on the npm page.
Using Clay
Install
pnpm add @mezo-org/mezo-clayClay (and Base) uses Styletron for its component styling (as css in js), and requires its engine as a peer dependency, so you will need to install it as well.
pnpm add styletron-engine-monolithicAdding Clay to your React app
Wrap the root of your app with the ClayProvider component, like so:
import { StrictMode } from "react"
import { createRoot } from "react-dom/client"
import { ClayLightTheme, ClayProvider } from "@mezo-org/mezo-clay"
import "@mezo-org/mezo-clay/dist/mezo-clay.css" // Font styles
import App from "./App.tsx"
createRoot(document.getElementById('root')!).render(
<StrictMode>
<ClayProvider theme={ClayLightTheme}>
<App />
</ClayProvider>
</StrictMode>
,
)Import the @mezo-org/mezo-clay/dist/mezo-clay.css to ensure that the proper fonts are included.
9 months ago
9 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago