HomePluginsToolsWorkflowAboutContact
GetSet

Premium UI/UX layout engines, customizable micro-interaction plugins, and high-performance components for modern web developers.

Plugins

  • Carousel
  • Select
  • Zoom
  • FlexoGrid
  • Sortable
  • Modal
  • Drawer
  • Tooltip
  • Popover
  • Toast
  • ContextMenu
  • Tabs
  • Accordion
  • Reveal
  • Autocomplete
  • Tags
  • Range
  • DatePicker
  • Upload
  • Cropper
  • Table
  • Tree
  • Editor

Company

  • Home
  • Plugins
  • Developer Tools
  • Showcase
  • Our Process
  • About Us
  • Contact

Policies

  • Terms and Conditions
  • Privacy Policy
  • Accessibility Policy
  • Cookie Policy

© 2026 GetSet. All rights reserved.

Crafted for frontend excellence.

Your Bundle

Your bundle is empty

Add plugins from the catalog to build one combined CDN link — like picking font families.

Browse plugins
Overlay Plugin

GS Popover

Rich interactive popovers with header/body/footer slots, smart auto-positioning, dismiss-on-outside/Esc, and full focus management.

Latest: v1.0.2
Downloads last month: 165
Visit Demo Website

Install Package

npm i @get-set/gs-popover
or via CDN
<link rel="stylesheet" href="https://cdn.get-set.it/gs-popover/latest/gs-popover.min.css">
<script src="https://cdn.get-set.it/gs-popover/latest/gs-popover.min.js"></script>
Interactive Playground

Live Sandbox

Popover.jsx
1
2
3
4
5
6
7
8
9
import Popover from '@get-set/gs-popover';

export default function App() {
  return (
    <Popover>
      <div className="content">Your Popover content</div>
    </Popover>
  );
}
Live Preview

A real GSPopover — placement flips automatically near edges.

Options

Configuration Values

Reference?Reference option.
Trigger?Element(s) the popover anchors to / is triggered by.
Close Handler?Element(s) inside the content that close the popover on click.
Placement?Placement relative to the trigger.
Offset?Custom offset between the trigger and the popover.
Boundary Padding?Viewport padding kept around the popover when flipping/shifting.
Trigger Mode?How the popover opens.
Open Delay?Delay (ms) before opening on hover/focus.
Close Delay?Delay (ms) before closing on hover-leave/blur.
Title?Header title. When set (with no `header`), renders the header region.
Header?Full header content (HTML string).
Content?Body content (HTML string).
Footer?Footer content (HTML string).
Max Width?Clamp the popover width.
Min Width?Lower bound on the popover width.
Animation?Entrance animation name from the catalog.
Exit Animation?Separate exit animation.
Animation Duration?Animation duration in ms.
Animation Easing?CSS easing applied to the enter/exit animation.
Backdrop Color?Backdrop color.
Backdrop Blur?Backdrop blur. `true`=4px; number=px; string=raw CSS length.
Initial Focus?Explicit element to focus on open.
Theme?Visual theme. `auto` follows prefers-color-scheme.
Accent Color?Accent color (CSS var --gsp-accent).
Class Name?Extra class name applied to the popover root.
Role?ARIA role for the popover.

Feature Flags

API Specifications

OptionTypeDefaultDescription
referencestringnoneReference.
triggerHandlerTargetnoneElement(s) the popover anchors to / is triggered by. selector | HTMLElement | React ref. In React this defaults to the wrapped child element.
closeHandlerHandlerTargetnoneElement(s) inside the content that close the popover on click.
placementGSPopoverPlacement'bottom'Placement relative to the trigger. Default: 'bottom'.
flipbooleantrueAuto-flip to the opposite side when there is not enough room. Default: true.
shiftbooleantrueShift along the cross axis to keep the popover inside the viewport. Default: true.
offsetnumber | GSPopoverOffset8Custom offset between the trigger and the popover.
boundaryPaddingnumber8Viewport padding kept around the popover when flipping/shifting. Default: 8.
sameWidthbooleanfalseMatch the popover width to the trigger width (menu-style). Default: false.
repositionbooleantrueKeep the popover positioned on scroll / resize. Default: true.
trigger_modeGSPopoverTrigger'click'How the popover opens. Default: 'click'.
openDelaynumber0Delay (ms) before opening on hover/focus. Default: 0.
closeDelaynumber100Delay (ms) before closing on hover-leave/blur. Default: 100.
interactivebooleantrueKeep the popover open while the pointer moves from the trigger onto the popover (interactive hover). Default: true.
titlestringnoneHeader title. When set (with no `header`), renders the header region.
headerstringnoneFull header content (HTML string). Overrides `title` when set.
contentstringnoneBody content (HTML string). React uses children instead.
footerstring | falsenoneFooter content (HTML string). `false` = no footer.
arrowbooleantrueShow the arrow pointing at the trigger. Default: true.
closeButtonbooleanfalseShow the built-in × close button in the header. Default: false.
maxWidthnumber | string320Clamp the popover width. Number = px. Default: 320.
minWidthnumber | stringnoneLower bound on the popover width. Number = px.
dismissOnOutsideClickbooleantrueClose when clicking outside the popover + trigger. Default: true.
dismissOnEscbooleantrueClose when Escape is pressed. Default: true.
animationGSPopoverAnimation | false'scale'Entrance animation name from the catalog. `false` disables all motion. Default: 'scale'.
exitAnimationGSPopoverAnimation | falsenoneSeparate exit animation. Mirrors `animation` when omitted.
animationDurationnumber | { enter?: number; exit?: number }200Animation duration in ms. A number applies to both phases; an object sets each independently. Default: 200.
animationEasingstring'cubic-bezier(.16,1,.3,1)'CSS easing applied to the enter/exit animation.
reducedMotion'auto' | boolean'auto'Honor `prefers-reduced-motion`. `'auto'` follows the OS setting; `true` always reduces; `false` never reduces. Default: 'auto'.
backdropbooleanfalseRender a dimming backdrop behind the popover. Default: false.
backdropColorstringnoneBackdrop color.
backdropBlurboolean | number | stringfalseBackdrop blur. `true`=4px; number=px; string=raw CSS length. Default: false.
trapFocusbooleanfalseTrap Tab focus inside the popover while open. Default: false.
autofocusbooleanfalseAuto-focus the first focusable element on open. Default: false.
initialFocusHandlerTarget | falsenoneExplicit element to focus on open. `false` focuses the popover container.
returnFocusbooleantrueRestore focus to the trigger on close. Default: true.
themeGSPopoverTheme'auto'Visual theme. `auto` follows prefers-color-scheme. Default: 'auto'.
accentColorstringnoneAccent color (CSS var --gsp-accent).
rtlbooleanfalseRight-to-left layout. Default: false.
customClassGSPopoverCustomClassnonePer-part class overrides.
classNamestringnoneExtra class name applied to the popover root.
rolestring'dialog'ARIA role for the popover. Default: 'dialog'.

Technical Features

Structured Slots

Header, body and footer content regions.

Auto Positioning

Flip and shift to stay inside the viewport.

Dismiss Controls

Close on outside click, Escape or blur.

Focus Management

Traps and restores focus around the popover.