const { useState, useEffect, useMemo, useRef } = React;
function LevelBars({ level, withLabel }) {
const tax = window.GUIDON_TAX.LEVELS[level];
return (
<span className="level" title={"Resource " + (tax ? tax.label : "")}>
<span className="level-bars" aria-hidden="true">
{[0, 1, 2, 3].map(i => <i key={i} className={i <= level ? "on" : ""} />)}
</span>
{withLabel && <span style={{ marginLeft: 2 }}>{tax ? tax.short : ""}</span>}
</span>
);
}
const ACUITY_LABEL = { critical: "IMMEDIATE", urgent: "PRIORITY", routine: "ROUTINE" };
function AcuityChip({ acuity }) {
return <span className={"chip chip-acuity acuity-" + acuity}>{ACUITY_LABEL[acuity] || acuity}</span>;
}
function AcuityDot({ acuity }) {
return <span className={"acuity-dot dot-" + acuity} title={ACUITY_LABEL[acuity]} />;
}
function Chip({ children, tone }) {
return <span className="chip" data-tone={tone || ""}>{children}</span>;
}
function PanelTag({ n, children }) {
return (
<div className="panel-tag">
{n != null && <span className="panel-tag-n mono">{n}</span>}
<span className="panel-tag-label kicker">{children}</span>
</div>
);
}
function isLive(id) { return !!(window.GUIDON_CASES && window.GUIDON_CASES[id]); }
Object.assign(window, { LevelBars, AcuityChip, AcuityDot, Chip, PanelTag, ACUITY_LABEL, isLive });