import { c } from "react-compiler-runtime";
import React from "react";
import { Typography, lighten, makeStyles } from "@material-ui/core";
import clsx from "clsx";
import { AddToIcon, AwayStatusIcon, CheckMarkIcon, CircleStopSolidIcon } from "@fluentui/react-icons";
import PropTypes from "prop-types";
//#region src/componentSystems/multiThreadTimeline/ui/TimelineStatus.jsx
const useStyles = makeStyles((theme) => ({
	root: {},
	wrapper: {
		borderRadius: 25,
		display: "flex",
		paddingRight: theme.spacing(1)
	},
	iconWrapper: {
		background: theme.palette.success.main,
		color: theme.palette.common.white,
		paddingLeft: theme.spacing(.5),
		paddingRight: theme.spacing(.5),
		paddingBottom: theme.spacing(.25),
		borderRadius: 25,
		marginRight: theme.spacing(.5)
	},
	active: { background: lighten(theme.palette.info.light, .7) },
	pending: { background: lighten(theme.palette.warning.light, .7) },
	posted: { background: lighten(theme.palette.success.light, .7) },
	complete: { background: lighten(theme.palette.success.light, .4) },
	pendingAvatar: { background: theme.palette.warning.main },
	activeAvatar: { background: theme.palette.info.main },
	postedAvatar: { background: lighten(theme.palette.success.light, .2) },
	completeAvatar: { background: theme.palette.success.main }
}), { name: "TimelineStatus" });
const TimelineStatus = (props) => {
	const $ = c(24);
	let type;
	const { status } = props;
	const classes = useStyles(props);
	let t0;
	if ($[0] !== classes) {
		t0 = (t1) => {
			const { children, className, status: status_0, icon } = t1;
			return /* @__PURE__ */ React.createElement("div", { className: clsx(classes.wrapper, className) }, /* @__PURE__ */ React.createElement("div", { className: clsx(classes.iconWrapper, status_0) }, icon), /* @__PURE__ */ React.createElement("div", { style: { marginTop: -1 } }, /* @__PURE__ */ React.createElement(Typography, { variant: "caption" }, " ", children, " ")));
		};
		$[0] = classes;
		$[1] = t0;
	} else t0 = $[1];
	const StatusWrapper = t0;
	bb0: switch (status) {
		case 1: {
			let t1;
			if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
				t1 = /* @__PURE__ */ React.createElement(AddToIcon, null);
				$[2] = t1;
			} else t1 = $[2];
			let t2;
			if ($[3] !== StatusWrapper || $[4] !== classes.active || $[5] !== classes.activeAvatar) {
				t2 = /* @__PURE__ */ React.createElement(StatusWrapper, {
					icon: t1,
					className: classes.active,
					status: classes.activeAvatar
				}, "Active");
				$[3] = StatusWrapper;
				$[4] = classes.active;
				$[5] = classes.activeAvatar;
				$[6] = t2;
			} else t2 = $[6];
			type = t2;
			break bb0;
		}
		case 2: {
			let t1;
			if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
				t1 = /* @__PURE__ */ React.createElement(CircleStopSolidIcon, null);
				$[7] = t1;
			} else t1 = $[7];
			let t2;
			if ($[8] !== StatusWrapper || $[9] !== classes.posted || $[10] !== classes.postedAvatar) {
				t2 = /* @__PURE__ */ React.createElement(StatusWrapper, {
					icon: t1,
					className: classes.posted,
					status: classes.postedAvatar
				}, "Posted");
				$[8] = StatusWrapper;
				$[9] = classes.posted;
				$[10] = classes.postedAvatar;
				$[11] = t2;
			} else t2 = $[11];
			type = t2;
			break bb0;
		}
		case 3: {
			let t1;
			if ($[12] === Symbol.for("react.memo_cache_sentinel")) {
				t1 = /* @__PURE__ */ React.createElement(AwayStatusIcon, null);
				$[12] = t1;
			} else t1 = $[12];
			let t2;
			if ($[13] !== StatusWrapper || $[14] !== classes.pending || $[15] !== classes.pendingAvatar) {
				t2 = /* @__PURE__ */ React.createElement(StatusWrapper, {
					status: classes.pendingAvatar,
					className: classes.pending,
					icon: t1
				}, "Pending");
				$[13] = StatusWrapper;
				$[14] = classes.pending;
				$[15] = classes.pendingAvatar;
				$[16] = t2;
			} else t2 = $[16];
			type = t2;
			break bb0;
		}
		case 4: {
			let t1;
			if ($[17] === Symbol.for("react.memo_cache_sentinel")) {
				t1 = /* @__PURE__ */ React.createElement(CheckMarkIcon, null);
				$[17] = t1;
			} else t1 = $[17];
			let t2;
			if ($[18] !== StatusWrapper || $[19] !== classes.complete || $[20] !== classes.completeAvatar) {
				t2 = /* @__PURE__ */ React.createElement(StatusWrapper, {
					icon: t1,
					className: classes.complete,
					status: classes.completeAvatar
				}, "Complete");
				$[18] = StatusWrapper;
				$[19] = classes.complete;
				$[20] = classes.completeAvatar;
				$[21] = t2;
			} else t2 = $[21];
			type = t2;
			break bb0;
		}
		default: {
			let t1;
			if ($[22] !== status) {
				t1 = /* @__PURE__ */ React.createElement("div", null, status);
				$[22] = status;
				$[23] = t1;
			} else t1 = $[23];
			type = t1;
		}
	}
	return type;
};
TimelineStatus.propTypes = { status: PropTypes.number };
//#endregion
export { TimelineStatus };

//# sourceMappingURL=TimelineStatus.mjs.map