open-index/open-npm huggingface dataset:
npm package: @matrix-privacy/shared-models
Description: Compatible with browser, node and React environments.
Latest version: 0.0.5

# Shared TypeScript models, types and various utils for MATRIX SDKs

Compatible with browser, node and React environments.

`yarn add @matrix-privacy/shared-models`

## Run tests

`yarn test`

## Releases

When ready to create a new version, run `./release` or `./release patch` or `./release minor` or `./release major`.
npm package: @matrix-privacy/wallet
Description: Matrix Wallet SDK, compatible with mobile, browser and nodejs environments.
Latest version: 0.0.5

# MATRIX Wallet SDK

The MATRIX Wallet SDK is an open-source project developed by [MATRIX] contributors.

The Wallet SDK enables dApp and DeFi developers to provide privacy to users safely and conveniently on Ethereum, Polygon and BNB Chain.

The repo is written in TypeScript, and compatible with node.js and modern web browsers.
npm package: @matrix-rex/release-tool
Description: Simplified release wizard for Node.js projects
Author: Matrix Rex
Latest version: 1.1.0

# @matrix-rex/release-tool

> An interactive release wizard for Node.js projects — bump version, commit, tag, and push in one command.

[![npm version](https://img.shields.io/npm/v/@matrix-rex/release-tool)](https://www.npmjs.com/package/@matrix-rex/release-tool)
[![npm downloads](https://img.shields.io/npm/dm/@matrix-rex/release-tool)](https://www.npmjs.com/package/@matrix-rex/release-tool)
[![license](https://img.shields.io/npm/l/@matrix-rex/release-tool)](./LICENSE)

---

## Features

- ✅ Checks for uncommitted changes before doing anything
- ✅ Detects version mismatch between `package.json` and Git tags and lets you resolve it
- ✅ Bumps version — `patch`, `minor`, or `major`
- ✅ Accepts a custom commit message (or uses a sensible auto-generated one)
- ✅ Automatically commits, tags, and pushes to `origin`
- ✅ Works in any Node.js project with a `package.json` and Git repository

---

## Installation

### Global (recommended)

```bash
pnpm add -g @matrix-rex/release-tool
```

### Or run without installing

```bash
npx @matrix-rex/release-tool
```

---

## Usage

Navigate to any Node.js project folder and run:

```bash
release-it
```

The wizard will guide you through:

```
--- Release It ---
Current Package Version: v1.2.3
Latest Git Tag:          v1.2.3

? Select release type:
  ❯ Patch (0.0.x)
    Minor (0.x.0)
    Major (x.0.0)
    Quit

? Enter commit message (leave blank for auto: 'patch release vX.X.X'):

? Ready to release patch? (Y/n)

Bumping version...
New Version: v1.2.4

Pushing changes and tags to origin...

✨ Release v1.2.4 successful!
```

---

## How It Works

1. **Checks for uncommitted changes** — aborts if the working tree is dirty
2. **Reads the current version** from `package.json` and the latest Git tag
3. **Detects mismatches** — if they differ, asks which to use as the base
4. **Bumps the version** via `pnpm version` (updates `package.json` + creates a Git tag)
5. **Pushes** the commit and tag to `origin`

---

## Local Development

Clone and link locally to test changes immediately:

```bash
git clone https://github.com/matrix-rex/release-tool.git
cd release-tool
npm link
```

The `release-it` command will now point to your local clone. Any edits to `bin/release.js` are reflected instantly.

---

## Built With

| Package                                                | Purpose                   |
| ------------------------------------------------------ | ------------------------- |
| [enquirer](https://www.npmjs.com/package/enquirer)     | Interactive prompts       |
| [picocolors](https://www.npmjs.com/package/picocolors) | Terminal colors           |
| [execa](https://www.npmjs.com/package/execa)           | Running git/pnpm commands |

---

## License

MIT © [Matrix Rex](https://github.com/matrix-rex)
npm package: @matrix-scrollbar/core
Description: Matrix Scrollbar in pure javascript
Author: Rasmus Josefsson
Latest version: 1.0.4

# @matrix-scrollbar/core 🔭👩‍🚀

## Installation

This module is distributed via [npm](https://www.npmjs.com/package/@matrix-scrollbar/core) which is bundled with node and should be installed as one of your project's `dependencies`:

```cmd
npm install --save @matrix-scrollbar/core
```

### Alternative with just a script tag

```js
<script src="https://unpkg.com/@matrix-scrollbar/core@0.0.13/lib/index.umd.js"></script>;

var matrixScrollbar = new MatrixScrollbar({ options });

// ..

// Updates the scrollbar / scroll thumb
matrixScrollbar.recount();

// Unsubscribe from all event listeners that are setup behind the scene
matrixScrollbar.disconnect();
```

## Example

> [Try it out in the browser](https://codesandbox.io/s/matrix-scrollbarcore-tn2r0)

```jsx
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <script src="https://unpkg.com/@matrix-scrollbar/core@0.0.13/lib/umd/index.js"></script>

    <style>
      .list {
        border: 2px solid black;
        height: 400px;
        width: 300px;
        list-style: none;
        padding: 0;
      }

      li {
        height: 100px;
      }

      li:nth-child(odd) {
        background: #995cc92e;
      }
    </style>

    <ul class="list"></ul>

    <script>
      var viewport = document.querySelector(".list");

      new Array(100).fill(null).forEach((item, index) => {
        var li = document.createElement("li");
        li.innerText = index;
        viewport.appendChild(li);
      });

      var matrixScrollbar = new MatrixScrollbar({
        scrollViewport: viewport,
        autoHideThumb: false
      });
    </script>
  </body>
</html>

```

---

## Props/Settings

| key              | default  | description                                     |
| ---------------- | -------- | ----------------------------------------------- |
| `autoHideThumb`  | true     | boolean                                         |
| `minThumbHeight` | 30       | number                                          |
| `scrollViewport` | optional | HTMLElement                                     |
| `totalHeight`    | optional | number: rare cases to help with the calculation |
| `className`      | optional | string: setting class to the most outer element |

## Styling

| class                    | active (appended)               |
| ------------------------ | ------------------------------- |
| `matrixScrollbar__thumb` | `matrixScrollbar__thumb-active` |
| `matrixScrollbar__rail`  | `matrixScrollbar__rail-active`  |
npm package: @matrix-scrollbar/inferno
Description: Matrix Scrollbar for InfernoJS
Author: Rasmus Josefsson
Latest version: 1.0.4

# @matrix-scrollbar/react 🔭👩‍🚀

## Installation

This module is distributed via [npm](https://www.npmjs.com/package/@matrix-scrollbar/react) which is bundled with node and should be installed as one of your project's `dependencies`:

```cmd
npm install --save @matrix-scrollbar/react
```

> This package also depends on `React`. Please make sure you
> have it installed as well.

## Example

> [Try it out in the browser](https://codesandbox.io/s/matrix-scrollbarreact-v3pxl)

```jsx
import { MatrixScrollbar } from "@MatrixScrollbar/react";

function List() {
  return (
    <MatrixScrollbar>
      <ul>
        <li>1</li>
        <li>...</li>
        ...
      </ul>
    </MatrixScrollbar>
  );
}
```

---

## Props/Settings

| key              | default  | description                                      |
| ---------------- | -------- | ------------------------------------------------ |
| `autoHideThumb`  | true     | boolean                                          |
| `minThumbHeight` | 30       | number                                           |
| `viewportId`     | optional | string, if the first element is not the viewport |
| `totalHeight`    | optional | number: rare cases to help with the calculation  |
| `className`      | optional | string: setting class to the most outer element  |

## Styling

| class                    | active (appended)               |
| ------------------------ | ------------------------------- |
| `matrixScrollbar__thumb` | `matrixScrollbar__thumb-active` |
| `matrixScrollbar__rail`  | `matrixScrollbar__rail-active`  |
npm package: @matrix-scrollbar/preact
Description: Matrix Scrollbar for Preact
Author: Rasmus Josefsson
Latest version: 1.0.4

# @matrix-scrollbar/preact 🔭👩‍🚀

## Installation

This module is distributed via [npm](https://www.npmjs.com/package/@matrix-scrollbar/preact) which is bundled with node and
should be installed as one of your project's `dependencies`:

```cmd
npm install --save @matrix-scrollbar/preact
```

> This package also depends on `Preact`. Please make sure you
> have it installed as well.

## Example

> [Try it out in the browser](https://codesandbox.io/s/matrix-scrollbarpreact-7l33p)

```jsx
import { MatrixScrollbar } from "@MatrixScrollbar/preact";

function List() {
  return (
    <MatrixScrollbar>
      <ul>
        <li>1</li>
        <li>...</li>
        ...
      </ul>
    </MatrixScrollbar>
  );
}
```

---

## Props/Settings

| key              | default  | description                                      |
| ---------------- | -------- | ------------------------------------------------ |
| `autoHideThumb`  | true     | boolean                                          |
| `minThumbHeight` | 30       | number                                           |
| `viewportId`     | optional | string, if the first element is not the viewport |
| `totalHeight`    | optional | number: rare cases to help with the calculation  |
| `class`          | optional | string: setting class to the most outer element  |

## Styling

| class                    | active (appended)               |
| ------------------------ | ------------------------------- |
| `matrixScrollbar__thumb` | `matrixScrollbar__thumb-active` |
| `matrixScrollbar__rail`  | `matrixScrollbar__rail-active`  |
npm package: @matrix-scrollbar/react
Description: Matrix Scrollbar for React
Author: Rasmus Josefsson
Latest version: 1.0.4

# @matrix-scrollbar/react 🔭👩‍🚀

## Installation

This module is distributed via [npm](https://www.npmjs.com/package/@matrix-scrollbar/react) which is bundled with node and should be installed as one of your project's `dependencies`:

```cmd
npm install --save @matrix-scrollbar/react
```

> This package also depends on `React`. Please make sure you
> have it installed as well.

## Example

> [Try it out in the browser](https://codesandbox.io/s/matrix-scrollbarreact-v3pxl)

```jsx
import { MatrixScrollbar } from "@MatrixScrollbar/react";

function List() {
  return (
    <MatrixScrollbar>
      <ul>
        <li>1</li>
        <li>...</li>
        ...
      </ul>
    </MatrixScrollbar>
  );
}
```

---

## Props/Settings

| key              | default  | description                                      |
| ---------------- | -------- | ------------------------------------------------ |
| `autoHideThumb`  | true     | boolean                                          |
| `minThumbHeight` | 30       | number                                           |
| `viewportId`     | optional | string, if the first element is not the viewport |
| `totalHeight`    | optional | number: rare cases to help with the calculation  |
| `className`      | optional | string: setting class to the most outer element  |

## Styling

| class                    | active (appended)               |
| ------------------------ | ------------------------------- |
| `matrixScrollbar__thumb` | `matrixScrollbar__thumb-active` |
| `matrixScrollbar__rail`  | `matrixScrollbar__rail-active`  |
npm package: @matrix-scrollbar/utils
Description: Utility helpers for matrix scrollbar
Author: Rasmus Josefsson
Latest version: 1.0.1

# @matrix-scrollbar/utils 🔭👩‍🚀

## Installation

This module is distributed via [npm](https://www.npmjs.com/package/@matrix-scrollbar/utils) which is bundled with node:

```cmd
npm install --save @matrix-scrollbar/utils
```

## Exposes

```js
export function supportsPassiveEvents(): boolean;
export function isEdge(): boolean;
export function isIE(): boolean;
export function isSafari(): boolean;
```
npm package: @matrix-scrollbar/vue
Description: Matrix Scrollbar for Vue
Author: Rasmus Josefsson
Latest version: 1.0.5

# @matrix-scrollbar/vue 🔭👩‍🚀

## Installation

This module is distributed via npm which is bundled with node and
should be installed as one of your project's `dependencies`:

```cmd
npm install --save @matrix-scrollbar/vue
```

> This package also depends on `vue`. Please make sure you
> have it installed as well.

## Example

> [Try it out in the browser](https://codesandbox.io/s/matrix-scrollbarvue-cm25d)

```js
<template>
  <div id="app">
    <matrix-scrollbar className="styledBox">
      <ul class="sizeOfList">
        <li
          v-for="(item, index) in items"
          :key="`item-${index}`"
          class="list-item"
        >
          {{ index }}
        </li>
      </ul>
    </matrix-scrollbar>
  </div>
</template>

<script>
import { MatrixScrollbar } from "@matrix-scrollbar/vue";

export default {
  name: "app",
  components: {
    MatrixScrollbar
  },
  data() {
    return {
      items: new Array(100).fill(null)
    };
  }
};
</script>


<style>
  ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .sizeOfList {
    height: 300px;
    width: 250px;
  }

  .styledBox {
    width: auto;
    height: auto;
    border: 1px solid #e8e8e8;
    background-color: white;
    display: inline-flex;
    box-shadow: 0 16px 18px -4px rgba(0, 0, 0, 0.1);
  }

  .list-item {
    min-height: 50px;
    display: flex;
    align-items: center;
    padding: 10px;
  }

  .list-item:nth-of-type(odd) {
    background-color: #995cc92e;
  }
</style>
```

---

## Props/Settings

| key              | default  | description                                      |
| ---------------- | -------- | ------------------------------------------------ |
| `autoHideThumb`  | true     | boolean                                          |
| `minThumbHeight` | 30       | number                                           |
| `viewportId`     | optional | string, if the first element is not the viewport |
| `totalHeight`    | optional | number: rare cases to help with the calculation  |
| `class`          | optional | string: setting class to the most outer element  |

## Styling

| class                    | active (appended)               |
| ------------------------ | ------------------------------- |
| `matrixScrollbar__thumb` | `matrixScrollbar__thumb-active` |
| `matrixScrollbar__rail`  | `matrixScrollbar__rail-active`  |