Linux: Depend on liberation-fonts package for RPMs.
[chromium-blink-merge.git] / ui / webui / resources / cr_elements / v1_0 / cr_checkbox / cr_checkbox.js
blobc193ed0288b15cafa8d1f9ce4cb4bd31f5ace52c
1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 /**
6  * @fileoverview
7  * `cr-checkbox` is a button that can be either checked or unchecked. User
8  * can tap the checkbox to check or uncheck it. Usually you use checkboxes
9  * to allow user to select multiple options from a set. If you have a single
10  * ON/OFF option, avoid using a single checkbox and use `cr-toggle-button`
11  * instead.
12  *
13  * Example:
14  *     <cr-checkbox></cr-checkbox>
15  *     <cr-checkbox checked></cr-checkbox>
16  *
17  * @element cr-checkbox
18  */
19 Polymer({
20   is: 'cr-checkbox',
22   properties: {
23     /**
24      * Gets or sets the state. `true` is checked and `false` is unchecked.
25      */
26     checked: {
27       type: Boolean,
28       value: false,
29       notify: true,
30       reflectToAttribute: true
31     },
33     /**
34      * If true, the user cannot interact with this element.
35      */
36     disabled: {
37       type: Boolean,
38       value: false,
39       reflectToAttribute: true
40     },
41   },
43   toggle: function() {
44     this.checked = !this.checked;
45   },
47   /** @override */
48   ready: function() {
49     this.$.events.forward(this.$.checkbox, ['change']);
50   },
51 });