Add ICU message format support
[chromium-blink-merge.git] / third_party / polymer / v1_0 / components-chromium / paper-radio-button / paper-radio-button-extracted.js
blob5b50a19b9d2116d71b40efe05aa7c5483c819abe
2     Polymer({
3       is: 'paper-radio-button',
5       behaviors: [
6         Polymer.PaperInkyFocusBehavior
7       ],
9       hostAttributes: {
10         role: 'radio',
11         'aria-checked': false,
12         tabindex: 0
13       },
15       properties: {
16         /**
17          * Fired when the checked state changes due to user interaction.
18          *
19          * @event change
20          */
22         /**
23          * Fired when the checked state changes.
24          *
25          * @event iron-change
26          */
28         /**
29          * Gets or sets the state, `true` is checked and `false` is unchecked.
30          */
31         checked: {
32           type: Boolean,
33           value: false,
34           reflectToAttribute: true,
35           notify: true,
36           observer: '_checkedChanged'
37         },
39         /**
40          * If true, the button toggles the active state with each tap or press
41          * of the spacebar.
42          */
43         toggles: {
44           type: Boolean,
45           value: true,
46           reflectToAttribute: true
47         }
48       },
50       ready: function() {
51         if (Polymer.dom(this).textContent == '') {
52           this.$.radioLabel.hidden = true;
53         } else {
54           this.setAttribute('aria-label', Polymer.dom(this).textContent);
55         }
56         this._isReady = true;
57       },
59       _buttonStateChanged: function() {
60         if (this.disabled) {
61           return;
62         }
63         if (this._isReady) {
64           this.checked = this.active;
65         }
66       },
68       _checkedChanged: function() {
69         this.setAttribute('aria-checked', this.checked ? 'true' : 'false');
70         this.active = this.checked;
71         this.fire('iron-change');
72       }
73     })
74   ;