| Index: third_party/polymer/components/paper-input/paper-autogrow-textarea.html
|
| diff --git a/third_party/polymer/components/paper-input/paper-autogrow-textarea.html b/third_party/polymer/components/paper-input/paper-autogrow-textarea.html
|
| deleted file mode 100644
|
| index 8a8a145281cfb82911e133bfbb4d5d488a5ca43b..0000000000000000000000000000000000000000
|
| --- a/third_party/polymer/components/paper-input/paper-autogrow-textarea.html
|
| +++ /dev/null
|
| @@ -1,161 +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
|
| --->
|
| -
|
| -<!--
|
| -`paper-autogrow-textarea` is an element containing a textarea that grows in height as more
|
| -lines of input are entered. Unless an explicit height or the `maxRows` property is set, it will
|
| -never scroll.
|
| -
|
| -Example:
|
| -
|
| - <paper-autogrow-textarea id="a1">
|
| - <textarea id="t1"></textarea>
|
| - <paper-autogrow-textarea>
|
| -
|
| -Because the `textarea`'s `value` property is not observable, if you set the `value` imperatively
|
| -you must call `update` to notify this element the value has changed.
|
| -
|
| -Example:
|
| -
|
| - /* using example HTML above */
|
| - t1.value = 'some\ntext';
|
| - a1.update();
|
| -
|
| -@group Paper Elements
|
| -@element paper-autogrow-textarea
|
| -@status unstable
|
| --->
|
| -
|
| -<link href="../polymer/polymer.html" rel="import">
|
| -
|
| -<polymer-element name="paper-autogrow-textarea" on-input="{{inputAction}}">
|
| -<template>
|
| -
|
| - <style>
|
| - :host {
|
| - display: inline-block;
|
| - position: relative;
|
| - width: 400px;
|
| - }
|
| -
|
| - .mirror-text {
|
| - visibility: hidden;
|
| - }
|
| -
|
| - ::content textarea {
|
| - padding: 0;
|
| - margin: 0;
|
| - border: none;
|
| - outline: none;
|
| - resize: none;
|
| - /* see comments in template */
|
| - width: 100%;
|
| - height: 100%;
|
| - }
|
| -
|
| - ::content textarea:invalid {
|
| - box-shadow: none;
|
| - }
|
| - </style>
|
| -
|
| - <!-- the mirror sizes the input/textarea so it grows with typing -->
|
| - <div id="mirror" class="mirror-text" aria-hidden="true"> </div>
|
| -
|
| - <!-- size the input/textarea with a div, because the textarea has intrinsic size in ff -->
|
| - <div class="textarea-container" fit>
|
| - <content></content>
|
| - </div>
|
| -
|
| -</template>
|
| -<script>
|
| -
|
| - Polymer({
|
| -
|
| - publish: {
|
| -
|
| - /**
|
| - * The textarea that should auto grow.
|
| - *
|
| - * @attribute target
|
| - * @type HTMLTextAreaElement
|
| - * @default null
|
| - */
|
| - target: null,
|
| -
|
| - /**
|
| - * The initial number of rows.
|
| - *
|
| - * @attribute rows
|
| - * @type number
|
| - * @default 1
|
| - */
|
| - rows: 1,
|
| -
|
| - /**
|
| - * The maximum number of rows this element can grow to until it
|
| - * scrolls. 0 means no maximum.
|
| - *
|
| - * @attribute maxRows
|
| - * @type number
|
| - * @default 0
|
| - */
|
| - maxRows: 0
|
| - },
|
| -
|
| - tokens: null,
|
| -
|
| - observe: {
|
| - rows: 'updateCached',
|
| - maxRows: 'updateCached'
|
| - },
|
| -
|
| - constrain: function(tokens) {
|
| - var _tokens;
|
| - tokens = tokens || [''];
|
| - // Enforce the min and max heights for a multiline input to avoid measurement
|
| - if (this.maxRows > 0 && tokens.length > this.maxRows) {
|
| - _tokens = tokens.slice(0, this.maxRows);
|
| - } else {
|
| - _tokens = tokens.slice(0);
|
| - }
|
| - while (this.rows > 0 && _tokens.length < this.rows) {
|
| - _tokens.push('');
|
| - }
|
| - return _tokens.join('<br>') + ' ';
|
| - },
|
| -
|
| - valueForMirror: function(input) {
|
| - this.tokens = (input && input.value) ? input.value.replace(/&/gm, '&').replace(/"/gm, '"').replace(/'/gm, ''').replace(/</gm, '<').replace(/>/gm, '>').split('\n') : [''];
|
| - return this.constrain(this.tokens);
|
| - },
|
| -
|
| - /**
|
| - * Sizes this element to fit the input value. This function is automatically called
|
| - * when the user types in new input, but you must call this function if the value
|
| - * is updated imperatively.
|
| - *
|
| - * @method update
|
| - * @param Element The input
|
| - */
|
| - update: function(input) {
|
| - this.$.mirror.innerHTML = this.valueForMirror(input);
|
| - },
|
| -
|
| - updateCached: function() {
|
| - this.$.mirror.innerHTML = this.constrain(this.tokens);
|
| - },
|
| -
|
| - inputAction: function(e) {
|
| - this.update(e.target);
|
| - }
|
| -
|
| - });
|
| -
|
| -</script>
|
| -</polymer-element>
|
|
|