# Radix UI Unstyled, accessible, open source React primitives for high-quality web apps and design systems. banner {

Radix Primitives is a low-level UI component library with a focus on accessibility, customization and developer experience. You can use these components either as the base layer of your design system, or adopt them incrementally.

}
View Radix UI Docs
At minimum, we recommend you read the following documentation before you start this integration guide. - [Introduction](https://www.radix-ui.com/primitives/docs/overview/introduction) - [Getting Started](https://www.radix-ui.com/primitives/docs/overview/getting-started) - [Styling](https://www.radix-ui.com/primitives/docs/guides/styling) ## Requirements | Tooling | Minimum Supported | | ------------------------------------- | ----------------- | | [React](https://react.dev/) | 18 | | [Skeleton](https://skeleton.dev) | 3 | | [Radix UI](https://www.radix-ui.com/) | 1 | | [Tailwind](https://tailwindcss.com/) | 4 | ## Introduction In this guide we'll implement the following Radix UI `` component. This will showcase the bare minimum requirements for integrating Skeleton with Radix UI. calendar
Toggle Group Documentation
## Get Started ### Create a Project To begin, we'll setup a new Vite project with React v19, Skeleton v3, and Tailwind v4. Setup Vite/React App ### Install Radix Component Install the Radix UI component package via your package manager of choice. ```console npm install @radix-ui/react-toggle-group ``` ### Component Boilerplate Create a new component in `/src/components/ToggleGroup/ToggleGroup.tsx` and insert the following markup. This will generate an unstyled version of the component. Note that we have renamed the Radix component to `RadixToggleGroup` to remain semantic and avoid conflict with our own component name. ```tsx import { type FC } from "react"; import * as RadixToggleGroup from "@radix-ui/react-toggle-group"; interface ToggleGroupProps { /* ... */ } export const ToggleGroup: FC = () => { return ( Left Center Right ); }; ``` ### Add the Component Finally, let's add our new component to the app in `/src/App.tsx`. ```tsx import "./App.css"; import { ToggleGroup } from "./components/ToggleGroup/ToggleGroup"; function App() { return (
); } export default App; ```
## Styling Each Radix UI component accepts a `className` prop. Use this to provide Tailwind and Skeleton utility classes. ### Basic Styles Styling the `` component. ```tsx ``` Styling each item component. Apply these styles to each button. ```tsx ``` ### Complete Example Below is a complete example showing the entire component with all styles and basic configuration. ```tsx interface ToggleGroupProps { /* ... */ } const [value, setValue] = useState('left'); return ( { if (value) setValue(value); }} aria-label="Text alignment" > Left Center Right ); }; ``` ## Going Further If you wish to match Skeleton component conventions, view our [contributor component guidelines](/docs/resources/contribute/components). ## Attribution Radix UI is created and maintained by [WorkOS](https://workos.com/).