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 для навигации/тайпахеда.
- Абстрактные команды навигации listbox.
- 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