Blame view

bower_components/paper-input/paper-textarea.html 3.52 KB
73bcce88   luigser   COMPONENTS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
  <!--
  @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
  -->
  <link rel="import" href="../polymer/polymer.html">
  <link rel="import" href="../iron-autogrow-textarea/iron-autogrow-textarea.html">
  <link rel="import" href="paper-input-behavior.html">
  <link rel="import" href="paper-input-container.html">
  <link rel="import" href="paper-input-error.html">
  <link rel="import" href="paper-input-char-counter.html">
  
  <!--
  `<paper-textarea>` is a multi-line text field with Material Design styling.
  
      <paper-textarea label="Textarea label"></paper-textarea>
  
  See `Polymer.PaperInputBehavior` for more API docs.
  
  ### Validation
  
  Currently only `required` and `maxlength` validation is supported.
  
  ### Styling
  
  See `Polymer.PaperInputContainer` for a list of custom properties used to
  style this element.
  -->
  
  <dom-module id="paper-textarea">
    <template>
e619a3b0   Luigi Serra   Controllet cross ...
36
37
38
39
40
      <style>
        :host {
          display: block;
        }
      </style>
73bcce88   luigser   COMPONENTS
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  
      <paper-input-container no-label-float$="[[noLabelFloat]]" always-float-label="[[_computeAlwaysFloatLabel(alwaysFloatLabel,placeholder)]]" auto-validate$="[[autoValidate]]" disabled$="[[disabled]]" invalid="[[invalid]]">
  
        <label hidden$="[[!label]]">[[label]]</label>
  
        <iron-autogrow-textarea id="input" class="paper-input-input"
          bind-value="{{value}}"
          autocomplete$="[[autocomplete]]"
          autofocus$="[[autofocus]]"
          inputmode$="[[inputmode]]"
          name$="[[name]]"
          placeholder$="[[placeholder]]"
          readonly$="[[readonly]]"
          required$="[[required]]"
          maxlength$="[[maxlength]]"
e619a3b0   Luigi Serra   Controllet cross ...
56
57
58
59
          autocapitalize$="[[autocapitalize]]"
          rows$="[[rows]]"
          max-rows$="[[maxRows]]"
          on-change="_onChange"></iron-autogrow-textarea>
73bcce88   luigser   COMPONENTS
60
61
62
63
64
65
66
67
68
69
70
71
  
        <template is="dom-if" if="[[errorMessage]]">
          <paper-input-error>[[errorMessage]]</paper-input-error>
        </template>
  
        <template is="dom-if" if="[[charCounter]]">
          <paper-input-char-counter></paper-input-char-counter>
        </template>
  
      </paper-input-container>
  
    </template>
73bcce88   luigser   COMPONENTS
72
73
74
  </dom-module>
  
  <script>
73bcce88   luigser   COMPONENTS
75
    Polymer({
73bcce88   luigser   COMPONENTS
76
77
78
79
80
81
82
      is: 'paper-textarea',
  
      behaviors: [
        Polymer.PaperInputBehavior
      ],
  
      properties: {
73bcce88   luigser   COMPONENTS
83
84
85
86
87
88
89
90
        _ariaLabelledBy: {
          observer: '_ariaLabelledByChanged',
          type: String
        },
  
        _ariaDescribedBy: {
          observer: '_ariaDescribedByChanged',
          type: String
e619a3b0   Luigi Serra   Controllet cross ...
91
92
93
94
95
96
97
98
99
100
101
102
103
        },
  
        /**
         * The initial number of rows.
         *
         * @attribute rows
         * @type number
         * @default 1
         */
        rows: {
          type: Number,
          value: 1
        },
73bcce88   luigser   COMPONENTS
104
  
e619a3b0   Luigi Serra   Controllet cross ...
105
106
107
108
109
110
111
112
113
114
115
116
        /**
         * The maximum number of rows this element can grow to until it
         * scrolls. 0 means no maximum.
         *
         * @attribute maxRows
         * @type number
         * @default 0
         */
        maxRows: {
         type: Number,
         value: 0
        }
73bcce88   luigser   COMPONENTS
117
118
119
120
121
122
123
124
125
      },
  
      _ariaLabelledByChanged: function(ariaLabelledBy) {
        this.$.input.textarea.setAttribute('aria-labelledby', ariaLabelledBy);
      },
  
      _ariaDescribedByChanged: function(ariaDescribedBy) {
        this.$.input.textarea.setAttribute('aria-describedby', ariaDescribedBy);
      }
73bcce88   luigser   COMPONENTS
126
    });
73bcce88   luigser   COMPONENTS
127
  </script>