Blame view

bower_components/paper-input/paper-textarea.html 2.94 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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  <!--
  @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>
  
      <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]]"
          autocapitalize$="[[autocapitalize]]"></iron-autogrow-textarea>
  
        <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>
  
  </dom-module>
  
  <script>
  
  (function() {
  
    Polymer({
  
      is: 'paper-textarea',
  
      behaviors: [
        Polymer.PaperInputBehavior
      ],
  
      properties: {
  
        _ariaLabelledBy: {
          observer: '_ariaLabelledByChanged',
          type: String
        },
  
        _ariaDescribedBy: {
          observer: '_ariaDescribedByChanged',
          type: String
        }
  
      },
  
      _ariaLabelledByChanged: function(ariaLabelledBy) {
        this.$.input.textarea.setAttribute('aria-labelledby', ariaLabelledBy);
      },
  
      _ariaDescribedByChanged: function(ariaDescribedBy) {
        this.$.input.textarea.setAttribute('aria-describedby', ariaDescribedBy);
      }
  
    });
  
  })();
  
  </script>