@kiwicom/smart-faq
Version:
119 lines (90 loc) • 4.31 kB
JavaScript
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;
;