cometchat-react-ui-kit2
Version:
CometChat UI Kit for React App
94 lines (93 loc) • 3.9 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.CometChatConfirmDialog = void 0;
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _style = require("./style");
var _loading = _interopRequireDefault(require("./resources/loading.svg"));
var _PrimaryComponents = require("../../PrimaryComponents");
var CometChatConfirmDialog = function CometChatConfirmDialog(props) {
var _React$useState = _react["default"].useState("initial"),
_React$useState2 = (0, _slicedToArray2["default"])(_React$useState, 2),
state = _React$useState2[0],
setState = _React$useState2[1];
var confirmButtonText = props.confirmButtonText;
var cancelButtonText = props.cancelButtonText;
var onConfirm = function onConfirm(event) {
setState("loading");
props.onConfirm(event).then(function (response) {
setState("done");
})["catch"](function (error) {
setState("error");
});
};
return /*#__PURE__*/_react["default"].createElement("div", {
className: "confirm__dialog",
style: (0, _style.dialogWrapperStyle)(props)
}, /*#__PURE__*/_react["default"].createElement("div", {
style: (0, _style.dialogLoadingWrapperStyle)(props, state),
className: "dialog__loading__wrapper"
}, /*#__PURE__*/_react["default"].createElement("div", {
style: (0, _style.dialogLoadingStyle)(_loading["default"]),
className: "dialog__loading"
})), /*#__PURE__*/_react["default"].createElement("div", {
className: "dialog__form",
style: (0, _style.dialogFormStyle)(props, state)
}, /*#__PURE__*/_react["default"].createElement("div", {
className: "dialog__error",
style: (0, _style.dialogErrorStyle)(props, state)
}, (0, _PrimaryComponents.localize)("SOMETHING_WRONG")), /*#__PURE__*/_react["default"].createElement("div", {
className: "dialog__title",
style: (0, _style.dialogTitleStyle)(props)
}, props.title), /*#__PURE__*/_react["default"].createElement("div", {
className: "dialog__message",
style: (0, _style.dialogMessageStyle)(props)
}, props.messageText), /*#__PURE__*/_react["default"].createElement("div", {
className: "dialog__buttons",
style: (0, _style.dialogButtonStyle)(props)
}, /*#__PURE__*/_react["default"].createElement("button", {
type: "button",
className: "button__cancel",
style: (0, _style.buttonConfirmStyle)(props),
onClick: onConfirm
}, confirmButtonText), /*#__PURE__*/_react["default"].createElement("button", {
type: "button",
className: "button__confirm",
style: (0, _style.buttonCancelStyle)(props),
onClick: props.onCancel
}, cancelButtonText))));
};
exports.CometChatConfirmDialog = CometChatConfirmDialog;
CometChatConfirmDialog.propTypes = {
isOpen: _propTypes["default"].bool.isRequired,
title: _propTypes["default"].string.isRequired,
confirmButtonText: _propTypes["default"].string.isRequired,
cancelButtonText: _propTypes["default"].string.isRequired,
messageText: _propTypes["default"].string.isRequired,
onConfirm: _propTypes["default"].func.isRequired,
onCancel: _propTypes["default"].func.isRequired,
style: _propTypes["default"].object.isRequired
};
CometChatConfirmDialog.defaultProps = {
isOpen: false,
title: "",
messageText: "Are you sure?",
confirmButtonText: "Delete",
cancelButtonText: "Cancel",
onConfirm: function onConfirm() {},
onCancel: function onCancel() {},
style: {
confirmButtonTextFont: "",
confirmButtonTextColor: "",
cancelButtonTextFont: "",
cancelButtonTextColor: "",
messageTextFont: "",
messageTextColor: "",
cancelBackground: "",
confirmBackground: ""
}
};