summaryrefslogtreecommitdiffstats
path: root/browser/components/newtab/content-src/asrouter/components/Button/Button.jsx
blob: b3ece86f167f28c86bf674b91588a595149103dc (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
32
/* 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/. */

import React from "react";

const ALLOWED_STYLE_TAGS = ["color", "backgroundColor"];

export const Button = props => {
  const style = {};

  // Add allowed style tags from props, e.g. props.color becomes style={color: props.color}
  for (const tag of ALLOWED_STYLE_TAGS) {
    if (typeof props[tag] !== "undefined") {
      style[tag] = props[tag];
    }
  }
  // remove border if bg is set to something custom
  if (style.backgroundColor) {
    style.border = "0";
  }

  return (
    <button
      onClick={props.onClick}
      className={props.className || "ASRouterButton secondary"}
      style={style}
    >
      {props.children}
    </button>
  );
};