---
title: Section
description: Group content with a heading, supporting description, and optional action.
---
import { StoryEmbed } from '/snippets/ui/StoryEmbed.mdx';
import SectionReference from '/snippets/ui/generated/components/section.mdx';
`Section.Root` groups related content. `Section.Header` combines [Heading](/ui/primitives/typography/heading) with a description and an optional `adornment`. Descriptions are ordinary text associated with the heading, so they do not add levels to the document outline.
## Add a description and action
```tsx
import { Section } from 'twenty-ui/components';
import { Button } from 'twenty-ui/primitives/input';
import { Text } from 'twenty-ui/primitives/typography';
export const WorkspaceSection = () => (
Edit workspace}
/>
Workspace preferences appear here.
);
```
`Section.Root` defaults to a full-width `div` with left alignment and the primary text color. Use `align`, `color`, and `fullWidth` to adjust the content wrapper.
`Section.Header` can also be used by itself. Its `level`, `size`, and `color` configure the heading and default to `2`, `md`, and `primary`. The header has one spacing-4 margin after it. Use native `style` or `className` to adjust that spacing.
## Description overflow
String descriptions preserve line breaks, turn URLs into links, and show up to five lines. Set `descriptionLineClamp` to a positive integer to choose another limit. Hovering or focusing an overflowing description reveals its full text; Escape dismisses the tooltip.
Pass a React node for richer supporting content. Rich descriptions render as supplied, without automatic truncation or tooltips.
## Composition
Both parts forward native attributes, refs, class names, styles, and `render` to their outer element. For example, `Section.Root render={}` provides a named section, and `Section.Header render={}` uses a header container.
## Props