feather-icons-react
Version:
Feather Icons as a React component.
33 lines (31 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _icons = _interopRequireDefault(require("./icons.json"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
// for now this icons json is generated via the build script from latest feather
// TODO: automatically generate this JSON via this repo's build script
var createMarkup = function createMarkup(markup) {
// we dont sanitize markup
// since icons.json is maintained within the package before build
return {
__html: markup
};
};
var IconInner = function IconInner(_ref) {
var icon = _ref.icon;
// icons are based on generated icons.json from feather lib
var iconMarkup = _icons["default"][icon];
if (iconMarkup) {
// i didnt want to use dangerouslySetInnerHTML
// but this way I can just use the JSON to spit out SVG.
return /*#__PURE__*/_react["default"].createElement("g", {
dangerouslySetInnerHTML: createMarkup(iconMarkup)
});
}
return null;
};
var _default = exports["default"] = IconInner;