kwikid-components-react
Version:
KwikID's Component Library in React
56 lines (55 loc) • 2.97 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _kwikidToolkit = require("kwikid-toolkit");
var _react = _interopRequireWildcard(require("react"));
var _reactDom = require("react-dom");
var _fa = require("react-icons/fa6");
var _Alert = require("./Alert.defaults");
var _Alert2 = require("./Alert.style");
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
const KwikUIAlert = _ref => {
let {
portalId = _Alert.KWIKUI_ALERT_DEFAULTS.portalId,
id = _Alert.KWIKUI_ALERT_DEFAULTS.id,
message = _Alert.KWIKUI_ALERT_DEFAULTS.message,
variant = _Alert.KWIKUI_ALERT_DEFAULTS.variant,
position = _Alert.KWIKUI_ALERT_DEFAULTS.position,
autoCloseTime = _Alert.KWIKUI_ALERT_DEFAULTS.autoCloseTime,
onClose = _Alert.KWIKUI_ALERT_DEFAULTS.onClose
} = _ref;
const [show, setShow] = (0, _react.useState)(true);
(0, _react.useEffect)(() => {
if (autoCloseTime) {
const timer = setTimeout(() => {
setShow(false);
onClose();
}, autoCloseTime);
return () => clearTimeout(timer);
}
}, [autoCloseTime, onClose]);
const handleClose = () => {
setShow(false);
onClose();
};
if ((0, _kwikidToolkit.isNotEmptyValue)(portalId)) {
return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/(0, _reactDom.createPortal)(/*#__PURE__*/_react.default.createElement(_Alert2.KwikUIStyleAlertContainer, {
id: id,
variant: variant,
position: position
}, /*#__PURE__*/_react.default.createElement(_Alert2.KwikUIStyleAlertMessage, null, message), /*#__PURE__*/_react.default.createElement(_Alert2.KwikUIStyleAlertCloseButton, {
onClick: () => handleClose()
}, /*#__PURE__*/_react.default.createElement(_fa.FaXmark, null))), document.getElementById(portalId || "") || document.body));
}
return /*#__PURE__*/_react.default.createElement(_Alert2.KwikUIStyleAlertContainer, {
id: id,
variant: variant,
position: position
}, /*#__PURE__*/_react.default.createElement(_Alert2.KwikUIStyleAlertMessage, null, message), /*#__PURE__*/_react.default.createElement(_Alert2.KwikUIStyleAlertCloseButton, {
onClick: () => handleClose()
}, /*#__PURE__*/_react.default.createElement(_fa.FaXmark, null)));
};
KwikUIAlert.defaultProps = _Alert.KWIKUI_ALERT_DEFAULTS;
var _default = exports.default = KwikUIAlert;