open-index/open-npm huggingface dataset:
npm package: @interpals/react-redux-modal
Description: react-redux-modal is a React modal implemented with Redux
Author: Diego Oliveira
Latest version: 1.0.1

# @interpals/react-redux-modal

##`react-redux-modal` [demo](http://diegoddox.github.io/react-redux-modal/)

## Implementation Guide

##### 1. Installation

`npm install --save react-redux-modal`

##### 2. Add the `react-redux-modal` css link to your app
```
<link href="http://diegoddox.github.io/react-redux-modal/0.5/react-redux-modal.min.css" rel="stylesheet" type="text/css">
```
##### 3. The third thing you need to do is to add the `react-redux-modal` `reducer` to Redux.

```
import {createStore, combineReducers} from 'redux'
import {reducer as modalReducer} from 'react-redux-modal'
const reducers = {
  // ... other reducers ...
  modals: modalReducer // <- Mounted at modals.
}
const reducer = combineReducers(reducers)
const store = createStore(reducer)
```

##### NOTE: The default mount point for `react-redux-modal` is `modals`.

##### 4. Add the `react-redux-modal` React component to the root of your app
```
import {Provider}  from 'react-redux'
import ReduxModal from 'react-redux-modal'

<Provider store={store}>
  <div>
    ... other things like router ...
    <ReduxModal />
  </div>
</Provider>
```

##### 5. Add the `react-redux-modal`  `modal` emitter
The `modal` method use [eventemitter3](https://github.com/primus/eventemitter3) to dispatch the actions

```
import React, {Component}  from 'react'
import {modal} from 'react-redux-modal' // The modal emitter
```

Create a `component` that will be injected in the modal
```
class myModalComopnent extends Component {
  constructor(props) {
    super(props);
    console.log('## MODAL DATA AND PROPS:', this.props);
  }

  removeThisModal() {
    this.props.removeModal();
  }
	
  render() {
    return (
      <div>
        <p>this is my modal</p>
        <button
          type="button"
          onClick={this.removeThisModal.bind(this)}>
          close this modal
        </button>
      </div>
    );
  }
}
```
```
export class YourComponent extends Component {
  constructor(props) {
	  super(props);
  }

  addModal() {
    modal.add(myModalComopnent, {
      title: 'This is my modal',
      size: 'medium', // large, medium or small,
      closeOnOutsideClick: false // (optional) Switch to true if you want to close the modal by clicking outside of it,
      hideTitleBar: false // (optional) Switch to true if do not want the default title bar and close button,
      hideCloseButton: false // (optional) if you don't wanna show the top right close button
      //.. all what you put in here you will get access in the modal props ;)
    });
  }
  
  render() {
    return <button onClick={this.addModal.bind(this)}>Add modal</button>;
  }
}
```

The `modal` `add` method takes two arguments, first a `react` `component`  and a `object` that will specify the modal `title`, `size` and `data` 

# Run a local demo
```
git clone https://github.com/diegoddox/react-redux-modal.git
cd react-redux-modal
npm install
npm start
```
open your browser at `http://localhost:3001`

# TODO
create test.
npm package: @interpals/utils
Description: Interpals utils for JS
Latest version: 3.1.0

@interpals/utils
================

> Small JS utils that helps us to build Interpals v2 :smiley_cat:

# LICENSE

MIT License

Copyright (c) 2016-present InterPals LLC

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
npm package: @interplanetary-lab/smart-contracts-hooks
Description: Interplanetary Lab's smart contract binding libraries for React hooks
Latest version: 0.1.3

# Smart Contracts Hooks

**Interplanetary Lab's smart contract binding libraries for React hooks.**

## Table of Contents

- [Smart Contracts Hooks](#smart-contracts-hooks)
  - [Table of Contents](#table-of-contents)
  - [Overview](#overview)
    - [Installation](#installation)
    - [Usage](#usage)
  - [Documentation](#documentation)
    - [Rounds](#rounds)
      - [useERC721RoundsData and useERC1155RoundsData](#useerc721roundsdata-and-useerc1155roundsdata)

## Overview

### Installation

```console
$ npm install @interplanetary-lab/smart-contracts-hooks
```

### Usage

Once installed, you can use the contracts in the library by importing them:

```javascript
import { useERC721RoundsData } from '@interplanetary-lab/smart-contracts-hooks';

//...
const {
  roundsState,
  activeRounds,
  nextRounds,
  syncRounds,
  lastUpdate,
} = useERC721RoundsData({ endpoint: '/api/rounds', syncInterval: 60 });
```

## Documentation

### Rounds

#### useERC721RoundsData and useERC1155RoundsData

Hooks allowing to get all rounds data in live.

The differences between `useERC721RoundsData` and `useERC1155RoundsData` are:

- The content of the round type (`ERC721Round` or `ERC1155Round`)
- `totalSupply` for `useERC1155RoundsData` is an object with tokenId as key

**Options**

```javascript
import { useERC721RoundsData } from '@interplanetary-lab/smart-contracts-hooks';

const options: {
  /** The endpoint path that return all data of the contract */
  endpoint?: string,

  /** Number of seconds to wait between each data synchronization (0 if only one sync) */
  syncInterval?: number,

  /** Function called on each sync data with the API */
  onSyncData?: (data: never) => void,
} = {};

const roundsData = useERC721RoundsData(options);
```

Notes:

- The api can used `ERC721RoundsData.getAllData()` or `ERC1155RoundsData.getAllData()` of [@interplanetary-lab/smart-contracts-ethers-js](https://www.npmjs.com/package/@interplanetary-lab/smart-contracts-ethers-js)

**Returned states**

```javascript
import { useERC721RoundsData } from '@interplanetary-lab/smart-contracts-hooks';

const {
  /** The contract total supply */
  totalSupply,

  /** Current round state */
  roundsState,

  /** All fetched rounds updated with `syncData` */
  rounds,

  /** All active rounds sort by price (cheapest to most expensive) */
  activeRounds,

  /** All next rounds sort by startTime (closest to the farthest) */
  nextRounds,

  /** All past rounds sort by startTime (closest to the farthest) */
  pastRounds,

  /** Last time that all rounds have been updated */
  lastUpdate,

  /** Sync all data from the api */
  syncData,
} = useERC721RoundsData(options);
```
npm package: @interplanetary-lab/smartcontract-supervisor-js
Description: Useful toolbox for Interplanetary lab's smart contracts.
Latest version: 0.1.5

# Smartcontract Supervisor JS

**Axios interaction with Smartcontract Supervisor's APIs.**

## Table of Contents

- [Smartcontract Supervisor JS](#smartcontract-supervisor-js)
  - [Table of Contents](#table-of-contents)
  - [Overview](#overview)
    - [Installation](#installation)
    - [Usage](#usage)

## Overview

### Installation

```console
$ npm install @interplanetary-lab/smartcontract-supervisor-js
```

### Usage

Once installed, you can use the contracts in the library by importing them:

```javascript
import SmartContractSupervisor from '@interplanetary-lab/smartcontract-supervisor-js';

//...

try {
    const supervisor = new SmartContractSupervisor(
        process.env.SUPERVISOR_API_URL
        process.env.SUPERVISOR_API_KEY
    );

    const response = await supervisor.validatorSign(validator, wallet);
    // Do something
} catch (e) {
    console.error(`${e.status} - ${e.message}`)
}
```
npm package: @interpoolx/md-cli
Description: High-performance Markdown CLI tool built with Go
Author: Interpoolx
Latest version: 1.0.0

# md-cli

A high-performance Markdown CLI tool built with Go, distributed via NPM.

## Features

- **Blazing Fast**: Sub-50ms startup time.
- **Multi-platform**: Native binaries for Windows, Linux, and macOS.
- **Conversion**: Convert Markdown to HTML, JSON, and more.
- **Batch Processing**: Process entire directories concurrently.
- **Zero Dependencies**: Single binary execution.

## Installation

```bash
npx @interpoolx/md-cli --help
```

Or install globally:

```bash
npm install -g @interpoolx/md-cli
```

## Usage

### Convert Markdown to HTML

```bash
md-cli convert README.md -o output/README.html
```

### Batch Conversion

```bash
md-cli convert --recursive examples/ -o output/
```

### Validate Markdown

```bash
md-cli validate README.md
```

## Configuration

`md-cli` can be configured via flags, environment variables, or a `md-cli.yaml` file.

```yaml
verbose: true
theme: dark
```

## License

MIT © [Interpoolx](https://github.com/interpoolx)