Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
Build accessible, unstyled Vue 3 components using Reka UI (formerly Radix Vue) with WAI-ARIA compliance.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
components/popover.md
1# Popover23Floating content panel45**Parts:** `PopoverRoot`, `PopoverTrigger`, `PopoverPortal`, `PopoverContent`, `PopoverArrow`, `PopoverClose`, `PopoverAnchor`67## PopoverRoot89### Props10| Prop | Type | Default |11|------|------|---------|12| `defaultOpen` | `boolean` | `false` |13| `modal` | `boolean` | `false` |14| `open` | `boolean` | - |1516### Emits17| Event | Payload |18|-------|---------|19| `update:open` | `[value: boolean]` |2021### Slots22| Slot | Type |23|------|------|24| `open` | `boolean` |2526## PopoverTrigger2728### Props29| Prop | Type | Default |30|------|------|---------|31| `as` | `AsTag \| Component` | `"button"` |32| `asChild` | `boolean` | - |3334## PopoverPortal3536### Props37| Prop | Type | Default |38|------|------|---------|39| `disabled` | `boolean` | - |40| `forceMount` | `boolean` | - |41| `to` | `string \| HTMLElement` | - |4243## PopoverContent4445### Props46| Prop | Type | Default |47|------|------|---------|48| `align` | `"start" \| "center" \| "end"` | - |49| `alignOffset` | `number` | - |50| `arrowPadding` | `number` | - |51| `as` | `AsTag \| Component` | `"div"` |52| `asChild` | `boolean` | - |53| `avoidCollisions` | `boolean` | - |54| `collisionBoundary` | `Element \| (Element \| null)[] \| null` | - |55| `collisionPadding` | `number \| Partial<Record<"top" \| "right" \| "bott...` | - |56| `disableOutsidePointerEvents` | `boolean` | - |57| `forceMount` | `boolean` | - |58| `hideWhenDetached` | `boolean` | - |59| `prioritizePosition` | `boolean` | - |60| `side` | `"top" \| "right" \| "bottom" \| "left"` | - |61| `sideOffset` | `number` | - |62| `sticky` | `"partial" \| "always"` | - |63| `trapFocus` | `boolean` | - |64| `updatePositionStrategy` | `"always" \| "optimized"` | - |6566### Emits67| Event | Payload |68|-------|---------|69| `closeAutoFocus` | `[event: Event]` |70| `escapeKeyDown` | `[event: KeyboardEvent]` |71| `focusOutside` | `[event: FocusOutsideEvent]` |72| `interactOutside` | `[event: PointerDownOutsideEvent \| FocusOutsideE...` |73| `openAutoFocus` | `[event: Event]` |74| `pointerDownOutside` | `[event: PointerDownOutsideEvent]` |7576## PopoverArrow7778### Props79| Prop | Type | Default |80|------|------|---------|81| `as` | `AsTag \| Component` | `"svg"` |82| `asChild` | `boolean` | - |83| `height` | `number` | `5` |84| `width` | `number` | `10` |8586## PopoverClose8788### Props89| Prop | Type | Default |90|------|------|---------|91| `as` | `AsTag \| Component` | `"button"` |92| `asChild` | `boolean` | - |9394## PopoverAnchor9596### Props97| Prop | Type | Default |98|------|------|---------|99| `as` | `AsTag \| Component` | `"div"` |100| `asChild` | `boolean` | - |101| `element` | `Measurable` | - |102