Button Dropdown # 
Component with a button that displays dropdown content when getting clicked. It inherits properties, provided by VaButton and VaDropdown components.
Examples # 
Basic usage # 
Just wrap your content with va-button-dropdown component and it will become available only via click.
Split # 
The split prop allows you to split the button into two, with different purposes of using. One of them can be a link (you can set href for it via split-to or split-href props, which are analogues of the to and href attributes).
Colors # 
The component can be colored via color, gradient and text-color props.
Sizes # 
You are able to set component's size via size prop (small, medium or large presets are available, px and rem values are also suitable).
Presets # 
Disabled # 
The component can be disabled via disabled prop. For the split state can be disabled both or only one button (via disableButton and disableDropdown props).
Icons # 
You can set the dropdown icon and its color via icon and icon-color props. Also you are able to change icon's position from right to  left side of the button via left-icon boolean prop. If you want to remove icon at all, use the hide-icon property. Opened-state icon can be changed using openedIcon prop.
Click inside # 
You are able to set up the dropdown to be closed or not after clicking on its content using the close-on-content-click prop.
API # 
Props #
| Name | Description | Types | Default | 
|---|---|---|---|
| activeClass | Applied when the link is active. More info here.  | 
  | -  | 
| anchor | 
  | -  | |
| anchorSelector | Anchor CSS selector instead of passing slot  | 
  | 
  | 
| append | When set, always appends the relative path to the current path. More info here.  | 
  | -  | 
| ariaLabel | The aria-label of the component  | 
  | 
  | 
| autoPlacement | If dropdown doesn't fit viewport, it will be placed automatically to fit viewport  | 
  | 
  | 
| backgroundOpacity | Sets up button background opacity.  | 
  | 
  | 
| borderColor | Color CSS style   | 
  | 
  | 
| closeOnAnchorClick | Dropdown will be closed when anchor is clicked  | 
  | 
  | 
| closeOnClickOutside | Dropdown will be closed when clicked outside dropdown content and anchor  | 
  | 
  | 
| closeOnContentClick | Sets dropdown content on click behavior.  | 
  | 
  | 
| closeOnFocusOutside | 
  | 
  | |
| color | Color of the component (theme string or   | 
  | 
  | 
| contentClass | 
  | 
  | |
| cursor | Dropdown will be rendered relative to cursor position  | 
  | 
  | 
| disableButton | Disables the button.  | 
  | 
  | 
| disabled | Applies   | 
  | 
  | 
| disableDropdown | Disables the dropdown menu.  | 
  | 
  | 
| exact | Exactly match the link. Without this, '/' will match every route. More info here.  | 
  | -  | 
| exactActiveClass | Applied when the link is active with exact match. More info here.  | 
  | -  | 
| fontSizesConfig | Provide a set of sizes for fonts as a global component specific setting.  | 
  | 
 | 
| gradient | Makes the button background color a gradient (only if   | 
  | 
  | 
| hideIcon | Hide icon (when   | 
  | 
  | 
| hoverBehavior | Behavior of the button, when it's being hovered. Can be   | 
  | 
  | 
| hoverMaskColor | Mask color for   | 
  | 
  | 
| hoverOpacity | Opacity value for   | 
  | 
  | 
| hoverOutTimeout | Time in   | 
  | 
  | 
| hoverOverTimeout | Time in   | 
  | 
  | 
| href | Designates the component as anchor and applies the href attribute. More info here.  | 
  | -  | 
| icon | Applies a custom icon in the dropdown section.  | 
  | 
  | 
| iconColor | Sets an icon color.  | 
  | 
  | 
| innerAnchorSelector | Anchor CSS selector inside passed slot  | 
  | 
  | 
| isContentHoverable | If true, dropdown content will be hoverable  | 
  | 
  | 
| keepAnchorWidth | Keeps anchor position the same.  | 
  | 
  | 
| keyboardNavigation | Enables keyboard navigation for the component.  | 
  | 
  | 
| label | Same as native   | 
  | -  | 
| leftIcon | Sets the icon position to the left.  | 
  | 
  | 
| loading | Indicates that something is loading (spinner icon).  | 
  | 
  | 
| modelValue | Sets a dropdown state.  | 
  | 
  | 
| offset | Sets the distance between dropdown and anchor.  | 
  | 
  | 
| openedIcon | Applies a custom icon in the dropdown section when the dropdown is opened.  | 
  | 
  | 
| placement | Sets the placement of the dropdown content. More about placements  | 
  | 
  | 
| plain | Applies   | 
  | 
  | 
| preset | Named preset combination of component props.  | 
  | -  | 
| pressedBehavior | Behavior of the button, when it's being pressed. Can be   | 
  | 
  | 
| pressedMaskColor | Mask color for   | 
  | 
  | 
| pressedOpacity | Opacity value for   | 
  | 
  | 
| readonly | Doesn't look disabled, but acts like one. Mostly useful for wrapper components.  | 
  | -  | 
| replace | When set, calls   | 
  | -  | 
| role | Sets the   | 
  | 
  | 
| round | Adds rounded corners (or make a button fully rounded if only icon is passed).  | 
  | 
  | 
| size | Specify size for component.   | 
  | 
  | 
| sizesConfig | Provide a set of sizes as a global component specific setting.  | 
  | 
 | 
| split | Divides the button into two parts. This is useful when you have main action (button) and a number of secondary actions (icon + dropdown).  | 
  | -  | 
| splitHref | Sets a native navigation link in a split component.  | 
  | 
  | 
| splitTo | Sets a vue navigation link in a split component.  | 
  | 
  | 
| stateful | Add possibility to work with component without setting   | 
  | 
  | 
| stickToEdges | Dropdown will not be rendered outside of viewport. It will be moved in opposite direction.  | 
  | 
  | 
| tag | Replaces html tag. This is useful for semantics and also to allow for valid markup in some cases (  | 
  | 
  | 
| target | Navigation target, More info here.  | 
  | -  | 
| teleport | Element where content will be rendered  | 
  | -  | 
| textColor | Text color (theme string or HEX string).  | 
  | 
  | 
| textOpacity | Sets button text opacity.  | 
  | 
  | 
| to | The target route of the link. More info here.  | 
  | -  | 
| trigger | Action that will triggered when open and close dropdown.  | 
  | 
 | 
| type | Will be used as value for html   | 
  | 
  | 
| verticalScrollOnOverflow | 
  | 
  | 
Events #
| Name | Description | 
|---|---|
click  | Emitted when user clicks on button.. The event argument is:  | 
mainButtonClick  | Emitted when user clicks on main button in split component.. The event argument is:  | 
update:modelValue  | The event is triggered when the component needs to change the model. Is also used by   | 
Slots #
| Name | Description | 
|---|---|
default  | Dropdown content slot.  | 
label  | Content for dropdown button.  | 
Css Variables #
| Name | Default Value | 
|---|---|
| --va-button-dropdown-button-margin | 0 |