What this family solves
Native-semantic typography family with three heading components backed by one core recipe, one shared typography preset, and a shared React/Vue contract.
Marwes documentation
Native-semantic typography family with three heading components backed by one core recipe, one shared typography preset, and a shared React/Vue contract.
Native-semantic typography family with three heading components backed by one core recipe, one shared typography preset, and a shared React/Vue contract.
Choose the heading level that matches real document structure; use size only to change visual weight without changing that structure.
Top-level page heading
Major section heading
Subsection heading
Choose an adapter in the verified examples. The inventory below reflects each framework package exactly.
@marwes-ui/reactH1, H2, H3
H1Props, H2Props, H3Props
@marwes-ui/vueH1, H2, H3
HeadingProps
@marwes-ui/svelteH1, H2, H3
H1Props, H2Props, H3Props
These examples come from the same fixtures verified by the repository checks.
import { H1, H2, H3, Paragraph, Text, TextVariant } from "@marwes-ui/react"
export function Example() {
return (
<>
<Text variant={TextVariant.display}>Display</Text>
<H1>Heading 1</H1>
<H2>Heading 2</H2>
<H3>Heading 3</H3>
<Paragraph size="md">Body paragraph text.</Paragraph>
<Paragraph size="sm">Small body paragraph.</Paragraph>
<Text variant={TextVariant.label}>Label default</Text>
<Text variant={TextVariant.labelSmall}>Label small</Text>
<Text variant={TextVariant.caption}>Caption</Text>
<Text variant={TextVariant.overline}>Overline</Text>
</>
)
}<script setup lang="ts">
import { H1, H2, H3, Paragraph, Text, TextVariant } from "@marwes-ui/vue"
</script>
<template>
<Text :variant="TextVariant.display">Display</Text>
<H1>Heading 1</H1>
<H2>Heading 2</H2>
<H3>Heading 3</H3>
<Paragraph size="md">Body paragraph text.</Paragraph>
<Paragraph size="sm">Small body paragraph.</Paragraph>
<Text :variant="TextVariant.label">Label default</Text>
<Text :variant="TextVariant.labelSmall">Label small</Text>
<Text :variant="TextVariant.caption">Caption</Text>
<Text :variant="TextVariant.overline">Overline</Text>
</template><script lang="ts">
import { H1, H2, H3, Paragraph, Text, TextVariant } from "@marwes-ui/svelte"
</script>
<Text variant={TextVariant.display}>Display</Text>
<H1>Heading 1</H1>
<H2>Heading 2</H2>
<H3>Heading 3</H3>
<Paragraph size="md">Body paragraph text.</Paragraph>
<Paragraph size="sm">Small body paragraph.</Paragraph>
<Text variant={TextVariant.label}>Label default</Text>
<Text variant={TextVariant.labelSmall}>Label small</Text>
<Text variant={TextVariant.caption}>Caption</Text>
<Text variant={TextVariant.overline}>Overline</Text>Heading uses Marwes preset CSS and theme variables. Customize it through the theme passed to MarwesProvider; do not add a second component stylesheet. See the theming guide for configuration and token details.