@brightleaf/elements
Version:
React UI elements styled with Bulma CSS
82 lines (70 loc) • 3.1 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = exports.ConfirmButton = void 0;
var _react = _interopRequireDefault(require("react"));
var _ = require("../");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance"); }
function _iterableToArrayLimit(arr, i) { if (!(Symbol.iterator in Object(arr) || Object.prototype.toString.call(arr) === "[object Arguments]")) { return; } var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
var ConfirmButton = function ConfirmButton(_ref) {
var onConfirm = _ref.onConfirm,
onCancel = _ref.onCancel,
question = _ref.question,
confirmText = _ref.confirmText,
declineText = _ref.declineText,
isDisabled = _ref.isDisabled,
children = _ref.children,
title = _ref.title;
var _useToggle = (0, _.useToggle)(false),
_useToggle2 = _slicedToArray(_useToggle, 2),
modalShown = _useToggle2[0],
setModalShown = _useToggle2[1];
return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_.Button, {
disabled: isDisabled,
isPrimary: true,
isLoading: modalShown,
onClick: function onClick(e) {
setModalShown(true);
e.preventDefault();
}
}, children), _react.default.createElement(_.Modal, {
includeTrigger: false,
triggerText: "",
triggerFn: setModalShown,
isActive: modalShown,
ModalType: _.ModalCard,
onCloseClick: onCancel
}, _react.default.createElement(_.ModalCardHead, {
title: title
}), _react.default.createElement(_.ModalCardBody, null, question), _react.default.createElement(_.ModalCardFoot, null, _react.default.createElement(_.Field, {
isGrouped: true
}, _react.default.createElement(_.Control, null, _react.default.createElement(_.Button, {
isSuccess: true,
onClick: function onClick(e) {
e.preventDefault();
onConfirm();
setModalShown(false);
}
}, confirmText), _react.default.createElement(_.Button, {
onClick: function onClick(e) {
e.preventDefault();
onCancel();
setModalShown(false);
}
}, declineText))))));
};
exports.ConfirmButton = ConfirmButton;
ConfirmButton.defaultProps = {
confirmText: 'Ok',
onCancel: function onCancel() {},
onConfirm: function onConfirm() {},
declineText: 'Cancel',
question: 'Are you sure?',
title: 'Please confirm'
};
var _default = ConfirmButton;
exports.default = _default;