# `ShadcnUI.Components.Overlays.DropdownActions`
[🔗](https://github.com/pcharbon70/shadcn_ui/blob/main/lib/shadcn_ui/components/overlays/dropdown_actions.ex#L1)

Ordinary links and buttons inside one auto Popover, deliberately not a menu.

Use native Tab/Shift+Tab, link activation, button Enter/Space, Escape and light
dismiss. No roving focus, arrow keys, typeahead, submenus or automatic outcome
dismissal are installed. Applications own methods, CSRF, authorization,
command results, destinations, pending snapshots and replacement.

# `dropdown_actions`

Renders keyed, text-labelled native actions in caller action-slot order.

Actions default to `kind=:button`, `type="button"`. Links require
`kind=:link` and `destination`; supported destinations are relative paths,
fragments and explicit http/https/mailto/tel URLs. Labels are text, not nested
HEEx. A `group_label` key is referenced by contiguous actions' `group` values.
A `separator` names the action it follows; `decorative=true` removes its
thematic-break semantics. Conflicting action globals are rejected rather than
silently changing a caller control. Provide a normal fallback destination.

## Attributes

* `id` (`:string`) (required)
* `accessible_label` (`:string`) (required)
* `placement` (`:atom`) - Defaults to `:block_end`. Must be one of `:block_start`, `:block_end`, `:inline_start`, or `:inline_end`.
* `class` (`:any`) - Defaults to `nil`.
* `trigger_class` (`:any`) - Defaults to `nil`.
* `trigger_rest` (`:map`) - Defaults to `%{}`.
* `surface_rest` (`:map`) - Defaults to `%{}`.
* Global attributes are accepted.
## Slots

* `trigger` (required)
* `fallback`
* `action` (required) - Accepts attributes:

  * `key` (`:string`) (required)
  * `label` (`:string`) (required)
  * `kind` (`:atom`) - Must be one of `:link`, or `:button`.
  * `destination` (`:string`)
  * `target` (`:string`)
  * `rel` (`:string`)
  * `download` (`:any`)
  * `current` (`:atom`)
  * `type` (`:string`)
  * `disabled` (`:boolean`)
  * `name` (`:string`)
  * `value` (`:string`)
  * `form` (`:string`)
  * `group` (`:string`)
  * `destructive` (`:boolean`)
  * `class` (`:any`)
  * `rest` (`:map`)
* `group_label` - Accepts attributes:

  * `key` (`:string`) (required)
  * `label` (`:string`) (required)
* `separator` - Accepts attributes:

  * `after_key` (`:string`) (required)
  * `decorative` (`:boolean`)

---

*Consult [api-reference.md](api-reference.md) for complete listing*
