# `PhiaUiDesign.Canvas.Selection`
[🔗](https://github.com/charlenopires/PhiaUI/blob/v0.1.17/lib/phiaui_design/canvas/selection.ex#L1)

Manages selection state for the design canvas.

# `t`

```elixir
@type t() :: %PhiaUiDesign.Canvas.Selection{
  hovered_id: String.t() | nil,
  selected_ids: MapSet.t(String.t())
}
```

# `clear`

Clear all selection

# `count`

Get count of selected nodes

# `hover`

Set hovered node

# `new`

# `select`

Select a single node (clearing previous selection)

# `selected?`

Check if a node is selected

# `single_selected`

Get the single selected node ID (or nil if none/multiple)

# `toggle`

Toggle selection of a node (for multi-select with Shift)

---

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