Inputs
Installation​
For detailed instructions, view our install section in this documentation. Make sure all of the dependencies and polyfills are loaded to make the component cross-browser compatible.
CDN​
<script src="https://unpkg.com/@pearson-ux/input"></script>
NPM​
npm i @pearson-ux/input --save
Demo​
    <pearson-input label="Demo input label"></pearson-input>
Structure​
To add an input, just add the markup in your app where you want it displayed.
API​
Required​
All attributes in this API are required.
| Attribute | Type | Default | Description | 
|---|---|---|---|
label | String | "Basic input label" | The label you want displayed with input . | 
Optional​
All attributes in this API are optional.
| Attribute | Type | Default | Description | 
|---|---|---|---|
placeholder | string | unset | Adds placeholder text to the input . | 
disabled | boolean | false | Determines whether the input is disabled. | 
error | string | unset | Adds error styling and warning message. | 
value | String | unset | The value of the input | 
Events​
The pearson-input component emits one event:
| Event | Description | 
|---|---|
input | Will fire when a value is entered into the input. | 
const input = document.querySelector('pearson-input);
input.addEventListener('input', event => {
});
Additional Attributes​
If you want to change an attribute, or listen for an event coming from the encapsulated input you can use javascript to access the components shadow dom.
const input = document.querySelector('pearson-input'),
shadowInput = input.shadowRoot.querySelector('input');
// you can now add attributes or listen for events on the shadowInput.
HTML Markup​
Do you prefer to use HTML instead of a web component? No problem, use the markup below along with CSS.
<div class="gr-form-element">
    <label class="gr-label" for="basicInput">Basic input label</label>
    <input class="gr-input" id="basicInput" type="text"/>
    <div class="error-state">
        <svg focusable="false" class="icon-18" aria-hidden="true">
            <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#warning-18"></use>
        </svg>
        <span class="gr-meta">Warning Text</span>
    </div>
</div>