ArcaneHoverCard class

A unified floating content component.

Replaces the separate Tooltip, Popover, and Hovercard components with a single flexible component that handles all floating content patterns:

  • Tooltip mode: Simple text hint on hover
  • Popover mode: Rich content panel on click
  • Hovercard mode: Rich content on hover with smart delays

Use the named constructors for common patterns or the default constructor for full control.

Inheritance

Constructors

ArcaneHoverCard({required Widget trigger, Widget? content, String? textContent, FloatingTrigger triggerType = FloatingTrigger.hover, FloatingPosition position = FloatingPosition.top, bool? isOpen, void onOpenChange(bool isOpen)?, bool showArrow = true, int offset = 8, int openDelay = 0, int closeDelay = 0, double? maxWidth, bool closeOnOutsideClick = true, bool closeOnEscape = true, Key? key})
const
ArcaneHoverCard.hovercard({required Widget trigger, required Widget content, FloatingPosition position = FloatingPosition.top, bool showArrow = true, int offset = 8, int openDelay = 200, int closeDelay = 300, bool? isOpen, void onOpenChange(bool isOpen)?, Key? key})
Creates a hover-triggered card with smart delays.
const
ArcaneHoverCard.popover({required Widget trigger, required Widget content, FloatingPosition position = FloatingPosition.bottom, bool? isOpen, void onOpenChange(bool isOpen)?, bool showArrow = true, int offset = 8, bool closeOnOutsideClick = true, bool closeOnEscape = true, Key? key})
Creates a click-triggered popover with rich content.
const
ArcaneHoverCard.tooltip({required Widget child, required String textContent, FloatingPosition position = FloatingPosition.top, double? maxWidth = 250, Key? key})
Creates a simple text tooltip that appears on hover.
const
ArcaneHoverCard.tooltipCustom({required Widget child, required Widget content, FloatingPosition position = FloatingPosition.top, double? maxWidth, Key? key})
Creates a tooltip with custom component content.
const

Properties

closeDelay int
final
closeOnEscape bool
final
closeOnOutsideClick bool
final
content Widget?
final
hashCode int
The hash code for this object.
no setterinherited
isOpen bool?
final
key Key?
Controls how one component replaces another component in the tree.
finalinherited
maxWidth double?
final
offset int
final
onOpenChange → void Function(bool isOpen)?
final
openDelay int
final
position FloatingPosition
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showArrow bool
final
textContent String?
final
trigger Widget
final
triggerType FloatingTrigger
final

Methods

createElement() Element
Creates a StatefulElement to manage this component's location in the tree.
inherited
createState() State<ArcaneHoverCard>
Creates the mutable state for this component at a given location in the tree.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited