Props
| Name | Type | Default | Description |
|---|---|---|---|
activator | ElementOrComponentRef | undefined | - | External activator element or component ref. When provided, the activator slot is not rendered and event listeners are attached programmatically to the referenced element. Rarely what you want on a tooltip: |
arrowPadding | number | undefined | 10 | Space the arrow will maintain to the edge of the tooltip bubble. Useful when the floating element has border radius so it won't appear broken How far the arrow stays from the corner of the bubble. Raise it when a rounded bubble makes the point look detached; it does nothing when |
boundary | ElementOrComponentRefOrSelector | undefined | - | Constrains the tooltip within a bounding element. When provided, the tooltip will not overflow this container's bounds (e.g. a sidebar). Accepts an HTMLElement, a Vue component ref, or a CSS selector string. Constrains the bubble to a container instead of the viewport — a scrolling sidebar, a table body. Positioning only: it does not clip the text. |
delay | number | undefined | 0 | The delay in milliseconds before the tooltip is shown. Delays the open only. The close is always a short debounce so the pointer can travel from the trigger into the bubble, which is why this is not the prop for keeping a hint on screen longer. See example |
disabled | boolean | undefined | false | Disables the component Also dismisses a bubble that is already open, so it is safe to bind — the usual case being a hint that should stop firing once the same text is visible in the page. |
eager | boolean | undefined | false | Prevents rendering content before it's made visible. The bubble is lazy and renders on first open. This matters less here than on |
hideArrow | boolean | undefined | false | Hides the tooltip arrow. A tooltip shows its arrow by default (it's the one popover-family surface where an arrow is meaningful — a speech bubble pointing at its anchor); set this to drop it. The tooltip is the one surface in the popover family that kept its arrow in v3 — popovers, dropdowns, selects and the colour palette all lost theirs. Set this on a dense row where the point would land on a neighbouring control. See example |
id | string | undefined | - | Seed for the tooltip's internal id. It is **prefixed** ( |
modelValue | boolean | undefined | false | Used by v-model to show / hide the tooltip. A tooltip with no |
padding | number | undefined | 10 | Minimum empty space to keep from the edge of the page |
placement | Placement | undefined | "top" | Position of the overlay in respect to the related activator. Flips itself near a viewport edge, so pick what reads best in the common case. Unlike |
pt | PtMap<BbTooltipPtPart, "open"> | undefined | - | Passthrough, object form: the same keys as the |
pt:panel | PtValue | undefined | - | |
pt:panel:open | PtValue | undefined | - | |
pt:root | PtValue | undefined | - | |
pt:root:open | PtValue | undefined | - | |
text | string | undefined | - | Text content of the component. The plain-text label, and the form that also produces the description at mount. Use the default slot instead only when the label needs markup. See example |
transitionDuration | number | undefined | 250 | How long the transition has to last in milliseconds |
variant | keyof TooltipVariantRegistry | undefined | "default" | Visual variant. Typed against the registered names, so |
width | string | number | undefined | - | Caps the width of the tooltip bubble: it wraps at this measure but still
shrinks to its text, so a short hint never sits in an oversized bubble.
A bare number is read as pixels, a percentage is measured against the
activator, and any other CSS length ( Pixels, or a percentage of the trigger. Without it a long hint stretches rather than wraps; only the percentage form re-measures when the trigger resizes. See example |
v-model
Values kept in sync through v-model.
| Name | Type | Description |
|---|---|---|
modelValue | boolean | undefined | New in v3, and rarely the right tool: a hint the application opens rather than the reader is usually a coach mark, which needs a panel the user can move into — |
Events
| Name | Type | Description |
|---|---|---|
update:modelValue | (event: "update:modelValue", value: boolean): void |
Slots
The listed properties are the ones exposed to the slot scope.
| Name | Type | Description |
|---|---|---|
activator | BbTooltipActivatorSlotProps | Replaces the default trigger element that opens the tooltip. Spread |
default | object | Content rendered inside the tooltip bubble. Markup is allowed and is flattened into one |
Changes from v2
Props removed or renamed in 3.0. If you are coming from v2, the answer is here.
blockremovedfails silentlyshowCloseremovedfails silentlythemevariantfails silentlytimeoutdelayfails silently