UNPKG

@kiwicom/smart-faq

Version:

119 lines (90 loc) 4.31 kB
"use strict"; require("core-js/modules/es.array.slice"); require("core-js/modules/es.object.assign"); require("core-js/modules/es.object.freeze"); require("core-js/modules/es.object.get-own-property-descriptor"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var React = _interopRequireWildcard(require("react")); var _Close = _interopRequireDefault(require("@kiwicom/orbit-components/lib/icons/Close")); var _ButtonLink = _interopRequireDefault(require("@kiwicom/orbit-components/lib/ButtonLink")); var _styledComponents = _interopRequireWildcard(require("styled-components")); var _Close2 = _interopRequireDefault(require("../../context/Close")); var _GuaranteeChatInfo = require("../../../shared/context/GuaranteeChatInfo"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 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 _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } function _templateObject2() { var data = _taggedTemplateLiteral(["\n background-color: #fff;\n border: 1px solid #eaeaea;\n outline: none;\n flex: 1;\n height: inherit;\n"]); _templateObject2 = function _templateObject2() { return data; }; return data; } function _templateObject() { var data = _taggedTemplateLiteral(["\n position: absolute;\n top: 14px;\n right: 12px;\n"]); _templateObject = function _templateObject() { return data; }; return data; } function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); } var DesktopButton = (0, _styledComponents.default)(_ButtonLink.default)(_templateObject()); var MobileButton = (0, _styledComponents.default)(_ButtonLink.default)(_templateObject2()); 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 CloseButton = function CloseButton(_ref) { var onClick = _ref.onClick, isMobile = _ref.isMobile, theme = _ref.theme; var props = { transparent: true, tabIndex: '-1', role: 'button', dataTest: 'CloseButton' }; return isMobile ? React.createElement(MobileButton, _extends({ block: true, onClick: onClick }, props), React.createElement(_Close.default, { dataTest: "closeButtonIcon", customColor: theme.orbit.colorIconPrimary, size: "medium" })) : React.createElement(DesktopButton, _extends({ onClick: onClick }, props), React.createElement(_Close.default, { customColor: theme.orbit.colorIconPrimary, size: "medium" })); }; var CloseButtonWrapper = function CloseButtonWrapper(_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(CloseButton, { onClick: getOnClose(onClose, isChatActive), isMobile: Boolean(isMobile), theme: theme }); }); }); }; var _default = (0, _styledComponents.withTheme)(CloseButtonWrapper); exports.default = _default;