Socket
Socket
Sign inDemoInstall

@polymer/iron-input

Package Overview
Dependencies
5
Maintainers
11
Versions
32
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @polymer/iron-input

An input element with data binding


Version published
Maintainers
11
Install size
1.78 MB
Created

Readme

Source

Published on NPM Build status Published on webcomponents.org

<iron-input>

<iron-input> adds two-way binding and custom validators using Polymer.IronValidatorBehavior to <input>.

See: Documentation, Demo.

Usage

Installation

npm install --save @polymer/iron-input

In an html file

<html>
  <head>
    <script type="module">
      import '@polymer/iron-input/iron-input.js';
    </script>
  </head>
  <body>
    <iron-input>
      <input>
    </iron-input>
  </body>
</html>

In a Polymer 3 element

import {PolymerElement, html} from '@polymer/polymer';
import '@polymer/iron-input/iron-input.js';

class SampleElement extends PolymerElement {
  static get template() {
    return html`
      <iron-input>
        <input>
      </iron-input>
    `;
  }
}
customElements.define('sample-element', SampleElement);

Two-way binding

By default you can only get notified of changes to an input's value due to user input:

<input value="{{myValue::input}}">

iron-input adds the bind-value property that mirrors the value property, and can be used for two-way data binding. bind-value will notify if it is changed either by user input or by script.

<iron-input bind-value="{{bindValue}}">
  <input value="{{value::input}}">
</iron-input>

Custom validators

You can use custom validators that implement Polymer.IronValidatorBehavior with <iron-input>.

<iron-input auto-validate validator="my-custom-validator">
  <input placeholder="only 'cat' is valid">
 </iron-input>

Stopping invalid input

It may be desirable to only allow users to enter certain characters. You can use the prevent-invalid-input and allowed-pattern attributes together to accomplish this. This feature is separate from validation, and allowed-pattern does not affect how the input is validated.

<!-- only allow characters that match [0-9] -->
<iron-input allowed-pattern="[0-9]">
  <input pattern="\d{5}">
</iron-input>

Contributing

If you want to send a PR to this element, here are the instructions for running the tests and demo locally:

Installation

git clone https://github.com/PolymerElements/iron-input
cd iron-input
npm install
npm install -g polymer-cli

Running the demo locally

polymer serve --npm
open http://127.0.0.1:<port>/demo/

Running the tests

polymer test --npm

Keywords

FAQs

Last updated on 14 Sep 2018

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc