open-index/open-npm huggingface dataset:
npm package: @lukasganster/sort
Description: A simple JavaScript module to sort arrays of primitives and objects
Author: Lukas Ganster
Latest version: 1.0.3

# Sort

The purpose of this library is to augment the Array.prototype to provide simple sort functions that have more distinct meaning. This package offers a straightforward way to sort an array of objects according to several metrics.

## Installation

Install this package with npm.

```bash
npm install @lukasganster/sort
```

## Usage

The usage is quite simple. Just import the package and you're done.

```bash
// ES6 module
import '@lukasganster/sort'

// node.js
require('@lukasganster/sort')
```

## API

### Array.Prototype.sortBasic(order = 'asc')

Dependencies: none

A sort method for arrays that contains primitives, such as _Strings_ or _Numbers_. The parameter **order** here can be either ascending (asc) or descending (desc),

Returns a sorted array with the given order,

### Array.Prototype.sortObjects(properties = [ ])

Dependencies: none

A sort method for arrays that contains Objects. The parameter **properties** specifies the properties to be sorted by (ascending). Optionally, an object can be defined per property, which specifies the name of the property as well as the order. The example below illustrates the uncomplicated use.

Returns a sorted array according to the given properties.

## Demo

```js
const people = [
  { name: 'Benni', age: 20 },
  { name: 'Anna', age: 25 },
  { name: 'Pascal', age: 42 },
  { name: 'Anna', age: 20 },
  { name: 'Eva', age: 21 },
  { name: 'Michelle', age: 29 },
]

/////
// Multiple properties sorted in (default) ascending order

people.sortObjects(['name', 'age'])
/* Return the follwing array:
[
    { name: 'Anna', age: 20 },
    { name: 'Anna', age: 25 },
    { name: 'Benni', age: 20 },
    { name: 'Eva', age: 21 },
    { name: 'Michelle', age: 29 },
    { name: 'Pascal', age: 42 }
]
*/

/////
// Multiple properties sorted in different order

people.sortObjects([
  { property: 'name', order: 'desc' },
  { property: 'age', order: 'asc' },
])
/* Returns the following array:
[
    { name: 'Pascal', age: 42 },
    { name: 'Michelle', age: 29 },
    { name: 'Eva', age: 21 },
    { name: 'Benni', age: 20 },
    { name: 'Anna', age: 20 },
    { name: 'Anna', age: 25 }
]
*/
```

## License

[MIT](https://choosealicense.com/licenses/mit/)
npm package: @lukasgoulois/modal
Description: A simple way to make modal
Author: Lukas Goulois
Latest version: 1.0.5

# @lukasgoulois/modal

A lightweight and modular modal component written in vanilla JavaScript.
Easily customizable, plug-and-play, and zero dependencies.

![Modal Preview](./modal.png)

---

## ✨ Features

* ✅ Vanilla JS, no dependencies
* ✅ Alert / Confirm modals
* ✅ Fully customizable (title, buttons, content)
* ✅ ESC to close
* ✅ Optional close button
* ✅ Default size: `small` (configurable)
* ✅ Clean CSS included

---

## 🚀 Installation

```bash
npm install @lukasgoulois/modal
```

or via CDN (soon)

---

## 🔧 Usage

### Import

```js
import Modal from '@lukasgoulois/modal';
import '@lukasgoulois/modal/modal.css';
```

### Alert

```js
Modal.alert('Hello world!', 'My Modal');
```

### Confirm

```js
Modal.confirm('Are you sure?', 'Please Confirm').then(confirmed => {
  if (confirmed) console.log('Confirmed!');
});
```

### Custom modal

```js
Modal.custom({
  title: 'Custom Example',
  content: '<p>You can add <strong>HTML</strong> here.</p>',
  options: {
    size: 'large', // small (default), medium, large
    showCloseButton: true // default is true
  },
  buttons: [
    {
      text: 'Cancel',
      classes: ['btn-secondary'],
      onClick: () => console.log('Cancelled')
    },
    {
      text: 'OK',
      classes: ['btn-primary'],
      onClick: () => console.log('Confirmed')
    }
  ]
});
```

---

## 🧪 Development & Testing

Clone the repo and open `test.html` in your browser.

```bash
git clone https://github.com/Nakougiko/modal.git
cd modal
npm install
```

Or link locally:

```bash
npm link
# in your other project
npm link @lukasgoulois/modal
```

---

## 📂 Project structure

```
modal-package/
├── modal.js         # Main module
├── modal.css        # Styles for the modal
├── test.html        # Demo page
├── LICENSE
└── package.json
```

---

## 📄 License

MIT © [Lukas Goulois](https://github.com/Nakougiko)
npm package: @lukasgoulois/toast
Description: Lightweight vanilla JS toast notifications
Author: Lukas Goulois
Latest version: 1.0.0

# @lukasgoulois/toast

Lightweight and customizable toast notifications in vanilla JavaScript.
Automatically creates its container, supports dynamic positioning, and allows full style overrides.

---

## ✨ Features

* ✅ Tiny and dependency-free
* ✅ Auto-creates `.toast-container` in the desired position (`top-right`, `bottom-left`, etc.)
* ✅ Multiple toast types: `info`, `success`, `error`
* ✅ Fully customizable via CSS (override or add your own `.toast-x` classes)
* ✅ Automatic removal after a set duration
* ✅ Optional positions: `top-left`, `top-right`, `bottom-left`, `bottom-right` (default)

---

## 🚀 Usage

### CDN

```html
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@lukasgoulois/toast@1.0.0/toast.css" />
<script type="module">
  import { showToast } from "https://cdn.jsdelivr.net/npm/@lukasgoulois/toast@1.0.0/toast.js";

  showToast("Hello world!", "success", 3000, "top-left");
</script>
```

---

## 🔧 API

### `showToast(message, type?, duration?, position?)`

* `message` (string): The text content of the toast (required).
* `type` (string): Toast style — can be `info`, `success`, `error`, or any custom class like `toast-x`. Defaults to `info`.
* `duration` (number): How long the toast stays visible in milliseconds. Defaults to `3000`.
* `position` (string): Position of the container. Choose from `top-left`, `top-right`, `bottom-left`, `bottom-right`. Defaults to `bottom-right`.

---

## 🎨 Custom Styling

You can define your own styles by creating custom classes:

```css
.toast-x {
  background: #6a1b9a;
  color: #fff;
  font-weight: bold;
}
```

Then display it like this:

```js
showToast("Custom toast with purple background!", "x", 5000, "top-left");
```

---

## 🧪 Demo

Clone and run `test.html` locally to try it out:

```bash
git clone https://github.com/Nakougiko/toast.git
cd toast
open test.html
```

---

## 📄 License

MIT © [Lukas Goulois](https://github.com/Nakougiko)
npm package: @lukashornych/codemirror-lang-evitaql
Description: evitaQL language support for CodeMirror
Author: Lukáš Hornych
Latest version: 1.4.1

# evitaQL language support for CodeMirror 6

This repository contains plugin for CodeMirror 6 that adds for evitaQL query language used by [evitaDB](https://evitadb.io/documentation/query/basics)
database.

## Development

### Testing

```shell
yarn test
```

### Publishing

```shell
yarn prepare
yarn publish
```

### Adding new constraints

The constraints support is constructed from the `src/constraints.json` (contains constraint definition and documentation)
and from the `src/syntax.grammar` (actual constraints grammar for syntax highlighting and validating).

Firstly, export constraint definition using [evitaDB's](https://github.com/FgForrest/evitaDB) `io.evitadb.documentation.JavaDocCopy#exportConstraintDefinitions` 
special JUnit test. Replace the `src/constraints.json` with the generated JSON file.
Then add all new constraints from [evitaDB's](https://github.com/FgForrest/evitaDB) `io.evitadb.api.query.QueryConstraints`
into the `src/syntax.grammar` file.
npm package: @lukaskl/monaco-typescript
Description: Fork of monaco-typescript to update TypeScript version
Author: Microsoft Corporation
Latest version: 4.1.1

# Monaco TypeScript

Simple TypeScript and JavaScript language support for the Monaco Editor.

![typescript](https://cloud.githubusercontent.com/assets/5047891/15926623/5262fe08-2e3d-11e6-9b90-1d43fda07178.gif)

_Note_ that this project focuses on single-file scenarios and that things like project-isolation, cross-file-features like Rename etc. are _outside_ the scope of this project and not supported.

## Issues

Please file issues concerning `monaco-typescript` in the [`monaco-editor` repository](https://github.com/Microsoft/monaco-editor/issues).

## Installing

This npm module is bundled and distributed in the [monaco-editor](https://www.npmjs.com/package/monaco-editor) npm module.

## Development

- `git clone https://github.com/Microsoft/monaco-typescript`
- `cd monaco-typescript`
- `npm install .`
- `npm run compile`
- `npm run watch`
- open `$/monaco-typescript/test/index.html` in your favorite browser.

## Updating TypeScript

- change typescript's version in `package.json`.
- execute `npm install .`
- execute `npm run import-typescript`
- adopt new APIs

## Code of Conduct

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

## License

[MIT](https://github.com/Microsoft/monaco-typescript/blob/master/LICENSE.md)
npm package: @lukasluecke/frontier-forms
Description: The smartest web-forms.
Author: Charly POLY
Latest version: 0.1.2

# Frontier forms [![npm version](https://badge.fury.io/js/frontier-forms.svg)](https://badge.fury.io/js/frontier-forms)

Data-driven forms that let you focus on what matters: your application.

Provide a `GraphQL` mutation and `<Frontier/>` will do the rest for you.

Both fast to use and performant ⚡!

➡️ [See all capabilites by watching the introduction talk from React Europe 2019!](https://www.youtube.com/watch?v=Ovg9CYwWFBM&list=PLCC436JpVnK3H8Gm28TuFn2wjL9sj_q_Y&index=5&t=0s)

```js
import gql from "graphql-tag";
import { Frontier } from "frontier-forms";
import { myApplicationKit } from "./uiKit";
import { client } from "./apollo-client";

const mutation = gql`
    mutation($user: User!) {
      createUser(user: $user) { id }
    }
`;

<Frontier
  client={client}
  mutation={mutation}
  uiKit={myApplicationKit}
/>
```



<ul>
  <li>
    <h3>
      Simple
    </h3>
    <p>
      <strong>You already know how to use Frontier</strong>, because it works like other form libraries. <br/>
      More, Frontier will bring you the full data lifecycle management, <strong>with zero configuration</strong>.
    </p>
  </li>

  <li>
    <h3>
      Scalable
    </h3>
    <p>
      Just define your <strong>Application Frontier UI-kit</strong>. <br/>
      Then, take advantage of the <strong>UI-kit full rendering feature</strong> to bring consistent UX to your users.
    </p>
  </li>

  <li>
    <h3>
      Iterative
    </h3>
    <p>
      <strong>Choose your way</strong> to build forms, with or without Frontier UI-kit. <br/>
      Frontier will <strong>adapt to your needs</strong>.
    </p>
  </li>
</ul>

-------------------------

## Installation

In order to use Frontier, you will need:

- `react` (`^16.8.6`)
- `apollo-client` (`^2.5.1`)
- `graphql-tag` (`^2.10.1`)

<br />

Then, install `frontier-forms`:

```
yarn add frontier-forms
```

*OR*

```
npm i frontier-forms
```


--------------------------

## Links

- [What is Frontier](https://frontier-forms.dev/what-is-frontier)
- [Getting started](https://frontier-forms.dev/getting-started)
- [Frontier UI-Kit](https://frontier-forms.dev/frontier-ui-kit)
- [API: `<Frontier>`](https://frontier-forms.dev/api/frontier-component)
- [API: Frontier UI-Kit](https://frontier-forms.dev/api/frontier-ui-kit)
npm package: @lukaspolak/eslint-config
Description: My personal eslint config.
Author: Lukas Polak
Latest version: 0.0.1

# `@lukaspolak/eslint-config`

> My personal [eslint](https://eslint.io) config.

## Usage

**Install**:

```bash
yarn add @lukaspolak/eslint-config --dev
```

or

```bash
npm i @lukaspolak/eslint-config --dev
```

**Edit `package.json`**:

```jsonc
{
  // ...
  "eslint": "@lukaspolak/eslint-config"
}
```
npm package: @lukaspolak/kebab-case
Description: Convert a string to kebab-case, i.e. its dash-separated form
Author: Lukas Polak
Latest version: 0.0.2

# kebab-case

![checks-status](https://img.shields.io/github/checks-status/LukasPolak/kebab-case/main?style=flat-square) ![workflow/status](https://img.shields.io/github/workflow/status/lukaspolak/kebab-case/CI?style=flat-square) ![codecov](https://img.shields.io/codecov/c/github/lukaspolak/kebab-case?style=flat-square) ![npm bundle size](https://img.shields.io/bundlephobia/min/@lukaspolak/kebab-case?style=flat-square) ![npm](https://img.shields.io/npm/v/@lukaspolak/kebab-case?style=flat-square)

Convert a string to kebab-case, i.e. its dash-separated form

## Demo

[CodeSandbox](https://codesandbox.io/s/kebab-case-lmkdz?file=/src/App.tsx)

## Getting started

To use this package, you only need to install this dependency, import it and invoke the `kebabCase` function, e.g.:

```js
import { kebabCase } from '@lukaspolak/kebab-case'

kebabCase('Lorem ipsum dolor sit amet') // returns "lorem-ipsum-dolor-sit-amet"
```

### Install

```bash
npm install @lukaspolak/kebab-case
```

or

```bash
yarn add @lukaspolak/kebab-case
```

## Documentation

| passed value                                      | expected value             |
| ------------------------------------------------- | -------------------------- |
| loremIpsumDolorSitAmet                            | lorem-ipsum-dolor-sit-amet |
| LOREM_IPSUM_DOLOR_SIT_AMET                        | lorem-ipsum-dolor-sit-amet |
| lorem.ipsum.dolor.sit.amet                        | lorem-ipsum-dolor-sit-amet |
| lorem ipsum dolor sit amet                        | lorem-ipsum-dolor-sit-amet |
| lorem-ipsum-dolor-sit-amet                        | lorem-ipsum-dolor-sit-amet |
| LoremIpsumDolorSitAmet                            | lorem-ipsum-dolor-sit-amet |
| lorem/ipsum/dolor/sit/amet                        | lorem-ipsum-dolor-sit-amet |
| lorem_ipsum_dolor_sit_amet                        | lorem-ipsum-dolor-sit-amet |
| Lorem Ipsum Dolor Sit Amet                        | lorem-ipsum-dolor-sit-amet |
| LOREM IPSUM DOLOR SIT AMET                        | lorem-ipsum-dolor-sit-amet |
| Lorem ipsum dolor sit amet                        | lorem-ipsum-dolor-sit-amet |
| Lorem ipsum dolor sit amet.,/#!$%^&\*;:{}=-\_`~() | lorem-ipsum-dolor-sit-amet |
| Lorem ipsum #!$%^&*;(dolor sit amet)#!$%^&\*;'    | lorem-ipsum-dolor-sit-amet |

## Contributing

Please read the [Contribution guidelines](.github/CONTRIBUTING.md) to start with your awesome contributions!

## Why the library is prefixed with `@lukaspolak/`

There are a lot of similar libraries/packages on [GitHub](https://github.com/features/packages) and [npm](https://www.npmjs.com/), that can do the same. I wanted to enhance my programming skills, and I didn't want to find a unique name for the package.
npm package: @lukaspolak/prettier-config
Description: My personal Prettier config.
Author: Lukas Polak
Latest version: 0.0.3

# `@lukaspolak/prettier-config`

> My personal [Prettier](https://prettier.io) config.

## Usage

**Install**:

```bash
yarn add @lukaspolak/prettier-config --dev
```

or

```bash
npm i @lukaspolak/prettier-config --dev
```

**Edit `package.json`**:

```jsonc
{
  // ...
  "prettier": "@lukaspolak/prettier-config"
}
```
npm package: @lukaspolak/react-get-data-cy
Description: Helper function provides a `data-cy` testing attribute with a value that can match the text content of the react element.
Author: Lukas Polak
Latest version: 0.0.3

# react-get-data-cy

![checks-status](https://img.shields.io/github/checks-status/LukasPolak/react-get-data-cy/main?style=flat-square) ![workflow/status](https://img.shields.io/github/workflow/status/lukaspolak/react-get-data-cy/CI?style=flat-square) ![codecov](https://img.shields.io/codecov/c/github/lukaspolak/react-get-data-cy?style=flat-square) ![npm bundle size](https://img.shields.io/bundlephobia/min/@lukaspolak/react-get-data-cy?style=flat-square) ![npm](https://img.shields.io/npm/v/@lukaspolak/react-get-data-cy?style=flat-square)

Helper function provides a `data-cy` testing attribute with a value that can match the text content of the react element.

## Demo

[CodeSandbox](https://codesandbox.io/s/react-get-data-cy-6q2jp?file=/src/Button.tsx)

## Motivation

I wanted to have a dynamic `data-cy` testing attribute that can be based on children passed to react element. This package supports `string`, `JSX.Element` and `ReactNode` as `value` i.e. second argument.

## Getting started

To use this package, you only need to install this dependency, import it and invoke the `getDataCy` function, e.g.:

```tsx
import { getDataCy } from '@lukaspolak/react-getDataCy'

export const FancyComponent: FC = ({ children }) => {
  return <div {...getDataCy('fancy component', children)}>{children}</div>
}
```

### Install

```bash
npm install @lukaspolak/react-get-data-cy
```

or

```bash
yarn add @lukaspolak/react-get-data-cy
```

## Documentation

This package works well with [babel-plugin-react-remove-properties](https://www.npmjs.com/package/babel-plugin-react-remove-properties). To configure it, update `.babelrc` file.

```jsonc
{
  //...
  "env": {
    "production": {
      "plugins": [["react-remove-properties", { "properties": ["data-cy"] }]]
    }
  }
  //...
}
```

## Contributing

Please read the [Contribution guidelines](.github/CONTRIBUTING.md) to start with your awesome contributions!

## Why the library is prefixed with `@lukaspolak/`

There are a lot of similar libraries/packages on [GitHub](https://github.com/features/packages) and [npm](https://www.npmjs.com/), that can do the same. I wanted to enhance my programming skills, and I didn't want to find a unique name for the package.

## INITIALIZATION TODO

- [ ] remove `INITIALIZATION TODO` section
- [ ] replace quoted text in `README.md` file
npm package: @lukaspolak/react-get-inner-text
Description: Returns the inner text of react elements
Author: Lukas Polak
Latest version: 0.0.3

# react-get-inner-text

![checks-status](https://img.shields.io/github/checks-status/LukasPolak/react-get-inner-text/main?style=flat-square) ![workflow/status](https://img.shields.io/github/workflow/status/lukaspolak/react-get-inner-text/CI?style=flat-square) ![codecov](https://img.shields.io/codecov/c/github/lukaspolak/react-get-inner-text?style=flat-square) ![npm bundle size](https://img.shields.io/bundlephobia/min/@lukaspolak/react-get-inner-text?style=flat-square) ![npm](https://img.shields.io/npm/v/@lukaspolak/react-get-inner-text?style=flat-square)

Returns the inner text of [react elements](https://reactjs.org/docs/introducing-jsx.html). This package was inspired with [HTMLElement.innerText](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/innerText) and [Node.textContent](https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent) web APIs and [react-innertext](https://www.npmjs.com/package/react-innertext) npm package.

## Demo

[CodeSandbox](https://codesandbox.io/s/react-get-inner-text-49755?file=/src/App.tsx)

## Motivation

There is no native API in [React](https://reactjs.org/) to get the nested text content of react elements. This package provides a simple API to get the text content of nested elements (components)

## Getting started

To use this package, you only need to install this dependency, import it and invoke the `getInnerText` function, e.g.:

```tsx
const innerText = getInnerText(
  <div>
    <p>First paragraph.</p>
    <p>Second paragraph</p>
  </div>
)

console.log(innerText) // "First paragraph.Second paragraph"
```

### Install

```bash
npm install @lukaspolak/react-get-inner-text
```

or

```bash
yarn add @lukaspolak/react-get-inner-text
```

## Contributing

Please read the [Contribution guidelines](.github/CONTRIBUTING.md) to start with your awesome contributions!

## Why the library is prefixed with `@lukaspolak/`

There are a lot of similar libraries/packages on [GitHub](https://github.com/features/packages) and [npm](https://www.npmjs.com/), that can do the same. I wanted to enhance my programming skills, and I didn't want to find a unique name for the package.
npm package: @lukaspolak/sleep
Description: Resolve a promise after specified timeout
Author: Lukas Polak
Latest version: 0.0.2

# sleep

![checks-status](https://img.shields.io/github/checks-status/LukasPolak/sleep/main?style=flat-square) ![workflow/status](https://img.shields.io/github/workflow/status/lukaspolak/sleep/CI?style=flat-square) ![codecov](https://img.shields.io/codecov/c/github/lukaspolak/sleep?style=flat-square) ![npm bundle size](https://img.shields.io/bundlephobia/min/@lukaspolak/sleep?style=flat-square) ![npm](https://img.shields.io/npm/v/@lukaspolak/sleep?style=flat-square)

Resolve a promise after specified timeout

## Demo

[CodeSandbox](https://codesandbox.io/s/sleep-og2ry?file=/src/App.tsx)

## Getting started

To use this package, you only need to install this dependency, import it and invoke the `sleep` function, e.g.:

```js
import { sleep } from '@lukaspolak/sleep'

// async/await syntax
const asyncFn = async () => {
  await sleep(500) // Promise will be resolved in 500ms

  //...
}

// then syntax
sleep(500).then(() => {
  // ...
})
```

### Install

```bash
npm install @lukaspolak/sleep
```

or

```bash
yarn add @lukaspolak/sleep
```

## Contributing

Please read the [Contribution guidelines](.github/CONTRIBUTING.md) to start with your awesome contributions!

## Why the library is prefixed with `@lukaspolak/`

There are a lot of similar libraries/packages on [GitHub](https://github.com/features/packages) and [npm](https://www.npmjs.com/), that can do the same. I wanted to enhance my programming skills, and I didn't want to find a unique name for the package.
npm package: @lukaspolak/wait-for-timeout
Description: Promise based utility function that return a value after specified timeout.
Author: Lukas Polak
Latest version: 0.0.2

# wait-for-timeout

![checks-status](https://img.shields.io/github/checks-status/LukasPolak/wait-for-timeout/main?style=flat-square) ![workflow/status](https://img.shields.io/github/workflow/status/lukaspolak/wait-for-timeout/CI?style=flat-square) ![codecov](https://img.shields.io/codecov/c/github/lukaspolak/wait-for-timeout?style=flat-square) ![npm bundle size](https://img.shields.io/bundlephobia/min/@lukaspolak/wait-for-timeout?style=flat-square) ![npm](https://img.shields.io/npm/v/@lukaspolak/wait-for-timeout?style=flat-square)

Promise based utility function that return a value after specified timeout.

## Demo

[CodeSandbox](https://codesandbox.io/s/wait-for-timeout-o6291?file=/src/App.tsx)

## Getting started

To use this package, you only need to install this dependency, import it and invoke the `waitForTimeout` function, e.g.:

```ts
const response = waitForTimeout<boolean>(() => {
  return true
}, 500)

//...

await response // returns `true` after 500ms
```

### Install

```bash
npm install @lukaspolak/wait-for-timeout
```

or

```bash
yarn add @lukaspolak/wait-for-timeout
```

## Contributing

Please read the [Contribution guidelines](.github/CONTRIBUTING.md) to start with your awesome contributions!

## Why the library is prefixed with `@lukaspolak/`

There are a lot of similar libraries/packages on [GitHub](https://github.com/features/packages) and [npm](https://www.npmjs.com/), that can do the same. I wanted to enhance my programming skills, and I didn't want to find a unique name for the package.

## INITIALIZATION TODO
npm package: @lukasrosario/connectors
Description: Collection of connectors for Wagmi
Latest version: 5.8.5-embed.0

# @wagmi/connectors

Collection of connectors for Wagmi

## Installation

```bash
pnpm add @wagmi/connectors @wagmi/core viem
```

## Documentation

For documentation and guides, visit [wagmi.sh](https://wagmi.sh).
npm package: @lukasrosario/wagmi-connectors
Description: Collection of connectors for Wagmi
Latest version: 5.1.13-sessionkeys.2

# @wagmi/connectors

Collection of connectors for Wagmi

## Installation

```bash
pnpm add @wagmi/connectors @wagmi/core viem
```

## Documentation

For documentation and guides, visit [wagmi.sh](https://wagmi.sh).
npm package: @lukastran/react-native-blur-view
Description: A lightweight yet powerful React Native package for applying a native blur (frosted glass) effect to any view on both iOS and Android.
Author: lukastran
Latest version: 0.1.2

# react-native-blur-view

A lightweight yet powerful React Native package for applying a native blur (frosted glass) effect to any view on both iOS and Android.

## Installation

```sh
npm install react-native-blur-view
```

or

```sh
yarn add react-native-blur-view
```

Make sure you also have react-native-webview installed in your project:

```sh
npm install react-native-webview
```

or

```sh
yarn add react-native-webview
```

## ✨ Features

- No native code or platform-specific setup
- Fully customizable background color (`rgba`)
- Optional border radius for rounded blur overlays
- Supports child content over the blurred background
- Compatible with both Android and iOS

## 🚀 Why use this?

Native blur implementations often require linking native modules or configuring platform-specific code. This component offers a JS-only alternative using CSS `backdrop-filter` (when supported), wrapped inside a `WebView`, which works reliably across platforms.

## 🧪 Example

```tsx
import BlurView from 'react-native-blur-overlay';

<BlurView
  backgroundColor="rgba(255, 255, 255, 0.5)"
  borderRadius={16}
  style={{ width: 200, height: 100 }}
>
  <Text>Your content here</Text>
</BlurView>;
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
npm package: @lukaswagner/lasso
Description: lasso select helper
Author: Lukas Wagner
Latest version: 0.3.3

# lasso

Lasso and box select utility for 3D points on a 2D screen. Supports undo and redo.

## demo

You can try it out [here](https://lasso.lwgnr.dev/). See [demo/index.ts](./demo/index.ts) for a the demo source code.

## usage

Usage example for selecting 3D points with integrated mouse event handling. Note that all configuration options can be either set in the constructor (e.g. `new Lasso({target})`), via function (`lasso.setTarget`) or via property (`lasso.target`).

```ts
// create lasso instance
const lasso = new Lasso();
// set element to listen for mouse events on
lasso.target = document.getElementById('canvas');
// set 3D point source (must implement `at(number): vec3` and `length: number`)
lasso.points = myVec3Array;
// visualize currently drawn path
lasso.drawPath = { style: 'gray', width: 3 };
// set callback to call if selection changes
lasso.callback = (sel) => console.log('selection changed');
// tell lasso how to map 3D points to screen
lasso.matrix = myViewProjectionMat4;
// start watching for freeform selection - pass 'box' for box selection
lasso.enable();
```

### handling mouse events yourself

If needed, you can skip the included mouse event handling and pass in paths or rectangles directly. If a callback is set, it will be invoked. Otherwise, you can fetch the selection manually.

```ts
// create and configure lasso instance
const lasso = new Lasso({points, matrix});
// add to selection
lasso.add(myPath);
// fetch selection
const s = lasso.selection();
```

### type of returned selection

There are four options for the type of the selection given to the callback or accessed by calling `.selection()`. This defaults to `byteArray` and can be configured using the returnType option.

- `booleanArray`: Array of booleans, mapping each index to whether the point is selected. May use more than 1 byte per boolean due to aligning all contained values to 4 or 8 bytes.
- `byteArray`: An `Uint8Array`, mapping each index to either 0 or 1, where 1 means the point is selected. Guaranteed memory consumption of 1 byte per index. Also, since you're probably using WebGL to render your 3D points, you can directly use this as an vertex attribute.
- `bitArray`: Most compact map option. Stores each point's selection state in a single bit.
- `indexSet`: Set of indices of selected points.
- `pointsSet`: Set of selected points.
npm package: @lukaswagner/web-ui
Description: Helper for quickly adding ui elements.
Author: Lukas Wagner
Latest version: 1.9.0

# web-ui

Helper for quickly adding ui elements.

## Usage

```TS
// specify container for ui
const ui = new UI(document.getElementById('ui'));

// create an input element
const input = ui.input.numberRange({
    label: 'Input a number',
    // by default, the slider updates only when the mouse is released (onchange)
    // if you want instant updates (oninput), use this
    triggerHandlerOnMove: true,
    // you can react to changes by defining a handler
    handler: (v) => output.value = v.toString()
});

ui.input.button({
    label: 'Double your number',
    text: 'Go',
    // or you can access an input's value manually
    handler: () => output.value = (input.value * 2).toString()
});

// create an output element
const output = ui.output.text({
    label: 'The result is'
});
```

For an example containing all available elements, see `test/index.ts`. There, you can also find example stylesheets.

## Implemented UI elements

### Inputs

- [x] Button
- [x] Text (plain text, color, email, password, url)
- [x] Number (text, slider, text+slider)
- [x] Number array
- [x] Select
- [x] File
- [x] Checkbox

### Outputs

- [x] Text
- [x] Progress
- [x] Table
npm package: @lukaswhite/bmr
Description: A small JS library for calculating BMR (Basal Metabolic Rate).
Author: Lukas White
Latest version: 1.1.0

# BMR

A JavaScript library for calculating BMR (basal metabolic rate).

Supported formulae:

* Mifflin St Jeor.
* Harris Benedict
* Harris Benedict (revised)
* Schofield
* Katch McArdle

## Basic Usage

Import the required classes:

```js
import { BMR, Data } from '@lukaswhite/bmr'
```

Create an instance of `Data`, and supply the necessary information:

```js
let data = new Data( )
data.setGender( Data.FEMALE )
    .setAge( 45 )
    .setHeight( 165 )
    .setWeight( 60 )
```

> The height and weight should be in centimetres and kilogrammes respectively

Note that rather than set the age, you can set the date of birth instead:

```js
data.setDateOfBirth( new Date( 1980, 6, 3 ) )
```

Create an instance of the `BMR` class:

```js
const bmr = new BMR( BMR.MIFFLIN_ST_JEOR )
```

Finally, run the calculation:

```js
console.log( bmr.calculate( data ) ) // outputs 1245
```

### Mifflin St Jeor

```js
const bmr = new BMR( BMR.MIFFLIN_ST_JEOR )
```

This is actually the default formula, so you can simply do this:

```js
const bmr = new BMR( )
```

The formula requires the gender, age, height and weight.

```js
let data = new Data( )
data.setGender( Data.FEMALE )
    .setAge( 45 )
    .setHeight( 165 )
    .setWeight( 60 )
```

### Harris Benedict

```js
const bmr = new BMR( BMR.HARRIS_BENEDICT )
```

The formula requires the gender, age, height and weight.

```js
let data = new Data( )
data.setGender( Data.FEMALE )
    .setAge( 45 )
    .setHeight( 165 )
    .setWeight( 60 )
```

### Harris Benedict (Revised)

```js
const bmr = new BMR( BMR.HARRIS_BENEDICT )
```

The formula requires the gender, age, height and weight.

```js
let data = new Data( )
data.setGender( Data.FEMALE )
    .setAge( 45 )
    .setHeight( 165 )
    .setWeight( 60 )
```

### Schofield

```js
const bmr = new BMR( BMR.SCHOFIELD )
```

The formula requires the gender, age, weight.

```js
let data = new Data( )
data.setGender( Data.FEMALE )
    .setAge( 45 )
    .setWeight( 60 )
```

### Katch McArdle

```js
const bmr = new BMR( BMR.KATCH_MCARDLE )
```

The formula requires either the lean body mass, or the weight and body fat percentage

```js
let data = new Data( )
data.setGender( Data.FEMALE )
    .setLeanBodyMass( 50 )
```

Or

```js
let data = new Data( )
data.setGender( Data.FEMALE )
    .setWeight( 60 )
    .setBodyFat( 17 )
```

## Errors

If you fail to provide all of the required information, the calculator will throw an instance of `MissingInformationError`.

Upon instantiation, if you supply an invalid formula, it will throw an instance of `InvalidFormulaError`. However, this is easily avoided by simply using the constants, as per the documentation above.
npm package: @lukasz-kry/randomid-generator
Description: Paczka randomid-generator, przyjmuje jako argument liczbę, a nastepnie tworzy losowy ciąg znaków alfanumerycnych o długości podanej liczby.
Author: lukasz-k
Latest version: 1.0.1

Paczka randomid-generator, przyjmuje jako argument liczbę, a nastepnie tworzy losowy ciąg znaków alfanumerycnych o długości podanej liczby.
npm package: @lukasz.glen/ipfs-url-encoder
Description: Save storage and generate ipfs urls from hashes in solidity smart contracts
Author: lukasz-glen
Latest version: 1.0.0

# ipfs-url-encoder

Save storage and generate ipfs urls from hashes in solidity smart contracts.

Could not find any solidity base58btc encoder for ipfs urls, so I developed it by myself.
Hope you enjoy it.

The repo contains base58btc encoder that transforms ipfs hashes into ipfs urls
and two ERC721 metadata implementations.

Currently, this lib supports CID v0 only.

## Add to your dependencies

```{shell}
npm install @lukasz.glen/ipfs-url-encoder
```

## Running

```{shell}
npm install
npx hardhat compile
npx hardhat test
```

## Content

- `contracts/IpfsUrlEncoderV0.sol` - base58 encoder that transforms bytes32 hash into ipfs url v0,
- `contracts/v0/ERC721HashUrl.sol` - implementation of `tokenURI()`,
- `contracts/v0/ERC721IdUrl.sol` - implementation of `tokenURI()` that identifies tokenId with ipfs hash.

`IpfsUrlEncoderV0` is gas efficient. It is not multipurpose, it only takes bytes32 input.
CID v0 uses sha2-256, but it is obvious that the hash type is irrelevant here, only matters that it is 256 bits.

`ERC721HashUrl` and `ERC721IdUrl` implements only `tokenURI()`, not full ERC721Metadata.
It is enough to inherit from one of these contracts.
Exemplary ERC721 implementations are delivered at `contracts/test/v0/ERC721HashUrlTest.sol` and 
`contracts/test/v0/ERC721IdUrlTest.sol`.

## Storage saving

When ipfs url is stored in a contract, it takes at least 3 slots.
It is enough to store just ipfs hash, which takes 1 slot - and encode it with base58btc in `tokenUIR()` function on a call.
The contract `ERC721IdUrl` goes even further. It uses tokenId as an ipfs hash and it takes 0 slots.

Note that CID v0 uses sha2-256, it fits in 32 bytes. 
CID v1 can use hashes with greater length - this would not be so gas saving.

## Use cases

It is common to mint nfts in a batch and/or use common urls like this one 
```commandline
ipfs://QmY7Yh4UquoXHLPFo2XbhXkhBvFoPwmQUSa92pxnxjQuPU/21
```
In such cases there is little profit using this lib.

It is useful when each token has a specific url, for instance when they are minted independently.
Then the profit is 2 or 3 slots, it is 45k gas, on a single mint.

## Background

This is how CID v0 url are produced.

1. A user wants to publish some content.
2. Content is hashed with sha2-256.
3. The hash is prefixed with constants 0x12 and 0x20. 
   0x12 means that sha2-256 was used. 0x20 is the length of the output hash.
   This is so called multihash.
4. Multihash is encoded with base58btc. The result is CID, for instance QmY7Yh4UquoXHLPFo2XbhXkhBvFoPwmQUSa92pxnxjQuPU.

Note that having a hash, you can compute CID v0 uniquely, and conversely. 
So it is enough to store hashes instead of CIDs - CIDs take more bytes and cost more gas.

See [this](https://docs.ipfs.tech/concepts/content-addressing/#version-0-v0) 
and [this](https://proto.school/anatomy-of-a-cid/02) for reference.
To retrieve a hash from CID you can use [this](https://cid.ipfs.tech/).
npm package: @lukasz91/randomid-generator
Description: The application draws an ID of the length specified by the user
Latest version: 1.0.1

# Generator ID

The application draws an ID of the length specified by the user

## How to use

1. Install package
   - yarn add @lukasz91/randomid-generator
   - npm i @lukasz91/randomid-generator
2. Import to your project
   - const randomID = require("@lukasz91/randomid-generator");
3. Use
   - example: randomID(10)
npm package: @lukaszbieniek/commitlint-config
Description: Shareable commitlint config
Author: Łukasz Bieniek
Latest version: 2.0.0

# @lukaszbieniek/commitlint-config

Shareable [commitlint](https://commitlint.js.org/) config

[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev @commitlint/cli @lukaszbieniek/commitlint-config
```

Extend your config file:

```js
// commitlint.config.js
module.exports = {
  extends: ["@lukaszbieniek/commitlint-config"],
};
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @lukaszbieniek/eslint-config
Description: Shareable eslint config files
Author: Łukasz Bieniek
Latest version: 3.1.0

# @lukaszbieniek/eslint-config

Shareable [eslint](https://eslint.org/) config files

[![npm-version](https://img.shields.io/npm/v/@lukaszbieniek/eslint-config)](https://www.npmjs.com/package/@lukaszbieniek/eslint-config)
[![npm-license](https://img.shields.io/npm/l/@lukaszbieniek/eslint-config)](https://www.npmjs.com/package/@lukaszbieniek/eslint-config)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev eslint prettier @lukaszbieniek/eslint-config
```

Extend your `.eslintrc.js` config file:

```js
// .eslintrc.js
module.exports = {
  extends: [
    '@lukaszbieniek/eslint-config',
    // '@lukaszbieniek/eslint-config/lib/typescript',
    // '@lukaszbieniek/eslint-config/lib/jest',
  ],
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @lukaszbieniek/eslint-config-typescript
Description: Shareable eslint config with typescript support
Latest version: 1.0.0
Deprecated: The package has been moved to Github NPM Registry

# @lukaszbieniek/eslint-config-typescript

Shareable [eslint](https://eslint.org/) config with typescript support

[![npm version badge](https://img.shields.io/npm/v/@lukaszbieniek/eslint-config-typescript)](https://www.npmjs.com/package/@lukaszbieniek/eslint-config-typescript)
[![npm license badge](https://img.shields.io/npm/l/@lukaszbieniek/eslint-config-typescript)](https://www.npmjs.com/package/@lukaszbieniek/eslint-config-typescript)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev eslint @lukaszbieniek/eslint-config-typescript
```

Extend your config file:

```js
// .eslintrc.js
module.exports = {
  extends: ['@lukaszbieniek/eslint-config-typescript'],
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @lukaszbieniek/prettier-config
Description: Shareable prettier config file
Author: Łukasz Bieniek
Latest version: 2.1.0

# @lukaszbieniek/prettier-config

Shareable [prettier](https://prettier.io/) config

[![npm-version](https://img.shields.io/npm/v/@lukaszbieniek/prettier-config)](https://www.npmjs.com/package/@lukaszbieniek/prettier-config)
[![npm-license](https://img.shields.io/npm/l/@lukaszbieniek/prettier-config)](https://www.npmjs.com/package/@lukaszbieniek/prettier-config)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev prettier @lukaszbieniek/prettier-config
```

Extend your config file:

```js
// .prettierrc.js
module.exports = {
  ...require('@lukaszbieniek/prettier-config'),
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @lukaszbieniek/renovate-config
Description: Shareable renovate bot config
Latest version: 1.1.0
Deprecated: The package has been moved to Github NPM Registry

# @lukaszbieniek/renovate-config

Shareable [renovate bot](https://renovatebot.com) config

[![npm version badge](https://img.shields.io/npm/v/@lukaszbieniek/renovate-config)](https://www.npmjs.com/package/@lukaszbieniek/renovate-config)
[![npm license badge](https://img.shields.io/npm/l/@lukaszbieniek/renovate-config)](https://www.npmjs.com/package/@lukaszbieniek/renovate-config)
[![semantic-release badge](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev @lukaszbieniek/renovate-config
```

Extend your package.json file:

```json
{
  "renovate": {
    "extends": ["@lukaszbieniek"]
  }
}
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @lukaszbieniek/semantic-release-config
Description: Shareable semantic-release config
Author: Łukasz Bieniek
Latest version: 2.0.0

# @lukaszbieniek/semantic-release-config

Shareable [semantic-release](https://semantic-release.gitbook.io) config

[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev semantic-release @lukaszbieniek/semantic-release-config
```

Extend your config file:

```js
// release.config.js
module.exports = {
  extends: ["@lukaszbieniek/semantic-release-config"]
};
```

### License

See [LICENSE](./LICENSE) file for details.
npm package: @lukaszbieniek/stylelint-config
Description: Shareable stylelint config
Latest version: 3.0.1

# @lukaszbieniek/stylelint-config

Shareable [stylelint](https://stylelint.io/) config file

[![npm-version](https://img.shields.io/npm/v/@lukaszbieniek/stylelint-config)](https://www.npmjs.com/package/@lukaszbieniek/stylelint-config)
[![npm-license](https://img.shields.io/npm/l/@lukaszbieniek/stylelint-config)](https://www.npmjs.com/package/@lukaszbieniek/stylelint-config)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/semantic-release/semantic-release)

### Usage

Install package:

```sh
$ npm install --save-dev stylelint prettier @lukaszbieniek/stylelint-config
```

Extend your `.stylelintrc.js` config file:

```js
// .stylelintrc.js
module.exports = {
  extends: ['@lukaszbieniek/stylelint-config'],
}
```

### License

See [LICENSE](./LICENSE) file for details.