bbm-component-library-test
Version:
React based component library for all BBM web applications
104 lines (90 loc) • 3.54 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.icons = undefined;
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _styles = require("./styles");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
var icons = exports.icons = {
Arrow: require("./Arrow").default,
BoldArrow: require("./BoldArrow").default,
BoldDoubleArrow: require("./BoldDoubleArrow").default,
AssetPosition: require("./AssetPosition").default,
Attention: require("./Attention").default,
Bank: require("./Bank").default,
Cash: require("./Cash").default,
CashTransfer: require("./CashTransfer").default,
Check: require("./Check").default,
Checked: require("./Checked").default,
Close: require("./Close").default,
ForeignExchange: require("./ForeignExchange").default,
EmptyWallet: require("./EmptyWallet").default,
Document: require("./Document").default,
Download: require("./Download").default,
Email: require("./Email").default,
Summary: require("./Summary").default,
SmallArrow: require("./SmallArrow").default,
Filter: require("./Filter").default,
Signatures: require("./Signatures").default,
SignatureGroup: require("./SignatureGroup").default,
Info: require("./Info").default,
Lock: require("./Lock").default,
LinkArrow: require("./LinkArrow").default,
Logo: require("./Logo").default,
Logout: require("./Logout").default,
Menu: require("./Menu").default,
Transactions: require("./Transactions").default,
MenuClose: require("./MenuClose").default,
BrandLogo: require("./BrandLogo").default,
Papers: require("./Papers").default,
Portfolio: require("./Portfolio").default,
Wallet: require("./Wallet").default,
NotFound: require("./NotFound").default,
Keyboard: require("./Keyboard").default,
FlagBR: require("./FlagBR").default,
FlagUSA: require("./FlagUSA").default,
FlagCN: require("./FlagCN").default,
Erase: require("./Erase").default,
ToastrClose: require("./ToastrClose").default,
WaitingWarning: require("./WaitingWarning").default,
SentMail: require("./SentMail").default
};
function Icon(_ref) {
var type = _ref.type,
color = _ref.color,
width = _ref.width,
height = _ref.height,
dataTest = _ref.dataTest,
props = _objectWithoutProperties(_ref, ["type", "color", "width", "height", "dataTest"]);
var IconSvg = icons[type];
if (IconSvg) {
return _react2.default.createElement(
_styles.Span,
_extends({
color: color,
width: width,
height: height,
"data-test": dataTest
}, props),
_react2.default.createElement(IconSvg, null)
);
}
return null;
}
Icon.defaultProps = {
color: null,
height: null,
width: null
};
Icon.propTypes = {
color: _propTypes.string,
height: _propTypes.string,
width: _propTypes.string,
type: _propTypes.string.isRequired // eslint-disable-line react/no-typos
};
exports.default = Icon;