UNPKG

codogo-react-widgets

Version:

Provides a unified way to access the styling of commonly used widgets across different apps

83 lines (58 loc) 2.83 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _taggedTemplateLiteral2 = require("babel-runtime/helpers/taggedTemplateLiteral"); var _taggedTemplateLiteral3 = _interopRequireDefault(_taggedTemplateLiteral2); var _extends2 = require("babel-runtime/helpers/extends"); var _extends3 = _interopRequireDefault(_extends2); var _objectWithoutProperties2 = require("babel-runtime/helpers/objectWithoutProperties"); var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2); var _templateObject = (0, _taggedTemplateLiteral3.default)(["\n\tposition: relative;\n\t", "\n\t", "\t\n"], ["\n\tposition: relative;\n\t", "\n\t", "\t\n"]), _templateObject2 = (0, _taggedTemplateLiteral3.default)(["\n\tbackground: ", ";\n\tmask-size: contain;\n\tmask-image: url(", ");\n\t", "\n"], ["\n\tbackground: ", ";\n\tmask-size: contain;\n\tmask-image: url(", ");\n\t", "\n"]); var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _styledComponents = require("styled-components"); var _styledComponents2 = _interopRequireDefault(_styledComponents); var _icons = require("./icons"); var _icons2 = _interopRequireDefault(_icons); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Icon = function Icon(props) { var style = props.style, p = (0, _objectWithoutProperties3.default)(props, ["style"]); return _react2.default.createElement( Wrapper, (0, _extends3.default)({}, p, { style: style }), _react2.default.createElement(Picture, p) ); }; Icon.propTypes = { onClick: _react2.default.PropTypes.func, type: _react2.default.PropTypes.oneOf(_icons2.default).isRequired, size: _react2.default.PropTypes.oneOf(["xs", "sm", "md", "lg", "xl"]), color: _react2.default.PropTypes.string }; Icon.defaultProps = { size: "md" }; var iconSizeMap = { xs: 15, sm: 20, md: 25, lg: 30, xl: 35 }; var Wrapper = _styledComponents2.default.div(_templateObject, function (p) { return p.onClick && "\n\t\topacity: 0.33;\n\t\ttransition: 0.1s linear all;\n\t\tcursor: pointer;\n\n\t\t&:hover {\n\t\t\topacity: 0.66;\n\t\t}\n\t"; }, function (p) { return (p.input || p.cm) && "\n\t\tposition: absolute;\n\t\tbottom: 0;\n\t\tleft: " + (p.cm ? 0.5 : 0) + "em;\n\t"; }); var Picture = _styledComponents2.default.div(_templateObject2, function (p) { return p.color || p.theme.black; }, function (p) { return require("../img/icons/" + _icons.iconsData[p.type].image + ".svg"); }, function (p) { return (p.onClick || p.fauxButton || p.input || p.cm) && "\n\t\tposition: absolute;\n\t\ttop: 50%;\n\t\tleft: 50%;\n\t\tmargin-top: -" + iconSizeMap[p.size] * 0.5 + "px;\n\t\tmargin-left: -" + iconSizeMap[p.size] * 0.5 + "px;\n\t"; }); exports.default = Icon; //# sourceMappingURL=icon.js.map