MDK Logo

Socket

PDU socket tile with power, miner state, cooling indicator, and heatmap support

Socket renders a single PDU socket cell used inside container floor plans and detail views. It pairs socket identity with live power and current readouts, reflects miner mount state, and supports an add-miner flow in edit mode.

For the container vendors that compose sockets into larger layouts, see the Containers overview.

Prerequisites

Socket

Visualizes a single PDU socket with power, current, miner status, cooling fan indicator, and heatmap coloring for temperature or hashrate, plus an add-miner affordance in edit mode.

Import

import { Socket } from '@mdk/foundation'

Props

PropTypeDefaultDescription
socketnumber | nullnullSocket index shown in the cell
enabledbooleanfalseWhether the socket is powered
selectedbooleanfalseApplies selected visual state
current_anumber | nullnullCurrent draw in amperes
power_wnumber | nullnullPower draw in watts
minerMiner | nullnullMiner mounted in the socket
heatmapHeatmap | nullnullHeatmap configuration; see type below
coolingboolean | undefinedundefinedShows cooling fan state when set
isEditFlowbooleanfalseRenders the add-miner flow UI
clickDisabledbooleanfalseDisables socket click interactions
isEmptyPowerDashedbooleanfalseShows zero power with dashed border
isContainerControlSupportedbooleanfalseAffects tooltip copy for controls
pdu{ pdu?: string | number }nonePDU metadata used for data-pdu-index
innerRefForwardedRef<HTMLDivElement>noneForwarded ref to the root element

Heatmap type

type Heatmap = {
  isHeatmapMode?: boolean
  mode?: string       // e.g. 'hashrate' or a temperature field
  ranges?: Record<string, { min?: number; max?: number }>
}

Basic usage

<Socket
  socket={1}
  enabled
  power_w={3250}
  current_a={14.5}
  miner={minerData}
/>

With heatmap

<Socket
  socket={1}
  enabled
  miner={minerData}
  heatmap={{
    isHeatmapMode: true,
    mode: 'chip_avg',
    ranges: { chip_avg: { min: 40, max: 85 } },
  }}
/>

Styling

  • .mdk-socket: Root element
  • .mdk-socket--has-cooling: Cooling fan visible
  • .mdk-socket--heatmap: Heatmap mode active
  • .mdk-socket--selected: Selected state
  • .mdk-socket--disabled: Click disabled
  • .mdk-socket__wrapper: Content wrapper
  • .mdk-socket__consumption-box: Power and current readouts
  • .mdk-socket__fan-icon / --on: Cooling fan icon
  • .mdk-socket__value: Individual power or current cell
  • .mdk-socket__index: Socket number badge
  • .mdk-socket__add-icon: Add-miner icon shown in edit flow
  • .mdk-socket__connection-icon: Clock icon shown while connecting

On this page