# useClickOutside API

> Auto-generated API reference for `useClickOutside` from @vuetify/v0 (Vuetify0).
> Source of truth: https://0.vuetifyjs.com/api/use-click-outside

## Related

- https://0.vuetifyjs.com/composables/system/use-click-outside
- https://0.vuetifyjs.com/composables/system/use-event-listener

## Functions

### useClickOutside

Detects clicks outside of the specified element(s).

Uses two-phase detection (pointerdown → pointerup) to prevent false positives
when users drag from inside to outside an element.

```ts
(target: MaybeArray<ClickOutsideTarget>, handler: (event: PointerEvent | FocusEvent) => void, options?: UseClickOutsideOptions) => UseClickOutsideReturn
```

## Options

| Name | Type | Default | Required | Description |
|---|---|---|---|---|
| `capture` | `boolean \| undefined` | `true` | no | Use capture phase for event listeners. Ensures detection works even when inner elements call stopPropagation. |
| `touchScrollThreshold` | `number \| undefined` | `30` | no | Touch movement threshold in pixels. If finger moves more than this distance, it's treated as a scroll, not a tap. Only applies to touch interactions. |
| `detectIframe` | `boolean \| undefined` | `false` | no | Detect focus moving to iframes as an outside click. Useful when iframes are outside the target elements. |
| `ignore` | `MaybeRefOrGetter<ClickOutsideIgnoreTarget[]> \| undefined` | — | no | Elements to ignore when detecting outside clicks. Accepts element refs, getters, or CSS selector strings. Clicks on these elements (or their descendants) won't trigger the handler.  Note: CSS selectors cannot match across Shadow DOM boundaries due to browser limitations. Use element refs instead when ignoring shadow hosts. |
| `bounds` | `boolean \| undefined` | `false` | no | Use bounding rect instead of DOM containment to detect outside clicks. When true, checks if click coordinates are outside the element's bounding box. Useful for native <dialog> elements where backdrop clicks have the dialog as target. |

## Methods

| Name | Type | Description |
|---|---|---|
| `pause` | `() => void` | Pause listening (stops detection but keeps state) |
| `resume` | `() => void` | Resume listening |
| `stop` | `() => void` | Stop listening and clean up |

## Properties

| Name | Type | Description |
|---|---|---|
| `isActive` | `Readonly<Ref<boolean, boolean>>` | Whether the listener is currently active |
| `isPaused` | `Readonly<Ref<boolean, boolean>>` | Whether the listener is currently paused |
