MDK Logo

ArrowIcon

Directional arrow glyph (up / down / left / right) used by sortable headers, breadcrumbs, and toggles.

Directional arrow glyph (up / down / left / right) used by sortable headers, breadcrumbs, and toggles.

import { ArrowIcon } from "@tetherto/mdk-react-devkit";
PropStatusTypeDefaultDescription
isOpenOptionalboolean | undefined
sizeOptionalstring | number | undefinedSets both width and height
colorOptionalstring | undefinedOnly affects single-color icons (default: 'currentColor')
childrenOptionalundefined

Usage

A collection of domain-specific SVG icon components plus the createIcon factory for authoring new icons. All icons share a consistent IconProps interface and are built with React.forwardRef.

IconProps

PropTypeRequiredDefaultDescription
sizenumber | stringnoSets both width and height
colorstringno'currentColor'Fill/stroke color (only affects single-color icons)
widthnumber | stringnoicon defaultOverride width independently
heightnumber | stringnoicon defaultOverride height independently

All other SVGAttributes<SVGElement> props are forwarded to the <svg> element.

Available Icons

Sidebar navigation: DashboardNavIcon, AlertsNavIcon, FarmsNavIcon, ExplorerNavIcon, FinancialsNavIcon, InventoryNavIcon, MinersOverviewNavIcon, OperationsNavIcon, PoolManagerNavIcon, ReportingNavIcon, SettingsNavIcon, UserManagementNavIcon, CabinetWidgetNavIcon, ContainerWidgetsNavIcon

Status / alarm: ErrorStatusIcon, OfflineStatusIcon, SleepStatusIcon, MiningStatusIcon, FluidAlarmIcon, OfflineAlarmIcon, OtherAlarmIcon, PressureAlarmIcon, TemperatureAlarmIcon, AlertTriangleIcon

Miner card / stats: HashrateCardIcon, HashrateStatIcon, MinersStatIcon, BtcCardIcon, EfficiencyIcon, FrequencyIcon, FanIcon, PowerIcon, ConsumptionIcon, ModeIcon, TemperatureIndicatorIcon, TemperatureCelsiusIcon

Weather: CloudyIcon, PartlyCloudyIcon, RainThunderIcon, RainyIcon, SnowyIcon, SunnyIcon, TemperatureWeatherIcon

Navigation / UI: ArrowIcon, RightArrowIcon, RightNavigateIcon, MenuIcon, PinIcon, UnPinIcon, ExportIcon, ScaleControlIcon, NotificationBellIcon, SettingsHeaderIcon, SignOutIcon, LiveIcon

Misc: ActionsTickIcon, CommentIcon, CommentIconCommon, CoolingDropIcon, DecreaseIcon, IncreaseIcon, FarmAlertIcon, FarmStarIcon, GoogleIcon, MinerExplorerIcon, MinerOverviewIcon, SiteOverviewIcon, UserAvatarIcon, VolumeOffIcon, VolumeOnIcon, ProfitArrowIcon, ProductionDataIcon, PoolsIcon

createIcon factory

Use createIcon to define new SVG icons that automatically follow the IconProps interface.

CreateIconOptions

FieldTypeRequiredDescription
displayNamestringyesComponent display name
viewBoxstringyesSVG viewBox
defaultWidthnumbernoDefault width (defaults to 24)
defaultHeightnumbernoDefault height (defaults to 24)
multiColorbooleannoWhen true, disables single-color fill
pathReactNode | ((props: { color: string }) => ReactNode)yesSVG path(s)

Example

/** * Runnable example for Icons — a representative selection of exported icon components. */import {  AlertTriangleIcon,  ArrowIcon,  DashboardNavIcon,  FanIcon,  HashrateCardIcon,  NotificationBellIcon,  PowerIcon,  SunnyIcon,} from '@tetherto/mdk-react-devkit'const IconRow = ({ children }: { children: React.ReactNode }) => (  <div style={{ display: 'flex', alignItems: 'center', gap: 16, flexWrap: 'wrap' }}>{children}</div>)const IconSample = ({ label, children }: { label: string; children: React.ReactNode }) => (  <div style={{ display: 'flex', flexDirection: 'column', alignItems: 'center', gap: 6 }}>    {children}    <span style={{ fontSize: 11, color: 'var(--mdk-color-text-secondary, #888)' }}>{label}</span>  </div>)export const IconsExample = () => (  <div className="mdk-example-row" style={{ display: 'flex', flexDirection: 'column', gap: 24 }}>    {/* Default size (24px) */}    <IconRow>      <IconSample label="DashboardNavIcon">        <DashboardNavIcon />      </IconSample>      <IconSample label="AlertTriangleIcon">        <AlertTriangleIcon />      </IconSample>      <IconSample label="HashrateCardIcon">        <HashrateCardIcon />      </IconSample>      <IconSample label="FanIcon">        <FanIcon />      </IconSample>      <IconSample label="SunnyIcon">        <SunnyIcon />      </IconSample>      <IconSample label="ArrowIcon">        <ArrowIcon />      </IconSample>      <IconSample label="NotificationBellIcon">        <NotificationBellIcon />      </IconSample>      <IconSample label="PowerIcon">        <PowerIcon />      </IconSample>    </IconRow>    {/* Custom sizes */}    <IconRow>      <IconSample label="size=16">        <DashboardNavIcon size={16} />      </IconSample>      <IconSample label="size=24">        <DashboardNavIcon size={24} />      </IconSample>      <IconSample label="size=32">        <DashboardNavIcon size={32} />      </IconSample>    </IconRow>    {/* Custom colours */}    <IconRow>      <IconSample label="default color">        <AlertTriangleIcon size={24} />      </IconSample>      <IconSample label="color=#FF9500">        <AlertTriangleIcon size={24} color="#FF9500" />      </IconSample>      <IconSample label="color=#4ADE80">        <AlertTriangleIcon size={24} color="#4ADE80" />      </IconSample>      <IconSample label="color=#F87171">        <AlertTriangleIcon size={24} color="#F87171" />      </IconSample>    </IconRow>  </div>)