@coveord/plasma-mantine
Version:
A Plasma flavoured Mantine theme
124 lines (123 loc) • 5.59 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "Prompt", {
enumerable: true,
get: function() {
return Prompt;
}
});
var _interop_require_default = require("@swc/helpers/_/_interop_require_default");
var _object_spread = require("@swc/helpers/_/_object_spread");
var _object_spread_props = require("@swc/helpers/_/_object_spread_props");
var _object_without_properties = require("@swc/helpers/_/_object_without_properties");
var _jsxruntime = require("react/jsx-runtime");
var _core = require("@mantine/core");
var _react = require("react");
var _modal = require("../modal");
var _criticalsvg = /*#__PURE__*/ _interop_require_default._(require("./icons/critical.svg"));
var _infosvg = /*#__PURE__*/ _interop_require_default._(require("./icons/info.svg"));
var _successsvg = /*#__PURE__*/ _interop_require_default._(require("./icons/success.svg"));
var _warningsvg = /*#__PURE__*/ _interop_require_default._(require("./icons/warning.svg"));
var _Promptcontext = require("./Prompt.context");
var _Promptmodulecss = /*#__PURE__*/ _interop_require_default._(require("./Prompt.module.css"));
var _PromptCancelButton = require("./PromptCancelButton");
var _PromptConfirmButton = require("./PromptConfirmButton");
var PROMPT_VARIANT_ICONS_SRC = {
success: _successsvg.default,
warning: _warningsvg.default,
critical: _criticalsvg.default,
info: _infosvg.default
};
var defaultProps = {
variant: 'info',
centered: true
};
var varsResolver = (0, _core.createVarsResolver)(function(_theme, param) {
var icon = param.icon;
return {
root: {
'--prompt-icon-size': icon ? undefined : '88px'
}
};
});
var Prompt = (0, _core.factory)(function(_props, ref) {
var props = (0, _core.useProps)('Prompt', defaultProps, _props);
var variant = props.variant, title = props.title, icon = props.icon, children = props.children, className = props.className, classNames = props.classNames, style = props.style, styles = props.styles, unstyled = props.unstyled, vars = props.vars, others = _object_without_properties._(props, [
"variant",
"title",
"icon",
"children",
"className",
"classNames",
"style",
"styles",
"unstyled",
"vars"
]);
var getStyles = (0, _core.useStyles)({
name: 'Prompt',
props: props,
classes: _Promptmodulecss.default,
className: className,
style: style,
classNames: classNames,
styles: styles,
unstyled: unstyled,
vars: vars,
varsResolver: varsResolver
});
var stylesApiProps = {
classNames: classNames,
styles: styles
};
var footers = [];
var otherChildren = [];
_react.Children.forEach(children, function(child) {
(child.type === _modal.Modal.Footer ? footers : otherChildren).push(child);
});
return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Promptcontext.PromptContextProvider, {
value: {
variant: variant,
getStyles: getStyles
},
children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_modal.Modal.Root, _object_spread_props._(_object_spread._({
ref: ref,
variant: "prompt",
size: "sm"
}, others, getStyles('root')), {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsx)(_modal.Modal.Overlay, _object_spread._({}, getStyles('overlay', stylesApiProps))),
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_modal.Modal.Content, _object_spread_props._(_object_spread._({}, getStyles('content', stylesApiProps)), {
children: [
/*#__PURE__*/ (0, _jsxruntime.jsxs)(_modal.Modal.Header, _object_spread_props._(_object_spread._({}, getStyles('header', stylesApiProps)), {
children: [
icon || icon === null ? icon : /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Image, _object_spread_props._(_object_spread._({
alt: "",
role: "presentation"
}, getStyles('icon', stylesApiProps)), {
src: PROMPT_VARIANT_ICONS_SRC[variant]
})),
/*#__PURE__*/ (0, _jsxruntime.jsx)(_modal.Modal.Title, _object_spread_props._(_object_spread._({}, getStyles('title', stylesApiProps)), {
children: title
})),
/*#__PURE__*/ (0, _jsxruntime.jsx)(_modal.Modal.CloseButton, _object_spread._({}, getStyles('close', stylesApiProps)))
]
})),
/*#__PURE__*/ (0, _jsxruntime.jsx)(_modal.Modal.Body, _object_spread_props._(_object_spread._({}, getStyles('body', stylesApiProps)), {
children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_core.Box, _object_spread_props._(_object_spread._({}, getStyles('inner', stylesApiProps)), {
children: otherChildren
}))
})),
footers
]
}))
]
}))
});
});
Prompt.CancelButton = _PromptCancelButton.PromptCancelButton;
Prompt.ConfirmButton = _PromptConfirmButton.PromptConfirmButton;
Prompt.Footer = _modal.Modal.Footer;
//# sourceMappingURL=Prompt.js.map