# API Client UI Library

This repository contains a base UI component library designed to share a common codebase and user experience across all applications within the API Client ecosystem.

## Status

> **Warning: Work in Progress**
>
> This library is currently under active development. Until the stable release of version 1.0.0, APIs and components are subject to change without notice. Please use with caution in production environments.

## Purpose

The primary goal of this library is to:

* Provide a consistent look and feel for all related applications.
* Reduce code duplication by centralizing common UI elements.
* Accelerate development by offering pre-built and tested components.

## Installation

To use this library in your project, you can install it via npm (once it's published):

```bash
npm install @api-client/ui
```

Then, you can import components into your application as needed.

```javascript
import { Application } from '@api-client/ui/core/Application.js'

export default class QuickApiApp extends Application {
  // ...
}
```

## Development

To contribute to the development of this library or run it locally:

1. **Clone the repository:**

    ```bash
    git clone https://github.com/api-client/ui.git
    cd ui
    ```

2. **Install dependencies:**

    ```bash
    npm i
    ```

3. **Start the development server & demo page:**

    ```bash
    npm run dev
    ```

## Testing

To run the test suite:

```bash
npm test
```

Ensure all tests pass before submitting a pull request. Please add new tests for any new components or functionality.

## Contributing

Contributions are welcome! If you'd like to contribute, please follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bug fix (`git checkout -b feature/your-feature-name` or `bugfix/issue-ticket`).
3. Make your changes and commit them with clear, descriptive messages.
4. Ensure your code adheres to the project's linting and formatting standards.
5. Write or update tests for your changes.
6. Push your branch to your fork (`git push origin feature/your-feature-name`).
7. Open a pull request against the main repository.

Please provide a detailed description of your changes in the pull request.

## License

All right reserved to the future Quick API company (after it incorporates).
