@music-loopy/loops
Version:
A React component library for Music Loopy Applications and websites
55 lines (54 loc) • 3.12 kB
JavaScript
;
exports.__esModule = true;
exports["default"] = exports.SocialBar = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _styledComponents = _interopRequireDefault(require("styled-components"));
var _apple = _interopRequireDefault(require("./apple.svg"));
var _facebook = _interopRequireDefault(require("./facebook.svg"));
var _google = _interopRequireDefault(require("./google.svg"));
var _instagram = _interopRequireDefault(require("./instagram.svg"));
var _linkedin = _interopRequireDefault(require("./linkedin.svg"));
var _Icon = _interopRequireDefault(require("../Icon"));
var _templateObject, _templateObject2;
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
function _taggedTemplateLiteralLoose(e, t) { return t || (t = e.slice(0)), e.raw = t, e; }
var Container = _styledComponents["default"].button(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["\n border: 1px solid #f2f2f7;\n width: 48px;\n height: 48px;\n border-radius: 12px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n transition: background-color 0.3s ease;\n &:hover {\n background-color: #f2f2f7;\n }\n svg {\n width: 36px;\n height: 36px;\n }\n"])));
var SocialBarContainer = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = _taggedTemplateLiteralLoose(["\n display: flex;\n gap: 15px;\n flex-direction: ", ";\n align-items: center;\n justify-content: center;\n padding: 16px;\n background-color: ", ";\n border-radius: 12px;\n box-shadow: ", ";\n"])), function (props) {
return props.layout === 'vertical' ? 'column' : 'row';
}, function (props) {
return props.hasBackground ? props.theme.colors.lightcolor : 'transparent';
}, function (props) {
return props.hasBackground ? '0 2px 4px rgba(0, 0, 0, 0.1)' : 'none';
});
var IconBox = function IconBox(props) {
console.log(props);
return /*#__PURE__*/_react["default"].createElement(Container, props, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
name: props.type,
size: "2em",
fill: props.fill || 'dark'
}));
};
var SocialBar = exports.SocialBar = function SocialBar(_ref) {
var icons = _ref.icons,
_ref$layout = _ref.layout,
layout = _ref$layout === void 0 ? 'horizontal' : _ref$layout,
hasBackground = _ref.hasBackground;
console.log('icons', icons);
return /*#__PURE__*/_react["default"].createElement(SocialBarContainer, {
layout: layout,
hasBackground: hasBackground
}, icons.map(function (icon) {
return /*#__PURE__*/_react["default"].createElement(IconBox, icon);
}));
};
SocialBar.propTypes = process.env.NODE_ENV !== "production" ? {
icons: _propTypes["default"].arrayOf(_propTypes["default"].shape({
type: _propTypes["default"].oneOf(['apple', 'facebook', 'google', 'instagram', 'linkedin']).isRequired,
onClick: _propTypes["default"].func
})).isRequired
} : {};
SocialBar.defaultProps = {
icons: []
};
var _default = exports["default"] = SocialBar;