summaryrefslogtreecommitdiffstats
path: root/devtools/client/webconsole/components/FilterBar/FilterCheckbox.js
blob: f36788e9987a6f47a4bb6d53c12ac03682edc397 (plain)
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
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";

const PropTypes = require("resource://devtools/client/shared/vendor/react-prop-types.js");
const dom = require("resource://devtools/client/shared/vendor/react-dom-factories.js");

FilterCheckbox.displayName = "FilterCheckbox";

FilterCheckbox.propTypes = {
  label: PropTypes.string.isRequired,
  title: PropTypes.string,
  checked: PropTypes.bool.isRequired,
  onChange: PropTypes.func.isRequired,
};

function FilterCheckbox(props) {
  const { checked, label, title, onChange } = props;
  return dom.label(
    { title, className: "filter-checkbox" },
    dom.input({
      type: "checkbox",
      checked,
      onChange,
    }),
    label
  );
}

module.exports = FilterCheckbox;