UNPKG

@coveord/plasma-mantine

Version:

A Plasma flavoured Mantine theme

124 lines (123 loc) 5.59 kB
"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