Skip to content

Tooltip

Shows passive help after an exact core-owned delay and supports provider-level warm-up behavior.

Loading interactive demo…

#Import

Import ui from github.com/egoist/quickgui/go/ui.

import (
	"github.com/egoist/quickgui/go/ui"
)

#Usage

func TooltipExample() *ui.Element {
	provider := ui.NewTooltipProvider(ui.TooltipProviderProps{Delay: 500})
	tooltip := ui.NewTooltip().Side("top")
	return provider.Root().Child(
		tooltip.Root().Children(
			tooltip.Trigger().Child("Hover me"),
			tooltip.Positioner().Child(
				tooltip.Popup().Child("Helpful information"),
			),
		),
	)
}

#Anatomy

  • tooltip.Provider
  • tooltip.Root
  • tooltip.Trigger
  • tooltip.Portal
  • tooltip.Positioner
  • tooltip.Popup
  • tooltip.Arrow

#API reference

Expand an entry for its description and complete signature. A dash means no declaration default is documented.

NewTooltip

View source
ui.NewTooltip(props ...TooltipRootProps) *TooltipComponent

NewTooltip declares a Tooltip instance. Optional props provide initial settings.

ChildrenComponent—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

Component
View source
Openfunc() bool—

Controlled visibility of the panel or overlay. Pair with the open-change callback.

func() bool
View source
DefaultOpenbool—

Initial visibility when the component owns its open state.

bool
View source
OnOpenChangefunc(bool, *native.Event)—

Reports a requested visibility change, including dismissal.

func(bool, *native.Event)
View source
Disabledbool—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

bool
View source
Hoverable*bool—

Allows the pointer to cross into the tooltip without closing it.

*bool
View source
TrackCursorAxisTooltipCursorAxis—

Axis along which the floating surface follows the pointer.

TooltipCursorAxis
View source
OnPlacementChangefunc(AnchorPlacementDetails, *native.Event)—

Callback for placement change. The signature below lists the event payload.

func(AnchorPlacementDetails, *native.Event)
View source
SideTooltipSide—

Preferred placement side before collision handling.

TooltipSide
View source
AlignTooltipAlign—

Preferred alignment on the placement cross-axis.

TooltipAlign
View source
SideOffset*float64—

Distance from the anchor on the chosen side, in logical pixels.

*float64
View source
CollisionPadding*float64—

Space reserved between the positioned surface and the available viewport edges.

*float64
View source

Tooltip.Open

View source
tooltip.Open(value any) *TooltipComponent

Controlled visibility of the panel or overlay. Pair with the open-change callback.

Tooltip.DefaultOpen

View source
tooltip.DefaultOpen(value bool) *TooltipComponent

Initial visibility when the component owns its open state.

Tooltip.OnOpenChange

View source
tooltip.OnOpenChange(value func(bool, *native.Event)) *TooltipComponent

Reports a requested visibility change, including dismissal.

Tooltip.Disabled

View source
tooltip.Disabled(value bool) *TooltipComponent

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

Tooltip.Hoverable

View source
tooltip.Hoverable(value bool) *TooltipComponent

Allows the pointer to cross into the tooltip without closing it.

Tooltip.TrackCursorAxis

View source
tooltip.TrackCursorAxis(value TooltipCursorAxis) *TooltipComponent

Axis along which the floating surface follows the pointer.

Tooltip.OnPlacementChange

View source
tooltip.OnPlacementChange(value func(AnchorPlacementDetails, *native.Event)) *TooltipComponent

Callback for placement change. The signature below lists the event payload.

Tooltip.Side

View source
tooltip.Side(value TooltipSide) *TooltipComponent

Preferred placement side before collision handling.

Tooltip.Align

View source
tooltip.Align(value TooltipAlign) *TooltipComponent

Preferred alignment on the placement cross-axis.

Tooltip.SideOffset

View source
tooltip.SideOffset(value float64) *TooltipComponent

Distance from the anchor on the chosen side, in logical pixels.

Tooltip.CollisionPadding

View source
tooltip.CollisionPadding(value float64) *TooltipComponent

Space reserved between the positioned surface and the available viewport edges.

Tooltip.Root

View source
tooltip.Root() *Element

Configures root for this part. The declared type and source define the accepted value.

Tooltip.Trigger

View source
tooltip.Trigger(options ...TooltipTriggerProps) *Element

Configures trigger for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source
Elementstring—

Retained native element used by this component part.

string
View source
Delayany—

Core-owned delay in milliseconds before opening.

any
View source
CloseDelayany—

Core-owned delay in milliseconds before closing.

any
View source
CloseOnClick*bool—

Closes the surface after activation of the item.

*bool
View source

Tooltip.Positioner

View source
tooltip.Positioner(options ...TooltipPositionerProps) *Element

Configures positioner for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source
SideTooltipSide—

Preferred placement side before collision handling.

TooltipSide
View source
AlignTooltipAlign—

Preferred alignment on the placement cross-axis.

TooltipAlign
View source
SideOffset*float64—

Distance from the anchor on the chosen side, in logical pixels.

*float64
View source
CollisionPadding*float64—

Space reserved between the positioned surface and the available viewport edges.

*float64
View source

Tooltip.Portal

View source
tooltip.Portal(options ...PartProps) *Element

Configures portal for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source

Tooltip.Popup

View source
tooltip.Popup(options ...PartProps) *Element

Configures popup for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source

Tooltip.Arrow

View source
tooltip.Arrow(options ...PartProps) *Element

Configures arrow for this part. The declared type and source define the accepted value.

Reffunc(*native.Node)—

Receives the retained native node after construction. Keep imperative work in event or lifecycle callbacks.

func(*native.Node)
View source
Styleany—

Reusable layout, typography, color, and interaction-state styles. Build with ui.Style() and compose with Merge.

any
View source
ChildrenPartChildren—

Content mounted inside the component. Compound child callbacks run after the parent context exists.

PartChildren
View source
Disabledany—

Prevents activation and exposes the disabled state to accessibility. Compound parts inherit a disabled root.

any
View source
Rolestring—

Accessibility role override. Prefer the component’s built-in semantics.

string
View source
FocusOnPointerany—

Whether a pointer press moves keyboard focus to the control.

any
View source
Groupany—

Names this element as a group for descendant interaction-state styling.

any
View source
AriaLabelany—

Accessible name, especially for icon-only controls or controls without a visible label.

any
View source
TabIndex*float64—

Controls sequential keyboard focus order. Omit to retain the component’s default focus behavior.

*float64
View source
OnClickfunc(*native.Event)—

Called after QuickGUI resolves an activation, including supported keyboard activation.

func(*native.Event)
View source
OnDoubleClickfunc(*native.Event)—

Callback for double click. The signature below lists the event payload.

func(*native.Event)
View source
OnContextMenufunc(*native.Event)—

Callback for context menu. The signature below lists the event payload.

func(*native.Event)
View source
OnPointerfunc(*native.Event)—

Callback for pointer. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseEnterfunc(*native.Event)—

Callback for mouse enter. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseLeavefunc(*native.Event)—

Callback for mouse leave. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseDownfunc(*native.Event)—

Callback for mouse down. The signature below lists the event payload.

func(*native.Event)
View source
OnMouseUpfunc(*native.Event)—

Callback for mouse up. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyDownfunc(*native.Event)—

Callback for key down. The signature below lists the event payload.

func(*native.Event)
View source
OnKeyUpfunc(*native.Event)—

Callback for key up. The signature below lists the event payload.

func(*native.Event)
View source
OnFocusfunc(*native.Event)—

Callback for focus. The signature below lists the event payload.

func(*native.Event)
View source
OnBlurfunc(*native.Event)—

Callback for blur. The signature below lists the event payload.

func(*native.Event)
View source
part.Child(content).Style(style)

Every part returns a fluent element. Strings, numbers, elements, and deferred child factories compose directly.

ChildChild(child any) *Element—

Child appends content and returns this element. Content can be an element, native node, scalar, accessor, or node-returning construction callback.

Child(child any) *Element
View source
ChildrenChildren(children ...any) *Element—

Children appends multiple children in order without replacing existing content. It also accepts []any, []*Element, and []*native.Node slices as arguments. Read the retained child nodes through element.Node.Children.

Children(children ...any) *Element
View source
StyleStyle(style StyleBuilder) *Element—

Style merges a reusable style. Scalar accessors retain independent native bindings.

Style(style StyleBuilder) *Element
View source
OnClickOnClick(handler func()) *Element—

OnClick handles a click without an unused event parameter.

OnClick(handler func()) *Element
View source
RefRef(handler func(*native.Node)) *Element—

Ref exposes the native handle once at this point in the declaration chain.

Ref(handler func(*native.Node)) *Element
View source