@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
76 lines (75 loc) • 2.67 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useClickWithLoading", {
enumerable: true,
get: function() {
return useClickWithLoading;
}
});
var _async_to_generator = require("@swc/helpers/_/_async_to_generator");
var _instanceof = require("@swc/helpers/_/_instanceof");
var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
var _ts_generator = require("@swc/helpers/_/_ts_generator");
var _react = require("react");
var useClickWithLoading = function(handler) {
var _useState = _sliced_to_array._((0, _react.useState)(false), 2), isLoading = _useState[0], setIsLoading = _useState[1];
var handleClick = /*#__PURE__*/ function() {
var _ref = _async_to_generator._(function(event) {
var possiblePromise, err;
return _ts_generator._(this, function(_state) {
switch(_state.label){
case 0:
possiblePromise = handler === null || handler === void 0 ? void 0 : handler(event);
_state.label = 1;
case 1:
_state.trys.push([
1,
4,
,
5
]);
if (!_instanceof._(possiblePromise, Promise)) return [
3,
3
];
setIsLoading(true);
return [
4,
possiblePromise
];
case 2:
_state.sent();
setIsLoading(false);
_state.label = 3;
case 3:
return [
3,
5
];
case 4:
err = _state.sent();
setIsLoading(false);
console.error(err);
return [
3,
5
];
case 5:
return [
2
];
}
});
});
return function handleClick(event) {
return _ref.apply(this, arguments);
};
}();
return {
isLoading: isLoading,
handleClick: handleClick
};
};
//# sourceMappingURL=useClickWithLoading.js.map