MDK Logo

Components

React components for building mining application UIs

The @tetherto/mdk-react-devkit package provides production-ready React components organized by category.

Prerequisites

  • Install the packages
npm install \
  @tetherto/mdk-react-devkit \
  @tetherto/mdk-react-adapter \
  @tetherto/mdk-ui-foundation
  • Import the core styles in your app's entry point. The mining-domain components, meaning the cards, charts, dashboard, settings, tables and widgets categories below, carry their styles in a second stylesheet, which loads after the first:
import '@tetherto/mdk-react-devkit/styles.css'
import '@tetherto/mdk-react-devkit/styles-domain.css'

Browse by category

CategoryDescription
ActionsButtons and action triggers
AuthAuthentication and sign-in components
BrandingLogos, wordmarks, and brand elements
CardsMining-domain cards: incidents, metrics, and pool details. Generic card containers are under Layout
ChartsData visualization and chart components
DashboardHeader stat boxes, date and timeline pickers, and the export control
DialogsModal dialogs and confirmation prompts
DisplayData display and formatting components
FeedbackAlerts, toasts, and user feedback
FiltersFilter controls and filter bars
FormsForm inputs, selects, and validation
LayoutPage structure, tabs, dividers, and the card container slots
MediaDirectional icon
MonitoringActivity log rows, items, and the log card
NavigationSidebars, tabs, and navigation menus
OverlaysPopovers, tooltips, and overlay panels
PagesNot-found page
SettingsSettings panels and preference controls
TablesThe data table, plus the alerts and device-explorer views built on it
WidgetsDashboard widgets and data cards

Import pattern

Components are importable from the package root. For tree-shaking and clarity, prefer the subpath that matches the component's layer: @tetherto/mdk-react-devkit/primitives for the generic ones, /domain for the mining-domain ones:

import { Button, Card, DataTable } from '@tetherto/mdk-react-devkit'

Styling

Components use BEM-style CSS classes (e.g., .mdk-button, .mdk-card__header) for styling consistency. Many components accept a className that is merged onto their root element, but not all do, so check the component's props before relying on it.

Styling covers the two stylesheets, the design tokens, and the cascade layers.

On this page