| Index: third_party/polymer/components-chromium/paper-input/paper-input-decorator-extracted.js
|
| diff --git a/third_party/polymer/components-chromium/paper-input/paper-input-decorator-extracted.js b/third_party/polymer/components-chromium/paper-input/paper-input-decorator-extracted.js
|
| deleted file mode 100644
|
| index 8d55bab45804d9e283f027ee24e90a074cdb0aca..0000000000000000000000000000000000000000
|
| --- a/third_party/polymer/components-chromium/paper-input/paper-input-decorator-extracted.js
|
| +++ /dev/null
|
| @@ -1,275 +0,0 @@
|
| -
|
| -
|
| - (function() {
|
| -
|
| - var paperInput = CoreStyle.g.paperInput = CoreStyle.g.paperInput || {};
|
| -
|
| - paperInput.labelColor = '#757575';
|
| - paperInput.focusedColor = '#4059a9';
|
| - paperInput.invalidColor = '#d34336';
|
| -
|
| - Polymer('paper-input-decorator',{
|
| -
|
| - publish: {
|
| -
|
| - /**
|
| - * The label for this input. It normally appears as grey text inside
|
| - * the text input and disappears once the user enters text.
|
| - *
|
| - * @attribute label
|
| - * @type string
|
| - * @default ''
|
| - */
|
| - label: '',
|
| -
|
| - /**
|
| - * If true, the label will "float" above the text input once the
|
| - * user enters text instead of disappearing.
|
| - *
|
| - * @attribute floatingLabel
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - floatingLabel: false,
|
| -
|
| - /**
|
| - * Set to true to style the element as disabled.
|
| - *
|
| - * @attribute disabled
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - disabled: {value: false, reflect: true},
|
| -
|
| - /**
|
| - * Use this property to override the automatic label visibility.
|
| - * If this property is set to `true` or `false`, the label visibility
|
| - * will respect this value instead of be based on whether there is
|
| - * a non-null value in the input.
|
| - *
|
| - * @attribute labelVisible
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - labelVisible: null,
|
| -
|
| - /**
|
| - * Set this property to true to show the error message.
|
| - *
|
| - * @attribute isInvalid
|
| - * @type boolean
|
| - * @default false
|
| - */
|
| - isInvalid: false,
|
| -
|
| - /**
|
| - * The message to display if the input value fails validation. If this
|
| - * is unset or the empty string, a default message is displayed depending
|
| - * on the type of validation error.
|
| - *
|
| - * @attribute error
|
| - * @type string
|
| - */
|
| - error: '',
|
| -
|
| - focused: {value: false, reflect: true}
|
| -
|
| - },
|
| -
|
| - computed: {
|
| - floatingLabelVisible: 'floatingLabel && !_labelVisible',
|
| - _labelVisible: '(labelVisible === true || labelVisible === false) ? labelVisible : _autoLabelVisible'
|
| - },
|
| -
|
| - ready: function() {
|
| - // Delegate focus/blur events
|
| - Polymer.addEventListener(this, 'focus', this.focusAction.bind(this), true);
|
| - Polymer.addEventListener(this, 'blur', this.blurAction.bind(this), true);
|
| - },
|
| -
|
| - attached: function() {
|
| - this.input = this.querySelector('input,textarea');
|
| -
|
| - this.mo = new MutationObserver(function() {
|
| - this.input = this.querySelector('input,textarea');
|
| - }.bind(this));
|
| - this.mo.observe(this, {childList: true});
|
| - },
|
| -
|
| - detached: function() {
|
| - this.mo.disconnect();
|
| - this.mo = null;
|
| - },
|
| -
|
| - prepareLabelTransform: function() {
|
| - var toRect = this.$.floatedLabelText.getBoundingClientRect();
|
| - var fromRect = this.$.labelText.getBoundingClientRect();
|
| - if (toRect.width !== 0) {
|
| - var sy = toRect.height / fromRect.height;
|
| - this.$.labelText.cachedTransform =
|
| - 'scale3d(' + (toRect.width / fromRect.width) + ',' + sy + ',1) ' +
|
| - 'translate3d(0,' + (toRect.top - fromRect.top) / sy + 'px,0)';
|
| - }
|
| - },
|
| -
|
| - animateFloatingLabel: function() {
|
| - if (!this.floatingLabel || this.labelAnimated) {
|
| - return false;
|
| - }
|
| -
|
| - if (!this.$.labelText.cachedTransform) {
|
| - this.prepareLabelTransform();
|
| - }
|
| -
|
| - // If there's still no cached transform, the input is invisible so don't
|
| - // do the animation.
|
| - if (!this.$.labelText.cachedTransform) {
|
| - return false;
|
| - }
|
| -
|
| - this.labelAnimated = true;
|
| - // Handle interrupted animation
|
| - this.async(function() {
|
| - this.transitionEndAction();
|
| - }, null, 250);
|
| -
|
| - if (this._labelVisible) {
|
| - // Handle if the label started out floating
|
| - if (!this.$.labelText.style.webkitTransform && !this.$.labelText.style.transform) {
|
| - this.$.labelText.style.webkitTransform = this.$.labelText.cachedTransform;
|
| - this.$.labelText.style.transform = this.$.labelText.cachedTransform;
|
| - this.$.labelText.offsetTop;
|
| - }
|
| - this.$.labelText.style.webkitTransform = '';
|
| - this.$.labelText.style.transform = '';
|
| - } else {
|
| - this.$.labelText.style.webkitTransform = this.$.labelText.cachedTransform;
|
| - this.$.labelText.style.transform = this.$.labelText.cachedTransform;
|
| - this.input.placeholder = '';
|
| - }
|
| -
|
| - return true;
|
| - },
|
| -
|
| - _labelVisibleChanged: function(old) {
|
| - // do not do the animation on first render
|
| - if (old !== undefined) {
|
| - if (!this.animateFloatingLabel()) {
|
| - this.updateInputLabel(this.input, this.label);
|
| - }
|
| - }
|
| - },
|
| -
|
| - labelVisibleChanged: function() {
|
| - if (this.labelVisible === 'true') {
|
| - this.labelVisible = true;
|
| - } else if (this.labelVisible === 'false') {
|
| - this.labelVisible = false;
|
| - }
|
| - },
|
| -
|
| - labelChanged: function() {
|
| - if (this.input) {
|
| - this.updateInputLabel(this.input, this.label);
|
| - }
|
| - },
|
| -
|
| - isInvalidChanged: function() {
|
| - this.classList.toggle('invalid', this.isInvalid);
|
| - },
|
| -
|
| - focusedChanged: function() {
|
| - this.updateLabelVisibility(this.input && this.input.value);
|
| - },
|
| -
|
| - inputChanged: function(old) {
|
| - if (this.input) {
|
| - this.updateLabelVisibility(this.input.value);
|
| - this.updateInputLabel(this.input, this.label);
|
| - }
|
| - if (old) {
|
| - this.updateInputLabel(old, '');
|
| - }
|
| - },
|
| -
|
| - focusAction: function() {
|
| - this.focused = true;
|
| - },
|
| -
|
| - blurAction: function(e) {
|
| - this.focused = false;
|
| - },
|
| -
|
| - /**
|
| - * Updates the label visibility based on a value. This is handled automatically
|
| - * if the user is typing, but if you imperatively set the input value you need
|
| - * to call this function.
|
| - *
|
| - * @method updateLabelVisibility
|
| - * @param {string} value
|
| - */
|
| - updateLabelVisibility: function(value) {
|
| - var v = (value !== null && value !== undefined) ? String(value) : value;
|
| - this._autoLabelVisible = (!this.focused && !v) || (!this.floatingLabel && !v);
|
| - },
|
| -
|
| - updateInputLabel: function(input, label) {
|
| - if (this._labelVisible) {
|
| - this.input.placeholder = this.label;
|
| - } else {
|
| - this.input.placeholder = '';
|
| - }
|
| - if (label) {
|
| - input.setAttribute('aria-label', label);
|
| - } else {
|
| - input.removeAttribute('aria-label');
|
| - }
|
| - },
|
| -
|
| - inputAction: function(e) {
|
| - this.updateLabelVisibility(e.target.value);
|
| - },
|
| -
|
| - downAction: function(e) {
|
| - if (this.disabled) {
|
| - return;
|
| - }
|
| -
|
| - if (this.focused) {
|
| - return;
|
| - }
|
| -
|
| - if (this.input) {
|
| - this.input.focus();
|
| - e.preventDefault();
|
| - }
|
| -
|
| - // The underline spills from the tap location
|
| - var rect = this.$.underline.getBoundingClientRect();
|
| - var right = e.x - rect.left;
|
| - this.$.focusedUnderline.style.mozTransformOrigin = right + 'px';
|
| - this.$.focusedUnderline.style.webkitTransformOrigin = right + 'px ';
|
| - this.$.focusedUnderline.style.transformOriginX = right + 'px';
|
| -
|
| - // Animations only run when the user interacts with the input
|
| - this.underlineAnimated = true;
|
| -
|
| - // Handle interrupted animation
|
| - this.async(function() {
|
| - this.transitionEndAction();
|
| - }, null, 250);
|
| - },
|
| -
|
| - transitionEndAction: function() {
|
| - this.underlineAnimated = false;
|
| - this.labelAnimated = false;
|
| - if (this._labelVisible) {
|
| - this.input.placeholder = this.label;
|
| - }
|
| - }
|
| -
|
| - });
|
| -
|
| - }());
|
| -
|
| -
|
|
|