"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.statusToEuiIconType = exports.defaultIconType = exports.Callout = void 0; var _react = _interopRequireDefault(require("react")); var _eui = require("@elastic/eui"); var _i18nReact = require("@kbn/i18n-react"); var _validation = require("../../../../common/constants/validation"); /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ const defaultIconType = 'questionInCircle'; exports.defaultIconType = defaultIconType; const statusToEuiColor = status => { switch (status) { case _validation.VALIDATION_STATUS.INFO: return 'primary'; case _validation.VALIDATION_STATUS.ERROR: return 'danger'; default: return status; } }; const statusToEuiIconType = status => { switch (status) { case _validation.VALIDATION_STATUS.INFO: return 'iInCircle'; case _validation.VALIDATION_STATUS.ERROR: return 'cross'; case _validation.VALIDATION_STATUS.SUCCESS: return 'check'; case _validation.VALIDATION_STATUS.WARNING: return 'warning'; default: return status; } }; exports.statusToEuiIconType = statusToEuiIconType; const Link = ({ url }) => /*#__PURE__*/_react.default.createElement(_eui.EuiLink, { href: url, target: "_BLANK" }, /*#__PURE__*/_react.default.createElement(_i18nReact.FormattedMessage, { id: "xpack.ml.validateJob.learnMoreLinkText", defaultMessage: "Learn more" })); const Message = ({ text, url }) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, text, " ", url && /*#__PURE__*/_react.default.createElement(Link, { url: url })); const Callout = ({ heading, status, text, url }) => /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_eui.EuiCallOut, { "data-test-subj": 'mlValidationCallout' // @ts-ignore , color: statusToEuiColor(status), size: "s", title: heading || /*#__PURE__*/_react.default.createElement(Message, { text: text, url: url }), iconType: status ? statusToEuiIconType(status) : defaultIconType }, heading && /*#__PURE__*/_react.default.createElement(Message, { text: text, url: url })), /*#__PURE__*/_react.default.createElement(_eui.EuiSpacer, { size: "m" })); exports.Callout = Callout;