Skip to main content
For development, import Details from @servicetitan/anvil2/beta. For design, find it in the Anvil2 file.
Beta FeatureThis feature is currently in beta, and needs to be imported from @servicetitan/anvil2/beta.While we hope to minimize breaking changes, they may occur due to feedback we receive or other improvements. These will always be documented in the changelog and communicated in Slack.Please reach out in the #ask-designsystem channel with any questions or feedback!
Details [Beta] extends the stable Details. Behavior, Details.Content, and tokens are the same. Only Details.Summary differs. To move from the stable component, see the migration guide.

Anatomy

Details [Beta] consists of four primary elements that work together to show or hide information when clicked.
  1. Chevron
  2. Label
  3. Attributes (optional)
  4. Body content

Options

Details [Beta] supports the following configurations to describe the summary at a glance.

Label

The label is bold by default and supports two inline markers: *italic* and ==highlight==. Use labelProps.size to change the text scale, and labelProps.moreInfo to add an info button with a tooltip.

Attributes

Attributes are cells that sit on the same grid as the label. Use them to surface status, totals, and quick actions without opening the Details.

Behavior

Details [Beta] responds to user interaction the same way as the stable Details, with one addition for attributes. Clicking the label, a text cell, a chip cell, or empty space in the summary row opens or closes the Details. Button and menu cells run only their own action and never toggle the Details. The label wraps when there is not enough room. Attribute cells do not wrap, and a cell beyond the last grid track moves to a new row.

Usage Guidelines

Use the stable Details when the summary is plain text and needs no attributes.

Content

Content within Details [Beta] should keep the label short and written in sentence case. Capitalize only the first word and proper nouns. Avoid **bold** markup, since the label is already bold.

Keyboard Interaction

Users can navigate Details [Beta] using standard keyboard controls.

Code

Common Examples

Placing cells on the grid

templateColumns defaults to 1fr, which gives the label the whole row. The label takes the first track and each cell takes the next one. Add one track for each cell, and size a track wider for a cell that needs more room.

Styling the summary

className and style apply to the summary row. Override colors with the --a2-mod-details-summary-* custom properties set through style. See the migration guide for the full list.

Controlling and grouping

expanded, defaultExpanded, onClick, and Details.Content height props work as they do on the stable Details.

React Accessibility

The summary row is a group labelled by the label text. The toggle button holds the label and sets aria-expanded and aria-controls, so its accessible name is the label alone. The info button, button cells, and menu cells are separate controls outside the toggle button.The info button has the accessible name “More information about” followed by the label.
Last modified on October 29, 2026