# @zestui/input

> Zest input web component

Latest version **1.2.1** (published 2020-03-20) · MIT license · 0 weekly downloads

## Install

```sh
npm install @zestui/input
pnpm add @zestui/input
yarn add @zestui/input
bun add @zestui/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.2.1 |
| Published | 2020-03-20 |
| First published | 2020-01-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | ESM + CommonJS |
| Dependencies | 3 |
| Unpacked size | 11.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | Jayabratha Saha |
| Maintainers | zestmoney-ui |
| Keywords | Input, web, component |

## Links

- npm: https://www.npmjs.com/package/@zestui/input
- npm.io page: https://npm.io/package/@zestui/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
- [@zestui/base](https://npm.io/package/@zestui/base.md) ^1.2.0

## 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.2.1 (latest) — 2020-03-20
- 1.2.0 — 2020-03-11
- 1.1.9 — 2020-03-06
- 1.1.8 — 2020-03-05
- 1.1.7 — 2020-02-26
- 1.1.6 — 2020-02-25
- 1.1.5 — 2020-02-24
- 1.1.4 — 2020-02-24
- 1.1.3 — 2020-02-20
- 1.1.2 — 2020-02-20
- 1.1.1 — 2020-02-20
- 1.1.0 — 2020-02-19
- 1.0.6 — 2020-02-17
- 1.0.5 — 2020-02-08
- 1.0.4 — 2020-02-07
- … 5 more at https://npm.io/package/@zestui/input/versions

## README

# `<zest-input>` 

Simple input web-component to be use accross web irrespective of frameworks.

## Installation

```sh
npm install @zestui/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`, `search`, `tel`, `url`, `email`, `password`, `date`, `month`, `week`, `time`, `datetime-local`, `number`, `color`
| `label` | `string` | `''` | Label to display for the input.
| `disabled` | `string` | `'false'` | When `'true'` input is disabled cannot be interacted with.
| `required` | `string` | `'false'` | When `'true'` the input field is marked mandatory.
| `value` | `string` | `''` | Sets the value property of the input. Can be used to set default value
| `placeholder` | `string` | `'Enter value'` | Sets the input placeholder.
| `autofocus` | `boolean` | `false` | Sets the input autofocus attribute.
| `pattern` | `string` | `''` | Sets the input attribute property for validation.
| `min` | `string` | `''` | Sets the input min attribute for number input.
| `max` | `string` | `''` | Sets the input max attribute for number input.
| `maxlength` | `string` | `''` | Sets the input maxlength attribute.
| `theme` | `string` | `'light` | When `'true'`, the input will adapt to dark theme.
| `full-width` | `string` | `'false'` | When `'true'`, 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.
| `icon` | `string` | `'false'` | When `'true'`, `icon` will be displayed _before_  the `placeholder`.


## Examples

### Default Input

![](images/default.png)

```html 
<zest-input></zest-input>
```

### Input with label and value

![](images/with-value.png)  ![](images/with-value-active.png)

```html 
<zest-input id="name" name="name" label="name" placeholder="Enter your name" value='Jay'></zest-input>
```

### Input with error

![](images/error-input.png)

```html 
<zest-input id="error" name="error" label="error" placeholder="Enter your name" error-msg='Name is required'></zest-input>
```

### Disabled Input

![](images/disabled.png)

```html 
<zest-input disabled='true' type='text' value="Jayabratha" placeholder="Disabled Input"></zest-input>

<zest-input disabled='true' type='text' placeholder="Disabled Input"></zest-input>
```

### Icon Input

![](images/icon-input.png)

```html
<zest-input type='text' icon='true' placeholder="Icon Input">
    <span slot='icon' class='icon'>&hearts;</span>
</zest-input>
```


## Cutomization

![](images/custom-input.png)

```html
<zest-input id="custom-input" name="custom" label="Custom Input" placeholder="Enter your name"></zest-input>
```
```css
#custom-input {
    --color-primary: #1eba68;
    --border-radius: 30px;
    --label-case: normal;
    --label-spacing: 0;
}
```

### 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/@zestui/input · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
