open-index/open-npm huggingface dataset:
npm package: @graviton-inc/xeenon-voter-program-idl
Description: TypeScript IDL (Interface Definition Language) for the Xeenon Voter Program on Solana.
Latest version: 0.0.5

# @graviton-inc/xeenon-voter-program-idl

TypeScript IDL (Interface Definition Language) for the Xeenon Voter Program on Solana.
npm package: @gravity-bridge/proto
Description: Protobuf files for Gravity Bridge.
Latest version: 0.0.6

# Proto

Protobuf files used to generate cosmos transactions for Althea-L1, Canto, and Ethermint.

This package is not meant to be used directly, `@althea-net/transactions` contains convenient transaction generation functions which should be used instead.

## Convert protobuf to Eth Transaction

Example on how to convert protobuf message -> ethereum tx [here]('./tests/messages/msgEthereumTx.spec.ts')

## Local generation

Either run the script from the root directory `bash scripts/create-proto-files.sh`, or use npm `npm run compileproto`.
That script will call protoc with the [protoc-gen-es plugin](https://github.com/bufbuild/protobuf-es/tree/main/packages/protoc-gen-es) created by bufbuild, once each for Althea-L1 and Canto and Ethermint.
The protoc-gen-es tool will create special ts files to be used elsewhere in the repo.

To see the proto source files check out the althea-proto-src folder in the root of this repo.

After compiling the protos, this project can be built (just run `npm run build` in the root of this repo) to generate the publishable js files.
npm package: @gravity-ui/browserslist-config
Description: Browserslist config of Gravity UI packages family
Latest version: 4.3.0

# Browserslist config of Gravity UI packages family

## Compatible browsers

You can check compatible browsers on [browsersl.ist](https://browsersl.ist/#q=last%202%20major%20versions%20and%20last%202%20years%20and%20fully%20supports%20es6%20and%20%3E%200.05%25%0Anot%20dead%0Anot%20op_mini%20all%0Anot%20and_qq%20%3E%200%0Anot%20and_uc%20%3E%200%0AFirefox%20ESR%0AChrome%20%3E%200%20and%20last%202%20years%20and%20%3E%200.05%25%0ASafari%20%3E%200%20and%20last%202%20years%20and%20%3E%200.05%25%0AFirefox%20%3E%200%20and%20last%202%20years%20and%20%3E%200.01%25).

## Install

```bash
npm i --save-dev @gravity-ui/browserslist-config
```

Add config to `package.json` in `browserslist` section:

```json
{
  "browserslist": [
    "extends @gravity-ui/browserslist-config"
  ]
}
```

You can specify additional browsers based on your audience, like:
```json
{
  "browserslist": [
    "extends @gravity-ui/browserslist-config",
    "Chrome >= 100",
    "Firefox >= 100"
  ]
}
```

## Usage

Package provides production version of browserslist.
npm package: @gravity-ui/charts
Description: A flexible JavaScript library for data visualization and chart rendering using React
Latest version: 1.46.1

# Gravity UI Charts · [![npm package](https://img.shields.io/npm/v/@gravity-ui/charts)](https://www.npmjs.com/package/@gravity-ui/charts) [![License](https://img.shields.io/github/license/gravity-ui/charts)](LICENSE) [![CI](https://img.shields.io/github/actions/workflow/status/gravity-ui/charts/.github/workflows/ci.yml?label=CI&logo=github)](https://github.com/gravity-ui/charts/actions/workflows/ci.yml?query=branch:main) [![storybook](https://img.shields.io/badge/Storybook-deployed-ff4685)](https://preview.gravity-ui.com/charts/)

React charting library with 10+ chart types: area, bar, line, pie, scatter, treemap, and more.

## Documentation

- [Overview](https://gravity-ui.github.io/charts/pages/overview.html)
- [Get started](https://gravity-ui.github.io/charts/pages/get-started.html)
- [Development](https://gravity-ui.github.io/charts/pages/development.html)
- [API](https://gravity-ui.github.io/charts/pages/api/overview.html)
- [Guides](https://gravity-ui.github.io/charts/pages/guides/tooltip.html)
npm package: @gravity-ui/dynamic-forms
Description: The JSON Schema-based library for rendering forms and form values.
Latest version: 5.13.2

# @gravity-ui/dynamic-forms &middot; [![npm package](https://img.shields.io/npm/v/@gravity-ui/dynamic-forms)](https://www.npmjs.com/package/@gravity-ui/dynamic-forms) [![CI](https://img.shields.io/github/actions/workflow/status/gravity-ui/dynamic-forms/.github/workflows/ci.yml?label=CI&logo=github)](https://github.com/gravity-ui/dynamic-forms/actions/workflows/ci.yml?query=branch:main) [![storybook](https://img.shields.io/badge/Storybook-deployed-ff4685)](https://preview.gravity-ui.com/dynamic-forms/)

The JSON Schema-based library for rendering forms and form values.

## Install

```shell
npm install --save-dev @gravity-ui/dynamic-forms
```

## Usage

```jsx
import {DynamicField, Spec, dynamicConfig} from '@gravity-ui/dynamic-forms';

// To embed in a final-form
<DynamicField name={name} spec={spec} config={config} />;

import {DynamicView, dynamicViewConfig} from '@gravity-ui/dynamic-forms';

// To get an overview of the values
<DynamicView value={value} spec={spec} config={dynamicViewConfig} />;
```

### I18N

Certain components include text tokens (words and phrases) that are available in two languages: `en` (the default) and `ru`. To set the language, use the `configure` function:

```js
// index.js

import {configure, Lang} from '@gravity-ui/dynamic-forms';

configure({lang: Lang.Ru});
```

## Development

To start the development server with storybook execute the following command:

```shell
npm ci
npm run dev
```
npm package: @gravity-ui/eslint-config
Description: Gravity UI ESLint config, following our styleguide
Latest version: 4.3.1

# @gravity-ui/eslint-config

## Install

```
npm install --save-dev eslint @gravity-ui/eslint-config
```

## Usage

Add `eslint.config.js` file in your project with the following content:

```js
import baseConfig from '@gravity-ui/eslint-config';

export default [
  ...baseConfig,
  {
    // ...other config
  },
];
```

Base config also includes TypeScript rules.

### Prettier

If you are using Prettier, add corresponding config:

```js
import baseConfig from '@gravity-ui/eslint-config';
import prettierConfig from '@gravity-ui/eslint-config/prettier';

export default [
  ...baseConfig,
  ...prettierConfig,
  {
    // ...other config
  },
];
```

### a11y

If you want to spot accessibility issues, add corresponding config:

```js
import baseConfig from '@gravity-ui/eslint-config';
import a11yConfig from '@gravity-ui/eslint-config/a11y';

export default [
  ...baseConfig,
  ...a11yConfig,
  {
    // ...other config
  },
];
```

### Order

if you want to enforce a convention in module import order, add corresponding config:

```js
import baseConfig from '@gravity-ui/eslint-config';
import importOrderConfig from '@gravity-ui/eslint-config/import-order';

export default [
  ...baseConfig,
  ...importOrderConfig,
  {
    // ...other config
  },
];
```
npm package: @gravity-ui/i18n-cli
Description: - Provides i18n configuration for the project
Latest version: 1.4.1

# @gravity-ui/i18n-cli

- Provides i18n configuration for the project

- Provides the `i18n-cli` command for managing language files in the project.


## Project Setup

1. **Install the package:**

    ```bash
    npm i -D @gravity-ui/i18n-cli
    ```

2. **Createthe config file `i18n.config.ts` in the project root:**

    ```ts
    import {defineConfig} from '@gravity-ui/i18n-cli/config';

    export default defineConfig({
        allowedLocales: ['ru', 'en', 'ru-kz', 'en-kz'] as const,
        fallbackLocales: {
            'ru-kz': 'ru',
            'en-kz': 'en',
        },
        defaultFallback: 'en',
        clientIntlModule: {
            path: 'src/shared/i18n/intl.ts',
            alias: '@shared/i18n',
        },
    });
    ```
3. **Import the config in the i18n library instance (i18n-react and i18n-node)**

    ```ts
    import {createIntl} from '@gravity-ui/i18n-react';
    import i18nConfig from '../../../i18n.config';

    const {allowedLocales, fallbackLocales, defaultFallback} = i18nConfig;

    export const intl = createIntl({
        allowedLocales,
        fallbackLocales,
        defaultFallback,
    });
    ```

## Commands

### `create-keys`

Checks the provided file/directory for calls to missing keys and adds them to the `i18n.ts` file.

#### Run for a single file

```bash
npx i18n-cli create-keys src/ui/SomeComponent/SomeComponent.tsx
```

#### Run for all files in a directory

```bash
npx i18n-cli create-keys src/ui/ComponentDirectory
```

### `find-unused`

Recursively search for unused keys starting from the specified directory.

#### Report on unused keys

```bash
npx i18n-cli find-unused src/ui/SomeComponent
```

#### Delete unused keys

```bash
npx i18n-cli find-unused -d src/ui/SomeComponent
```

## Configuration options

### allowedLocales

Type: `string[]`

Allowed locales in the project.

```ts
{
    allowedLocales: ['ru', 'en'] as const,
}
```

### fallbackLocales

Fallbacks for given locales. More details can be found in [i18n-core](../i18n-core/README.md).

### defaultFallback

Default fallback. Used if no higher priority fallback is found. More in [i18n-core](../i18n-core/README.md).

### clientIntlModule

Location of the library instance for the client-side [i18n-react](../i18n-react/README.md) in the project.

```ts
{
    clientIntlModule: {
        // Path to the module with intl library instance
        path: 'src/ui/shared/i18n.ts',

        // TypeScript alias of the module with intl library instance
        alias: '@shared/i18n';
    }
}
```

### serverIntlModule

Server-side library instance location [i18n-node](../i18n-node/README.md) in the project.

```ts
{
    serverIntlModule: {
        // Path to the module containing the intl library instance
        path: 'src/server/utils/i18n.ts',

        // TypeScript alias of the module containing the intl library instance
        alias: undefined,

        // Regular expressions that determine if a module belongs to the server-side
        pathMatchers: [/src\/server\/.+$/]
    }
}
```
npm package: @gravity-ui/page-constructor-addons
Description: Components and plugins for @gravity-ui/page-constructor
Latest version: 1.0.2

# @gravity-ui/page-constructor-addons &middot; [![npm package](https://img.shields.io/npm/v/@gravity-ui/page-constructor-addons)](https://www.npmjs.com/package/@gravity-ui/page-constructor-addons) [![CI](https://img.shields.io/github/actions/workflow/status/gravity-ui/page-constructor-addons/ci.yml?branch=main&label=CI)](https://github.com/gravity-ui/page-constructor-addons/actions/workflows/ci.yml?query=branch:main) [![Release](https://img.shields.io/github/actions/workflow/status/gravity-ui/page-constructor-addons/release.yml?branch=main&label=Release)](https://github.com/gravity-ui/page-constructor-addons/actions/workflows/release.yml?query=branch:main) [![storybook](https://img.shields.io/badge/Storybook-deployed-ff4685)](https://preview.yandexcloud.dev/page-constructor-addons/)

# Page constructor addons

`page-constructor-addons` it is a set of components and plugins working with [@gravity-ui/page-constrcutor](https://github.com/gravity-ui/page-constructor) and extending it's functionality.

## Install

```shell
npm install @gravity-ui/page-constructor-addons
```

## Development

```bash
npm ci

npm run dev
```

## Run Tests

```bash
npm run test
```

## Build

```bash
npm run build
```
npm package: @gravity-ui/playwright-tools
Description: Tools for Playwright Test
Author: @Avol-V
Latest version: 2.0.1

# playwright-tools

A library of additional utilities for writing tests using Playwright Test.

```
npm i -D @gravity-ui/playwright-tools
```

The package contains several subdirectories with utilities for different purposes. You should import from these subdirectories, for example:

```ts
import { matchScreenshot } from 'playwright-tools/actions';
```

- [actions](./actions/README.md) — Browser actions.
- [auth/storage](./auth/storage/README.md) — Authentication functions for saving and restoring browser storage snapshots.
- [component-tests](./component-tests/README.md) — Utilities and fixtures for Playwright Component Testing.
- [fixtures](./fixtures/README.md) — Fixtures for passing values into tests.
- [har](./har/README.md) — Functions for working with HAR request dumps.
- [config](./config/README.md) — Base configuration.
- [utils](./utils/README.md) — Helper functions.

You can learn more about Playwright and how to configure it in the [Playwright documentation](https://playwright.dev/docs/intro).

## Maintainers

[@Avol-V](https://github.com/Avol-V)
[SwinX](https://github.com/SwinX)
[@vegancat63](https://github.com/vegancat63)
npm package: @gravity-ui/stylelint-config
Description: Gravity UI Stylelint config, following our styleguide
Latest version: 5.0.0

# @gravity-ui/stylelint-config

Stylelint configuration for Gravity UI projects.

## Requirements

- Node.js >= 20.x
- Stylelint 16.18.0
- PostCSS 8.x

## Install

```
npm install --save-dev stylelint postcss @gravity-ui/stylelint-config
```

## Usage

Add `.stylelintrc` file in the project root with the following content:

```json
{
  "extends": "@gravity-ui/stylelint-config"
}
```

### Prettier

If you are using Prettier, extend root config with the additional rules:

```json
{
  "extends": ["@gravity-ui/stylelint-config", "@gravity-ui/stylelint-config/prettier"]
}
```

### Order

If you want to order properties in your css files, extend root config with the additional rules:

```json
{
  "extends": ["@gravity-ui/stylelint-config", "@gravity-ui/stylelint-config/order"]
}
```
npm package: @gravity-ui/ui-logger
Description: UI logger
Latest version: 1.1.0

# UI logger

## Usage

```bash
npm i @gravity-ui/ui-logger
```

```ts
import logger from '@gravity-ui/ui-logger';

try {
  // logger.log(message: string, extraData?: Record<string, unknown>);
  logger.log('Info event', {extraInfo: 'Extra data'});
} catch (error) {
  // logger.logError(message: string, error?: Error, extraData?: Record<string, unknown>);
  logger.logError('Error event', error, {extraError: 'Extra data'});
}

// get all recorded logs
const logs = logger.getLogs();
```

## Named loggers

By default, logs are written to `namespace` with the name `default`.

Possible reasons to create your own `namespace`:

- Logically split logs of a large application.
- For certain errors, you need a custom [error parser](#settings).

```ts
import logger from '@gravity-ui/ui-logger';

// Returns or creates a new logger instance with the name my_namespace
const namedLogger = logger.get('my_namespace');
namedLogger.log('Will record to scope my_namespace');

const anotherOneLogger = namedLogger.get('another_one');
namedLogger.log('Will record to scope another_one');
```

## Settings

The settings can be either global for all loggers or local for a specific logger.

```ts
import logger from '@gravity-ui/ui-logger';

type DefaultSettings = {
  // The number of log records for each namespace. By default, 1000.
  bufferSize: number;
  // Function for error parsing in logError.
  parseError: (error: Error) => Record<string, unknown>;
  // Print log, logError to the console. By default, true.
  printLog: boolean;
  // Callback function that is called every time logError is called with the same arguments as logError
  logErrorCallback: ((message: string, error?: Error, data?: ExtraData) => void) | null;
};

// will change the number of records for all loggers
logger.setDefault({bufferSize: 200});

type LoggerSettings = {
  bufferSize: number;
  parseError: (error: Error) => Record<string, unknown>;
  logErrorCallback: ((message: string, error?: Error, data?: ExtraData) => void) | null;
};

const namedLogger = logger.get('name');
function namedParseError(error: Error) {
  return {message: error.message, meta: {}};
}

// will change ParseError only for logger `name`
namedLogger.setSettings({parseError: namedParseError});
```
npm package: @gravity-ui/yagr
Description: High level wrapper for uPlot
Latest version: 4.13.2

# Ẏagr <img src="https://raw.githubusercontent.com/gravity-ui/yagr/main/docs/assets/yagr.svg" width="24px" height="24px" />

Yagr is a high-performance HTML5 canvas chart renderer based on [uPlot](https://github.com/leeoniya/uPlot). It provides high-level features for uPlot charts.

<img src="https://raw.githubusercontent.com/gravity-ui/yagr/main/docs/assets/demo.png" width="800" />

## Features

-   [Lines, areas, columns, and dots as visualization types. Configurable per series](https://yagr.tech/en/api/visualization)
-   [Configurable Legend Tooltip](https://yagr.tech/en/plugins/tooltip)
-   [Axes with extra options for decimal-level precision](https://yagr.tech/en/api/axes)
-   [Scales with configurable range functions and transformations](https://yagr.tech/en/api/scales)
-   [Plot lines and bands. Configurable draw layer](https://yagr.tech/en/plugins/plot-lines)
-   [Responsive charts](https://yagr.tech/en/api/settings#adaptivity) (requires [ResizeObserver](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver))
-   [High-level support of stacked areas/columns](https://yagr.tech/en/api/scales#stacking)
-   [Configurable markers](./docs/api/markers.md)
-   [Light/Dark theme](https://yagr.tech/en/api/settings#theme)
-   [Data normalization](https://yagr.tech/en/api/scales#normalization)
-   [Configurable crosshairs, cursor markers and snapping](https://yagr.tech/en/api/cursor)
-   Typescript
-   [Localization](https://yagr.tech/en/api/settings#localization)
-   [CSS Variables in color names](https://yagr.tech/en/api/css)
-   [Paginated inline legend](https://yagr.tech/en/plugins/legend)
-   [Error handling and extended hooks](https://yagr.tech/en/api/lifecycle)
-   [Data alignment and interpolation for missing data](https://yagr.tech/en/api/data-processing)
-   [Realtime updates](https://yagr.tech/en/api/dynamic-updates)

## [Documentation](https://yagr.tech)

## Quick Start

```
npm i @gravity-ui/yagr
```

### NPM Module

```typescript
import Yagr from '@gravity-ui/yagr';

new Yagr(document.body, {
    timeline: [1, 2, 3, 4, 5],
    series: [
        {
            data: [1, 2, 3, 4, 5],
            color: 'red',
        },
        {
            data: [2, 3, 1, 4, 5],
            color: 'green',
        },
    ],
});
```

### Script Tag

```html
<script src="https://unpkg.com/@gravity-ui/yagr/dist/yagr.iife.min.js"></script>
<script>
    new Yagr(document.body, {
        timeline: [1, 2, 3, 4, 5],
        series: [
            {
                data: [1, 2, 3, 4, 5],
                color: 'red',
            },
            {
                data: [2, 3, 1, 4, 5],
                color: 'green',
            },
        ],
    });
</script>
```

### Examples

Need something specific? Yagr presents some useful examples in the [demo/examples](./demo/examples/) folder. How to start them with current version:

1. Clone the repository.
2. Install dependencies `npm i`.
3. Run `npm run build`.
4. Run `npx http-server .`.
5. Open examples in browser according to the http-server output.