Skip to content
navy

Popover

Smart-positioned popover with automatic fallback placement.

Live Demo

Usage

vue
<template>
  <orio-popover position="bottom-left">
    <template #default="{ toggle }">
      <orio-button @click="toggle()"> Show Popover </orio-button>
    </template>

    <template #content="{ toggle }">
      <div class="popover-content">
        <p>Your content here</p>
        <orio-button variant="secondary" @click="toggle(false)">Close</orio-button>
      </div>
    </template>
  </orio-popover>
</template>

Props

PropTypeDefaultDescription
positionstring'bottom-left'Popover position
offsetnumber10Distance from trigger (px)
disabledbooleanfalseDisable popover

Position Values

  • Single: 'top', 'bottom', 'left', 'right'
  • Combos: 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'left-top', 'left-bottom', 'right-top', 'right-bottom'

Slots

SlotPropsDescription
default{ toggle }Trigger element
content{ toggle }Popover content

Features

  • Automatic viewport detection
  • Fallback positioning if content doesn't fit
  • Click outside to close
  • Teleports to body
  • Handles scroll/resize events