# LivaButton
Package: @dataliva/livalib
Description: @dataliva/livalib buton bileşeni.

DevExtreme'in Button bileşeni üzerine kurulu; `variant`, `size`, `type` (renk)
ve `loading` prop'larıyla genişletilmiş bir butondur.

```tsx
import { LivaButton } from "@dataliva/livalib";
```

## Varyantlar

Dolu, çerçeveli ve düz stiller arasında geçiş için `variant` kullanılır.

**Örnek — Varyantlar:**

```tsx
<LivaButton text="Contained" variant="contained" />
<LivaButton text="Outlined" variant="outlined" />
<LivaButton text="Text" variant="text" />
```

## Renkler

`type` prop'u anlamsal renklere karşılık gelir: `default`, `success`, `danger`,
`normal`, `back`.

**Örnek — Renkler (type):**

```tsx
<LivaButton text="Default" type="default" />
<LivaButton text="Success" type="success" />
<LivaButton text="Danger" type="danger" />
<LivaButton text="Normal" type="normal" />
```

## Boyutlar

**Örnek — Boyutlar:**

```tsx
<LivaButton text="Small" size="small" />
<LivaButton text="Medium" size="medium" />
<LivaButton text="Large" size="large" />
```

## Durumlar

`loading` bir spinner gösterir ve tıklamayı engeller; `disabled` butonu
soluklaştırır.

**Örnek — Durumlar:**

```tsx
<LivaButton text="Loading" loading />
<LivaButton text="Disabled" disabled />
<LivaButton text="Click me" onClick={() => alert("Clicked!")} />
```

## Prop'lar

| Prop | Tip | Varsayılan |
|------|------|---------|
| `text` | `string` | — |
| `variant` | `'contained' \| 'outlined' \| 'text'` | `'contained'` |
| `size` | `'small' \| 'medium' \| 'large'` | `'medium'` |
| `type` | `'default' \| 'success' \| 'danger' \| 'normal' \| 'back'` | `'default'` |
| `loading` | `boolean` | `false` |
| `disabled` | `boolean` | `false` |
| `onClick` | `(e) => void` | — |

Ayrıca DevExtreme `IButtonOptions`'tan gelen tüm prop'lar (ör. `icon`,
`stylingMode`).
