headless_foundation library

Classes

AnchoredOverlayEngineHost
A widget that hosts anchored overlay layers.
AnchoredOverlayLayout
AnchoredOverlayLayoutCalculator
Computes anchored overlay layout using a small collision pipeline:
AsyncEffect<T>
Asynchronous effect (returns Future).
CloseContractRunner
A small helper to implement the overlay close contract safely.
CloseOverlayIntent
Intent to close the topmost overlay.
DismissByTriggers
DismissPolicy
Политика закрытия overlay через внешние триггеры.
Effect<T>
Base class for all effects.
EffectCancelled<T>
Effect was cancelled before completion.
EffectCategory
Common effect categories.
EffectExecutor
Executor for running effects outside reducer.
EffectFailed<T>
Effect failed with error.
EffectKey
Key for effect deduplication and cancellation.
EffectResult<T>
Result of effect execution.
EffectSucceeded<T>
Effect completed successfully.
FocusPolicy
Политика управления фокусом для overlay.
HeadlessAlwaysFocusHighlightPolicy
Always show focus highlight when a widget is focused.
HeadlessContent
HeadlessEmojiContent
HeadlessFeatureKey<T>
Type-safe key for accessing typed features in feature bags.
HeadlessFlutterFocusHighlightPolicy
Flutter-like policy: show focus highlight only in keyboard navigation mode ("traditional").
HeadlessFocusHighlightController
Shared controller that tracks FocusManager.highlightMode and converts it into a simple "show focus highlight" boolean via HeadlessFocusHighlightPolicy.
HeadlessFocusHighlightPolicy
Policy that decides when focus highlight (focus ring) should be visible.
HeadlessFocusHighlightScope
Provides a HeadlessFocusHighlightController to descendants.
HeadlessFocusHoverController
Shared interaction controller for focus+hover (no press/activation).
HeadlessFocusHoverState
HeadlessFocusNodeOwner
Owns a FocusNode unless an external one is provided.
HeadlessHoverRegion
Shared widget wrapper for hover handling.
HeadlessIconContent
HeadlessItemAdapter<T>
HeadlessItemFeatures
HeadlessItemFeaturesBuilder
Builder for HeadlessItemFeatures.
HeadlessListItemModel
HeadlessMenuAnchor
Value object for anchoring a menu overlay.
HeadlessMenuOverlayController
Reusable controller for anchored menu overlays.
HeadlessMenuState
Minimal overlay state for anchored menus.
HeadlessNeverFocusHighlightPolicy
Never show focus highlight (even when focused).
HeadlessPressableController
Shared interaction controller for "pressable" surfaces (buttons, dropdown triggers).
HeadlessPressableRegion
Shared widget wrapper for pressable surfaces.
HeadlessPressableState
HeadlessPressableVisualEffectsController
Controller that carries visual-only events to renderers.
HeadlessPressableVisualEvent
Visual-only events emitted by HeadlessPressableRegion.
HeadlessPressableVisualFocusChange
HeadlessPressableVisualHoverChange
HeadlessPressableVisualPointerCancel
HeadlessPressableVisualPointerDown
HeadlessPressableVisualPointerUp
HeadlessRequestFeatures
Immutable bag of typed features for render requests.
HeadlessRequestFeaturesBuilder
Builder for HeadlessRequestFeatures.
HeadlessTextContent
HeadlessTextEditingControllerOwner
Owns a TextEditingController unless an external one is provided.
HeadlessTypeaheadLabel
HeadlessWidgetStateMap<T>
Map от WidgetStateSet к значению с precedence-based lookup.
ItemRegistry
JumpToFirst
JumpToLast
ListboxController
Foundation listbox controller (keyboard navigation + typeahead).
ListboxItem
ListboxItemId
Stable identifier for listbox items.
ListboxItemMeta
Метаданные элемента listbox для навигации/тайпахеда.
ListboxNavigation
Абстрактные команды навигации listbox.
ListboxNavigationPolicy
ListboxScope
ListboxState
ListboxTypeaheadBuffer
Typeahead buffer with timeout.
ListboxTypeaheadConfig
ModalFocusPolicy
Modal overlay: по умолчанию предполагает trap + restore.
MoveHighlight
Переместить highlight на delta (+1 вниз, -1 вверх).
NonModalFocusPolicy
Non-modal overlay: фокус остаётся свободным.
OverlayAnchor
OverlayBarrierPolicy
OverlayController
Controller for managing overlay layers.
OverlayHandle
Minimal overlay handle contract.
OverlayHost
Backwards-compatible wrapper for AnchoredOverlayEngineHost.
OverlayInsertionBackend
OverlayInsertionHandle
OverlayPortalInsertionBackend
OverlayRepositionPolicy
OverlayRequest
SelectHighlighted
StateResolutionPolicy
Политика нормализации конфликтующих состояний и генерации precedence.
SyncEffect<T>
Synchronous effect (completes immediately).
TypeaheadChar
VoidEffect
Effect that produces no result value (side-effect only).
WcagConstants
WCAG 2.1 accessibility constants.
WidgetStateHelper
Helper for converting interaction states to Flutter's WidgetState set.

Enums

AnchoredOverlayPlacement
Vertical placement of an anchored overlay relative to its anchor.
DismissTrigger
Триггеры закрытия overlay.
HeadlessMenuFocusTransferPolicy
Focus transfer policy for anchored menu overlays.
OverlayPhase
OverlayStackPolicy

Constants

kOverlayFailSafeTimeout → const Duration
Default fail-safe timeout duration for closing phase.

Functions

computeOverlayViewportRect(MediaQueryData mq, {double edgePadding = 8.0}) Rect
Computes the effective viewport rect for overlay collision.
handlePressableKeyEvent({required HeadlessPressableController controller, required KeyEvent event, required VoidCallback onActivate, VoidCallback? onArrowDown}) KeyEventResult
Adapter: Flutter KeyEvent -> pure HeadlessPressableKeyIntent.

Typedefs

EffectResultCallback = void Function(EffectResult result)
Callback for receiving effect results.
HeadlessItemKey<T> = HeadlessFeatureKey<T>
Backward-compatible alias for HeadlessFeatureKey.
OverlayTimeoutCallback = void Function(OverlayHandle handle)
Callback for fail-safe timeout diagnostic.
WidgetStateSet = Set<WidgetState>
Alias для совместимости API и читаемости.

Exceptions / Errors

MissingOverlayHostException
Exception thrown when an AnchoredOverlayEngineHost is required but not found.
StateResolutionError