UNPKG

@ui5/webcomponents-react

Version:

React Wrapper for UI5 Web Components and additional components

41 lines 1.53 kB
import ValueState from '@ui5/webcomponents-base/dist/types/ValueState.js'; import iconAlert from '@ui5/webcomponents-icons/dist/alert.js'; import iconError from '@ui5/webcomponents-icons/dist/error.js'; import iconInformation from '@ui5/webcomponents-icons/dist/information.js'; import iconSysEnter from '@ui5/webcomponents-icons/dist/sys-enter-2.js'; import { isValidElement } from 'react'; import { ERROR, WARNING, SUCCESS, INFORMATION } from '../../i18n/i18n-defaults.js'; export const getIconNameForType = type => { switch (type) { case ValueState.Negative: case 'Negative': return iconError; case ValueState.Positive: case 'Positive': return iconSysEnter; case ValueState.Critical: case 'Critical': return iconAlert; default: return iconInformation; } }; export const getValueStateMap = i18nBundle => ({ [ValueState.Negative]: i18nBundle.getText(ERROR), [ValueState.Critical]: i18nBundle.getText(WARNING), [ValueState.Positive]: i18nBundle.getText(SUCCESS), [ValueState.Information]: i18nBundle.getText(INFORMATION), [ValueState.None]: i18nBundle.getText(INFORMATION) }); export const resolveTitleTextStr = titleText => { if (typeof titleText === 'string' || typeof titleText === 'number') { return String(titleText); } if (/*#__PURE__*/isValidElement(titleText)) { const linkChild = titleText.props.children; if (typeof linkChild === 'string' || typeof linkChild === 'number') { return String(linkChild); } } return ''; };