paper-input
v3.0.2
Published
Paper Input React component
Maintainers
Readme
<PaperInput />
Check out a live demo at http://scienceai.github.io/paper-input
Install
npm install paper-inputUsage
import React from 'react';
import PaperInput from 'paper-input';
class MyComponent extends React.Component {
// ... setup state and change handlers
return (
<PaperInput
name='email'
label='Email Address'
type='email'
floatLabel={true}
error={this.state.error ? 'Please enter a valid email address' : ''}
onChange={this.handleChange.bind(this)}
value={this.state.email}
/>
);
}Using the CSS
With postcss-import or similar:
@import "paper-input";API
The <PaperInput> component has the following internal structure:
<div class='paper-input'>
<input />
<label />
<span class='border-line' /> <!-- animates a line on the bottom border of the input -->
<span class='error' />
</div><PaperInput> accepts the following props:
label: String. Required. The label that will be displayed on the<input>element.name: String. Required. Thenameattribute that will be attached to the<input>element.className: String. Optional. This class will be added to the<div>wrapping the<input>element.error: String. Optional. An error message that is displayed in the<span class='error'>below the<input>.floatLabel: Boolean. Optional. Floats the<label>above the<input>when focused. Defaults totrue.large: String. Optional. Adds a CSS class to increase the font size of the<input>and<label>.mustDisplayError: Bool. Optional. Ensures that theerrorprovided is displayed regardless of whether or not the component has been interacted with.onBlurCapture: Function. Optional. Called on theblurevent on the<input>.onChange: Function. Optional. Called on thechangeevent on the<input>.onFocus: Function. Optional. Called on thefocusevent on the<input>.onKeyDown: Function. Optional. Called on thekeydownevent on the<input>.defaultValue: String. Optional. See the docs on thedefaultValueprop.placeholder: String. Optional. Note that you should not setfloatLabeltofalseif using a placeholder as it will overlap with the label.type: String. Optional. Defaults to'text'.value: String. Optional.autoFocus: Boolean. Automatically focused.required: Boolean. Required field in a form.
Example
For a fuller example, visit the example/ directory.
npm run watchopen example/index.htmlLicense
Apache-2.0
