MarkdownRenderer
Renders markdown text as styled HTML
DryUI 1.4.0
Released April 24, 2026
Highlights
- New
DataGridsorting API withsortableon any column MarkdownRenderernow handles GFM tables and task listsPaginationships with keyboard-first navigation
Breaking
Alertno longer accepts thetoneprop. Usevariant.--dry-color-accentremoved. Map to--dry-color-fill-brand.Tree.Root'sexpandedprop is nowdefaultExpanded.
Fixes
AlertDialogfocus trap no longer leaks past the close buttonDatePickerparsesYYYY-MM-DDreliably on Safari 17Tooltiprespectsprefers-reduced-motionwhen opening
Example
svelte
<Pagination.Root bind:page totalPages={12}>
<Pagination.Content>...</Pagination.Content>
</Pagination.Root> See the migration guide for the full diff.
Accessibility
- Treat the component as presentational unless it exposes interactive affordances, and label any interactive affordances explicitly.
- Keep heading, reading, and focus order aligned with the surrounding content.
Styled quick start
Copy this entrypoint first. It includes the imports required to get the component on screen.
svelte
<script lang="ts">
import '@dryui/ui/themes/default.css';
import '@dryui/ui/themes/dark.css';
import { MarkdownRenderer } from '@dryui/ui';
</script>
<MarkdownRenderer>Content</MarkdownRenderer> Import options
Root package
ts
import { MarkdownRenderer } from '@dryui/ui' Per-component subpath
ts
import { MarkdownRenderer } from '@dryui/ui/markdown-renderer' API
Props, CSS variables, and the public data attributes you can target when styling.
| Prop | Type | Description | Default | Required | Bindable |
|---|---|---|---|---|---|
| content | string | — | — | ✓ | — |
| dangerouslyAllowRawHtml | boolean | — | false | — | — |