UNPKG

@kiwicom/smart-faq

Version:

82 lines (65 loc) 3.07 kB
"use strict"; 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;