176 lines
4.2 KiB
Plaintext
176 lines
4.2 KiB
Plaintext
import { Button } from "@components/Button";
|
|
import { TabProvider, TabTrigger, TabContent, TabList } from "@components/Tabs";
|
|
import { Story } from "@/components/Story";
|
|
import { LoadedCode } from "@/components/LoadedCode";
|
|
|
|
# Button
|
|
Displays a button or a component that looks like a button.
|
|
|
|
<TabProvider defaultName="preview">
|
|
<TabList>
|
|
<TabTrigger name="preview">Preview</TabTrigger>
|
|
<TabTrigger name="code">Code</TabTrigger>
|
|
</TabList>
|
|
<TabContent name="preview">
|
|
<Story layout="centered">
|
|
<Button>Button</Button>
|
|
</Story>
|
|
</TabContent>
|
|
<TabContent name="code">
|
|
```tsx
|
|
import { Button } from "@components/Button";
|
|
|
|
export function ButtonDemo() {
|
|
return <Button>Button</Button>
|
|
}
|
|
```
|
|
</TabContent>
|
|
</TabProvider>
|
|
|
|
## Installation
|
|
|
|
1. Create a new file `Button.tsx` in your component folder.
|
|
2. Copy and paste the following code into the file.
|
|
|
|
<LoadedCode from="https://raw.githubusercontent.com/p-sw/ui/main/packages/react/components/Button.tsx" />
|
|
|
|
## Examples
|
|
|
|
### Default
|
|
|
|
<TabProvider defaultName="preview">
|
|
<TabList>
|
|
<TabTrigger name="preview">Preview</TabTrigger>
|
|
<TabTrigger name="code">Code</TabTrigger>
|
|
</TabList>
|
|
<TabContent name="preview">
|
|
<Story layout="centered">
|
|
<Button>Button</Button>
|
|
</Story>
|
|
</TabContent>
|
|
<TabContent name="code">
|
|
```tsx
|
|
import { Button } from "@components/Button";
|
|
|
|
export function ButtonDemo() {
|
|
return <Button preset="default">Button</Button>
|
|
}
|
|
```
|
|
</TabContent>
|
|
</TabProvider>
|
|
|
|
### Ghost
|
|
|
|
<TabProvider defaultName="preview">
|
|
<TabList>
|
|
<TabTrigger name="preview">Preview</TabTrigger>
|
|
<TabTrigger name="code">Code</TabTrigger>
|
|
</TabList>
|
|
<TabContent name="preview">
|
|
<Story layout="centered">
|
|
<Button preset="ghost">Button</Button>
|
|
</Story>
|
|
</TabContent>
|
|
<TabContent name="code">
|
|
```tsx
|
|
import { Button } from "@components/Button";
|
|
|
|
export function ButtonDemo() {
|
|
return <Button preset="ghost">Button</Button>
|
|
}
|
|
```
|
|
</TabContent>
|
|
</TabProvider>
|
|
|
|
### Link
|
|
|
|
<TabProvider defaultName="preview">
|
|
<TabList>
|
|
<TabTrigger name="preview">Preview</TabTrigger>
|
|
<TabTrigger name="code">Code</TabTrigger>
|
|
</TabList>
|
|
<TabContent name="preview">
|
|
<Story layout="centered">
|
|
<Button preset="link">Button</Button>
|
|
</Story>
|
|
</TabContent>
|
|
<TabContent name="code">
|
|
```tsx
|
|
import { Button } from "@components/Button";
|
|
|
|
export function ButtonDemo() {
|
|
return <Button preset="link">Button</Button>
|
|
}
|
|
```
|
|
</TabContent>
|
|
</TabProvider>
|
|
|
|
### Success
|
|
|
|
<TabProvider defaultName="preview">
|
|
<TabList>
|
|
<TabTrigger name="preview">Preview</TabTrigger>
|
|
<TabTrigger name="code">Code</TabTrigger>
|
|
</TabList>
|
|
<TabContent name="preview">
|
|
<Story layout="centered">
|
|
<Button preset="success">Button</Button>
|
|
</Story>
|
|
</TabContent>
|
|
<TabContent name="code">
|
|
```tsx
|
|
import { Button } from "@components/Button";
|
|
|
|
export function ButtonDemo() {
|
|
return <Button preset="success">Button</Button>
|
|
}
|
|
```
|
|
</TabContent>
|
|
</TabProvider>
|
|
|
|
### Warning
|
|
|
|
<TabProvider defaultName="preview">
|
|
<TabList>
|
|
<TabTrigger name="preview">Preview</TabTrigger>
|
|
<TabTrigger name="code">Code</TabTrigger>
|
|
</TabList>
|
|
<TabContent name="preview">
|
|
<Story layout="centered">
|
|
<Button preset="warning">Button</Button>
|
|
</Story>
|
|
</TabContent>
|
|
<TabContent name="code">
|
|
```tsx
|
|
import { Button } from "@components/Button";
|
|
|
|
export function ButtonDemo() {
|
|
return <Button preset="warning">Button</Button>
|
|
}
|
|
```
|
|
</TabContent>
|
|
</TabProvider>
|
|
|
|
### Danger
|
|
|
|
<TabProvider defaultName="preview">
|
|
<TabList>
|
|
<TabTrigger name="preview">Preview</TabTrigger>
|
|
<TabTrigger name="code">Code</TabTrigger>
|
|
</TabList>
|
|
<TabContent name="preview">
|
|
<Story layout="centered">
|
|
<Button preset="danger">Button</Button>
|
|
</Story>
|
|
</TabContent>
|
|
<TabContent name="code">
|
|
```tsx
|
|
import { Button } from "@components/Button";
|
|
|
|
export function ButtonDemo() {
|
|
return <Button preset="danger">Button</Button>
|
|
}
|
|
```
|
|
</TabContent>
|
|
</TabProvider>
|