@zendeskgarden/react-buttons
Version:
Components relating to buttons in the Garden Design System
60 lines (47 loc) • 1.52 kB
Markdown
# /react-buttons [](https://www.npmjs.com/package/@zendeskgarden/react-buttons)
This package includes components relating to buttons in the
[Garden Design System](https://zendeskgarden.github.io/).
## Installation
```sh
npm install /react-buttons
# Peer Dependencies - Also Required
npm install react react-dom styled-components /react-theming
```
## Usage
### Button
```jsx
import { ThemeProvider } from '/react-theming';
import { Button } from '/react-buttons';
/**
* Place a `ThemeProvider` at the root of your React application
*/
<ThemeProvider>
<>
<Button onClick={() => alert('clicked')}>Default</Button>
<Button isPrimary isDanger>
Primary danger button
</Button>
</>
</ThemeProvider>;
```
### Media button
```jsx
import React, { useState } from 'react';
import { Button } from '/react-buttons';
import StartIcon from '/icons/src/16/shield-stroke.svg';
import EndIcon from '/icons/src/16/chevron-down-stroke.svg';
const MediaButton = ({ children, ...props }) => {
const [isRotated, setRotated] = useState(false);
return (
<Button onClick={() => setRotated(!isRotated)} {...props}>
<Button.StartIcon>
<StartIcon />
</Button.StartIcon>
{children}
<Button.EndIcon isRotated={isRotated}>
<EndIcon />
</Button.EndIcon>
</Button>
);
};
```