wix-style-react
Version:
wix-style-react
112 lines (110 loc) • 3.36 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _system = require("@wix/wix-ui-icons-common/system");
var _Text = _interopRequireDefault(require("../Text"));
var _SocialButtonSt = require("./SocialButton.st.css");
var _constants = require("./constants");
var _ButtonCore = _interopRequireDefault(require("../Button/ButtonCore"));
var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/SocialButton/SocialButton.js";
var iconMap = {
facebook: _system.SocialButtonFacebook,
instagram: _system.SocialButtonInstagram,
twitter: _system.SocialButtonTwitter,
linkedin: _system.SocialButtonLinkedIn,
pinterest: _system.SocialButtonPinterest,
youtube: _system.SocialButtonYoutube,
xcorp: _system.SocialButtonX
};
var Icon = /*#__PURE__*/_react.default.memo(props => {
var {
icon,
disabled,
dataHook,
text
} = props;
var SocialIcon = iconMap[icon];
return /*#__PURE__*/_react.default.createElement(_ButtonCore.default, {
className: (0, _SocialButtonSt.st)(_SocialButtonSt.classes.icon, {
type: icon,
disabled,
single: !text
}),
"data-hook": dataHook,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 34,
columnNumber: 5
}
}, !!iconMap[icon] && /*#__PURE__*/_react.default.createElement(SocialIcon, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 38,
columnNumber: 27
}
}));
});
/** Social networks share button with title */
var SocialButton = _ref => {
var {
dataHook,
text,
onClick,
icon,
disabled
} = _ref;
return /*#__PURE__*/_react.default.createElement("div", {
className: (0, _SocialButtonSt.st)(_SocialButtonSt.classes.root, {
disabled
}),
"data-hook": dataHook,
onClick: disabled ? undefined : onClick,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 46,
columnNumber: 5
}
}, /*#__PURE__*/_react.default.createElement(Icon, {
dataHook: _constants.dataHooks.socialIcon,
text: text,
icon: icon,
disabled: disabled,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 51,
columnNumber: 7
}
}), text && /*#__PURE__*/_react.default.createElement(_Text.default, {
size: "small",
dataHook: _constants.dataHooks.socialTitle,
skin: disabled ? 'disabled' : 'standard',
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 58,
columnNumber: 9
}
}, text));
};
SocialButton.propTypes = {
/** hook for testing purposes */
dataHook: _propTypes.default.string,
/** Text for the button */
text: _propTypes.default.node,
/** Click handler */
onClick: _propTypes.default.func,
/** Share button social network type */
icon: _propTypes.default.oneOf(['facebook', 'instagram', 'twitter', 'linkedin', 'pinterest', 'youtube', 'xcorp']),
/** Disable button */
disabled: _propTypes.default.bool
};
SocialButton.displayName = 'SocialButton';
var _default = exports.default = SocialButton;
//# sourceMappingURL=SocialButton.js.map