| Index: bower_components/core-input/core-input.html
|
| diff --git a/bower_components/core-input/core-input.html b/bower_components/core-input/core-input.html
|
| deleted file mode 100644
|
| index a573ec3ce5978e1fa3a6261dfad56bde6309941b..0000000000000000000000000000000000000000
|
| --- a/bower_components/core-input/core-input.html
|
| +++ /dev/null
|
| @@ -1,507 +0,0 @@
|
| -<!--
|
| -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
|
| --->
|
| -
|
| -<!--
|
| -/**
|
| - * core-input is an unstyled single- or multi-line text field where user can
|
| - * enter input.
|
| - *
|
| - * Example:
|
| - *
|
| - * <core-input placeholder="Placeholder text here"></core-input>
|
| - *
|
| - * <core-input multiline placeholder="Enter multiple lines here"></core-input>
|
| - *
|
| - * The text input's value is considered "committed" if the user hits the "enter"
|
| - * key or blurs the input after changing the value. The `change` event is fired
|
| - * when the value becomes committed, and the committed value is stored in the
|
| - * `value` property. The current value of the input is stored in the `inputValue`
|
| - * property.
|
| - *
|
| - * Validation
|
| - * ----------
|
| - *
|
| - * core-input can optionally validate the value using the HTML5 constraints API,
|
| - * similar to native inputs. There are two methods to configure input validation:
|
| - *
|
| - * 1. By setting the `type` attribute. For example, setting it to `email` will
|
| - * check the value is a valid email, and setting it to `number` will check
|
| - * the input is a number.
|
| - *
|
| - * 2. By setting attributes related to validation. The attributes are `pattern`,
|
| - * `min`, `max`, `step` and `required`.
|
| - *
|
| - * Only `required` is supported for multiline inputs currently.
|
| - *
|
| - * Example:
|
| - *
|
| - * <core-input type="email" placeholder="enter your email"></core-input>
|
| - *
|
| - * <core-input type="number" min="5" placeholder="enter a number greater than or equal to 5"></core-input>
|
| - *
|
| - * <core-input pattern=".*abc.*" placeholder="enter something containing 'abc'"></core-input>
|
| - *
|
| - * See https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation
|
| - * for more info on validation.
|
| - *
|
| - * @group Polymer Core Elements
|
| - * @element core-input
|
| - * @homepage github.io
|
| - */
|
| --->
|
| -
|
| -<!--
|
| -Fired when the inputValue of is changed. This is the same event as the DOM
|
| -"input" event.
|
| -
|
| -@event input
|
| --->
|
| -
|
| -<!--
|
| -Fired when the user commits the value of the input, either by the hitting the
|
| -`enter` key or blurring the input after the changing the inputValue. Also see the
|
| -DOM "change" event.
|
| -
|
| -@event change
|
| --->
|
| -
|
| -<!--
|
| -Fired when the inputValue of this text input changes and fails validation.
|
| -
|
| -@event input-invalid
|
| -@param {Object} detail
|
| -@param {string} value The text input's inputValue.
|
| --->
|
| -
|
| -<!--
|
| -Fired when the inputValue of this text input changes and passes validation.
|
| -
|
| -@event input-valid
|
| -@param {Object} detail
|
| -@param {string} value The text input's inputValue.
|
| --->
|
| -<link href="../polymer/polymer.html" rel="import">
|
| -
|
| -<polymer-element name="core-input" on-focus="{{focusAction}}">
|
| -
|
| - <template>
|
| -
|
| - <link href="core-input.css" rel="stylesheet">
|
| -
|
| - <template if="{{multiline}}">
|
| - <textarea id="input" value="{{inputValue}}" rows="{{rows}}" disabled?="{{disabled}}" placeholder="{{placeholder}}" autofocus?="{{autofocus}}" required?="{{required}}" readonly?="{{readonly}}" maxlength="{{maxlength}}" aria-label="{{label || placeholder}}" aria-invalid="{{invalid}}" on-change="{{inputChangeAction}}" on-focus="{{inputFocusAction}}" on-blur="{{inputBlurAction}}"></textarea>
|
| - </template>
|
| -
|
| - <template if="{{!multiline}}">
|
| - <input id="input" value="{{inputValue}}" disabled?="{{disabled}}" type="{{type}}" placeholder="{{placeholder}}" autofocus?="{{autofocus}}" required?="{{required}}" readonly?="{{readonly}}" pattern="{{pattern}}" min="{{min}}" max="{{max}}" step="{{step}}" maxlength="{{maxlength}}" aria-label="{{label || placeholder}}" aria-invalid="{{invalid}}" on-keypress="{{keypressAction}}" on-change="{{inputChangeAction}}" on-focus="{{inputFocusAction}}" on-blur="{{inputBlurAction}}">
|
| - </template>
|
| -
|
| - </template>
|
| -
|
| - <script>
|
| -
|
| - Polymer('core-input', {
|
| - publish: {
|
| - /**
|
| - * Placeholder text that hints to the user what can be entered in
|
| - * the input.
|
| - *
|
| - * @attribute placeholder
|
| - * @type string
|
| - * @default ''
|
| - */
|
| - placeholder: '',
|
| -
|
| - /**
|
| - * If true, this input cannot be focused and the user cannot change
|
| - * its value.
|
| - *
|
| - * @attribute disabled
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - disabled: false,
|
| -
|
| - /**
|
| - * If true, the user cannot modify the value of the input.
|
| - *
|
| - * @attribute readonly
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - readonly: false,
|
| -
|
| - /**
|
| - * If true, this input will automatically gain focus on page load.
|
| - *
|
| - * @attribute autofocus
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - autofocus: false,
|
| -
|
| - /**
|
| - * If true, this input accepts multi-line input like a `<textarea>`
|
| - *
|
| - * @attribute multiline
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - multiline: false,
|
| -
|
| - /**
|
| - * (multiline only) The height of this text input in rows. The input
|
| - * will scroll internally if more input is entered beyond the size
|
| - * of the component. This property is meaningless if multiline is
|
| - * false. You can also set this property to "fit" and size the
|
| - * component with CSS to make the input fit the CSS size.
|
| - *
|
| - * @attribute rows
|
| - * @type number|'fit'
|
| - * @default 'fit'
|
| - */
|
| - rows: 'fit',
|
| -
|
| - /**
|
| - * The current value of this input. Changing inputValue programmatically
|
| - * will cause value to be out of sync. Instead, change value directly
|
| - * or call commit() after changing inputValue.
|
| - *
|
| - * @attribute inputValue
|
| - * @type string
|
| - * @default ''
|
| - */
|
| - inputValue: '',
|
| -
|
| - /**
|
| - * The value of the input committed by the user, either by changing the
|
| - * inputValue and blurring the input, or by hitting the `enter` key.
|
| - *
|
| - * @attribute value
|
| - * @type string
|
| - * @default ''
|
| - */
|
| - value: '',
|
| -
|
| - /**
|
| - * Set the input type. Not supported for `multiline`.
|
| - *
|
| - * @attribute type
|
| - * @type string
|
| - * @default text
|
| - */
|
| - type: 'text',
|
| -
|
| - /**
|
| - * If true, the input is invalid if its value is null.
|
| - *
|
| - * @attribute required
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - required: false,
|
| -
|
| - /**
|
| - * A regular expression to validate the input value against. See
|
| - * https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation#Validation-related_attributes
|
| - * for more info. Not supported if `multiline` is true.
|
| - *
|
| - * @attribute pattern
|
| - * @type string
|
| - * @default '.*'
|
| - */
|
| - // FIXME(yvonne): The default is set to .* because we can't bind to pattern such
|
| - // that the attribute is unset if pattern is null.
|
| - pattern: '.*',
|
| -
|
| - /**
|
| - * If set, the input is invalid if the value is less than this property. See
|
| - * https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation#Validation-related_attributes
|
| - * for more info. Not supported if `multiline` is true.
|
| - *
|
| - * @attribute min
|
| - */
|
| - min: null,
|
| -
|
| - /**
|
| - * If set, the input is invalid if the value is greater than this property. See
|
| - * https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation#Validation-related_attributes
|
| - * for more info. Not supported if `multiline` is true.
|
| - *
|
| - * @attribute max
|
| - */
|
| - max: null,
|
| -
|
| - /**
|
| - * If set, the input is invalid if the value is not `min` plus an integral multiple
|
| - * of this property. See
|
| - * https://developer.mozilla.org/en-US/docs/Web/Guide/HTML/HTML5/Constraint_validation#Validation-related_attributes
|
| - * for more info. Not supported if `multiline` is true.
|
| - *
|
| - * @attribute step
|
| - */
|
| - step: null,
|
| -
|
| - /**
|
| - * The maximum length of the input value.
|
| - *
|
| - * @attribute maxlength
|
| - * @type number
|
| - */
|
| - maxlength: null,
|
| -
|
| - /**
|
| - * If this property is true, the text input's inputValue failed validation.
|
| - *
|
| - * @attribute invalid
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - invalid: false,
|
| -
|
| - /**
|
| - * If this property is true, validate the input as they are entered.
|
| - *
|
| - * @attribute validateImmediately
|
| - * @type boolean
|
| - * @default true
|
| - */
|
| - validateImmediately: true
|
| - },
|
| -
|
| - ready: function() {
|
| - this.handleTabindex(this.getAttribute('tabindex'));
|
| - },
|
| -
|
| - disabledChanged: function() {
|
| - if (this.disabled) {
|
| - this.setAttribute('aria-disabled', true);
|
| - } else {
|
| - this.removeAttribute('aria-disabled');
|
| - }
|
| - },
|
| -
|
| - invalidChanged: function() {
|
| - this.classList.toggle('invalid', this.invalid);
|
| - this.fire('input-'+ (this.invalid ? 'invalid' : 'valid'), {value: this.inputValue});
|
| - },
|
| -
|
| - inputValueChanged: function() {
|
| - if (this.validateImmediately) {
|
| - this.updateValidity_();
|
| - }
|
| - },
|
| -
|
| - valueChanged: function() {
|
| - this.inputValue = this.value;
|
| - },
|
| -
|
| - requiredChanged: function() {
|
| - if (this.validateImmediately) {
|
| - this.updateValidity_();
|
| - }
|
| - },
|
| -
|
| - attributeChanged: function(attr, oldVal, curVal) {
|
| - if (attr === 'tabindex') {
|
| - this.handleTabindex(curVal);
|
| - }
|
| - },
|
| -
|
| - handleTabindex: function(tabindex) {
|
| - if (tabindex > 0) {
|
| - this.$.input.setAttribute('tabindex', -1);
|
| - } else {
|
| - this.$.input.removeAttribute('tabindex');
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Commits the inputValue to value.
|
| - *
|
| - * @method commit
|
| - */
|
| - commit: function() {
|
| - this.value = this.inputValue;
|
| - },
|
| -
|
| - updateValidity_: function() {
|
| - if (this.$.input.willValidate) {
|
| - this.invalid = !this.$.input.validity.valid;
|
| - }
|
| - },
|
| -
|
| - keypressAction: function(e) {
|
| - // disallow non-numeric input if type = number
|
| - if (this.type !== 'number') {
|
| - return;
|
| - }
|
| - var c = String.fromCharCode(e.charCode);
|
| - if (e.charCode !== 0 && !c.match(/[\d-\.e]/)) {
|
| - e.preventDefault();
|
| - }
|
| - },
|
| -
|
| - inputChangeAction: function() {
|
| - this.commit();
|
| - if (!window.ShadowDOMPolyfill) {
|
| - // re-fire event that does not bubble across shadow roots
|
| - this.fire('change', null, this);
|
| - }
|
| - },
|
| -
|
| - focusAction: function(e) {
|
| - if (this.getAttribute('tabindex') > 0) {
|
| - // Forward focus to the inner input if tabindex is set on the element
|
| - // This will not cause an infinite loop because focus will not fire on the <input>
|
| - // again if it's already focused.
|
| - this.$.input.focus();
|
| - }
|
| - },
|
| -
|
| - inputFocusAction: function(e) {
|
| - if (window.ShadowDOMPolyfill) {
|
| - // re-fire non-bubbling event if polyfill
|
| - this.fire('focus', null, this, false);
|
| - }
|
| - },
|
| -
|
| - inputBlurAction: function() {
|
| - if (window.ShadowDOMPolyfill) {
|
| - // re-fire non-bubbling event
|
| - this.fire('blur', null, this, false);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input / textarea element.
|
| - *
|
| - * @method blur
|
| - */
|
| - blur: function() {
|
| - this.$.input.blur();
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input / textarea element.
|
| - *
|
| - * @method click
|
| - */
|
| - click: function() {
|
| - this.$.input.click();
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input / textarea element.
|
| - *
|
| - * @method focus
|
| - */
|
| - focus: function() {
|
| - this.$.input.focus();
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input / textarea element.
|
| - *
|
| - * @method select
|
| - */
|
| - select: function() {
|
| - this.$.input.select();
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input / textarea element.
|
| - *
|
| - * @method setSelectionRange
|
| - * @param {number} selectionStart
|
| - * @param {number} selectionEnd
|
| - * @param {String} selectionDirection (optional)
|
| - */
|
| - setSelectionRange: function(selectionStart, selectionEnd, selectionDirection) {
|
| - this.$.input.setSelectionRange(selectionStart, selectionEnd, selectionDirection);
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input element, not implemented for multiline.
|
| - *
|
| - * @method setRangeText
|
| - * @param {String} replacement
|
| - * @param {number} start (optional)
|
| - * @param {number} end (optional)
|
| - * @param {String} selectMode (optional)
|
| - */
|
| - setRangeText: function(replacement, start, end, selectMode) {
|
| - if (!this.multiline) {
|
| - this.$.input.setRangeText(replacement, start, end, selectMode);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input, not implemented for multiline.
|
| - *
|
| - * @method stepDown
|
| - * @param {number} n (optional)
|
| - */
|
| - stepDown: function(n) {
|
| - if (!this.multiline) {
|
| - this.$.input.stepDown(n);
|
| - }
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input, not implemented for multiline.
|
| - *
|
| - * @method stepUp
|
| - * @param {number} n (optional)
|
| - */
|
| - stepUp: function(n) {
|
| - if (!this.multiline) {
|
| - this.$.input.stepUp(n);
|
| - }
|
| - },
|
| -
|
| - get willValidate() {
|
| - return this.$.input.willValidate;
|
| - },
|
| -
|
| - get validity() {
|
| - return this.$.input.validity;
|
| - },
|
| -
|
| - get validationMessage() {
|
| - return this.$.input.validationMessage;
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input / textarea element and updates state.
|
| - *
|
| - * @method checkValidity
|
| - * @return {boolean}
|
| - */
|
| - checkValidity: function() {
|
| - var r = this.$.input.checkValidity();
|
| - this.updateValidity_();
|
| - return r;
|
| - },
|
| -
|
| - /**
|
| - * Forwards to the internal input / textarea element and updates state.
|
| - *
|
| - * @method setCustomValidity
|
| - * @param {String} message
|
| - */
|
| - setCustomValidity: function(message) {
|
| - this.$.input.setCustomValidity(message);
|
| - this.updateValidity_();
|
| - }
|
| -
|
| - });
|
| - </script>
|
| -
|
| -</polymer-element>
|
|
|