@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
42 lines (41 loc) • 1.8 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "InlineConfirm", {
enumerable: true,
get: function() {
return InlineConfirm;
}
});
var _sliced_to_array = require("@swc/helpers/_/_sliced_to_array");
var _jsxruntime = require("react/jsx-runtime");
var _core = require("@mantine/core");
var _react = require("react");
var _InlineConfirmContext = require("./InlineConfirmContext");
var _InlineConfirmPrompt = require("./InlineConfirmPrompt");
var _InlineConfirmTarget = require("./InlineConfirmTarget");
var defaultProps = {};
var InlineConfirm = function(_props) {
var children = (0, _core.useProps)('InlineConfirm', defaultProps, _props).children;
var _useState = _sliced_to_array._((0, _react.useState)(null), 2), confirmingId = _useState[0], setConfirmingId = _useState[1];
var convertedChildren = _react.Children.toArray(children);
var prompt = convertedChildren.find(function(child) {
var _child_props;
return child.type !== _InlineConfirmTarget.InlineConfirmTarget && ((_child_props = child.props) === null || _child_props === void 0 ? void 0 : _child_props.inlineConfirmId) === confirmingId;
});
var clearConfirm = function() {
return setConfirmingId(null);
};
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_InlineConfirmContext.InlineConfirmProvider, {
value: {
confirmingId: confirmingId,
setConfirmingId: setConfirmingId,
clearConfirm: clearConfirm
},
children: prompt !== null && prompt !== void 0 ? prompt : children
});
};
InlineConfirm.Prompt = _InlineConfirmPrompt.InlineConfirmPrompt;
InlineConfirm.Target = _InlineConfirmTarget.InlineConfirmTarget;
//# sourceMappingURL=InlineConfirm.js.map