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
  • Markdown
  • Recommendations
  • Usage boundaries
  • API reference

Content

Markdown

Gives rendered Markdown Mizen's reading layout and element styling, with any parser.

idle

Usage

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

Examples

Markdown

Recommendations

GuidancePractice
Do

Render the document inside Markdown with markdownComponents, for example through react-markdown with remark-gfm and skipHtml.

Do

Give each document an id and pass it as the parser's footnote prefix.

Usage boundaries

GuidanceBoundary
Scope

Mizen ships no parser. The app owns parsing, plugins, raw HTML policy, and URL sanitizing for untrusted content.

Scope

Footnote labels share one ID across documents on a page; this is a remark-rehype limitation.

API reference

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

PropTypeDefaultDescription
Markdown.childrenReactNodeRequiredThe rendered document, usually a react-markdown or MDX tree that uses markdownComponents.
Markdown.idstringNoneAnchors the document; pass the same value as the parser's footnote prefix.
markdownComponentsElement mapStaticMaps headings, lists, links, code, task lists, and tables to Mizen elements for any renderer with a components prop.
Parsing and safetyApp-ownedNoneThe app chooses the parser and plugins, skips raw HTML, and keeps URL sanitizing; Mizen ships no parser.
PreviousLightboxNextThumbnail

Version 0.8

Reports get exports, and tables get full keyboard support.

  • Exports. Any report downloads as CSV or PDF.
  • Keyboard. Arrow keys move between table cells.
  • Time. Timestamp reads as relative time, such as 2 hours ago.

See Installation to update.

Release notes

The shared reading layout is ready for review. Keep long technical identifiers readable: workspace.permissions.auditTrail.

  • Native links stay keyboard accessible.
  • Long content wraps at narrow widths.
CapabilityBehavior
TablesUse shared Mizen table styles.
FootnotesKeep references linked to their notes.

Keep rendered content semantic and easy to scan.

import { Field, FieldControl, FieldLabel, Input } from "@mizen-labs/ui";
const audit = await workspace.permissions.auditTrail.filter((entry) => entry.actor === "current-user" && entry.action === "settings.updated" && entry.resource === "workspace.preferences.notifications");
export const releaseStatus = "ready";

Read the release guide. Details live in the footnote1.

Footnotes

  1. This note stays connected to its reference. ↩