open-index/open-npm huggingface dataset:
npm package: @ms-dosx86/components-core
Description: This package is a wrapper around the [livekit/client-sdk-js](https://github.com/livekit/client-sdk-js) package. It transforms the event based logic into simple to use observable state and component level APIs. This package is the core for all framework sp
Author: ms-dosx86
Latest version: 0.12.4

# LiveKit Components **Core**

This package is a wrapper around the [livekit/client-sdk-js](https://github.com/livekit/client-sdk-js) package. It transforms the event based logic into simple to use observable state and component level APIs. This package is the core for all framework specific implementations.

> **Warning** this is a internal package and not intended to be used directly.

<!--NAV_START-->

## Monorepo Navigation

- [Home](../../README.md)
- **Framework Implementations**:
  - [React](../../packages/react/README.md)
- **Examples**
  - [Next.js](../../examples/nextjs/README.md)
- **Internal Packages**
  - [Core 👈](../../packages/core/README.md)
  - [Styles](../../packages/styles/README.md)

<!--NAV_END-->
npm package: @ms-dosx86/components-react
Description: A LiveKit Components implementation in [React](https://reactjs.org/).
Author: ms-dosx86
Latest version: 2.9.2

# LiveKit Components **React**

A LiveKit Components implementation in [React](https://reactjs.org/).

<!--NAV_START-->

## Monorepo Navigation

- [Home](../../README.md)
- **Framework Implementations**:
  - [React 👈](../../packages/react/README.md)
- **Examples**
  - [Next.js](../../examples/nextjs/README.md)
- **Internal Packages**
  - [Core](../../packages/core/README.md)
  - [Styles](../../packages/styles/README.md)

<!--NAV_END-->

## Install

```bash
npm install @ms-dosx86/components-react
```

## Usage

```tsx
import { LiveKitRoom } from '@ms-dosx86/components-react';

<LiveKitRoom token="<livekit-token>" serverUrl="<url-to-livekit-server>" connect={true} />;
```

## Architecture Overview

![React specific implementation of LiveKit Components](./../../.github/assets/components-react-implementation.png)
npm package: @ms-dosx86/components-styles
Description: Beautiful base styling for LiveKit components that you can use as is, build upon, or create your own.
Author: ms-dosx86
Latest version: 1.1.5

# LiveKit Components **Styles**

Beautiful base styling for LiveKit components that you can use as is, build upon, or create your own.

<!--NAV_START-->

## Monorepo Navigation

- [Home](../../README.md)
- **Framework Implementations**:
  - [React](../../packages/react/README.md)
- **Examples**
  - [Next.js](../../examples/nextjs/README.md)
- **Internal Packages**
  - [Core](../../packages/core/README.md)
  - [Styles 👈](../../packages/styles/README.md)

<!--NAV_END-->

### Dev notes

#### Prefix

To avoid collisions CSS all CSS selector used for LiveKit Components (classes, CSS variables, and custom data attributes) are given the same prefix. To avoid typing redundant prefixes and keep the door open for user-defined prefixes, we use PostCSS plugins (see [postcss.config.js](postcss.config.js)) to add the prefix during the build step. This means that you should never write a prefix inside this styles package.

The PostCSS plugins transform the CSS selectors as follows, to make it easier to understand here are a few examples with a prefix of "lk":

| no prefix               | with `lk` prefix           |
| ----------------------- | -------------------------- |
| `.button`               | `.lk-button`               |
| `--border-color`        | `--lk-border-color`        |
| `var(--fg)`             | `var(--lk-fg)`             |
| `[data-active='false']` | `[data-lk-active='false']` |
| `&[data-muted='true']`  | `&[data-lk-muted='true']`  |

#### ⚠️ Currently not supported prefix:

| no prefix                     | with `lk` prefix                 |
| ----------------------------- | -------------------------------- |
| `attr(data-participant-name)` | `attr(data-lk-participant-name)` |

#### `@include` vs `@extend`

> @mixin is used to group css code that has to be reused a no of times. Whereas the @extend is used in SASS to inherit(share) the properties from another css selector. @extend is most useful when the elements are almost same or identical.

The compiled css output would suggest to use `@extend` in cases where css classes should inherit from parent classes (e.g. `.disconnect-button` inherits base properties from `.button`).

```

```