open-index/open-npm huggingface dataset:
npm package: @hnimtadd/run-sdk
Description: run sdk for js lambda
Latest version: 1.0.0

# Outline

Here's a rough outline for what we'll be learning today...

1. Creating a simple utility library
2. Making the library modular and tree-shakeable with ES modules
3. Converting it to a chainable, immutable library with OOP
4. Providing developers with hooks to customize how it works
5. Bundling a library for distribution and performance

[Licensed under the MIT License.](https://gomakethings.com/mit/)
npm package: @hnine-dev/msw-toolbar
Description: This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).
Author: HNINE-DEV
Latest version: 1.0.1

# Msw-Toolbar

It is a toolbar component library to improve the usability of msw.

### Requirements

- [msw](https://mswjs.io/)
- [msw install](https://mswjs.io/docs/getting-started/install)

### What is provided

    1. Rest api endpoint management (json)
    2. Add an endpoint that is used only once
    3. Previous endpoint state load function
    4. msw use toggle function -> showcut provided (shift + (cmd or ctrl) + m)

### Install

    yarn add @hnine-dev/msw-toolbar

    npm i @hnine-dev/msw-toolbar

### How to use

There are two primary ways to use this component:

1. The first step to apply the MswToolbar is to create an Msw Worker that will be managed inside the Toolbar.

   - [msw-init](https://mswjs.io/docs/getting-started/integrate/browser)

   ```javascript
   import { setupWorker } from "msw";
   export const worker = setupWorker();
   ```

2. Then, you can define the endpoints to be managed by the Toolbar and pass it to the Toolbar component's props.

   ```javascript
    import { MswToolbar, Endpoint } from '@hnine-dev/msw-toolbar'
    import { SetupWorkerApi, RESTMethods } from 'msw';

    const getWorker = (): SetupWorkerApi | undefined => {
    if (process.env.NODE_ENV === 'development') {
        const { worker } = require('./mocks/browser');

        return worker;
    }

    return undefined;
    };

    const worker = getWorker();

    const endpoint = {
    url: 'https://url/api/login',
    method: RESTMethods.POST,
    resolver: { json: { token: 'QpwL5tke4Pnpja7X4' }, code: 200, delay: 1000 },
    } as Endpoint;

    ReactDOM.render(
    <React.StrictMode>
        <App />
        <MswToolbar worker={worker} isEnabled={true} endpoints={[endpoint]} />
    </React.StrictMode>,
    document.getElementById('root')
    );
   ```

   recommended to use it in higher-level components.
npm package: @hnine-inc/design-system-lit
Description: `@hnine-inc/design-system-lit` is a design system library built specifically for Lit applications. is a design system library built specifically for Lit applications. This package provides consistent UI components to help developers build user interfaces 
Latest version: 0.0.6
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @hnine-inc/design-system-lit

`@hnine-inc/design-system-lit` is a design system library built specifically for Lit applications. is a design system library built specifically for Lit applications. This package provides consistent UI components to help developers build user interfaces quickly and efficiently. The library is currently under development and will be continuously updated with new features and improvements.

## Features

- **Reusable Components**: Offers a variety of UI components to enhance code reusability.
- **Customizable**: Easily customize the style and behavior of components.
- **TypeScript Support**: Fully supports TypeScript to ensure type safety.
- **Storybook Integration**: Use Storybook to document and test components.

## Installation

To install the package, use the following commands:

```sh
# Yarn
yarn add @hnine-inc/design-system-lit

# npm
npm install @hnine-inc/design-system-lit
```

or, you can install it through a CDN:

```
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  // script code to be provided
</head>
<body>
  <hnine-button>Click Me</hnine-button>
</body>
</html>
```

## Usage

After installation, you can use the components as follows:

```
import "@hnine-inc/design-system-lit/button";

const App = () => (
  <div>
    <hnine-button>Click Me</hnine-button>
  </div>
);

export default App;
```
npm package: @hnine-inc/design-system-react
Description: `@hnine-inc/design-system-react` is a design system library for React applications. This package provides consistent UI components to help developers build user interfaces quickly and easily.
Latest version: 0.0.7
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# @hnine-inc/design-system-react

`@hnine-inc/design-system-react` is a design system library for React applications. This package provides consistent UI components to help developers build user interfaces quickly and easily.

## Features

- **Reusable Components**: Offers a variety of UI components to enhance code reusability.
- **Customizable**: Easily customize the style and behavior of components.
- **TypeScript Support**: Fully supports TypeScript to ensure type safety.
- **Storybook Integration**: Use Storybook to document and test components.

## Installation

To install the package, use the following commands:

```sh
# Yarn
yarn add @hnine-inc/design-system-react

# npm
npm install @hnine-inc/design-system-react
```

## Usage

After installation, you can use the components as follows:

```
import React from 'react';
import { Button } from '@hnine-inc/design-system-react';

const App = () => (
  <div>
    <Button>Click Me</Button>
  </div>
);

export default App;
```
npm package: @hnipps/connect-wallet
Description: ## Usage
Author: Harry Nicholls
Latest version: 2.1.4

# Connect Wallet

## Usage

### Connect Wallet

```ts
import { connectWallet } from "@hnipps/connect-wallet";

const result = await connectWallet();

console.log(result); // { success: true, address: "0x1234"}
```

### Get $ALPHA Balance

```ts
import { getAlphaBalance } from "@hnipps/connect-wallet";

const result = await getAlphaBalance();

console.log(result); // 1000
```

### Subscribe to AlphaSquare

```ts
import {
  connectWallet,
  approveAlpha,
  subscribe,
  isSubscriptionValid,
} from "@hnipps/connect-wallet";

await connectWallet();

await approveAlpha(10);

await subscribe(USER_ID); // USER_ID should be the AlphaSquare user ID not the wallet address

const result = await isSubscriptionValid(USER_ID);
console.log(result); // true
```

### Verify Wallet Ownership
To be used when you need to confirm if the current users owns the wallet they say they do, e.g. before creating an Alpha NFT.

This function is already built into the connect wallet flow.

```ts
import { verifyOwnership } from "@hnipps/connect-wallet";

const result = await verifyOwnership("Some string to display in wallet");

console.log(result); // true
```
npm package: @hnluu8/vue-redoc-wrapper
Description: A Vue.js wrapper component for ReDoc
Latest version: 0.1.15

# vue-redoc-wrapper
A Vue.js wrapper component for [ReDoc](https://github.com/Redocly/redoc).

[![npm package](https://img.shields.io/npm/v/@hnluu8/vue-redoc-wrapper.svg?style=flat-square)](https://www.npmjs.com/package/@hnluu8/vue-redoc-wrapper)

## Installation
```bash
npm install @hnluu8/vue-redoc-wrapper --save
```

## Usage
Pass the [OpenAPI definitions](https://swagger.io/specification/#schema) of your API to the spec-or-spec-url attribute of the component. 
The attribute value can be given as an object or as a URL to the JSON or YAML file for your API documentation. 

```html
<template>
  <div id="app">
    <redoc-wrapper :spec-or-spec-url="'http://petstore.swagger.io/v2/swagger.json'"></redoc-wrapper>
  </div>
</template>

<script>
import RedocWrapper from '@hnluu8/vue-redoc-wrapper'

export default {
  name: 'app',
  components: {
    RedocWrapper
  }
}
</script>
```

### Component Props
The component exposes two props: _specOrSpecUrl_ (required) and _options_ (optional). Please visit the documentation for 
[ReDoc's standalone version](https://github.com/Redocly/redoc#advanced-usage-of-standalone-version) for more information on their usage.


## Demo
```bash
vue serve demo/components/SpecUrlExample.vue
```
npm package: @hnnam0906/sb-js
Description: Library for interacting with the Raiser dex
Latest version: 0.0.15

[![npm (scoped)](https://img.shields.io/npm/v/@project-serum/serum)](https://www.npmjs.com/package/@project-serum/serum)
[![Build Status](https://travis-ci.com/project-serum/serum-js.svg?branch=master)](https://travis-ci.com/project-serum/serum-js)

See @Project-serum/serum 0.13.65

# Serum JS Client Library

JavaScript client library for interacting with the Project Serum DEX.

## Installation

Using npm:

```
npm install @solana/web3.js @hnnam0906/sb-js
```

Using yarn:

```
yarn add @solana/web3.js @hnnam0906/sb-js
```

## Usage

```js
import { Account, Connection, PublicKey } from '@solana/web3.js';
import { Market } from '@hnnam0906/sb-js';

let connection = new Connection('https://testnet.solana.com');
let marketAddress = new PublicKey('...');
let programAddress = new PublicKey("...");
let market = await Market.load(connection, marketAddress, {}, programAddress);

// Fetching orderbooks
let bids = await market.loadBids(connection);
let asks = await market.loadAsks(connection);
// L2 orderbook data
for (let [price, size] of bids.getL2(20)) {
  console.log(price, size);
}
// Full orderbook data
for (let order of asks) {
  console.log(
    order.orderId,
    order.price,
    order.size,
    order.side, // 'buy' or 'sell'
  );
}

// Placing orders
let owner = new Account('...');
let payer = new PublicKey('...'); // spl-token account
await market.placeOrder(connection, {
  owner,
  payer,
  side: 'buy', // 'buy' or 'sell'
  price: 123.45,
  size: 17.0,
  orderType: 'limit', // 'limit', 'ioc', 'postOnly'
});

// Retrieving open orders by owner
let myOrders = await market.loadOrdersForOwner(connection, owner.publicKey);

// Cancelling orders
for (let order of myOrders) {
  await market.cancelOrder(connection, owner, order);
}

// Retrieving fills
for (let fill of await market.loadFills(connection)) {
  console.log(fill.orderId, fill.price, fill.size, fill.side);
}

// Settle funds
for (let openOrders of await market.findOpenOrdersAccountsForOwner(
  connection,
  owner.publicKey,
)) {
  if (openOrders.baseTokenFree > 0 || openOrders.quoteTokenFree > 0) {
    // spl-token accounts to which to send the proceeds from trades
    let baseTokenAccount = new PublicKey('...');
    let quoteTokenAccount = new PublicKey('...');

    await market.settleFunds(
      connection,
      owner,
      openOrders,
      baseTokenAccount,
      quoteTokenAccount,
    );
  }
}
```
npm package: @hnordt/react-scripts
Description: Configuration and scripts for Create React App.
Latest version: 2.1.5

# react-scripts

This package includes scripts and configuration used by [Create React App](https://github.com/facebook/create-react-app).<br>
Please refer to its documentation:

- [Getting Started](https://facebook.github.io/create-react-app/docs/getting-started) – How to create a new app.
- [User Guide](https://facebook.github.io/create-react-app/) – How to develop apps bootstrapped with Create React App.
npm package: @hnordt/reax-alert
Description: Bootstrap Alert component for React
Author: Héliton Nordt
Latest version: 1.0.2
Deprecated: Package deprecated

# Reax Alert

Bootstrap Alert component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-alert.svg)](https://badge.fury.io/js/%40hnordt%2Freax-alert)

## PropTypes

```js
{
  type: PropTypes.oneOf([
    'success',
    'info',
    'warning',
    'danger'
  ]).isRequired,
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-alert
```

```jsx
import React from 'react';
import Alert from '@hnordt/reax-alert';

const Foo = () => (
  <Alert type="success">
    Foo bar!
  </Alert>
);

export default Foo;
```
npm package: @hnordt/reax-api
Description: API module for Redux
Author: Héliton Nordt
Latest version: 3.0.1
Deprecated: Package deprecated

# Reax API

API module for Redux

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-api.svg)](https://badge.fury.io/js/%40hnordt%2Freax-api)

## Usage

```sh
npm install --save @hnordt/reax-api
```

```jsx
import api, { mapAPIStateToProps, callAPI } from '@hnordt/reax-api';

const rootReducer = combineReducers({ api });

// Returns { projects: [...], isLoading: true || false, error: null || error }
const mapStateToProps = state => mapAPIStateToProps(state.api.projects, 'projects');

const mapDispatchToProps = dispatch => ({
  loadProjects: () => dispatch(callAPI({
    id: 'projects',
    method: 'GET',
    url: 'http://foo.com/bar/projects'
  }))
});
```
npm package: @hnordt/reax-async
Description: Async HOC for React
Author: Héliton Nordt
Latest version: 1.0.2
Deprecated: Package deprecated

# Reax Async

Async HOC for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-async.svg)](https://badge.fury.io/js/%40hnordt%2Freax-async)

## PropTypes

```js
{
  isLoading: PropTypes.bool,
  error: PropTypes.node
}
```

## Usage

```sh
npm install --save @hnordt/reax-async
```

```jsx
import React from 'react';
import Async from '@hnordt/reax-async';
import Panel from '@hnordt/reax-panel';
import PanelBody from '@hnordt/reax-panel-body';

const AsyncPanel = Async(Panel);

const Foo = () => (
  <AsyncPanel isLoading={true} title="Foo">
    <PanelBody>
      Bar
    </PanelBody>
  </AsyncPanel>
);

export default Foo;
```
npm package: @hnordt/reax-autocomplete
Description: Bootstrap Autocomplete component for React
Author: Héliton Nordt
Latest version: 0.0.0
Deprecated: Package deprecated

# Reax Autocomplete

Bootstrap Autocomplete component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-autocomplete.svg)](https://badge.fury.io/js/%40hnordt%2Freax-autocomplete)

## Alpha

This library is still in [Alpha](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha)
npm package: @hnordt/reax-button
Description: Bootstrap Button component for React
Author: Héliton Nordt
Latest version: 1.0.3
Deprecated: Package deprecated

# Reax Button

Bootstrap Button component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-button.svg)](https://badge.fury.io/js/%40hnordt%2Freax-button)

## PropTypes

```js
{
  type: PropTypes.oneOf([
    'default',
    'primary',
    'success',
    'info',
    'warning',
    'danger'
  ]),
  submit: PropTypes.bool,
  block: PropTypes.bool,
  disabled: PropTypes.bool,
  onClick: PropTypes.func,
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-button
```

```jsx
import React from 'react';
import Button from '@hnordt/reax-button';

const Foo = () => (
  <Button type="primary" onClick={() => console.log('foo bar')}>Foo Bar</Button>
);

export default Foo;
```
npm package: @hnordt/reax-checkbox
Description: Bootstrap Checkbox component for React
Author: Héliton Nordt
Latest version: 1.0.0
Deprecated: Package deprecated

# Reax Checkbox

Bootstrap Checkbox component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-checkbox.svg)](https://badge.fury.io/js/%40hnordt%2Freax-checkbox)

## PropTypes

```js
{
  name: PropTypes.string,
  label: PropTypes.string,
  checked: PropTypes.bool,
  disabled: PropTypes.bool,
  onChange: PropTypes.func
}
```

## Usage

```sh
npm install --save @hnordt/reax-checkbox
```

```jsx
import React from 'react';
import Checkbox from '@hnordt/reax-checkbox';

const Foo = () => (
  <Checkbox
    label="Bar"
    checked={true}
    onChange={event => console.log(event.target.checked)} />
);

export default Foo;
```
npm package: @hnordt/reax-col
Description: Bootstrap Col component for React
Author: Héliton Nordt
Latest version: 1.0.1
Deprecated: Package deprecated

# Reax Col

Bootstrap Col component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-col.svg)](https://badge.fury.io/js/%40hnordt%2Freax-col)

## PropTypes

```js
{
  xs: PropTypes.number,
  sm: PropTypes.number,
  md: PropTypes.number,
  lg: PropTypes.number,
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-col
```

```jsx
import React from 'react';
import Row from '@hnordt/reax-row';
import Col from '@hnordt/reax-col';

const Foo = () => (
  <Row>
    <Col xs={12} md={6}>
      Foo
    </Col>
    <Col xs={12} md={6}>
      Bar
    </Col>
  </Row>
);

export default Foo;
```
npm package: @hnordt/reax-container
Description: Bootstrap Container component for React
Author: Héliton Nordt
Latest version: 1.0.0
Deprecated: Package deprecated

# Reax Container

Bootstrap Container component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-container.svg)](https://badge.fury.io/js/%40hnordt%2Freax-container)

## PropTypes

```js
{
  fluid: PropTypes.bool,
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-container
```

```jsx
import React from 'react';
import Container from '@hnordt/reax-container';

const Foo = () => (
  <Container fluid>
    Bar
  </Container>
);

export default Foo;
```
npm package: @hnordt/reax-date-input
Description: Bootstrap Date Input component for React
Author: Héliton Nordt
Latest version: 1.1.0
Deprecated: Package deprecated

# Reax Date Input

Bootstrap Date Input component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-date-input.svg)](https://badge.fury.io/js/%40hnordt%2Freax-date-input)

## PropTypes

```js
{
  name: PropTypes.string,
  value: PropTypes.string,
  min: PropTypes.string,
  max: PropTypes.string,
  step: PropTypes.oneOfType(PropTypes.string, PropTypes.number),
  autoFocus: PropTypes.bool,
  readOnly: PropTypes.bool,
  disabled: PropTypes.bool,
  onFocus: PropTypes.func,
  onChange: PropTypes.func,
  onBlur: PropTypes.func
}
```

## Usage

```sh
npm install --save @hnordt/reax-date-input
```

```jsx
import React from 'react';
import moment from 'moment';
import DateInput from '@hnordt/reax-date-input';

const Foo = () => (
  <DateInput
    value={moment().format('YYYY-MM-DD')}
    max={moment().format('YYYY-MM-DD')}
    onChange={event => console.log(event.target.value)} />
);

export default Foo;
```

__Important__: if you want to support browsers that hasn't native date input support you must include [React DatePicker CSS](https://github.com/Hacker0x01/react-datepicker) in your project
npm package: @hnordt/reax-form
Description: Bootstrap Form component for React
Author: Héliton Nordt
Latest version: 1.0.3
Deprecated: Package deprecated

# Reax Form

Bootstrap Form component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-form.svg)](https://badge.fury.io/js/%40hnordt%2Freax-form)

## PropTypes

```js
{
  onSubmit: PropTypes.func,
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-form
```

```jsx
import React from 'react';
import Form from '@hnordt/reax-form';

const Foo = () => (
  <Form onSubmit={() => console.log('foo bar')}>
    Foo Bar
  </Form>
);

export default Foo;
```
npm package: @hnordt/reax-form-group
Description: Bootstrap Form Group component for React
Author: Héliton Nordt
Latest version: 1.0.1
Deprecated: Package deprecated

# Reax Form Group

Bootstrap Form Group component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-form-group.svg)](https://badge.fury.io/js/%40hnordt%2Freax-form-group)

## PropTypes

```js
{
  error: PropTypes.node,
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-form-group
```

```jsx
import React from 'react';
import FormGroup from '@hnordt/reax-form-group';

const Foo = () => (
  <FormGroup error={<span>Foo <strong>bar</strong></span>}>
    Foo Bar
  </FormGroup>
);

export default Foo;
```
npm package: @hnordt/reax-icon
Description: Bootstrap Icon component for React
Author: Héliton Nordt
Latest version: 1.0.2
Deprecated: Package deprecated

# Reax Icon

Bootstrap Icon component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-icon.svg)](https://badge.fury.io/js/%40hnordt%2Freax-icon)

## PropTypes

```js
{
  type: PropTypes.oneOf([
    'glyphicon',
    'fa',
    'icon'
  ]),
  name: PropTypes.string.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-icon
```

```jsx
import React from 'react';
import Icon from '@hnordt/reax-icon';

const Foo = () => (
  <Icon name="envelope" />
);

export default Foo;
```
npm package: @hnordt/reax-input
Description: Bootstrap Input component for React
Author: Héliton Nordt
Latest version: 1.0.3
Deprecated: Package deprecated

# Reax Input

Bootstrap Input component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-input.svg)](https://badge.fury.io/js/%40hnordt%2Freax-input)

# DEPRECATED

The `Input` component is too generic.

As we like to keep things simple, we have deprecated `Input`. We are now using tiny components like `TextInput`, `Checkbox`, `PasswordInput` and others.

Please look at https://www.npmjs.com/~hnordt to find them.

## PropTypes

```js
{
  type: PropTypes.oneOf([
    'checkbox',
    'color',
    'date',
    'datetime',
    'datetime-local',
    'email',
    'file',
    'hidden',
    'month',
    'number',
    'password',
    'radio',
    'range',
    'search',
    'tel',
    'text',
    'time',
    'url',
    'week'
  ]),
  name: PropTypes.string,
  value: PropTypes.oneOfType([
    PropTypes.string,
    PropTypes.number,
    PropTypes.bool
  ]),
  placeholder: PropTypes.string,
  maxLength: PropTypes.number,
  minLength: PropTypes.number,
  max: PropTypes.number,
  min: PropTypes.number,
  step: PropTypes.number,
  autoFocus: PropTypes.bool,
  checked: PropTypes.bool,
  readOnly: PropTypes.bool,
  disabled: PropTypes.bool,
  leftAddon: PropTypes.node,
  rightAddon: PropTypes.node
}
```

## Usage

```sh
npm install --save @hnordt/reax-input
```

```jsx
import React from 'react';
import Input from '@hnordt/reax-input';
import Icon from '@hnordt/reax-icon';

const Foo = () => (
  <Input type="email" value="foo@bar.com" leftAddon={<Icon name="envelope" />} />
);

export default Foo;
```
npm package: @hnordt/reax-jwt-auth
Description: JWT Auth module for Redux
Author: Héliton Nordt
Latest version: 0.0.4
Deprecated: Package deprecated

# Reax JWT Auth

JWT Auth module for Redux

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-jwt-auth.svg)](https://badge.fury.io/js/%40hnordt%2Freax-jwt-auth)

## Usage

```sh
npm install --save @hnordt/reax-jwt-auth
```

```jsx
import jwtAuth, { login, logout, callAPIWithToken } from '@hnordt/reax-jwt-auth';
import { callAPI } from '@hnordt/reax-api';

const rootReducer = combineReducers({
  jwtAuth
});

const mapStateToProps = state => ({
  token: state.jwtAuth.token
});

const mapDispatchToProps = dispatch => ({
  login: () => dispatch(callAPI('login', 'POST', '/api/login', data)).then(data => dispatch(login(data.token))),
  logout: () => dispatch(logout()),
  loadProjects: () => dispatch(callAPIWithToken('projects', 'GET', '/api/projects'))
});
```
npm package: @hnordt/reax-label
Description: Bootstrap Label component for React
Author: Héliton Nordt
Latest version: 1.0.1
Deprecated: Package deprecated

# Reax Label

Bootstrap Label component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-label.svg)](https://badge.fury.io/js/%40hnordt%2Freax-label)

## PropTypes

```js
{
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-label
```

```jsx
import React from 'react';
import Label from '@hnordt/reax-label';

const Foo = () => (
  <Label>
    Foo Bar
  </Label>
);

export default Foo;
```
npm package: @hnordt/reax-link
Description: Bootstrap Link component for React
Author: Héliton Nordt
Latest version: 1.0.1
Deprecated: Package deprecated

# Reax Link

Bootstrap Link component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-link.svg)](https://badge.fury.io/js/%40hnordt%2Freax-link)

## PropTypes

```js
{
  href: PropTypes.string,
  onClick: PropTypes.func,
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-link
```

```jsx
import React from 'react';
import Link from '@hnordt/reax-link';

const Foo = () => (
  <Link onClick={() => console.log('foo bar')}>
    Foo Bar
  </Link>
);

export default Foo;
```
npm package: @hnordt/reax-mask-input
Description: Bootstrap Mask Input component for React
Author: Héliton Nordt
Latest version: 0.0.1
Deprecated: Package deprecated

# Reax Mask Input

Bootstrap Mask Input component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-mask-input.svg)](https://badge.fury.io/js/%40hnordt%2Freax-mask-input)

## BETA

This library is still in [BETA](https://en.wikipedia.org/wiki/Software_release_life_cycle#BETA)

## PropTypes

```js
{
  name: PropTypes.string,
  mask: PropTypes.string.isRequired,
  reverse: PropTypes.bool,
  value: PropTypes.string,
  autoFocus: PropTypes.bool,
  readOnly: PropTypes.bool,
  disabled: PropTypes.bool,
  onFocus: PropTypes.func,
  onChange: PropTypes.func,
  onBlur: PropTypes.func
}
```

__Important:__ for `mask` options look at [jQuery Mask Plugin Documentation](http://igorescobar.github.io/jQuery-Mask-Plugin)

## Usage

```sh
npm install --save @hnordt/reax-mask-input
```

```jsx
import React from 'react';
import MaskInput from '@hnordt/reax-mask-input';

const Foo = () => (
  <MaskInput
    mask="(000) 000-0000"
    onChange={event => console.log(event.target.value)} />
);

export default Foo;
```
npm package: @hnordt/reax-panel
Description: Bootstrap Panel component for React
Author: Héliton Nordt
Latest version: 1.1.2
Deprecated: Package deprecated

# Reax Panel

Bootstrap Panel component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-panel.svg)](https://badge.fury.io/js/%40hnordt%2Freax-panel)

## PropTypes

```js
{
  type: PropTypes.oneOf([
    'default',
    'success',
    'info',
    'warning',
    'danger'
  ]),
  title: PropTypes.node,
  collapsed: PropTypes.bool,
  onClose: PropTypes.func,
  children: PropTypes.node.isRequired
}
```

__Important:__

1. To make `Panel` collapsible pass a boolean to `collapsed` (either `true` or `false`)
2. `collapsed` don't work with `onClose`, choose one of them
3. Both `collapsed` and `onClose` aren't shown if you don't pass a `title`

## Usage

```sh
npm install --save @hnordt/reax-panel
```

```jsx
import React from 'react';
import Panel from '@hnordt/reax-panel';

const Foo = () => (
  <Panel title="Foo" collapsed={true}>
    Bar
  </Panel>
);

export default Foo;
```
npm package: @hnordt/reax-panel-body
Description: Bootstrap Panel Body component for React
Author: Héliton Nordt
Latest version: 1.0.3
Deprecated: Package deprecated

# Reax Panel Body

Bootstrap Panel Body component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-panel-body.svg)](https://badge.fury.io/js/%40hnordt%2Freax-panel-body)

## PropTypes

```js
{
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-panel-body
```

```jsx
import React from 'react';
import Label from '@hnordt/reax-panel-body';

const Foo = () => (
  <PanelBody>
    Foo Bar
  </PanelBody>
);

export default Foo;
```
npm package: @hnordt/reax-request
Description: Request module for React
Author: Héliton Nordt
Latest version: 2.0.3
Deprecated: Package deprecated

# Reax Request

Request module for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-request.svg)](https://badge.fury.io/js/%40hnordt%2Freax-request)

## Usage

```sh
npm install --save @hnordt/reax-request
```

```jsx
import request from '@hnordt/reax-request';

request({
  method: 'GET',
  url: 'http://foo.com',
  query: { bar: true }
})
  .then(data => console.info(data))
  .catch(error => console.error(error));
```
npm package: @hnordt/reax-row
Description: Bootstrap Row component for React
Author: Héliton Nordt
Latest version: 1.0.1
Deprecated: Package deprecated

# Reax Row

Bootstrap Row component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-row.svg)](https://badge.fury.io/js/%40hnordt%2Freax-row)

## PropTypes

```js
{
  children: PropTypes.node.isRequired
}
```

## Usage

```sh
npm install --save @hnordt/reax-row
```

```jsx
import React from 'react';
import Row from '@hnordt/reax-row';
import Col from '@hnordt/reax-col';

const Foo = () => (
  <Row>
    <Col xs={12} md={6}>
      Foo
    </Col>
    <Col xs={12} md={6}>
      Bar
    </Col>
  </Row>
);

export default Foo;
```
npm package: @hnordt/reax-select
Description: Bootstrap Select component for React
Author: Héliton Nordt
Latest version: 2.0.1
Deprecated: Package deprecated

# Reax Select

Bootstrap Select component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-select.svg)](https://badge.fury.io/js/%40hnordt%2Freax-select)

## PropTypes

```js
{
  name: PropTypes.string,
  options: PropTypes.arrayOf(PropTypes.shape({
    label: PropTypes.string.isRequired,
    value: PropTypes.oneOfType([
      PropTypes.string,
      PropTypes.number
    ]).isRequired,
    disabled: PropTypes.bool
  })).isRequired,
  value: PropTypes.oneOfType([
    PropTypes.string,
    PropTypes.number
  ]),
  multiple: PropTypes.bool,
  autoFocus: PropTypes.bool,
  disabled: PropTypes.bool,
  onFocus: PropTypes.func,
  onChange: PropTypes.func,
  onBlur: PropTypes.func
}
```

## Usage

```sh
npm install --save @hnordt/reax-select
```

```jsx
import React from 'react';
import Select from '@hnordt/reax-select';

const Foo = () => (
  <Select options={[
    {
      label: 'Foo',
      value: 'foo'
    },
    {
      label: 'Bar',
      value: 'bar',
      disabled: true
    },
    {
      label: 'Foo Bar',
      value: 'foo-bar'
    }
  ]} value="foo-bar" onChange={event => console.log(event.target.value)} />
);

export default Foo;
```
npm package: @hnordt/reax-spinner
Description: Font Awesome Spinner component for React
Author: Héliton Nordt
Latest version: 1.0.0
Deprecated: Package deprecated

# Reax Spinner

Font Awesome Spinner component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-spinner.svg)](https://badge.fury.io/js/%40hnordt%2Freax-spinner)

## Usage

```sh
npm install --save @hnordt/reax-spinner
```

```jsx
import React from 'react';
import Spinner from '@hnordt/reax-spinner';

const Foo = () => (
  <Spinner />
);

export default Foo;
```
npm package: @hnordt/reax-stateful-form
Description: Stateful Form HOC for React
Author: Héliton Nordt
Latest version: 0.0.4
Deprecated: Package deprecated

# Reax Stateful Form

Stateful Form HOC for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-stateful-form.svg)](https://badge.fury.io/js/%40hnordt%2Freax-stateful-form)

## Alpha

This library is still in [Alpha](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha)

## Usage

```sh
npm install --save @hnordt/reax-stateful-form
```

```jsx
import React from 'react';
import Form from '@hnordt/reax-form';
import FormGroup from '@hnordt/reax-form-group';
import Label from '@hnordt/reax-label';
import TextInput from '@hnordt/reax-text-input';
import Button from '@hnordt/reax-button';
import StatefulForm from '@hnordt/reax-stateful-form';
import { isEmpty } from '@hnordt/reax-validator';

const StatelessForm = ({
  fields: {
    foo
  },
  handleSubmit
}) => (
  <Form onSubmit={() => handleSubmit().then(values => {
    console.info(values);
  }).catch(field => {
    console.warn(field.error);
  })}>
    <FormGroup error={foo.error}>
      <Label>Foo</Label>
      <TextInput {...foo} />
    </FormGroup>
    <Button type="primary" submit>
      Save
    </Button>
  </Form>
);

export default StatefulForm(StatelessForm, [
  {
    name: 'foo',
    validate: foo => isEmpty(foo) && 'Required'
  }
]);
```
npm package: @hnordt/reax-stateful-request
Description: Stateful Request HOC for React
Author: Héliton Nordt
Latest version: 0.0.5
Deprecated: Package deprecated

# Reax Stateful Request

Stateful Request HOC for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-stateful-request.svg)](https://badge.fury.io/js/%40hnordt%2Freax-stateful-request)

## Alpha

This library is still in [Alpha](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha)

## Usage

```sh
npm install --save @hnordt/reax-stateful-request
```

```jsx
import React from 'react';
import StatefulRequest from '@hnordt/reax-stateful-request';
```
npm package: @hnordt/reax-text-area
Description: Bootstrap Text Area component for React
Author: Héliton Nordt
Latest version: 1.0.0
Deprecated: Please use @hnordt/reax-textarea instead

# Reax Text Area

Bootstrap Text Area component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-text-area.svg)](https://badge.fury.io/js/%40hnordt%2Freax-text-area)

## PropTypes

```js
{
  name: PropTypes.string,
  rows: PropTypes.number,
  placeholder: PropTypes.string,
  value: PropTypes.string,
  maxLength: PropTypes.number,
  autoFocus: PropTypes.bool,
  readOnly: PropTypes.bool,
  disabled: PropTypes.bool,
  onFocus: PropTypes.func,
  onChange: PropTypes.func,
  onBlur: PropTypes.func
}
```

## Usage

```sh
npm install --save @hnordt/reax-text-area
```

```jsx
import React from 'react';
import TextArea from '@hnordt/reax-text-area';

const Foo = () => (
  <TextArea
    placeholder="Foo"
    value="Bar"
    onChange={event => console.log(event.target.value)} />
);

export default Foo;
```
npm package: @hnordt/reax-text-input
Description: Bootstrap Text Input component for React
Author: Héliton Nordt
Latest version: 1.0.2
Deprecated: Package deprecated

# Reax Text Input

Bootstrap Text Input component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-text-input.svg)](https://badge.fury.io/js/%40hnordt%2Freax-text-input)

## PropTypes

```js
{
  name: PropTypes.string,
  value: PropTypes.string,
  placeholder: PropTypes.string,
  maxLength: PropTypes.number,
  autoFocus: PropTypes.bool,
  readOnly: PropTypes.bool,
  disabled: PropTypes.bool,
  onFocus: PropTypes.func,
  onChange: PropTypes.func,
  onBlur: PropTypes.func
}
```

## Usage

```sh
npm install --save @hnordt/reax-text-input
```

```jsx
import React from 'react';
import TextInput from '@hnordt/reax-text-input';

const Foo = () => (
  <TextInput
    placeholder="Foo"
    value="Bar"
    onChange={event => console.log(event.target.value)} />
);

export default Foo;
```
npm package: @hnordt/reax-textarea
Description: Bootstrap Textarea component for React
Author: Héliton Nordt
Latest version: 1.0.0
Deprecated: Package deprecated

# Reax Textarea

Bootstrap Textarea component for React

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-textarea.svg)](https://badge.fury.io/js/%40hnordt%2Freax-textarea)

## PropTypes

```js
{
  name: PropTypes.string,
  rows: PropTypes.number,
  placeholder: PropTypes.string,
  value: PropTypes.string,
  maxLength: PropTypes.number,
  autoFocus: PropTypes.bool,
  readOnly: PropTypes.bool,
  disabled: PropTypes.bool,
  onFocus: PropTypes.func,
  onChange: PropTypes.func,
  onBlur: PropTypes.func
}
```

## Usage

```sh
npm install --save @hnordt/reax-textarea
```

```jsx
import React from 'react';
import Textarea from '@hnordt/reax-textarea';

const Foo = () => (
  <Textarea
    placeholder="Foo"
    value="Bar"
    onChange={event => console.log(event.target.value)} />
);

export default Foo;
```
npm package: @hnordt/reax-validator
Description: String validation for Node.js
Author: Héliton Nordt
Latest version: 1.0.0
Deprecated: Package deprecated

# Reax Validator

String validation for Node.js

[![npm version](https://badge.fury.io/js/%40hnordt%2Freax-validator.svg)](https://badge.fury.io/js/%40hnordt%2Freax-validator)

## Validators

- `isEmpty(string)`
- `contains(string, seed)`

## Usage

```sh
npm install --save @hnordt/reax-validator
```

```jsx
import { isEmpty } from '@hnordt/reax-validator';

console.log(isEmpty('foo'));
```
npm package: @hnp/chefs-table
Description: Heats your computer to the target temperature
Author: Jorge Proaño
Latest version: 1.0.1

# @hnp/chefs-table

![hero](hero.png)

> Heats your computer to the target temperature

A necessary evil.

---

## Table of contents

- [Installation](#installation)
- [Usage](#usage)
- [Changelog](#changelog)
- [License](#license)

## Installation

```sh
npm install @hnp/chefs-table --global
```

## Usage

```sh
chefs-table
```

## Changelog

Find the CHANGELOG [here](CHANGELOG.md), generated using Conventional Commits.

## License

[MIT](LICENSE) © [Jorge Proaño](https://www.hidden-node-problem.com/)
npm package: @hnp/cz
Description: Commitizen Adaptor, fully compatible with angular style.
Author: Jorge Proaño
Latest version: 1.1.0

# @hnp/cz

![hero](https://raw.githubusercontent.com/MechanicalHuman/hnp-utilities/master/packages/commitizen-adapter/hero.png)

![version](https://img.shields.io/npm/v/@hnp/cz.svg)
![licence](https://img.shields.io/npm/l/@hnp/cz.svg)

> Commitizen Adaptor, fully compatible with angular style.

---

## Table of contents

-   [TLDR](#tldr)

-   [Installation](#installation)

-   [Usage](#usage)

    -   [Customization](#customization)

-   [Changelog](#changelog)

-   [License](#license)

## TLDR

Instead of `git commit` use `git cz` with `@hnp/cz` as the adaptor

## Installation

```sh
npm install @hnp/cz --save-dev
```

## Usage

If you havent already, install the [Commitizen Cli](commitizen/cz-cli) tools:

```bash
npm install commitizen -g
```

Initialize your project to use the adapter by typing:

```bash
commitizen init @hnp/cz
```

The command will initialize the adapter and add the following to your `package.json`

```json
{
    "config": {
        "commitizen": {
            "path": "@hnp/cz"
        }
    }
}
```

Now, can use `git cz` instead of `git commit`.

> Pro TIP: set as default adapter for your projects

```bash
npm install --global @hnp/cz && echo '{ "path": "@hnp/cz" }' > ~/.czrc
```

### Customization

You can customize the `scopes` on a project basis by adding a configuration section in your `package.json`:

```json
{
    "config": {
        "scopes": ["home", "accounts", "ci"]
    }
}
```

## Changelog

Find the CHANGELOG [here](CHANGELOG.md), generated using Conventional Commits.

## License

[MIT](LICENSE) © [Jorge Proaño](https://www.hidden-node-problem.com)
npm package: @hnp/eslint-config
Description: ESlint Rules
Author: Jorge Proaño
Latest version: 1.0.5
Deprecated: Moved to `eslint-config-hnp` due lack of propper support for scoped packages on certain tools

# @hnp/eslint-config

![hero](https://raw.githubusercontent.com/MechanicalHuman/hnp-utilities/master/hero.png)

![version](https://img.shields.io/npm/v/@hnp/eslint-config.svg)
![licence](https://img.shields.io/npm/l/@hnp/eslint-config.svg)

> ESlint Rules

Extends `standard` with pedantic rules about `lodash/fp`

---

## Table of contents

-   [Installation](#installation)
-   [Usage](#usage)
-   [Changelog](#changelog)
-   [License](#license)

## Installation

```sh
npm install @hnp/eslint-config --save-dev
```

## Usage

On your .eslintrc.js

```javascript
module.exports = {
    extends: '@hnp/eslint-config'
}
```

Protip: You can omit the `eslint-config` part

```javascript
module.exports = {
    extends: '@hnp/eslint-config'
}
```

## Changelog

Find the CHANGELOG [here](CHANGELOG.md), generated using Conventional Commits.

## License

[MIT](LICENSE) © [Jorge Proaño](https://www.hidden-node-problem.com)
npm package: @hnp/eslint-config-react
Description: ESlint Rules for React Apps
Author: Jorge Proaño
Latest version: 1.0.2
Deprecated: Moved to `eslint-config-hnp-react` due lack of propper support for scoped packages on certain tools

# @hnp/eslint-config-react

![hero](https://raw.githubusercontent.com/MechanicalHuman/hnp-utilities/master/hero.png)

![version](https://img.shields.io/npm/v/@hnp/eslint-config-react.svg)
![licence](https://img.shields.io/npm/l/@hnp/eslint-config-react.svg)

> ESlint Rules for React Apps

Extends `standard` with pedantic rules about `lodash/fp`

---

## Table of contents

-   [Installation](#installation)
-   [Usage](#usage)
-   [Changelog](#changelog)
-   [License](#license)

## Installation

```sh
npm install @hnp/eslint-config-react --save-dev
```

## Usage

On your .eslintrc.js

```javascript
module.exports = {
    extends: '@hnp/eslint-config-react'
}
```

## Changelog

Find the CHANGELOG [here](CHANGELOG.md), generated using Conventional Commits.

## License

[MIT](LICENSE) © [Jorge Proaño](https://www.hidden-node-problem.com)
npm package: @hnp/license-generator
Description: Basic licence generator
Author: Jorge Proaño
Latest version: 1.0.4

# @hnp/license-generator

![hero](https://raw.githubusercontent.com/MechanicalHuman/hnp-utilities/master/hero.png)

![version](https://img.shields.io/npm/v/@hnp/license-generator.svg)
![licence](https://img.shields.io/npm/l/@hnp/license-generator.svg)

> Basic licence generator

---

## Table of contents

-   [Installation](#installation)
-   [Usage](#usage)
-   [Available Licenses](#available-licenses)
-   [Changelog](#changelog)
-   [License](#license)

## Installation

```sh
npm install @hnp/license-generator
```

## Usage

Just tell the generator function which of the valid licenses you want to generate and for whom.

```javascript
const licenseGenerator = require('./')
const licence = licenseGenerator.generate('MIT', 'Anon')
```

```md
The MIT License (MIT)

Copyright (c) 2018 Anon

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.
```

Is worth noticing that if the provided licence type is _unknown_, the tool will default to generate a `Copyrighted` one.

```javascript
const notValid = licenseGenerator.generate('none', 'Anon')
```

```md
Copyright (c) 2018 Anon
All rights reserved.
```

## Available Licenses

-   Apache 2.0
-   MIT
-   Mozilla Public License 2.0
-   BSD 2-Clause (FreeBSD) License
-   BSD 3-Clause (NewBSD) License
-   Internet Systems Consortium (ISC) License
-   GNU AGPL 3.0
-   GNU GPL 3.0
-   GNU LGPL 3.0
-   Unlicense
-   No License (Copyrighted)

## Changelog

Find the CHANGELOG [here](CHANGELOG.md), generated using Conventional Commits.

## License

[MIT](LICENSE) © [Jorge Proaño](https://www.hidden-node-problem.com)
npm package: @hnp/stylelint-config
Description: Stylelint rules
Author: Jorge Proaño
Latest version: 1.1.0
Deprecated: Moved to `stylelint-config-hnp` due lack of propper support for scoped packages on certain tools

# stylelint-config-hnp

![hero](https://raw.githubusercontent.com/MechanicalHuman/hnp-utilities/master/hero.png)

![version](https://img.shields.io/npm/v/@hnp/stylelint-config.svg)
![licence](https://img.shields.io/npm/l/@hnp/stylelint-config.svg)

> Stylelint rules

---

## Table of contents

-   [Installation](#installation)
-   [Usage](#usage)
-   [Changelog](#changelog)
-   [License](#license)

## Installation

```sh
npm install stylelint-config-hnp --save-dev
```

## Usage

On your .stylelintrc.js

```javascript
module.exports = {
    extends: 'stylelint-config-hnp'
}
```

## Changelog

Find the CHANGELOG [here](CHANGELOG.md), generated using Conventional Commits.

## License

[MIT](LICENSE) © [Jorge Proaño](https://www.hidden-node-problem.com)
npm package: @hnp/tslint-config
Description: TsLint Rules
Author: Jorge Proaño
Latest version: 1.0.2
Deprecated: Moved to `tslint-config-hnp` due lack of propper support for scoped packages on certain tools

# @hnp/tslint-config

![hero](https://raw.githubusercontent.com/MechanicalHuman/hnp-utilities/master/hero.png)

![version](https://img.shields.io/npm/v/@hnp/eslint-config.svg)
![licence](https://img.shields.io/npm/l/@hnp/eslint-config.svg)

> TsLint Rules

Extends `standard` with pedantic rules about `lodash/fp`

---

## Table of contents

-   [Installation](#installation)
-   [Usage](#usage)
-   [Changelog](#changelog)
-   [License](#license)

## Installation

```sh
npm install @hnp/tslint-config --save-dev
```

## Usage

On your .eslintrc.js

```javascript
module.exports = {
    extends: '@hnp/eslint-config'
}
```

Protip: You can omit the `eslint-config` part

```javascript
module.exports = {
    extends: '@hnp/eslint-config'
}
```

## Changelog

Find the CHANGELOG [here](CHANGELOG.md), generated using Conventional Commits.

## License

[MIT](LICENSE) © [Jorge Proaño](https://www.hidden-node-problem.com)
npm package: @hnquang/vue3-daterange-picker
Description: Modified Vue3 date range picker based on https://github.com/Innologica/vue2-daterange-picker
Author: Quang Ho
Latest version: 0.1.2

# vue3-daterange-picker

> A modified [date range picker](https://github.com/Innologica/vue2-daterange-picker) to run on Vue 3.

The component is in its early stages so if there is something wrong - write an issue or create a pull request.

## Demo and Usage
You can see a demo of the original package here:
https://innologica.github.io/vue2-daterange-picker/

## Installation

``` bash
# install via npm
npm i @hnquang/vue3-daterange-picker --save
```

## TODO

- [x] documentation
- [x] tests
- [x] disabled dates
- [ ] export single components


### Run local demo
```
npm run docs:dev
```
npm package: @hnrfqj/hm-helper
Description: 工具函数
Author: bigang.ybg
Latest version: 1.0.0

@hnrfqj/hm-helper
==========================
[![npm](https://img.shields.io/npm/dm/@hnrfqj/hm-helper.svg)](https://www.npmjs.com/package/@hnrfqj/hm-helper)
[![npm](https://img.shields.io/npm/v/@hnrfqj/hm-helper.svg)](https://www.npmjs.com/package/@hnrfqj/hm-helper)
[![node](https://img.shields.io/node/v/@hnrfqj/hm-helper.svg)](https://www.npmjs.com/package/@hnrfqj/hm-helper)

工具、辅助函数

## Features
* util.js
* url.js
* reg.js
* form.js (vue form validate handle)

## Installation

```shell
npm i -S @hnrfqj/hm-helper
```

## Usages

[doc](https://hnrfqjtech.github.io/hm-helper)

## Issues

Submit the [issues](https://github.com/hnrfqjTech/hm-helper/issues) if you find any bug or have any suggestion.

## Contribution

Fork the [repository](https://github.com/hnrfqjTech/hm-helper/pulls) and submit pull requests.

## Release Notes

[CHANGELOG](https://github.com/hnrfqjTech/hm-helper/blob/master/CHANGELOG.md)

## License

[![npm](https://img.shields.io/npm/l/@hnrfqj/hm-helper.svg)]()