headless_contracts
Logoheadless

headless_contracts#

Renderer contracts and slot overrides for Headless components.

This package defines the capability contracts (ISP) that components use to request renderers via HeadlessTheme.capability<T>().

Renderers implement these contracts to provide visual representation. Components never know the concrete renderer implementation.

Classes#

ClassDescription
Decorate<C> Decoration wrapper around the default — receives child and can wrap/modify.
Enhance<C> Enhancement of the default — transforms context before calling defaults.
HeadlessRendererPolicy Optional renderer policy for stricter contracts in debug/test.
RAutocompleteSelectedValuesCommands Commands for rendering and interacting with selected values (multi-select).
RAutocompleteSelectedValuesOverrides Per-instance overrides for selected values rendering (contract level).
RAutocompleteSelectedValuesRenderer Renderer capability for selected values display (multi-select autocomplete).
RAutocompleteSelectedValuesRenderRequest
RButtonCallbacks Callback references for button rendering (visual-only).
RButtonContentContext Context for the button content slot.
RButtonIconContext Context for the button icon slots.
RButtonMotionTokens Motion tokens for button visual transitions.
RButtonOverrides Per-instance override contract for Button components.
RButtonRenderer Renderer capability for Button components.
RButtonRendererTokenMode Optional renderer extension that declares resolved-tokens usage.
RButtonRenderRequest Render request containing everything a button renderer needs.
RButtonResolvedTokens Resolved visual tokens for button rendering.
RButtonSemantics Semantic information for button accessibility.
RButtonSlots Button slots for partial customization (Replace/Decorate/Enhance).
RButtonSpec Button specification (static, from widget props).
RButtonSpinnerContext Context for the button spinner slot.
RButtonState Button interaction state.
RButtonSurfaceContext Context for the button surface slot.
RButtonTokenResolver Token resolver capability for Button components.
RCheckboxBoxContext Context for checkbox box slot.
RCheckboxListTileCheckboxContext Context for the checkbox indicator slot.
RCheckboxListTileMotionTokens Motion tokens for checkbox list tile visual transitions.
RCheckboxListTileOverrides Per-instance override contract for CheckboxListTile components.
RCheckboxListTileRenderer Renderer capability for CheckboxListTile components.
RCheckboxListTileRenderRequest Render request containing everything a checkbox list tile renderer needs.
RCheckboxListTileResolvedTokens Resolved visual tokens for checkbox list tile rendering.
RCheckboxListTileSecondaryContext Context for the secondary slot.
RCheckboxListTileSemantics Semantic information for checkbox list tile accessibility.
RCheckboxListTileSlots Slots for checkbox list tile parts (Replace/Decorate/Enhance).
RCheckboxListTileSpec Checkbox list tile specification (static, from widget props).
RCheckboxListTileState Checkbox list tile interaction state.
RCheckboxListTileTextContext Context for title/subtitle slots.
RCheckboxListTileTileContext Context for the list tile slot (wraps the default ListTile).
RCheckboxListTileTokenResolver Token resolver capability for CheckboxListTile components.
RCheckboxMarkContext Context for checkbox mark slot.
RCheckboxMotionTokens Motion tokens for checkbox visual transitions.
RCheckboxOverrides Per-instance override contract for Checkbox components.
RCheckboxPressOverlayContext Context for checkbox press overlay slot.
RCheckboxRenderer Renderer capability for Checkbox components.
RCheckboxRenderRequest Render request containing everything a checkbox renderer needs.
RCheckboxResolvedTokens Resolved visual tokens for checkbox rendering.
RCheckboxSemantics Semantic information for checkbox accessibility.
RCheckboxSlots Checkbox slots for partial customization (Replace/Decorate/Enhance).
RCheckboxSpec Checkbox specification (static, from widget props).
RCheckboxState Checkbox interaction state.
RCheckboxTokenResolver Token resolver capability for Checkbox components.
RDropdownAnchorContext Context for the anchor (trigger button) slot.
RDropdownButtonRenderer Renderer capability for DropdownButton components.
RDropdownButtonSlots Dropdown slots for partial customization (Replace/Decorate pattern).
RDropdownButtonSpec Dropdown specification (static, from widget props).
RDropdownButtonState Dropdown interaction state.
RDropdownChevronContext Context for the chevron slot inside the trigger.
RDropdownCommands Commands for dropdown interactions (internal component API).
RDropdownItemContentContext Context for item content inside the menu item.
RDropdownItemContext Context for an individual menu item slot.
RDropdownItemTokens Resolved tokens for dropdown menu items.
RDropdownMenuContext Context for the menu slot.
RDropdownMenuMotionTokens Motion tokens for dropdown menu open/close.
RDropdownMenuRenderRequest Render request for the dropdown menu (overlay).
RDropdownMenuSurfaceContext Context for the menu surface (background/container) slot.
RDropdownMenuTokens Resolved tokens for the dropdown menu surface.
RDropdownOverrides Per-instance override contract for Dropdown components.
RDropdownRenderRequest Render request containing everything a dropdown renderer needs.
RDropdownResolvedTokens Resolved visual tokens for dropdown rendering.
RDropdownSemantics Semantic information for dropdown accessibility.
RDropdownTokenResolver Token resolver capability for Dropdown components.
RDropdownTriggerRenderRequest Render request for the dropdown trigger (anchor).
RDropdownTriggerTokens Resolved tokens for the dropdown trigger button.
RenderOverrides Per-instance override bag for renderers and token resolvers.
RenderOverridesDebugTracker Debug-only tracker for consumed override types.
Replace<C> Full replacement of a slot — default is ignored (intentional).
RSwitchListTileMotionTokens Motion tokens for switch list tile visual transitions.
RSwitchListTileOverrides Per-instance override contract for SwitchListTile components.
RSwitchListTileRenderer Renderer capability for SwitchListTile components.
RSwitchListTileRenderRequest Render request containing everything a switch list tile renderer needs.
RSwitchListTileResolvedTokens Resolved visual tokens for switch list tile rendering.
RSwitchListTileSecondaryContext Context for the secondary slot.
RSwitchListTileSemantics Semantic information for switch list tile accessibility.
RSwitchListTileSlots Slots for switch list tile parts (Replace/Decorate/Enhance).
RSwitchListTileSpec Switch list tile specification (static, from widget props).
RSwitchListTileState Switch list tile interaction state.
RSwitchListTileSwitchContext Context for the switch indicator slot.
RSwitchListTileTextContext Context for title/subtitle slots.
RSwitchListTileTileContext Context for the list tile slot (wraps the default ListTile).
RSwitchListTileTokenResolver Token resolver capability for SwitchListTile components.
RSwitchMotionTokens Motion tokens for switch visual transitions.
RSwitchOverrides Per-instance override contract for Switch components.
RSwitchPressOverlayContext Context for switch press overlay slot.
RSwitchRenderer Renderer capability for Switch components.
RSwitchRenderRequest Render request containing everything a switch renderer needs.
RSwitchResolvedTokens Resolved visual tokens for switch rendering.
RSwitchSemantics Semantic information for switch accessibility.
RSwitchSlots Switch slots for partial customization (Replace/Decorate/Enhance).
RSwitchSpec Switch specification (static, from widget props).
RSwitchState Switch interaction state.
RSwitchThumbContext Context for switch thumb slot.
RSwitchTokenResolver Token resolver capability for Switch components.
RSwitchTrackContext Context for switch track slot.
RTextFieldCommands Commands for TextField renderer (v1).
RTextFieldOverrides Per-instance overrides for TextField components (contract level).
RTextFieldRenderer Renderer capability for TextField components.
RTextFieldRenderRequest Render request containing everything a text field renderer needs.
RTextFieldResolvedTokens Resolved visual tokens for TextField rendering.
RTextFieldSemantics Semantic information for TextField accessibility (v1).
RTextFieldSlots TextField slots for partial customization (Replace/Decorate pattern).
RTextFieldSpec TextField specification (static, from widget props).
RTextFieldState TextField interaction state.
RTextFieldTokenResolver Token resolver capability for TextField components.
SafeDropdownChevronContext
SafeDropdownEmptyStateContext
SafeDropdownItemContentContext
SafeDropdownItemContext
SafeDropdownMenuSurfaceContext
SafeDropdownRenderer Safe scaffold for full dropdown renderer customization.
SafeDropdownTriggerContext
SlotOverride<C> Base class for slot overrides in renderer contracts.

Enums#

EnumDescription
RAutocompleteSelectedValuesPresentation Presentation style for selected values (multi-select).
RButtonSize Button size variants.
RButtonVariant Button visual variants.
RCheckboxControlAffinity Placement of the checkbox relative to text content.
RDropdownSize Dropdown size variants.
RDropdownVariant Dropdown visual variants.
ROverlayPhase Overlay lifecycle phases.
RSwitchControlAffinity Placement of the switch relative to text content.
RTextFieldOverlayVisibilityMode Visibility mode for overlay elements in text fields (prefix, suffix, clear button).
RTextFieldVariant TextField visual variants.

Functions#

FunctionDescription
mergeOverridesWithFallbacks Merge multiple sugar layers into overrides with POLA priority.
mergeStyleIntoOverrides<TStyle, TOverride extends Object> Merge a simple style object into RenderOverrides with POLA priority.

Typedefs#

Typedef
SafeDropdownChevronBuilder
SafeDropdownEmptyStateBuilder
SafeDropdownItemBuilder
SafeDropdownItemContentBuilder
SafeDropdownMenuSurfaceBuilder
SafeDropdownTriggerBuilder