BlogPlaygroundOne

VOverlay API


Props
name
type
default
boolean
false

Applies position: absolute to the content element.

Element | (string & {}) | 'parent' | ComponentPublicInstance
undefined

Explicitly sets the overlay’s activator.

unknown
{}

Apply custom properties to the activator.

string | boolean | Element
false

Specifies which DOM element the overlay content should teleport to. Can be a direct element reference, querySelector string, or true to disable teleporting. Uses body by default.

boolean
false

When enabled, focus will be trapped within the component’s content, preventing Tab navigation from moving focus outside. Useful for modals, dialogs, and overlays to maintain accessibility.

string | number
undefined

Milliseconds to wait before closing component. Only applies to hover and focus events.

boolean
true

Closes the overlay content when the browser’s back button is pressed or $router.back() is called, cancelling the original navigation. persistent overlays will cancel navigation and animate as if they were clicked outside instead of closing.

boolean
false

Closes component when you click on its content.

boolean
false

Limits the size of the component and scrim to its offset parent. Implies absolute and attach. (Note: The parent element must have position: relative.).

any
undefined

Applies a custom class to the detached element. This is useful because the content is moved to the beginning of the v-app component (unless the attach prop is provided) and is not targetable by classes passed directly on the component.

any
undefined

Apply custom properties to the content.

boolean
false

Removes the ability to click or target the component.

boolean
false

Forces the component’s content to render when it mounts. This is useful if you have content that will not be rendered in the DOM that you want crawled for SEO.

string | number
undefined

Sets the height for the component.

Anchor
'bottom'

Specifies the anchor point for positioning the component, using directional cues to align it either horizontally, vertically, or both…

'static' | 'connected' | LocationStrategyFunction
'static'

A function used to specifies how the component should position relative to its activator.

string | number
undefined

Sets the maximum height for the component.

string | number
undefined

Sets the maximum width for the component.

string | number
undefined

Sets the minimum height for the component.

string | number
undefined

Sets the minimum width for the component.

boolean
false

The v-model value of the component. If component supports the multiple prop, this defaults to an empty array.

boolean
false

Disables the bounce effect when clicking outside of the content element when using the persistent prop.

string | number | number[]
undefined

Increases distance from the target. When passed as a pair of numbers, the second value shifts anchor along the side and away from the target.

string | number
undefined

Sets the opacity of the scrim element. Only applies if scrim is enabled.

string | number
undefined

Milliseconds to wait before opening component. Only applies to hover and focus events.

boolean
undefined

Activate the component when the activator is clicked.

boolean
undefined

Activate the component when the activator is focused.

boolean
false

Activate the component when the activator is hovered.

Anchor | 'auto' | 'overlap'
'auto'

Sets the transition origin on the element. You can find more information on the MDN documentation for transition origin.

boolean
false

Clicking outside of the element or pressing esc key will not deactivate it.

boolean
false

Captures and keeps focus within the content element when using Tab and Shift+Tab. Recommended to be false when using external tools that require focus such as TinyMCE or vue-clipboard.

string | boolean
true

Accepts true/false to enable background, and string to define color.

'close' | 'none' | 'block' | 'reposition' | ScrollStrategyFunction
'block'

Strategy used when the component is activate and user scrolls.

boolean
false

Enables the overlay content to go off-screen when scrolling.

  | Element
  | (string & {})
  | 'parent'
  | 'cursor'
  | ComponentPublicInstance
  | [number, number]
undefined

For locationStrategy=“connected”, specify an element or array of x,y coordinates that the overlay should position itself relative to. This will be the activator element by default.

string
undefined

Specify a theme for this component and all of its children.

string | boolean | (TransitionProps & { component: Component })
'fade-transition'

Sets the component transition. Can be one of the built in or custom transition.

string | number
12

Sets custom viewport margin for the overlay content

string | number
undefined

Sets the width for the component.

string | number
2000

The z-index used for the component.

Events
name
type
[]

Event that fires after the overlay has finished transitioning in.

[]

Event that fires after the overlay has finished transitioning out.

[MouseEvent]

Event that fires when clicking outside an active overlay.

[KeyboardEvent]

Emitted when any key is pressed.

[boolean]

Event that is emitted when the component’s model changes.

Slots
{ isActive: boolean props: Record<string, any> targetRef: TemplateRef }
{ isActive: Ref<boolean, boolean> }

When used, will activate the component when clicked (or hover for specific components). This manually stops the event propagation. Without this slot, if you open the component through its model, you will need to manually stop the event propagation.

The default Vue slot.

Exposed
HTMLElement
() => void
HTMLElement
boolean
boolean
HTMLElement
HTMLElement
HTMLElement | [number, number]
(e: Event) => void

Ref to the current activator element.

Function invoked when user clicks outside.

Ref to the current content element.

Used by activator to determine a components position in the global stack order.

Used by activator to determine a components position in the local stack order.

Ref to the root v-overlay element.

Ref to the current scrim element.

Ref to the current target element.

Function used for locationStrategy positioning.

SASS Variables