# @jsdesign/jsd-pin-input

> JS Design PIN Input

Latest version **1.0.4** (published 2020-12-06) · MIT license · 0 weekly downloads

## Install

```sh
npm install @jsdesign/jsd-pin-input
pnpm add @jsdesign/jsd-pin-input
yarn add @jsdesign/jsd-pin-input
bun add @jsdesign/jsd-pin-input
```

## Health

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

Positive: esm support; no vulnerabilities.

Warnings: low downloads; no types.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.4 |
| Published | 2020-12-06 |
| First published | 2020-04-24 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 11.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Jayabratha Saha |
| Maintainers | jayabratha |
| Keywords | Pin, OTP, Input, web, component |

## Links

- npm: https://www.npmjs.com/package/@jsdesign/jsd-pin-input
- npm.io page: https://npm.io/package/@jsdesign/jsd-pin-input

## Dependencies (3)

- [tslib](https://npm.io/package/tslib.md) ^1.10.0
- [lit-element](https://npm.io/package/lit-element.md) ^2.2.1
- [@jsdesign/jsd-base](https://npm.io/package/@jsdesign/jsd-base.md) ^1.0.5

## Alternatives

- [@opentelemetry/exporter-zipkin](https://npm.io/package/@opentelemetry/exporter-zipkin.md) — 14.8M weekly downloads
- [pusher-js](https://npm.io/package/pusher-js.md) — 2.0M weekly downloads
- [browserify](https://npm.io/package/browserify.md) — 1.7M weekly downloads
- [sqs-consumer](https://npm.io/package/sqs-consumer.md) — 1.7M weekly downloads
- [@sanity/eventsource](https://npm.io/package/@sanity/eventsource.md) — 930.8K weekly downloads

## Recent versions

- 1.0.4 (latest) — 2020-12-06
- 1.0.3 — 2020-12-05
- 1.0.2 — 2020-04-24
- 1.0.1 — 2020-04-24
- 1.0.0 — 2020-04-24

## README

# `<jsd-pin-input>` 

Simple input web-component to be use accross web irrespective of frameworks.

## Installation

```sh
npm install @jsdesign/jsd-pin-input
```

## Attributes

| Name | Type | Default | Description
| ---- | ---- | ------- | -----------
| `id` | `string` | `''` | Sets the id attribute for the input. Preferred when used inside forms.
| `name` | `string` | `''` | Sets the name attribute for the input. Preferred when used inside forms.
| `type` | `string` | `'text` | Allowed input type values: `text`, `password`, `number`
| `label` | `string` | `''` | Label to display for the input.
| `disabled` | `string` | -- | When attribute is present, input is disabled cannot be interacted with.
| `required` | `string` | -- | When attribute is present, the input field is marked mandatory.
| `value` | `string` | `''` | Sets the value property of the input. Can be used to set default value
| `autofocus` | `string` | -- | Sets the input autofocus attribute.
| `length` | `string` | `'4'` | Sets the length pf pin.
| `theme` | `string` | `'light` | When attribute is present, the input will adapt to dark theme.
| `full-width` | `string` | -- | When attribute is present, the input will take full width of the container. By default the max-width is 300px.
| `error-msg` | `string` | `''` | When error message string is provided, the input will be error themed and error message is displayed.
| `help-msg` | `string` | `''` | When help message string is provided, help message is displayed.


## Examples

### Default Input

![](images/default.png)

```html 
<jsd-pin-input></jsd-pin-input>
```

### PIN Input with label and value

![](images/with-value.png)

```html 
<jsd-pin-input id="name" name="name" label="name"></jsd-pin-input>
```

### PIN Input with error

![](images/error-input.png)

```html 
<jsd-pin-input id="error" name="error" label="error" error-msg='Name is required'></jsd-pin-input>
```

### Full width PIN input

![](images/full-width.png)

```html 
<jsd-pin-input id="error" name="error" label="error" full-width error-msg='Name is required'></jsd-pin-input>
```

### Disabled PIN Input

![](images/disabled.png)

```html 
<jsd-pin-input label='disabled' disabled type='text' value="1234"></jsd-pin-input>

<jsd-pin-input label='disabled' disabled type='text'></jsd-pin-input>
```

### Cutomizable property list

| Name | Default
| ---- | ---- 
|--color-primary | #1eba68;
|--color-primary-dark | #1ba75e;
|--color-secondary | #f6f6f6;
|--color-secondary-dark | #efefef;
|--color-secondary-darktheme | rgba(255, 255, 255, 0.3);
|--color-secondary-dark-darktheme | rgba(255, 255, 255, 0.6);
|--color-error | #dd4421;
|--color-error-background | #ffebe6;
|--color-placeholder | #737373;
|--color-placeholder-disabled | #e0e0e0;
|--color-placeholder-darktheme | #e0e0e0;
|--color-label | #909090;
|--color-black | #2c2c2c;
|--color-header-black | #252525;
|--color-header-tag | #747373;
|--color-white | #ffffff;
|--color-border | #edebeb;
|--border-radius | 0.5rem;
|--border-width | 1px;
|--border-width-hover | 3px;
|--label-spacing | 0.2rem;
|--label-case | uppercase;
|--label-font-size | 0.8rem;
|--button-font-weight | 500;

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