Skip to content

Actions Dropdown

Used to display a dropdown menu of actions.

Basic usage

template
<ActionsDropdown button-text="Click me!">
  <Menu>
    <MenuItem><button>Hello 👋</button></MenuItem>
  </Menu>
</ActionsDropdown>

Playground

Alignment

ActionsDropdown can be docked to a specific side of the trigger element. This can be done via the align property:

Right Aligned

template
<ActionsDropdown align="right">
  <Menu>
    <MenuItem><button>Action</button></MenuItem>
  </Menu>
</ActionsDropdown>

Left Aligned

template
<ActionsDropdown align="left">
  <Menu>
    <MenuItem><button>Action</button></MenuItem>
  </Menu>
</ActionsDropdown>

Disabled

ActionsDropdown can be disabled by setting the disabled property to true:

template
<ActionsDropdown disabled>
  <Menu>
    <MenuItem><button>Action</button></MenuItem>
  </Menu>
</ActionsDropdown>

Styling

If you pass the class property to the ActionsDropdown, you will be styling the trigger element of the component. In order to style the dropdown content, you can do it via the contentClass property.

vue
<template>
  <ActionsDropdown :class="$style.trigger" :content-class="$style.content">
    <Menu>
      <MenuItem><button>Action</button></MenuItem>
    </Menu>
  </ActionsDropdown>
</template>

<style module>
  .trigger {
    background: var(--color-red-100);
  }

  .content :global(.stash-menu) {
    background: var(--color-orange-100);
  }
</style>

API

See the documentation below for a complete reference to all the props and classes available to the components mentioned here.