@primer/react
Version:
An implementation of GitHub's Primer Design System using React
107 lines (106 loc) • 3.37 kB
JavaScript
import InlineMessage_module_css_default from "./InlineMessage.module.css.js";
import { c } from "react-compiler-runtime";
import { clsx } from "clsx";
import { jsx, jsxs } from "react/jsx-runtime";
import { isValidElementType } from "react-is";
import { AlertFillIcon, AlertIcon, CheckCircleFillIcon, CheckCircleIcon, InfoIcon } from "@primer/octicons-react";
//#region src/InlineMessage/InlineMessage.tsx
const icons = {
warning: /*#__PURE__*/ jsx(AlertIcon, { className: InlineMessage_module_css_default.InlineMessageIcon }),
critical: /*#__PURE__*/ jsx(AlertIcon, { className: InlineMessage_module_css_default.InlineMessageIcon }),
success: /*#__PURE__*/ jsx(CheckCircleIcon, { className: InlineMessage_module_css_default.InlineMessageIcon }),
unavailable: /*#__PURE__*/ jsx(AlertIcon, { className: InlineMessage_module_css_default.InlineMessageIcon })
};
const smallIcons = {
warning: /*#__PURE__*/ jsx(AlertFillIcon, {
className: InlineMessage_module_css_default.InlineMessageIcon,
size: 12
}),
critical: /*#__PURE__*/ jsx(AlertFillIcon, {
className: InlineMessage_module_css_default.InlineMessageIcon,
size: 12
}),
success: /*#__PURE__*/ jsx(CheckCircleFillIcon, {
className: InlineMessage_module_css_default.InlineMessageIcon,
size: 12
}),
unavailable: /*#__PURE__*/ jsx(AlertFillIcon, {
className: InlineMessage_module_css_default.InlineMessageIcon,
size: 12
})
};
function InlineMessage(t0) {
var _variant;
const $ = c(19);
let LeadingVisual;
let children;
let className;
let rest;
let t1;
let variant;
if ($[0] !== t0) {
({children, className, size: t1, variant, leadingVisual: LeadingVisual, ...rest} = t0);
$[0] = t0;
$[1] = LeadingVisual;
$[2] = children;
$[3] = className;
$[4] = rest;
$[5] = t1;
$[6] = variant;
} else {
LeadingVisual = $[1];
children = $[2];
className = $[3];
rest = $[4];
t1 = $[5];
variant = $[6];
}
const size = t1 === void 0 ? "medium" : t1;
let icon;
if (LeadingVisual !== void 0) if (typeof LeadingVisual !== "string" && isValidElementType(LeadingVisual)) {
let t2;
if ($[7] !== LeadingVisual) {
t2 = /*#__PURE__*/ jsx(LeadingVisual, { className: InlineMessage_module_css_default.InlineMessageIcon });
$[7] = LeadingVisual;
$[8] = t2;
} else t2 = $[8];
icon = t2;
} else icon = LeadingVisual;
else if (variant) icon = size === "small" ? smallIcons[variant] : icons[variant];
else {
let t2;
if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
t2 = /*#__PURE__*/ jsx(InfoIcon, { className: InlineMessage_module_css_default.InlineMessageIcon });
$[9] = t2;
} else t2 = $[9];
icon = t2;
}
let t2;
if ($[10] !== className) {
t2 = clsx(className, InlineMessage_module_css_default.InlineMessage);
$[10] = className;
$[11] = t2;
} else t2 = $[11];
const t3 = (_variant = variant) !== null && _variant !== void 0 ? _variant : void 0;
let t4;
if ($[12] !== children || $[13] !== icon || $[14] !== rest || $[15] !== size || $[16] !== t2 || $[17] !== t3) {
t4 = /*#__PURE__*/ jsxs("div", {
...rest,
className: t2,
"data-size": size,
"data-variant": t3,
"data-component": "InlineMessage",
children: [icon, children]
});
$[12] = children;
$[13] = icon;
$[14] = rest;
$[15] = size;
$[16] = t2;
$[17] = t3;
$[18] = t4;
} else t4 = $[18];
return t4;
}
//#endregion
export { InlineMessage };