Heading sample
Sample text
Subheading sample
Sample text
Another subheading
Sample text
The example below loads live from Storybook; open it in Storybook to use the controls.
level is required and picks <h1> to <h6>. The size comes from the level: 1 xl, 2 lg, 3 md, 4-6 sm.
import { Heading } from '@bigbang/ui';
export default function Levels() { return ( <div className="flex flex-col gap-sm"> <Heading level={1}>Heading sample 1</Heading> <Heading level={2}>Heading sample 2</Heading> <Heading level={3}>Heading sample 3</Heading> <Heading level={4}>Heading sample 4</Heading> </div> );}size changes the visual only (16, 20, 24, 32 px); the document level stays with level.
import { Heading } from '@bigbang/ui';
export default function Sizes() { return ( <div className="flex flex-col gap-sm"> <Heading level={2} size="sm"> h2, sm size: heading sample </Heading> <Heading level={2}>h2, default size (lg): heading sample</Heading> </div> );}Headings descend without skipping: h2, then h3. Text sets the copy below them.
Sample text
Sample text
Sample text
import { Heading, Text } from '@bigbang/ui';
export default function InSection() { return ( <article className="flex flex-col gap-md"> <Heading level={2}>Heading sample</Heading> <Text render={<p />}>Sample text</Text> <Heading level={3}>Subheading sample</Heading> <Text render={<p />}>Sample text</Text> <Heading level={3}>Another subheading</Heading> <Text render={<p />}>Sample text</Text> </article> );}The heading colour comes from the color-text-default token; both modes need no separate setting.
import { Heading } from '@bigbang/ui';
export default function Levels() { return ( <div className="flex flex-col gap-sm"> <Heading level={1}>Heading sample 1</Heading> <Heading level={2}>Heading sample 2</Heading> <Heading level={3}>Heading sample 3</Heading> <Heading level={4}>Heading sample 4</Heading> </div> );}