Skip to main content

Details

<sl-details> | SlDetails
Since 1.0 stable

Details show a brief summary and expand to show additional content.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
<sl-details summary="Toggle Me">
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
  aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</sl-details>

Examples

Disabled

Use the disable attribute to prevent the details from expanding.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
<sl-details summary="Disabled" disabled>
  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
  aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</sl-details>

Customizing the Summary Icon

Use the expand-icon and collapse-icon slots to change the expand and collapse icons, respectively. To disable the animation, override the rotate property on the summary-icon part as shown below.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
<sl-details summary="Toggle Me" class="custom-icons" disable-rotate>
  <sl-icon name="square-plus" slot="expand-icon"></sl-icon>
  <sl-icon name="square-minus" slot="collapse-icon"></sl-icon>

  Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
  aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
</sl-details>

Checkbox variant

Use sl-check-box as summary icon. Can change the icon position with summary-icon-position, default position is right.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
<div class="container">
  <sl-details summary="Toggle Me" class="details-with-checkbox" summary-icon-position="left" disable-rotate open>
    <sl-checkbox slot="expand-icon"></sl-checkbox>
    <sl-checkbox checked slot="collapse-icon"></sl-checkbox>

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
    aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
  </sl-details>

  <sl-details summary="Toggle Me" class="details-with-checkbox" summary-icon-position="left" disable-rotate>
    <sl-checkbox slot="expand-icon"></sl-checkbox>
    <sl-checkbox checked slot="collapse-icon"></sl-checkbox>

    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
    aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
  </sl-details>
</div>

<style>
  .container {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .details-with-checkbox sl-checkbox::part(form-control) {
    display: flex;
    align-items: center;
  }

  .details-with-checkbox sl-checkbox::part(label) {
    margin-inline-start: 0 !important;
  }
</style>

Multi-actions

Use multi-actions by adding sl-dropdown component to slot actions-dropdown.

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Delete Duplicate Disabled
<sl-details summary="Toggle Me">
 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna
 aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

 <sl-dropdown slot="actions-dropdown">
   <sl-icon-button slot="trigger" name="ellipsis"></sl-icon-button>
   <sl-menu>
     <sl-menu-item value="delete">Delete</sl-menu-item>
     <sl-menu-item value="duplicate">Duplicate</sl-menu-item>
     <sl-menu-item value="disabled" disabled>Disabled</sl-menu-item>
   </sl-menu>
 </sl-dropdown>
</sl-details>

Slots

Name Description
(default) The details’ main content.
summary The details’ summary. Alternatively, you can use the summary attribute.
expand-icon Optional expand icon to use instead of the default. Works best with <sl-icon>.
collapse-icon Optional collapse icon to use instead of the default. Works best with <sl-icon>.
actions-dropdown Optional multi-actions to use. Works best with <sl-dropdown>.

Learn more about using slots.

Properties

Name Description Reflects Type Default
open Indicates whether or not the details is open. You can toggle this attribute to show and hide the details, or you can use the show() and hide() methods and this attribute will reflect the details’ open state. boolean false
summary The summary to show in the header. If you need to display HTML, use the summary slot instead. string -
disabled Disables the details so it can’t be toggled. boolean false
summaryIconPosition
summary-icon-position
The position of the summary icon. 'left' | 'right' 'right'
disableRotate
disable-rotate
Disables the rotation of the summary icon when the details are open. boolean false
updateComplete A read-only promise that resolves when the component has finished updating.

Learn more about attributes and properties.

Events

Name React Event Description Event Detail
sl-show Emitted when the details opens. -
sl-after-show Emitted after the details opens and all animations are complete. -
sl-hide Emitted when the details closes. -
sl-after-hide Emitted after the details closes and all animations are complete. -

Learn more about events.

Methods

Name Description Arguments
show() Shows the details. -
hide() Hides the details -

Learn more about methods.

Parts

Name Description
base The component’s base wrapper.
header The header that wraps both the summary and the expand/collapse icon.
summary The container that wraps the summary.
summary-icon The container that wraps the expand/collapse icons.
content The details content.

Learn more about customizing CSS parts.

Animations

Name Description
details.show The animation to use when showing details. You can use height: auto with this animation.
details.hide The animation to use when hiding details. You can use height: auto with this animation.

Learn more about customizing animations.

Dependencies

This component automatically imports the following dependencies.

  • <sl-icon>