Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / third_party / polymer / v1_0 / components / paper-input / paper-input-char-counter.html
blob566f8c63ff82e6de5de06cc60968c1afe4204f5b
1 <!--
2 @license
3 Copyright (c) 2015 The Polymer Project Authors. All rights reserved.
4 This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
5 The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
6 The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
7 Code distributed by Google as part of the polymer project is also
8 subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
9 -->
11 <link rel="import" href="../polymer/polymer.html">
12 <link rel="import" href="../paper-styles/paper-styles.html">
13 <link rel="import" href="paper-input-addon-behavior.html">
15 <!--
16 `<paper-input-char-counter>` is a character counter for use with `<paper-input-container>`. It
17 shows the number of characters entered in the input and the max length if it is specified.
19 <paper-input-container>
20 <input is="iron-input" maxlength="20">
21 <paper-input-char-counter></paper-input-char-counter>
22 </paper-input-container>
24 ### Styling
26 The following mixin is available for styling:
28 Custom property | Description | Default
29 ----------------|-------------|----------
30 `--paper-input-char-counter` | Mixin applied to the element | `{}`
31 -->
32 <dom-module id="paper-input-char-counter">
34 <style>
36 :host {
37 display: inline-block;
38 float: right;
40 @apply(--paper-font-caption);
41 @apply(--paper-input-char-counter);
44 </style>
46 <template>
48 <span>[[_charCounterStr]]</span>
50 </template>
52 </dom-module>
54 <script>
56 (function() {
58 Polymer({
60 is: 'paper-input-char-counter',
62 behaviors: [
63 Polymer.PaperInputAddonBehavior
66 properties: {
68 _charCounterStr: {
69 type: String,
70 value: '0'
75 update: function(state) {
76 if (!state.inputElement) {
77 return;
80 state.value = state.value || '';
82 // Account for the textarea's new lines.
83 var str = state.value.replace(/(\r\n|\n|\r)/g, '--').length;
85 if (state.inputElement.hasAttribute('maxlength')) {
86 str += '/' + state.inputElement.getAttribute('maxlength');
88 this._charCounterStr = str;
91 });
93 })();
95 </script>