Skip to content
Mizen UI
Docs

IntroductionInstallationCLIStylingFoundationsThemingCompositionIntegrationsAccessibilityFor agents

useCopyToClipboard

AccordionAspect RatioCardCollapsibleFrameGridGroupInlineScroll AreaSectionSeparatorSpacerStack

BlockquoteCitationCodeHeadingKbdLabelLinkTextVisually Hidden

ButtonButton GroupToggleToggle groupToolbar

CalendarCheckboxCheckbox groupComboboxDate pickerDate range pickerDate-Time InputFieldFieldsetFile UploadFormInputInput groupNumber fieldOTP FieldRadio groupSelectSliderSwitchTextareaTime Input

BreadcrumbMenubarNavigation MenuPaginationSegmented ControlStepperTabs

Alert dialogCommandContext MenuDialogDrawerMenuPopoverPreview CardSheetTooltip

AlertBadgeEmptyError StateMeterProgressSkeletonSpinnerStatus dotToast

Activity FeedAvatarAvatar GroupData TableListMetricOverflow ListProperty ListTableTokenTree

Area ChartBar ListCalendar HeatmapCategory ComparisonChart FrameChart LegendChart TooltipDistributionFunnelHeatmapMetric TrendPart-to-WholeProgress RingsRadar ChartRadial BarsSankey ChartScatter ChartScore GaugeTime Series

Diagram

AttachmentCarouselCode BlockLightboxMarkdownThumbnailTimestamp

Agent ThinkingApproval CardComposerConversationInline CitationMessageMessage ScrollerQuestion CardSourcesStreaming TextSuggestionTask ListTerminalTool Call

On this page

  • Preview
  • Usage
  • Examples
  • Daily activity
  • Compact week
  • Recommendations
  • Usage boundaries
  • API reference

Charts

Progress Rings

Up to three concentric rings, each showing progress toward its own goal, with value tiles.

idle

Usage

import { ProgressRings } from "@mizen-labs/ui";

Examples

Daily activity

Three rings, each toward its own goal, with value tiles.

Compact week

size="sm" draws 32px rings for dense grids such as a week or calendar.

Recommendations

GuidancePractice
Do

Use display strings for units such as "1h 45m". Keep to three rings so each stays distinct.

Usage boundaries

GuidanceBoundary
Scope

Each ring measures progress toward its own goal. Do not compare ring lengths across rings with different goals.

API reference

Public props from @mizen-labs/ui. Use exported prop types for the complete TypeScript contract.

PropTypeDefaultDescription
ringsreadonly { id: string; label: string; value: number; goal: number; display?: string; tone?: ChartSeriesTone }[]RequiredOne to three rings, outermost first. Progress caps at the goal; tiles show the true share.
aria-labelstringRequiredNames the group of rings.
size"md" | "sm""md"sm draws a 32px glyph without tiles for dense grids; values stay available to assistive technology.
formatValue / locale(value: number) => string / stringLocale number formatting / "en-US"Formats values that have no display string.
PreviousPart-to-WholeNextRadar Chart
Activity
  • Move1,592 kcal80%
  • Exercise1h 45m88%
  • Running5.2 km65%
  • Move1,592 kcal80%
  • Exercise1h 45m88%
  • Running5.2 km65%
  • Move0.990%
  • Exercise0.770%
  • Running0.550%
Mon
  • Move0.660%
  • Exercise0.880%
  • Running0.990%
Tue
  • Move1100%
  • Exercise1100%
  • Running0.770%
Wed
  • Move0.440%
  • Exercise0.330%
  • Running0.220%
Thu
  • Move0.880%
  • Exercise0.990%
  • Running1100%
Fri
  • Move0.330%
  • Exercise0.550%
  • Running00%
Sat
  • Move0.770%
  • Exercise0.660%
  • Running0.440%
Sun