UNPKG

@primer/react

Version:

An implementation of GitHub's Primer Design System using React

61 lines (55 loc) 1.64 kB
'use strict'; var octiconsReact = require('@primer/octicons-react'); var React = require('react'); var Text = require('./Text/Text.js'); var Box = require('./Box/Box.js'); function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; } var React__default = /*#__PURE__*/_interopDefault(React); const validationIconMap = { success: octiconsReact.CheckCircleFillIcon, error: octiconsReact.AlertFillIcon, warning: octiconsReact.AlertFillIcon }; const validationColorMap = { success: 'success.fg', error: 'danger.fg', warning: 'attention.fg' }; const InputValidation = ({ children, id, validationStatus, sx }) => { const IconComponent = validationStatus ? validationIconMap[validationStatus] : undefined; const fgColor = validationStatus ? validationColorMap[validationStatus] : undefined; return /*#__PURE__*/React__default.default.createElement(Text, { sx: { fontSize: 0, fontWeight: 'bold', alignItems: 'center', color: fgColor, display: 'flex', a: { color: 'currentColor', textDecoration: 'underline' }, ...sx } }, IconComponent && /*#__PURE__*/React__default.default.createElement(Box, { as: "span", mr: 1, sx: { display: 'flex' }, "aria-hidden": "true" }, /*#__PURE__*/React__default.default.createElement(IconComponent, { size: 12, fill: "currentColor" })), /*#__PURE__*/React__default.default.createElement("span", { id: id }, children)); }; InputValidation.displayName = "InputValidation"; var InputValidation$1 = InputValidation; module.exports = InputValidation$1;