UNPKG

@haxtheweb/haxcms-nodejs

Version:

HAXcms single and multisite nodejs server, api, and administration

115 lines (92 loc) 5.68 kB
/** @license Copyright (c) 2015 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.txt The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt 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.txt */ import"../polymer/polymer-legacy.js";import"../iron-input/iron-input.js";import"./paper-input-char-counter.js";import"./paper-input-container.js";import"./paper-input-error.js";import{IronFormElementBehavior as e}from"../iron-form-element-behavior/iron-form-element-behavior.js";import{DomModule as t}from"../polymer/lib/elements/dom-module.js";import{Polymer as i}from"../polymer/lib/legacy/polymer-fn.js";import{html as n}from"../polymer/lib/utils/html-tag.js";import{PaperInputBehavior as a}from"./paper-input-behavior.js";i({is:"paper-input",_template:n` <style> :host { display: block; } :host([focused]) { outline: none; } :host([hidden]) { display: none !important; } input { /* Firefox sets a min-width on the input, which can cause layout issues */ min-width: 0; } /* In 1.x, the <input> is distributed to paper-input-container, which styles it. In 2.x the <iron-input> is distributed to paper-input-container, which styles it, but in order for this to work correctly, we need to reset some of the native input's properties to inherit (from the iron-input) */ iron-input > input { @apply --paper-input-container-shared-input-style; font-family: inherit; font-weight: inherit; font-size: inherit; letter-spacing: inherit; word-spacing: inherit; line-height: inherit; text-shadow: inherit; color: inherit; cursor: inherit; } input:disabled { @apply --paper-input-container-input-disabled; } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { @apply --paper-input-container-input-webkit-spinner; } input::-webkit-clear-button { @apply --paper-input-container-input-webkit-clear; } input::-webkit-calendar-picker-indicator { @apply --paper-input-container-input-webkit-calendar-picker-indicator; } input::-webkit-input-placeholder { color: var(--paper-input-container-color, var(--secondary-text-color)); } input:-moz-placeholder { color: var(--paper-input-container-color, var(--secondary-text-color)); } input::-moz-placeholder { color: var(--paper-input-container-color, var(--secondary-text-color)); } input::-ms-clear { @apply --paper-input-container-ms-clear; } input::-ms-reveal { @apply --paper-input-container-ms-reveal; } input:-ms-input-placeholder { color: var(--paper-input-container-color, var(--secondary-text-color)); } label { pointer-events: none; } </style> <paper-input-container id="container" no-label-float="[[noLabelFloat]]" always-float-label="[[_computeAlwaysFloatLabel(alwaysFloatLabel,placeholder)]]" auto-validate$="[[autoValidate]]" disabled$="[[disabled]]" invalid="[[invalid]]"> <slot name="prefix" slot="prefix"></slot> <label hidden$="[[!label]]" aria-hidden="true" for$="[[_inputId]]" slot="label">[[label]]</label> <!-- Need to bind maxlength so that the paper-input-char-counter works correctly --> <iron-input bind-value="{{value}}" slot="input" class="input-element" id$="[[_inputId]]" maxlength$="[[maxlength]]" allowed-pattern="[[allowedPattern]]" invalid="{{invalid}}" validator="[[validator]]"> <input aria-labelledby$="[[_ariaLabelledBy]]" aria-describedby$="[[_ariaDescribedBy]]" disabled$="[[disabled]]" title$="[[title]]" type$="[[type]]" pattern$="[[pattern]]" required$="[[required]]" autocomplete$="[[autocomplete]]" autofocus$="[[autofocus]]" inputmode$="[[inputmode]]" minlength$="[[minlength]]" maxlength$="[[maxlength]]" min$="[[min]]" max$="[[max]]" step$="[[step]]" name$="[[name]]" placeholder$="[[placeholder]]" readonly$="[[readonly]]" list$="[[list]]" size$="[[size]]" autocapitalize$="[[autocapitalize]]" autocorrect$="[[autocorrect]]" on-change="_onChange" tabindex$="[[tabIndex]]" autosave$="[[autosave]]" results$="[[results]]" accept$="[[accept]]" multiple$="[[multiple]]" role$="[[inputRole]]" aria-haspopup$="[[inputAriaHaspopup]]"> </iron-input> <slot name="suffix" slot="suffix"></slot> <template is="dom-if" if="[[errorMessage]]"> <paper-input-error aria-live="assertive" slot="add-on">[[errorMessage]]</paper-input-error> </template> <template is="dom-if" if="[[charCounter]]"> <paper-input-char-counter slot="add-on"></paper-input-char-counter> </template> </paper-input-container> `,behaviors:[a,e],properties:{value:{type:String},inputRole:{type:String,value:void 0},inputAriaHaspopup:{type:String,value:void 0}},get _focusableElement(){return this.inputElement._inputElement},listeners:{"iron-input-ready":"_onIronInputReady"},_onIronInputReady:function(){this.$.nativeInput||(this.$.nativeInput=this.$$("input")),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.$.nativeInput.type)&&(this.alwaysFloatLabel=!0),this.inputElement.bindValue&&this.$.container._handleValueAndAutoValidate(this.inputElement)}});