open-index/open-npm huggingface dataset:
npm package: @lvate/ui-library
Description: A modern React UI component library built with TypeScript and Vite
Latest version: 0.0.10

# Lvate UI Library

A modern React UI component library built with TypeScript and Vite. This library provides reusable, accessible, and customizable React components for building beautiful user interfaces.

## Installation

```bash
npm install @lvate/ui-library
# or
yarn add @lvate/ui-library
# or
pnpm add @lvate/ui-library
```

## Peer Dependencies

This library requires React 19.1.0 or higher. Make sure you have the following peer dependencies installed:

```bash
npm install react react-dom
```

## Usage

### Import Components

```tsx
import { Button } from '@lvate/ui-library';

function App() {
  return (
    <div>
      <Button variant="primary" size="medium">
        Click me
      </Button>
    </div>
  );
}
```

## Components

### Button

A versatile button component with multiple variants and sizes.

#### Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `variant` | `'primary' \| 'secondary' \| 'danger'` | `'primary'` | The visual style variant of the button |
| `size` | `'small' \| 'medium' \| 'large'` | `'medium'` | The size of the button |
| `isLoading` | `boolean` | `false` | Shows a loading state when true |
| `disabled` | `boolean` | `false` | Disables the button |
| `className` | `string` | `''` | Additional CSS classes |
| `children` | `ReactNode` | - | Button content |

#### Examples

```tsx
// Basic usage
<Button>Default Button</Button>

// Different variants
<Button variant="primary">Primary Button</Button>
<Button variant="secondary">Secondary Button</Button>
<Button variant="danger">Danger Button</Button>

// Different sizes
<Button size="small">Small Button</Button>
<Button size="medium">Medium Button</Button>
<Button size="large">Large Button</Button>

// Loading state
<Button isLoading>Loading Button</Button>

// Disabled state
<Button disabled>Disabled Button</Button>

// With custom className
<Button className="custom-button">Custom Button</Button>
```

## Development

### Prerequisites

- Node.js 18+ 
- pnpm (recommended) or npm

### Setup

1. Clone the repository
2. Install dependencies:
   ```bash
   pnpm install
   ```

### Available Scripts

- `pnpm dev` - Start development server
- `pnpm build` - Build the library for production
- `pnpm lint` - Run ESLint
- `pnpm storybook` - Start Storybook development server
- `pnpm build-storybook` - Build Storybook for production

### Building for Distribution

```bash
pnpm build
```

This will create the following files in the `dist` directory:
- `lvate-ui.es.js` - ES module bundle
- `lvate-ui.umd.js` - UMD bundle
- `lvate-ui.d.ts` - TypeScript declarations

## Publishing

To publish a new version:

1. Update the version in `package.json`
2. Build the library: `pnpm build`
3. Publish to npm: `npm publish`

## Contributing

1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Add tests if applicable
5. Submit a pull request

## License

MIT