@kiwicom/smart-faq
Version:
82 lines (65 loc) • 3.07 kB
JavaScript
require("core-js/modules/es.object.get-own-property-descriptor");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _style = _interopRequireDefault(require("styled-jsx/style"));
var React = _interopRequireWildcard(require("react"));
var _Close = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/Close"));
var _styledComponents = require("styled-components");
var _Close2 = _interopRequireDefault(require("../../context/Close"));
var _GuaranteeChatInfo = require("../../../shared/context/GuaranteeChatInfo");
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// @flow
var getOnClose = function getOnClose(onClick, isChatActive) {
return function () {
if (isChatActive) {
// FIXME: do we really need this alert?
// eslint-disable-next-line no-alert
var canClose = window.confirm('Closing this window will cause the chat connection to be interrupted, do you want to proceed?');
if (!canClose) {
return;
}
}
onClick();
};
};
var CloseIcon = function CloseIcon(_ref) {
var onClick = _ref.onClick,
isMobile = _ref.isMobile,
theme = _ref.theme;
return React.createElement("div", {
"data-test": "CloseButton",
onKeyUp: onClick,
onClick: onClick,
role: "button",
tabIndex: "-1",
className: "jsx-3536623650" + " " + "".concat(isMobile ? 'closeIconMobile' : 'closeIconDesktop')
}, React.createElement(_Close.default, {
customColor: theme.orbit.colorIconPrimary,
size: "medium"
}), React.createElement(_style.default, {
styleId: "3536623650",
css: ".closeIconDesktop.jsx-3536623650{position:absolute;top:12px;right:12px;padding:8px;cursor:pointer;}.closeIconMobile.jsx-3536623650{-webkit-flex:1;-ms-flex:1;flex:1;padding:19px;text-align:center;background-color:#fff;border:1px solid #eaeaea;outline:none;}"
}));
};
var CloseButton = function CloseButton(_ref2) {
var isMobile = _ref2.isMobile,
theme = _ref2.theme;
return React.createElement(_GuaranteeChatInfo.GuaranteeChatContext.Consumer, null, function (_ref3) {
var isChatActive = _ref3.isChatActive;
return React.createElement(_Close2.default.Consumer, null, function (onClose
/*: () => void*/
) {
return React.createElement(CloseIcon, {
onClick: getOnClose(onClose, isChatActive),
isMobile: Boolean(isMobile),
theme: theme
});
});
});
};
var _default = (0, _styledComponents.withTheme)(CloseButton);
exports.default = _default;
;