Skip to content

Button Layouts ​

In real-world business scenarios, we often need to group multiple action buttons together.

Tabler provides three semantically different button containers to control spacing, alignment, and conjoined grouping.

Button List ​

TButtonList is the most common multi-button container, maintaining even spacing between buttons.

Adding distinct theme colors makes it easy to draw user attention to the primary action.

vue

<TButtonList>
  <TButton color="success">Save changes</TButton>
  <TButton>Save and continue</TButton>
  <TButton color="danger">Cancel</TButton>
</TButtonList>

When the container width is insufficient (e.g., on mobile devices), buttons inside TButtonList will automatically wrap to the next line while maintaining consistent spacing — no manual media queries needed.

View Code
vue
<TButtonList>
    <TButton>One</TButton>
  <TButton>Two</TButton>
  <TButton>Three</TButton>
  <TButton>Four</TButton>
  <TButton>Five</TButton>
  <TButton>Six</TButton>
  <TButton>Seven</TButton>
  <TButton>Eight</TButton>
  <TButton>Nine</TButton>
  <TButton>Ten</TButton>
  <TButton>Eleven</TButton>
  <TButton>Twelve</TButton>
  <TButton>Thirteen</TButton>
  <TButton>Fourteen</TButton>
  <TButton>Fifteen</TButton>
  <TButton>Sixteen</TButton>
  <TButton>Seventeen</TButton>
  <TButton>Eighteen</TButton>
  <TButton>Nineteen</TButton>
</TButtonList>

Use the justify prop to adjust button alignment and place them in the most suitable position.

vue

<TButtonList justify="center">
  <TButton>Save and continue</TButton>
  <TButton color="primary">Save changes</TButton>
</TButtonList>
vue

<TButtonList justify="end">
  <TButton>Save and continue</TButton>
  <TButton color="primary">Save changes</TButton>
</TButtonList>

If you need to push a specific button (e.g., "Delete") to the far left while keeping primary actions on the right, combine it with Bootstrap's native me-auto utility class.

vue

<TButtonList justify="end">
  <TButton color="danger" outline class="me-auto">Delete</TButton>
  <TButton>Save and continue</TButton>
  <TButton color="primary">Save changes</TButton>
</TButtonList>

Button Group ​

TButtonGroup is used for grouping closely related buttons (such as toggle options or pagination controls), merging their borders into a cohesive visual unit.

vue

<TButtonGroup>
  <TButton>1st</TButton>
  <TButton>2nd</TButton>
  <TButton>3rd</TButton>
  <TButton>4th</TButton>
</TButtonGroup>

Set the vertical prop to arrange the button group vertically instead of horizontally.

vue

<TButtonGroup vertical>
  <TButton>Top</TButton>
  <TButton>Middle</TButton>
  <TButton>Bottom</TButton>
</TButtonGroup>

Button Actions ​

TButtonActions is a container specifically designed for compact icon buttons with the action prop.

It is typically used in the top-right title bar of a card (Card), or in the action column of a data table.

Show Code
vue

<TButtonActions>
  <TButton action>
    <IconRefresh class="icon icon-1"></IconRefresh>
  </TButton>
  <TButton action>
    <IconChevronUp class="icon icon-1"></IconChevronUp>
  </TButton>
  <TButton action>
    <IconDotsVertical class="icon icon-1"></IconDotsVertical>
  </TButton>
  <TButton action>
    <IconX class="icon icon-1"></IconX>
  </TButton>
</TButtonActions>

API ​

TButtonList Props ​

PropDescriptionTypeDefault
justifyHorizontal alignment of inner buttons. Maps to Flexbox justify-content.'start' | 'center' | 'end' | 'around' | 'between' | 'evenly''start'

TButtonGroup Props ​

PropDescriptionTypeDefault
verticalWhether to arrange the button group vertically instead of horizontally.booleanfalse

Container Slots ​

All three container components (TButtonList, TButtonGroup, TButtonActions) support only the default slot for placing TButton or other HTML elements.