forked from firefox-devtools/debugger
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Svg.js
39 lines (31 loc) · 905 Bytes
/
Svg.js
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
33
34
35
36
37
38
39
/* 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/>. */
const React = require("react");
import InlineSVG from "svg-inline-react";
const svg = {
breakpoint: require("./breakpoint.svg"),
"column-marker": require("./column-marker.svg")
};
type SvgType = {
name: string,
className?: string,
onClick?: () => void,
"aria-label"?: string
};
function Svg({ name, className, onClick, "aria-label": ariaLabel }: SvgType) {
if (!svg[name]) {
const error = `Unknown SVG: ${name}`;
console.warn(error);
return null;
}
const props = {
className: `${name} ${className || ""}`,
onClick,
"aria-label": ariaLabel,
src: svg[name]
};
return <InlineSVG {...props} />;
}
Svg.displayName = "Svg";
module.exports = Svg;