UNPKG

@momentum-ui/react-collaboration

Version:

Cisco Momentum UI Framework for React Collaboration Applications

38 lines 1.87 kB
import React from 'react'; import './InputMessage.style.scss'; import { STYLE } from './InputMessage.constants'; import Icon from '../Icon'; import Text from '../Text'; import classnames from 'classnames'; var messagePriority = { none: 0, success: 1, warning: 2, error: 3, }; var determineMessageLevel = function (array) { return array.reduce(function (agg, e) { return messagePriority[agg] > messagePriority[e.level] ? agg : e.level || 'none'; }, 'none'); }; var filterMessagesByLevel = function (array, value) { return array.reduce(function (agg, e) { return (e.level === value ? agg.concat(e.message) : agg); }, []); }; export var getFilteredMessages = function (allMessages) { var messageLevel = (allMessages.length > 0 && determineMessageLevel(allMessages)) || 'none'; var messages = (messageLevel && filterMessagesByLevel(allMessages, messageLevel)) || null; return [messageLevel, messages]; }; var InputMessage = function (props) { var message = props.message, _a = props.level, level = _a === void 0 ? 'none' : _a, className = props.className, id = props.id; return (React.createElement("div", { className: classnames(STYLE.wrapper, className), id: id }, React.createElement("div", { className: STYLE.message, "message-level": level }, (level == 'error' || level == 'warning') && (React.createElement("div", { className: STYLE.icon }, React.createElement(Icon, { name: "warning", weight: "bold", scale: 16, fillColor: "var(--mds-color-theme-text-".concat(level, "-normal)") }))), React.createElement(Text, { type: "body-secondary", tagName: "small", className: STYLE.text }, message)))); }; /** * Message for use under Inputs that shows text with icon and color corresponding to level */ export default InputMessage; //# sourceMappingURL=InputMessage.js.map