MDK Logo

Icons

Purpose-built icons for mining applications

The @mdk/core package includes 70+ icons to simplify development of Bitcoin mining applications.

Prerequisites

Import

// Import individual icons
import { DashboardNavIcon, HashrateStatIcon, MiningStatusIcon } from '@mdk/core'

// Import the factory function
import { createIcon } from '@mdk/core'

// Import types
import type { IconProps, CreateIconOptions } from '@mdk/core'

Icon props

All icons accept the IconProps interface:

PropTypeDefaultDescription
sizenumber | string24Sets both width and height
colorstring'currentColor'Icon color (single-color icons only)
widthnumber | stringnoneOverride width
heightnumber | stringnoneOverride height
classNamestringnoneCSS class
styleCSSPropertiesnoneInline styles

Basic usage

import { DashboardNavIcon, HashrateStatIcon } from '@mdk/core'

// Default size (24px)
<DashboardNavIcon />

// Custom size
<HashrateStatIcon size={32} />

// Custom color
<MiningStatusIcon color="#72F59E" />

// With className
<SettingsNavIcon className="sidebar-icon" />

Available icons

Icons for sidebar and navigation menus:

IconNameDescription
dashboard-nav-iconDashboardNavIconDashboard/home
FarmsNavIconMining farms
financials-nav-iconFinancialsNavIconFinancial reports
inventory-nav-iconInventoryNavIconEquipment inventory
miners-overview-nav-iconMinersOverviewNavIconMiner overview
operations-nav-iconOperationsNavIconOperations
pool-manager-nav-iconPoolManagerNavIconPool Manager
reporting-nav-iconReportingNavIconReporting
settings-nav-iconSettingsNavIconSettings
user-management-nav-iconUserManagementNavIconUser management
explorer-nav-iconExplorerNavIconExplorer
alerts-nav-iconAlertsNavIconAlerts
cabinet-widget-nav-iconCabinetWidgetNavIconCabinet widgets
container-widgets-nav-iconContainerWidgetsNavIconContainer widgets

Status icons

Icons for displaying operational status:

IconNameDescription
mining-status-iconMiningStatusIconActive mining
offline-status-iconOfflineStatusIconOffline
sleep-status-iconSleepStatusIconSleep/standby mode
ErrorStatusIconError state
live-iconLiveIconLive/active
offline-iconOfflineIconOffline indicator

Alarm icons

Icons for alerts and alarms:

IconNameDescription
temperature-alarm-iconTemperatureAlarmIconTemperature alarm
pressure-alarm-iconPressureAlarmIconPressure alarm
fluid-alarm-iconFluidAlarmIconFluid/coolant alarm
offline-alarm-iconOfflineAlarmIconOffline alarm
other-alarm-iconOtherAlarmIconGeneric alarm
alert-triangle-iconAlertTriangleIconWarning triangle

Weather icons

Icons for environmental conditions:

IconNameDescription
sunny-iconSunnyIconSunny/clear
CloudyIconCloudy
rainy-iconRainyIconRain
snowy-iconSnowyIconSnow
partly-cloudy-iconPartlyCloudyIconPartly cloudy
rain-thunder-iconRainThunderIconThunderstorm

Mining/stats icons

Icons for mining metrics and statistics:

IconNameDescription
hashrate-card-iconHashrateCardIconHashrate display
hashrate-stat-iconHashrateStatIconHashrate statistic
miners-stat-iconMinersStatIconMiner count
farm-star-iconFarmStarIconFarm highlight
farm-alert-iconFarmAlertIconFarm alert
miner-overview-iconMinerOverviewIconMiner overview
miner-explorer-iconMinerExplorerIconMiner explorer
pools-iconPoolsIconMining pools
production-data-iconProductionDataIconProduction data

Measurement icons

Icons for measurements and readings:

IconNameDescription
power-iconPowerIconPower consumption
fan-iconFanIconFan/cooling
frequency-iconFrequencyIconFrequency
efficiency-iconEfficiencyIconEfficiency
consumption-iconConsumptionIconConsumption
temperature-celsius-iconTemperatureCelsiusIconTemperature (°C)
temperature-indicator-iconTemperatureIndicatorIconTemperature indicator
temperature-weather-iconTemperatureWeatherIconTemperature/weather
cooling-drop-iconCoolingDropIconCooling/liquid

UI icons

General UI icons:

IconNameDescription
arrow-iconArrowIconArrow (direction)
right-arrow-iconRightArrowIconRight arrow
right-navigate-iconRightNavigateIconNavigate right
PinIconPin/favorite
UnPinIconUnpin
menu-iconMenuIconMenu hamburger
export-iconExportIconExport data
google-iconGoogleIconGoogle logo
notification-bell-iconNotificationBellIconNotifications
settings-header-iconSettingsHeaderIconSettings gear
sign-out-iconSignOutIconSign out
user-avatar-iconUserAvatarIconUser avatar
volume-on-iconVolumeOnIconVolume on
volume-off-iconVolumeOffIconVolume off
comment-iconCommentIconComment
increase-iconIncreaseIconIncrease/up
decrease-iconDecreaseIconDecrease/down
profit-arrow-iconProfitArrowIconProfit indicator
btc-card-iconBtcCardIconBitcoin card
mode-iconModeIconMode toggle
scale-control-iconScaleControlIconScale control
site-overview-iconSiteOverviewIconSite overview
actions-tick-iconActionsTickIconAction complete

Create custom icons

Use createIcon to create custom icons following the same pattern:

import { createIcon } from '@mdk/core'

export const MyCustomIcon = createIcon({
  displayName: 'MyCustomIcon',
  viewBox: '0 0 24 24',
  defaultWidth: 24,
  defaultHeight: 24,
  path: (
    <path
      d="M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5"
      stroke="currentColor"
      strokeWidth={2}
      strokeLinecap="round"
      strokeLinejoin="round"
    />
  ),
})

CreateIconOptions

OptionTypeDefaultDescription
displayNamestringnoneRequired: Component display name
viewBoxstringnoneRequired: SVG viewBox
defaultWidthnumber24Default width
defaultHeightnumber24Default height
multiColorbooleanfalseMulti-color icon flag
pathReactNode | functionnoneRequired: SVG path content

Dynamic color icons

For icons that need dynamic colors:

export const DynamicColorIcon = createIcon({
  displayName: 'DynamicColorIcon',
  viewBox: '0 0 24 24',
  path: ({ color }) => (
    <circle cx="12" cy="12" r="10" fill={color} />
  ),
})

On this page