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
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

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
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