UNPKG

@clickhouse/click-ui

Version:

Official ClickHouse design system react library

53 lines (36 loc) 2.02 kB
# Click UI The home of the ClickHouse design system and component library. Click UI is in very early development and subject to change, we do not recommend using it for production purposes. ## Using Click UI in an external app Click UI has been tested in NextJS, Gatsby, and Vite. If you run into problems using it in your app, please create an issue and our team will try to answer. 1. Navigate to your app's route and run `npm i @clickhouse/click-ui` or `yarn add @clickhouse/click-ui` 2. Make sure to wrap your application in the Click UI `ClickUIProvider`, without doing this, you may run into issues with styled-components. Once thats done, you'll be able to import the individual components that you want to use on each page. Here's an example an `App.tsx` in NextJS. ```typescript import { ClickUIProvider, Text, ThemeName, Title, Switch } from '@clickhouse/click-ui' function App() { const [theme, setTheme] = useState<ThemeName>('dark') const toggleTheme = () => { theme === 'dark' ? setTheme('light') : setTheme('dark') } return ( <ClickUIProvider theme={theme} config={{tooltip:{ delayDuration: 0 }}}> <Switch checked={theme === 'dark'} onClick={() => toggleTheme() } /> <Title type='h1'>Click UI Example</Title> <Text>Welcome to Click UI. Get started here.</Text> </ClickUIProvider> ) } export default App ``` ## To develop this library locally 🚀 1. Clone this repo, cd into the `click-ui` directory 2. To install dependencies, run `npm i` 3. To build the latest styles, run `npm run generate-tokens` 4. To run ClickUI locally, run `npm run dev` and navigate to http://localhost:5173 5. To run Storybook locally, run `npm run storybook` and navigate to https://localhost:6006 Enjoy! ## Releases and Versions New versions and release notes are available at [GitHub Releases](https://github.com/ClickHouse/click-ui/releases). To create a new release and publish a new version, follow the instructions in [publish.md](./docs/publish.md).