kwikid-components-react
Version:
KwikID's Component Library in React
43 lines (42 loc) • 2 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _io = require("react-icons/io5");
var _Messages = require("./Messages.definitions");
var _Messages2 = require("./Messages.style");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
const KwikUIMessages = _ref => {
let {
customStyles = {
container: {},
wrapper: {},
icon: {},
message: {}
},
messages = [],
size = _Messages.IKwikUIMessageSize.M
} = _ref;
// Verify that messages adhere to the KwikUIMessage interface
const isValidMessages = messages.every(message => message && typeof message.message === "string" && ["error", "info", "warning", "success"].includes(message.type));
if (!isValidMessages) {
return null; // Do not render if messages are invalid
}
return /*#__PURE__*/_react.default.createElement(_Messages2.KwikUIStyleMessageWrapper, {
style: customStyles.wrapper
}, messages.map((message, index) => /*#__PURE__*/_react.default.createElement(_Messages2.KwikUIStyleMessageContainer, {
className: "".concat(message.type),
key: String(index),
size: size,
style: customStyles.container
}, /*#__PURE__*/_react.default.createElement("div", {
className: "message-icon",
style: customStyles.icon
}, message.type === "error" && /*#__PURE__*/_react.default.createElement(_io.IoCloseCircleOutline, null), message.type === "info" && /*#__PURE__*/_react.default.createElement(_io.IoInformationCircleOutline, null), message.type === "warning" && /*#__PURE__*/_react.default.createElement(_io.IoWarningOutline, null), message.type === "success" && /*#__PURE__*/_react.default.createElement(_io.IoCheckmarkCircleOutline, null)), /*#__PURE__*/_react.default.createElement("div", {
className: "message",
style: customStyles.message
}, message.message))));
};
var _default = exports.default = KwikUIMessages;