<!--
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE
The complete set of authors may be found at http://polymer.github.io/AUTHORS
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS
-->
<!--
`paper-input` is a single- or multi-line text field where user can enter input.
It can optionally have a label.
Example:
<paper-input label="Your Name"></paper-input>
<paper-input multiline label="Enter multiple lines here"></paper-input>
Theming
--------
Set `CoreStyle.g.paperInput.focusedColor` and `CoreStyle.g.paperInput.invalidColor` to theme
the focused and invalid states.
@group Paper Elements
@element paper-input
@extends core-input
@homepage github.io
-->
<link href="../polymer/polymer.html" rel="import">
<link href="../core-input/core-input.html" rel="import">
<link href="../core-style/core-style.html" rel="import">
<core-style id="paper-input">
#label.focused,
#floatedLabel.focused {
color: {{g.paperInput.focusedColor}};
}
#underlineHighlight.focused,
#caretInner {
background-color: {{g.paperInput.focusedColor}};
}
#error,
:host(.invalid) #label.focused,
:host(.invalid) #floatedLabel.focused {
color: {{g.paperInput.invalidColor}};
}
:host(.invalid) #underlineHighlight.focused,
:host(.invalid) #caretInner {
background-color: {{g.paperInput.invalidColor}};
}
</core-style>
<polymer-element name="paper-input" extends="core-input" attributes="label floatingLabel maxRows error" on-down="{{downAction}}" on-up="{{upAction}}" assetpath="">
<template>
<link href="paper-input.css" rel="stylesheet">
<core-style ref="paper-input"></core-style>
<div id="floatedLabel" class="hidden" hidden?="{{!floatingLabel}}"><span id="floatedLabelSpan">{{label}}</span></div>
<div id="container" on-transitionend="{{transitionEndAction}}" on-webkittransitionend="{{transitionEndAction}}">
<div id="label"><span id="labelSpan">{{label}}</span></div>
<div id="inputContainer">
<div id="inputClone">
<span id="inputCloneSpan" aria-hidden="true"> </span>
</div>
<template if="{{multiline}}">
<div id="minInputHeight"></div>
<div id="maxInputHeight"></div>
</template>
<shadow></shadow>
</div>
<div id="underlineContainer">
<div id="underline"></div>
<div id="underlineHighlight" class="focusedColor"></div>
</div>
<div id="caret">
<div id="caretInner" class="focusedColor"></div>
</div>
</div>
<div id="errorContainer">
<div id="error" role="alert" aria-hidden="{{!invalid}}">{{error || validationMessage}}</div>
<div id="errorIcon"></div>
</div>
</template>
</polymer-element>
<script src="paper-input-extracted.js"></script>