MDK Logo
ReferenceUIComponents

Widget Components

Dashboard widgets and data display cards

Widget components for dashboards and data displays.

Prerequisites

  • Complete the installation
  • Import styles: import '@tetherto/mdk-react-devkit/styles.css'

Components

@tetherto/mdk-react-devkit

AddReplaceMinerDialog

Modal for adding a new miner to a slot or swapping the existing one with a replacement unit.

agent-ready

Props

PropTypeRequiredDefaultDescription
openboolean--
onCloseVoidFunction--
selectedSocketToReplaceUnknownRecord | undefined--
selectedEditSocketUnknownRecord | undefined--
currentDialogFlowstring | undefined--
isDirectToMaintenanceModeboolean | undefined--
minersTypestring | undefined--
isContainerEmptyboolean | undefined--

BatchContainerControlsCard

Bulk-controls card that applies start/stop/mode changes to multiple selected containers at once.

agent-ready

Props

PropTypeRequiredDefaultDescription
isBatchboolean--
isCompactboolean--
connectedMinersunknown--
alarmsDataItemsTimelineItemData[]--
onNavigate(path: string) => void--

BitdeerOptions

Options panel for a Bitdeer container — exposes vendor-specific operating modes and thresholds.

Main container for Bitdeer cooling system options. Displays dry cooler and pumps components.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataUnknownRecord | undefined--

BitdeerPumps

Pump telemetry panel for a Bitdeer container showing per-pump RPM, flow, and alert states.

Displays exhaust fan status using an indicator.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataUnknownRecord | undefined--

BitdeerSettings

Settings tab for a Bitdeer container — vendor-specific configuration controls and limits.

Displays container parameter settings and editable threshold forms for Bitdeer containers with oil temperature and tank pressure monitoring.

Includes: - Container parameter display (MAC address, serial number, etc.) - Editable threshold forms for oil temperature and tank pressure - Color-coded alerts and flash indicators - Sound alert configuration

agent-ready

Props

PropTypeRequiredDefaultDescription
dataUnknownRecord | undefined--

BitdeerTankPressureCharts

Stacked time-series of dielectric tank pressure for a Bitdeer immersion container.

agent-ready

Props

PropTypeRequiredDefaultDescription
tagstring | undefined--
chartDataPayloadChartDataPayload | undefined--
chartTitlestring | undefined--
dateRange{ start?: number | undefined; end?: number | undefined; } | undefined--
dataUnknownRecord[] | undefined--
timelinestring | undefined--
fixedTimezonestring | undefined--
heightnumber | undefined--
showLegendboolean | undefined--
showRangeSelectorboolean | undefined--
rangeOptions{ label: string; value: string; }[] | undefined--
footerReact.ReactNode--

BitdeerTankTempCharts

Tank Temperature Charts for Bitdeer containers

Displays oil and water temperature readings (hot and cold) for a specific tank.

Features: - Tank Oil TempL (Cold) - Yellow line (4px) - Tank Oil TempH (Hot) - Violet line - Tank Water TempL (Cold) - Blue line - Tank Water TempH (Hot) - Sky Blue line

agent-ready

Props

PropTypeRequiredDefaultDescription
tankNumberstring | number | undefined-Tank number (1 or 2)
tagstring | undefined--
chartDataPayloadChartDataPayload | undefined--
chartTitlestring | undefined--
dateRange{ start?: number | undefined; end?: number | undefined; } | undefined--
dataUnknownRecord[] | undefined--
timelinestring | undefined--
fixedTimezonestring | undefined--
heightnumber | undefined--
showLegendboolean | undefined--
showRangeSelectorboolean | undefined--
rangeOptions{ label: string; value: string; }[] | undefined--
footerReact.ReactNode--

BitMainBasicSettings

General settings form for a BitMain container — naming, location, and power limits.

Main settings view displaying: - Cooling system status (pumps and fans) - Power distribution - GPS positioning

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Container data

BitMainControlsTab

Controls tab for a BitMain container exposing start/stop, mode select, and emergency actions.

Displays container controls including: - Container fan status - Tank levels (A, B, C, D) - GPS location (latitude/longitude)

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice-Device data

BitMainCoolingSystem

Cooling subsystem panel for a BitMain container — pumps, fans, and dry-cooler status.

Displays the status of cooling system components including: - Circulating pump - Fluid infusion pump - Fans (1-2) - Cooling tower fans (1-3)

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Container data

BitMainHydroLiquidTemperatureCharts

Time-series charts of dielectric liquid temperature for a BitMain hydro-cooled container.

Displays secondary liquid supply temperature readings (Temp1 and Temp2) for Bitmain Hydro containers.

Features: - Sec. Liquid supply Temp1 - Sky Blue line - Sec. Liquid supply Temp2 - Violet line - Interactive legend for toggling series - Timeline selector (1h, 6h, 24h, 7d, 30d) - Current temperature display

agent-ready

Props

PropTypeRequiredDefaultDescription
tagstring | undefined--
chartDataPayloadChartDataPayload | undefined--
chartTitlestring | undefined--
dateRange{ start?: number | undefined; end?: number | undefined; } | undefined--
dataUnknownRecord[] | undefined--
timelinestring | undefined--
fixedTimezonestring | undefined--
heightnumber | undefined--
showLegendboolean | undefined--
showRangeSelectorboolean | undefined--
rangeOptions{ label: string; value: string; }[] | undefined--
footerReact.ReactNode--

BitMainHydroSettings

Settings form for a BitMain hydro-cooled container; flow, temperature, and pump configuration.

Main settings view for BitMain Hydro containers displaying: - Basic settings (cooling system, power, positioning) - Threshold configuration forms (water temperature, pressure)

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Device data

BitMainImmersionControlBox

Control box for a BitMain immersion container exposing tank, pump, and unit-level actions.

A flexible container component with configurable columns and optional bottom content. Used for displaying control information in a structured layout.

agent-ready

Props

PropTypeRequiredDefaultDescription
titlestring | undefined-Box title
leftContentReact.ReactNode-Content for left column
rightContentReact.ReactNode-Content for right column
bottomContentReact.ReactNode-Content for bottom row
secondaryboolean | undefined-Secondary variant (no border)
classNamestring | undefined-Custom className

BitMainImmersionPumpStationControlBox

Pump-station control card for a BitMain immersion container with per-pump enable/disable.

Displays pump station status including: - Alarm/Normal status - Ready state - Operating state - Started state

agent-ready

Props

PropTypeRequiredDefaultDescription
titlestring | undefined-Box title
alarmStatusboolean | undefined-Alarm/fault status
readyboolean | undefined-Ready status
operationboolean | undefined-Operation status
startboolean | undefined-Start status
classNamestring | undefined-Custom className

BitMainImmersionSettings

Settings form for a BitMain immersion container — tank thresholds, pump curves, and limits.

Settings form for BitMain immersion containers with temperature threshold configuration.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Device data
containerSettings{ thresholds?: Record<string, unknown> | undefined; } | null | undefined-Container settings with custom thresholds

BitMainImmersionSummaryBox

Summary card for a BitMain immersion-cooled container: temps, pumps, power, and overall status.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined--
containerSettingsBitMainImmersionSummaryBoxContainerSettings | null | undefined--

BitMainImmersionSystemStatus

Aggregated system-status card for a BitMain immersion container; rolls up subsystem health.

Displays system status information including: - Server start permission - Connection status

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Device data

BitMainImmersionUnitControlBox

Per-unit control card inside a BitMain immersion container with start/stop and reset actions.

agent-ready

Props

PropTypeRequiredDefaultDescription
titlestring | undefined-Box title
alarmStatusboolean | undefined-Alarm/fault status
frequencynumber | undefined-Frequency value in Hz
isDryCoolerboolean | undefined-Whether this is a dry cooler unit
runningboolean | undefined-Whether the unit is running
showFrequencyInLeftColumnboolean | undefined-Show frequency in left column instead of right
secondaryboolean | undefined-Secondary variant (no border)
classNamestring | undefined-Custom className

BitMainLiquidPressureCharts

Time-series charts of dielectric liquid pressure across a BitMain immersion container.

Displays supply and return liquid pressure readings for Bitmain containers. Converts pressure values from MPa to bar for display.

Features: - Supply Liquid Pressure - Sky Blue line - Return Liquid Pressure - Violet line - Automatic MPa to bar conversion - Interactive legend for toggling series - Timeline selector (1h, 6h, 24h, 7d, 30d) - Current pressure display

agent-ready

Props

PropTypeRequiredDefaultDescription
tagstring | undefined--
chartDataPayloadChartDataPayload | undefined--
chartTitlestring | undefined--
dateRange{ start?: number | undefined; end?: number | undefined; } | undefined--
dataUnknownRecord[] | undefined--
timelinestring | undefined--
fixedTimezonestring | undefined--
heightnumber | undefined--
showLegendboolean | undefined--
showRangeSelectorboolean | undefined--
rangeOptions{ label: string; value: string; }[] | undefined--
footerReact.ReactNode--

BitMainLiquidTempCharts

Time-series charts of dielectric liquid temperature across a BitMain immersion container.

Displays supply and return liquid temperature readings for Bitmain containers.

Features: - Supply Liquid Temp - Sky Blue line - Return Liquid Temp - Violet line - Interactive legend for toggling series - Timeline selector (1h, 6h, 24h, 7d, 30d) - Current temperature display

agent-ready

Props

PropTypeRequiredDefaultDescription
tagstring | undefined--
chartDataPayloadChartDataPayload | undefined--
chartTitlestring | undefined--
dateRange{ start?: number | undefined; end?: number | undefined; } | undefined--
dataUnknownRecord[] | undefined--
timelinestring | undefined--
fixedTimezonestring | undefined--
heightnumber | undefined--
showLegendboolean | undefined--
showRangeSelectorboolean | undefined--
rangeOptions{ label: string; value: string; }[] | undefined--
footerReact.ReactNode--

BitMainPowerAndPositioning

Power and physical-positioning settings for a BitMain container — circuits, phases, and rack slots.

Displays power distribution and GPS location information: - Distribution box #1 and #2 power consumption - Latitude and longitude coordinates with direction

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Container data

BitMainPowerCharts

Time-series charts of per-phase power, voltage, and current draw for a BitMain container.

Displays power consumption for Bitmain containers with distribution boxes. Shows total power and individual power for each distribution box. Automatically calculates total power from the sum of both boxes and formats the display units (kW/MW) based on the power magnitude.

Features: - Total Power - Sky Blue line (sum of both boxes) - Dist. Box 1 Power - Violet line - Dist. Box 2 Power - Red line - Interactive legend for toggling series - Timeline selector (1h, 6h, 24h, 7d, 30d) - Current power consumption display with auto unit (W/kW/MW) - Automatic kW to W conversion for chart display

agent-ready

Props

PropTypeRequiredDefaultDescription
tagstring | undefined--
chartDataPayloadChartDataPayload | undefined--
chartTitlestring | undefined--
dateRange{ start?: number | undefined; end?: number | undefined; } | undefined--
dataUnknownRecord[] | undefined--
timelinestring | undefined--
fixedTimezonestring | undefined--
heightnumber | undefined--
showLegendboolean | undefined--
showRangeSelectorboolean | undefined--
rangeOptions{ label: string; value: string; }[] | undefined--
footerReact.ReactNode--

BitMainSupplyLiquidFlowCharts

Time-series charts of supply-side coolant flow rates for a BitMain immersion container.

Displays supply liquid flow rate for Bitmain containers in cubic meters per hour (m³/h).

Features: - Supply Liquid Flow - Sky Blue line - Interactive timeline selector (1h, 6h, 24h, 7d, 30d) - Current flow rate display - Optional legend and range selector

agent-ready

Props

PropTypeRequiredDefaultDescription
tagstring | undefined--
chartDataPayloadChartDataPayload | undefined--
chartTitlestring | undefined--
dateRange{ start?: number | undefined; end?: number | undefined; } | undefined--
dataUnknownRecord[] | undefined--
timelinestring | undefined--
fixedTimezonestring | undefined--
heightnumber | undefined--
showLegendboolean | undefined--
showRangeSelectorboolean | undefined--
rangeOptions{ label: string; value: string; }[] | undefined--
footerReact.ReactNode--

ContainerCharts

Tabbed chart panel showing per-container hashrate, power, and temperature time series.

agent-ready

Props

PropTypeRequiredDefaultDescription
featureEnabledboolean | undefinedtrueWhen false, shows an empty state (feature gate).
disabledMessagestring | undefined-Message when featureEnabled is false
combinationsContainerChartCombinationOption[]-Options for the combination selector
isLoadingCombinationsboolean | undefined-Loading state for combination options
titlestring | undefined-Section heading
selectedCombinationstring | null | undefined-Controlled selected combination value
defaultSelectedCombinationstring | null | undefined-Initial selection when uncontrolled
onSelectedCombinationChange((value: string | null) => void) | undefined--
chartRawDataChartEntry[] | null | undefined-Raw overview stats rows passed to chart adapters
isLoadingChartsboolean | undefined--
getDatasetBorderColorContainerChartsDatasetBorderColorResolver | undefined-Optional per-dataset line colors after adapters run (e.g. demo or host branding).

ContainerControlsBox

Control panel for a single container — start/stop, mode select, and operator actions.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined--
isBatchboolean | undefined--
isCompactboolean | undefined--
selectedDevicesDevice[] | undefined--
pendingSubmissionsPendingSubmission[] | undefined--
alarmsDataItemsTimelineItemData[] | undefined--
tailLogDataUnknownRecord[] | undefined--
powerModesLogUnknownRecord | undefined--
onNavigate(path: string) => void--

ContainerControlsCard

Per-socket controls card for the container detail view: powers the selected miner sockets on/off and shows their aggregate power / current. Reads the selected sockets from the devices store (populated by deriveSelectedSockets) and queues switchSocket drafts. Container-level "power all sockets" lives on BatchContainerControlsCard; this card drives an explicit socket selection, which the flat Explorer list does not yet surface (a container-PDU grid is the follow-on) — hence advanced rather than agent-ready.

advanced

Props

PropTypeRequiredDefaultDescription
isLoadingboolean--
buttonsStatesButtonsStates--

ContainerFanLegend

Legend strip describing fan states and colours used by the container fans visualisation.

Displays a single fan status with number and icon.

agent-ready

Props

PropTypeRequiredDefaultDescription
indexnumber | null | undefined-Fan index/number to display
enabledboolean | undefined-Whether the fan is enabled/running
classNamestring | undefined-Custom className

ContainerFansCard

Card displaying the array of cooling fans in a container with live state per fan.

Displays a grid of fan status indicators. Shows fan number and on/off state with icon.

agent-ready

Props

PropTypeRequiredDefaultDescription
fansDataPumpItem[] | undefined--

ContainerSelectionDialog

Modal that lists containers and lets the operator pick one or many for a follow-up action.

agent-ready

Props

PropTypeRequiredDefaultDescription
minerDevice | undefined--
containersDevice[] | undefined--
isLoadingboolean | undefined--
openboolean--
onClose(value?: boolean | undefined) => void--

ContainerWidgetCard

Presentational summary card for a single container in the Site Overview widgets grid: a header row (title / alarms / power), then either an offline / error banner or the body (optional vendor content, a miners summary, and a miner-activity chart).

Fully props-driven — no data fetching, formatting, or alarm math. The owning feature/hook shapes every value (including flash and summary).

agent-ready

Props

PropTypeRequiredDefaultDescription
titlestring-Container display name shown in the header row.
powernumber | undefined-Latest container power draw in watts (rendered in kW by the top row).
powerUnitstring | undefined-Power unit label shown next to the reading.
alarmsPartial<Record<AlarmPropKey, Alert[]>> | undefined-Per-category alarm badges for the header row.
statsErrorMessagestring | ErrorWithTimestamp[] | null | undefined-Raw stats error surfaced as a tooltip in place of the power reading.
summaryMinersSummaryParam[]-Pre-formatted miners-summary rows (label + display value incl. units).
activityContainerActivityData | undefined-Miner-state activity counts for the embedded chart.
isActivityLoadingboolean | undefined-Activity chart loading state.
isActivityErrorboolean | undefined-Activity chart error state.
activityErrorContainerActivityError | undefined-Activity chart error payload.
isOfflineboolean | undefined-Render the offline banner instead of the body.
errorMessagestring | undefined-Container-level error message; renders an error banner instead of the body.
flashboolean | undefined-Critical-high alarm flash. Computed upstream (by the data hook) so the card stays presentational — never derive alarm state inside this component.
vendorContentReact.ReactNode-Optional vendor-specific content (supply-liquid / tanks / immersion / MicroBT boxes) rendered above the miners summary. Kept as a slot so the generic card carries no per-model branching.
onClick(() => void) | undefined-Invoked when the card is clicked (navigation is the caller's concern).
classNamestring | undefined--

CostMetrics

Three "$/MWh" tiles that summarise the cost-summary period. Order mirrors the OSS Cost page: All-in (highlighted), Energy, Operations.

agent-ready

Props

PropTypeRequiredDefaultDescription
metricsCostSummaryDisplayMetrics--

DryCooler

Dry-cooler subsystem panel showing inlet/outlet temperatures and fan-stage status.

Displays dry cooler status with fans and associated pumps. Shows two cooler groups with fan status indicators and pump controls.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataUnknownRecord | undefined--

EnabledDisableToggle

Switch with confirmation that enables or disables a container, miner, or feature flag.

agent-ready

Props

PropTypeRequiredDefaultDescription
valueunknown--
tankNumberstring | number--
isButtonDisabledboolean--
isOfflineboolean--
onToggle(params: EnabledDisableToggleCbParams) => void--

ExplorerDetail

Per-type Explorer detail panel. Reads the selection the useExplorerSelection bridge writes into devicesStore and composes the matching cards:

Writes queue into the actions draft store; submission stays gated behind the ActionsSidebar.

agent-ready

Props

PropTypeRequiredDefaultDescription
deviceTypeDeviceExplorerDeviceType-The active Explorer tab — selects which per-type panel renders.
onNavigate((path: string) => void) | undefined-Router navigate used by alarm rows to deep-link into /alerts/:id.
isCompactboolean | undefined-Compact layout for the narrower Explorer detail column.

FireStatusBox

Fire Status Box Component x Displays fire safety and environmental monitoring status.

agent-ready

Props

PropTypeRequiredDefaultDescription
data{ smokeDetector: string | number; waterIngressDetector: string | number; coolingFanStatus: string | number; } | undefined-Device data

GaugeChartComponent

Single-needle gauge chart used inside container settings for thresholded percentage values.

Displays a value as a gauge/speedometer chart with label and unit.

agent-ready

Props

PropTypeRequiredDefaultDescription
maxnumber-Maximum value for the gauge
valuenumber-Current value
labelstring | undefined-Label/title for the chart
unitstring-Unit of measurement
chartStyleReact.CSSProperties | undefined-Custom chart style
colorsstring[] | undefined-Arc colors in HEX format
hideTextboolean | undefined-Hide the percentage text inside the chart
heightnumber | undefined-Chart height in pixels
classNamestring | undefined-Custom className

GenericDataBox

Reusable labelled stat box used by container summary panels for one-off numeric values.

Displays a table of label-value-unit rows.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDataItem[] | undefined-Array of data items to display
fallbackValueunknown-Fallback value when value is undefined

MaintenanceDialogContent

Body of the maintenance dialog — captures the work-order details before applying the maintenance flag.

agent-ready

Props

PropTypeRequiredDefaultDescription
selectedEditSocketPartial<SelectedEditSocket>--
onCancelVoidFunction--

MicroBTCooling

Cooling subsystem panel for a MicroBT container — pumps, fans, and coolant flow telemetry.

Displays cooling system status for MicroBT containers including: - Cycle pump status - Main circulation pump (status, switch, speed) - Cooling fan (status, switch, speed) - Make-up water pump (status, switch, fault)

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Device data

MicroBTSettings

Settings form for a MicroBT container with vendor-specific operating limits.

Settings form for MicroBT containers with temperature threshold configuration.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Device data
containerSettings{ thresholds?: Record<string, unknown> | undefined; } | null | undefined-Container settings with custom thresholds

MicroBTWidgetBox

Summary card for a MicroBT-equipped container showing pumps, fans, and operating mode.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined--

MinerChip

Selectable chip representing a single miner; surfaces id, slot, and current state with click handling.

agent-ready

Props

PropTypeRequiredDefaultDescription
indexnumber--
frequency{ current: number; }--
temperature{ avg: number; min: number; max: number; }--

MinerChipsCard

Card listing every miner in a container as <MinerChip>s for at-a-glance selection.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataContainerStats--

MinerControlsCard

Action card for a single miner: power, reboot, mode select, and maintenance entry points.

agent-ready

Props

PropTypeRequiredDefaultDescription
buttonsStatesRecord<string, boolean | undefined>--
isLoadingboolean--
showPowerModeSelectorboolean | undefined--

MinerInfoCard

Info card for one miner — serial, model, firmware, location, and recent activity summary.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataInfoItem[]--
labelstring--

MinerMetricCard

Single-metric card (hashrate, temperature, or power) for one miner with sparkline and delta.

Displays key metrics for a miner including: - Efficiency (fixed position top-right) - Hash rate, Temperature - Frequency, Consumption - Optional secondary stats in grid

agent-ready

Props

PropTypeRequiredDefaultDescription
primaryStatsStatItem[]-Primary statistics (efficiency, hashrate, temperature, frequency, consumption)
secondaryStatsStatItem[]-Secondary statistics to display in grid
showSecondaryStatsboolean-Whether to show secondary stats section

MinerPowerModeSelectionButtons

Segmented control letting an operator switch a miner between low / normal / turbo power modes.

agent-ready

Props

PropTypeRequiredDefaultDescription
selectedDevicesDevice[] | undefined--
setPowerMode((devices: Device[], mode: string) => void) | undefined--
connectedMinersDevice[] | undefined--
powerModesLogUnknownRecord | undefined--
disabledboolean | undefined--
hasMarginboolean | undefined--

MinersActivityChart

Per-status miner counts (online / offline / faulted / power-mode). Renders as coloured indicator dots (indicators) or tinted status tiles (tiles).

agent-ready

Props

PropTypeRequiredDefaultDescription
dataMinersActivityData--
largeboolean--
isLoadingboolean--
isErrorboolean--
errorMinerActivityChartErrorProp | null--
showLabelboolean--
isDemoModeboolean--
variantMinersActivityVariant-indicators (default) renders coloured dots; tiles renders tinted status tiles.

MinersSummaryBox

Headline card summarising miner counts by state (online, offline, faulted) for one container.

Displays mining summary parameters in a 2-column grid layout. Accepts pre-formatted values - consumers handle data formatting.

agent-ready

Props

PropTypeRequiredDefaultDescription
paramsMinersSummaryParam[]-Array of label-value pairs to display in a 2-column grid
classNamestring | undefined-Additional CSS class name

PositionChangeDialog

Modal that moves a miner to a different rack slot, validating the destination first.

agent-ready

Props

PropTypeRequiredDefaultDescription
openboolean--
onClose(currentDialogFlow: string, isDontReset?: boolean | undefined) => void--
selectedSocketToReplaceUnknownRecord | undefined--
selectedEditSocketUnknownRecord | undefined--
onChangePositionClickedVoidFunction | undefined--
onPositionChangedSuccessVoidFunction | undefined--
isContainerEmptyboolean | undefined--
dialogFlowstring | undefined--

PowerMeters

Per-circuit power-meter panel showing live kW, kWh, and power-factor readings.

Displays power meter readings for container devices including: - Communication status - Voltage measurements (A-B, B-C, C-A) - Power factor and frequency - Active and apparent power - Energy consumption

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined-Device data

PumpBox

Single-pump status card with RPM, flow, and fault state for one immersion-cooling pump.

agent-ready

Props

PropTypeRequiredDefaultDescription
pumpTitlestring--
pumpItemPumpItem | undefined--

RemoveMinerDialog

Confirmation modal for removing a miner from a slot with an optional reason capture.

agent-ready

Props

PropTypeRequiredDefaultDescription
headDeviceDevice | undefined--
isRemoveMinerFlowboolean--
onCancelVoidFunction--

SecondaryStatCard

Compact stat tile rendered alongside a primary stat to provide supporting context.

Displays a secondary statistic with a name and value in a card format.

agent-ready

Props

PropTypeRequiredDefaultDescription
namestring | undefined-Stat name/label
valuestring | number | undefined-Stat value
classNamestring | undefined-Custom className

SingleStatCard

Hero stat tile rendering one big number with a label and optional delta indicator.

Displays a single statistic with optional animations and variants.

agent-ready

Props

PropTypeRequiredDefaultDescription
namestring | undefined-Stat name/label
subtitlestring | undefined-Subtitle text
valuestring | number | null | undefined-Stat value
unitstring | undefined-Unit of measurement
colorstring | undefined-Color for flash/border
flashboolean | undefined-Enable flash animation
superflashboolean | undefined-Enable superflash animation (faster)
variantSingleStatCardVariant | undefined-Card variant
rowboolean | undefined-Row layout

Socket

Per-socket panel showing the miner slotted into a container slot, its state, and quick actions.

Displays a socket in a PDU with power/current info, miner status, and heatmap visualization

Features: - Power and current display - Miner status indicators - Heatmap mode with temperature/hashrate - Cooling fan indicator - Socket enable/disable states - Add miner flow

agent-ready

Props

PropTypeRequiredDefaultDescription
current_anumber | null | undefined-Current in amperes
power_wnumber | null | undefined-Power in watts
enabledboolean | undefined-Whether socket is enabled
socketnumber | null | undefined-Socket number/index
selectedboolean | undefined-Whether socket is selected
innerRefReact.ForwardedRef<HTMLDivElement> | undefined-Forwarded ref for the container
minerMiner | null | undefined-Miner data
heatmapHeatmap | null | undefined-Heatmap configuration
isEditFlowboolean | undefined-Whether in edit flow mode
clickDisabledboolean | undefined-Whether click is disabled
coolingboolean | undefined-Cooling status
isEmptyPowerDashedboolean | undefined-Whether to show dashed border for empty power
isContainerControlSupportedboolean | undefined-Whether container control is supported
pduPdu | undefined-PDU information

StatsGroupCard

Card grouping multiple <SingleStatCard>s or <SecondaryStatCard>s under a shared title.

Displays aggregated statistics for selected miners: - Hash rate, Temperature, Frequency, Consumption - Optional: Power mode, Uptime, LED, Status (for single miner)

Can render in two modes: - Miner Metrics: Uses MinerMetricCard layout - Stats Grid: Uses SingleStatCard and SecondaryStatCard in rows

agent-ready

Props

PropTypeRequiredDefaultDescription
minersDevice[] | DeviceData[] | undefined-Array of miners to display stats for
isMinerMetricsboolean | undefined-Whether to show miner metrics card layout

StatusItem

Compact labelled status pill used inside container panels for boolean or enum readings.

Displays a label with a colored status indicator.

agent-ready

Props

PropTypeRequiredDefaultDescription
labelstring | undefined-Status label text
status"warning" | "normal" | "fault" | "unavailable" | undefined-Status type

SupplyLiquidBox

Status card for the dielectric supply tank — level, temperature, and pressure readings.

agent-ready

Props

PropTypeRequiredDefaultDescription
dataDevice | undefined--
containerSettingsSupplyLiquidBoxContainerSettings | null | undefined--

TankRow

Single tank-list row used inside <TanksBox> to display per-tank temperature and pressure.

agent-ready

Props

PropTypeRequiredDefaultDescription
labelstring--
temperaturenumber--
unitstring--
oilPumpEnabledboolean--
waterPumpEnabledboolean--
colorstring--
flashboolean | undefined--
tooltipstring | undefined--
pressurePartial<{ value: number; flash: boolean; color: string; tooltip: string; }>--

TanksBox

Card listing all tanks inside an immersion container with per-tank temperature and pressure rows.

Displays tank rows with temperature, pressure, and oil/water pump status.

agent-ready

Props

PropTypeRequiredDefaultDescription
data{ oil_pump: Tank[]; water_pump: WaterPump[]; pressure: TanksBoxPressure[]; } | undefined--

WidgetTopRow

Compact header row used at the top of container / miner widgets — shows the title, per-category alarm badges, and the current power reading (or an error tooltip).

agent-ready

Props

PropTypeRequiredDefaultDescription
titlestring--
powernumber | undefined--
unitstring | undefined--
statsErrorMessagestring | ErrorWithTimestamp[] | null | undefined--
alarmsPartial<Record<AlarmPropKey, Alert[]>> | undefined--
classNamestring | undefined--

On this page