# bexqr

> A web component to generate QR codes for BEX payments on BenchCore and the Bench RootChain..

Latest version **0.1.0** (published 2018-06-21) · MIT license · 0 weekly downloads

## Install

```sh
npm install bexqr
pnpm add bexqr
yarn add bexqr
bun add bexqr
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.0 |
| Published | 2018-06-21 |
| First published | 2018-06-21 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 3 |
| Unpacked size | 1.3 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 0 |
| Author | Distributed Webs Project, LLC. |
| Maintainers | benchpay |

## Links

- npm: https://www.npmjs.com/package/bexqr
- Repository: https://github.com/benchcore/bexqr
- Issues: https://github.com/benchcore/bexqr
- npm.io page: https://npm.io/package/bexqr

## Dependencies (3)

- [qrious](https://npm.io/package/qrious.md) ^4.0.2
- [@stencil/core](https://npm.io/package/@stencil/core.md) ^0.7.20
- [@stencil/sass](https://npm.io/package/@stencil/sass.md) 0.0.3

## Recent versions

- 0.1.0 (latest) — 2018-06-21
- 0.0.7 — 2018-06-21
- 0.0.6 — 2018-06-21
- 0.0.5 — 2018-06-21
- 0.0.4 — 2018-06-21
- 0.0.2 — 2018-06-21
- 0.0.1 — 2018-06-21

## README

# BexQR

## Install

### Script tag

- Put this script tag `<script src='https://unpkg.com/bexqr@latest/dist/bex-qr.js'></script>` in the head of your index.html

### Node Modules
- Run `npm install bexqr --save`
- Put this script tag `<script src='node_modules/bexqr/dist/bex-qr.js'></script>` in the head of your index.html

### In a stencil-starter app
- Run `npm install bexqr --save`
- Add `{ name: 'bexqr' }` to your `collections`.

## Usage

Insert the element in your code and enter your custom properties:

```html
<bex-qr address="BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j" amount="12.17"></bex-qr>
```

## Examples

```html
<body>
<bex-qr address="BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j" amount="12.17" vendor-field="Greetings%20Martian!" size="200" show-logo="true">
<script>
  document.querySelector('bex-qr').getURI();
  // => bex:BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j?amount=12.17&vendorField=Greetings%20Martian!
</script>
</body>
```

Generate this QR code:


## Properties

| Attribute | Description | Type | Required |
| --- | --- | --- | --- |
| address | BEX recipient address encoded in Base58. | String | Yes |
| amount | Amount in BEX (ƀ) or TEX (Ⱦ). | Number | No |
| label | Recipient label string. | String | No |
| size | Size of the QR code (pixels) | Number | No |
| show-logo | Display the BEX currency symbol in QR code | Boolean | No |
| vendor-field | Vendor field string (encoded URI). | String | No |

## Methods

You can interact with the component data using the methods below:

### `getURI()`

Format the properties entered to the **BEX URI scheme**.

```javascript
document.querySelector('bex-qr').getURI();
// => bex:BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j?amount=12.17
```

### `getDataURL([mime])`

Generates a base64 encoded data URI for the QR code.

```javascript
document.querySelector('bex-qr').getDataURL();
// => data:image/png;base64,iVBORw0KGgoAAAANSUhE...n6ofvMC4I9AAAAAElFTkSuQmCC
```

### `validateURI(uri)`

Validate an URI string.

```javascript
const uri = 'bex:BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j?amount=12.17';
document.querySelector('bex-qr').validateURI(uri);
// => ["bex:BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j?amount=12.17", "BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j", "?amount=12.17"]
```

### `deserializeURI(uri)`

Deserialize the URI scheme to a JSON object.

```javascript
const uri = 'bex:BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j?amount=12.17&vendorField=Greetings%20Martian!';
document.querySelector('bex-qr').deserializeURI(uri);
// => { address: 'BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j', amount: 12.17, label: null, vendorField: 'Greetings Martian!' }
```

### `fromObject(obj)`

Instantiate a URI from an Object.

```javascript
const obj = { address: BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j, amount: 12.17 };
const element = document.querySelector('bex-qr').fromObject(obj);
// => <bex-qr address="BQQsQfMLneMx4AjvCUvgX3CRSi1wJHdf1j" amount="12.17">
```

## Authors
- Jared Rice Sr. <jared@benchcore.io>
- Distributed Webs Project, LLC <foundation@distributedwebs.org>
- Lúcio Rubens <lucio@ark.io>

## License

BexQR is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.

---
_Source: https://npm.io/package/bexqr · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
