@grafana/ui
Version:
Grafana Components Library
62 lines (55 loc) • 2.03 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var jsxRuntime = require('react/jsx-runtime');
var css = require('@emotion/css');
var React = require('react');
var ThemeContext = require('../../themes/ThemeContext.cjs');
var Alert = require('../Alert/Alert.cjs');
var Icon = require('../Icon/Icon.cjs');
function _interopNamespaceCompat(e) {
if (e && typeof e === 'object' && 'default' in e) return e;
var n = Object.create(null);
if (e) {
Object.keys(e).forEach(function (k) {
if (k !== 'default') {
var d = Object.getOwnPropertyDescriptor(e, k);
Object.defineProperty(n, k, d.get ? d : {
enumerable: true,
get: function () { return e[k]; }
});
}
});
}
n.default = e;
return Object.freeze(n);
}
var React__namespace = /*#__PURE__*/_interopNamespaceCompat(React);
;
const InfoBox = React__namespace.memo(
React__namespace.forwardRef(
({ title, className, children, branded, url, urlTitle, onDismiss, severity = "info", ...otherProps }, ref) => {
const styles = ThemeContext.useStyles2(getStyles);
return (
// component is deprecated so no point fixing this
// eslint-disable-next-line @typescript-eslint/consistent-type-assertions
/* @__PURE__ */ jsxRuntime.jsxs(Alert.Alert, { severity, className, ...otherProps, ref, title, children: [
/* @__PURE__ */ jsxRuntime.jsx("div", { children }),
url && /* @__PURE__ */ jsxRuntime.jsxs("a", { href: url, className: css.cx("external-link", styles.docsLink), target: "_blank", rel: "noreferrer", children: [
/* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: "book" }),
" ",
urlTitle || "Read more"
] })
] })
);
}
)
);
InfoBox.displayName = "InfoBox";
const getStyles = (theme) => ({
docsLink: css.css({
display: "inline-block",
marginTop: theme.spacing(2)
})
});
exports.InfoBox = InfoBox;
//# sourceMappingURL=InfoBox.cjs.map