FloatingRenderBase class abstract

Shared structural base for themed floating renderers.

Floating is the unified tooltip/popover/hovercard component. Every theme shares the exact same scaffolding: the build() dispatch between a CSS-only text tooltip and a state-controlled panel, the trigger/anchor wiring, the surfaceAttrs computation, the role logic, the arrow/content child assembly, and the three position-math tables (which are byte-for-byte identical across themes). This base factors all of that, leaving only the theme-divergent CSS class strings and the four style maps (CSS tooltip, floating content, arrow) plus the auto-id prefix to abstract members the subclass supplies.

This base lives in core and depends only on core props and interaction helpers; it must never depend on a theme package.

Inheritance

Constructors

FloatingRenderBase(FloatingProps props, {Key? key})
const

Properties

arrowClass String
Class for the floating arrow element.
no setter
containerClass String
Class for the stateful floating container (e.g. 'arcane-floating-container').
no setter
cssTooltipClasses String
Class string for the inner CSS-tooltip surface.
no setter
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one component replaces another component in the tree.
finalinherited
props FloatingProps
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
triggerClass String
Class for the CSS-only tooltip trigger wrapper (e.g. 'arcane-floating-trigger').
no setter

Methods

arrowStyles(Map<String, String> arrowPositionStyles) Map<String, String>
Full style map for the floating arrow. arrowPositionStyles are the resolved arrow offsets and must be spread last to match each theme.
build(BuildContext context) Component
Describes the part of the user interface represented by this component.
override
createElement() Element
Creates a StatelessElement to manage this component's location in the tree.
inherited
cssTooltipStyles(Map<String, String> positionStyles) Map<String, String>
Full style map for the inner CSS-tooltip surface. positionStyles are the resolved position offsets and must be spread last to match each theme.
decorationStyles(ArcaneDecoration? decoration) Map<String, String>
Per-instance decoration overrides. Default: none. A theme overrides this to translate an ArcaneDecoration (elevation intent, theme-specific fields) into its own CSS. Fields a theme does not implement are ignored.
floatingContentClasses(bool hasRichContent) String
Class string for the floating content surface, given whether it carries rich content (popover) versus plain text (tooltip).
floatingContentStyles({required String positionProp, required String positionValue, required Map<String, String> alignment, required bool hasRichContent, required double? maxWidth}) Map<String, String>
Full style map for the floating content surface.
generateAutoId() String
Generates a theme-prefixed auto id when no explicit id is supplied. Each subclass owns its static counter so the generated sequence is unchanged.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
shouldRebuild(covariant Component newComponent) bool
Implement this method to determine whether a rebuild can be skipped.
inherited
toString() String
A string representation of this object.
inherited

Operators

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