UNPKG

@react95/core

Version:
52 lines (51 loc) 2.05 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const React = require("react"); const icons = require("@react95/icons"); const Alert_css = require("./Alert.css.cjs"); const Modal = require("../Modal/Modal.cjs"); const chord = require("./assets/chord.mp3.cjs"); const RenderImage = ({ option }) => { switch (option) { case "info": return /* @__PURE__ */ React.createElement(icons.User5, { width: 32, height: 32, variant: "32x32_4" }); case "question": return /* @__PURE__ */ React.createElement(icons.User3, { width: 32, height: 32, variant: "32x32_4" }); case "warning": return /* @__PURE__ */ React.createElement(icons.User2, { width: 32, height: 32, variant: "32x32_4" }); case "error": default: return /* @__PURE__ */ React.createElement(icons.User4, { width: 32, height: 32, variant: "32x32_4" }); } }; const Alert = React.forwardRef( ({ type = "error", message, hasSound = false, dragOptions, ...rest }, ref) => { if (hasSound) { React.useEffect(() => { const audio = new Audio(chord); audio.play(); }, []); } return /* @__PURE__ */ React.createElement( Modal.Modal, { height: "120", dragOptions: { defaultPosition: { x: typeof window == "undefined" ? 0 : Math.floor(window.innerWidth / 2) - 150, y: typeof window == "undefined" ? 0 : Math.floor(window.innerHeight / 2) - 100 }, ...dragOptions }, buttons: [{ value: "OK", onClick: () => { } }], hasWindowButton: false, buttonsAlignment: "center", ...rest, ref }, /* @__PURE__ */ React.createElement(Modal.Modal.Content, { className: Alert_css.dialog }, /* @__PURE__ */ React.createElement("div", { className: Alert_css.icon }, /* @__PURE__ */ React.createElement(RenderImage, { option: type })), /* @__PURE__ */ React.createElement("div", { className: Alert_css.message }, message)) ); } ); exports.Alert = Alert;