open-index/open-npm huggingface dataset:
npm package: @matchhat/design-system
Description: A reusable, scalable, and accessible design system for building consistent user interfaces across MatchHat products. Built with React, TypeScript, Tailwind CSS, and Storybook.
Latest version: 0.1.2

# MatchHat Design System

A reusable, scalable, and accessible design system for building consistent user interfaces across MatchHat products. Built with React, TypeScript, Tailwind CSS, and Storybook.

## Features

- **Component Library:** A comprehensive set of UI components (buttons, forms, modals, navigation, etc.)
- **Theming:** Easily customizable with Tailwind CSS.
- **Accessibility:** Components follow accessibility best practices.
- **Documentation:** Interactive documentation and examples via Storybook.
- **TypeScript Support:** Fully typed components for better developer experience.

## Getting Started

### Installation

Install the package using your preferred package manager:

```bash
npm install @matchhat/design-system
# or
yarn add @matchhat/design-system
# or
pnpm add @matchhat/design-system
```

### Usage

Import components into your project:

```tsx
import { Button, Input, Modal } from '@matchhat/design-system';

function App() {
  return (
    <div>
      <Button>Click me</Button>
      <Input placeholder="Type here..." />
      <Modal isOpen={true}>Hello, world!</Modal>
    </div>
  );
}
```

### Tailwind CSS

Make sure your project is set up with Tailwind CSS. You can customize the design system by extending the Tailwind config.

### Storybook

To view and interact with all components:

```bash
npm run storybook
```

## Folder Structure

```
src/
  components/
    ui/
      button/
      input/
      modal/
      ...
    form/
    ...
  stories/
  tailwind.css
  index.ts
```

## Contributing

1. Fork the repository.
2. Create a new branch: `git checkout -b feature/your-feature`
3. Make your changes and commit: `git commit -m 'Add new feature'`
4. Push to the branch: `git push origin feature/your-feature`
5. Open a pull request.

## Scripts

- `npm run dev` – Start development server
- `npm run build` – Build the library
- `npm run storybook` – Launch Storybook
- `npm run lint` – Lint the codebase

## License

[MIT](LICENSE)

---

Made with ❤️ by the MatchHat team.
npm package: @matchi/api
Description: MATCHi API Client
Latest version: 0.20260410.1

# @matchi/api

MATCHi API Client

## Introduction

This is the MATCHi API client for JavaScript and TypeScript. It is generated from the OpenAPI specification and is intended to be used when building applications that integrates with the MATCHi API.

## Installation

```bash
npm install @matchi/api # using npm
yarn add @matchi/api # using yarn
bun install @matchi/api # using bun
```

## Get started

```typescript
import { OpenAPI } from "@matchi/api";

OpenAPI.BASE = MATCHI_API_URL;
OpenAPI.HEADERS = { "x-api-key": MATCHI_API_KEY };

// To use the authenticated endpoints
// set the access token
OpenAPI.TOKEN = MATCHI_ACCESS_TOKEN;

// You can also use a promise to set the access token
const getValidAccessToken = async () => {
  // Get a valid access token
  return MATCHI_ACCESS_TOKEN;
};
OpenAPI.TOKEN = getValidAccessToken;
```

## Usage

### Basic usage

```typescript
// Once you've got the dependency locally, you can inspect the exports to
// see what's available.

// The classes that ends in "Service" are entrypoints for making HTTP calls.
import { AnonymousService } from "@matchi/api";

try {
  // fetch() is used as the underlying HTTP client
  const activities = await AnonymousService.listActivities();
} catch (error) {
  // Handle error
}
```

### Custom timeout

```typescript
import { AnonymousService } from "@matchi/api";

try {
  // Create a promise that will fetch the activities
  const promise = AnonymousService.listActivities();

  const timeoutId = setTimeout(() => {
    // If the promise hasn't resolved within 1 second, cancel it
    promise.cancel();

    // Throw an error to indicate that the request timed out
    throw new Error("Timeout");
  }, 1000);

  // Wait for the promise to resolve
  const activities = await promise;

  // Clear the timeout, since the promise resolved within 1 second
  clearTimeout(timeoutId);

  return activities;
} catch (error) {
  // Handle error
}
```

## Local version

To run the client generation locally, targeting your local backend, you can run the following command.

```sh
BACKEND_REPO=../matchi-backend  bun run build-local
```

This in turn relies on your checked out backend to have generated the specification required. (Which can be done with `BACKEND_REPO=../matchi-backend  make -C ${BACKEND_REPO}/infra/matchiapi generate-spec`.)

Having a client for a local backend can be useful any time when you want a client for a backend which is not yet merged to the matchi-backend main.