Documentation Index
Fetch the complete documentation index at: https://anvil.servicetitan.com/llms.txt
Use this file to discover all available pages before exploring further.
This guide covers changes to the beta FilterBar component (previously
Toolbar.Filters). These APIs may continue to evolve before the stable release.
Overview
Toolbar.Filters has been removed as a compound sub-component of Toolbar. Use the standalone FilterBar component instead.
Design Rationale
Why separate FilterBar from Toolbar?
Previously, filters were tightly coupled to Toolbar asToolbar.Filters, requiring a wrapping <Toolbar> even when no toolbar actions were needed. This coupling:
- Forced filters to inherit Toolbar’s size and overflow settings
- Prevented filters and toolbars from evolving independently
- Required a parent Toolbar for filters to function
FilterBar has its own role="toolbar", keyboard navigation, and size/overflow props. When used alongside a Toolbar, compose them as siblings via Flex layout. Standard ARIA patterns handle keyboard traversal — Tab moves between the two toolbars, arrow keys navigate within each.
Migration Guide
Standalone filters (no toolbar actions)
Filters with toolbar actions
Import changes
New required prop: associatedContent
FilterBar requires an associatedContent string prop for accessibility. It populates the aria-label on the filter bar’s role="toolbar" element.
Optional new props
FilterBar accepts size and overflow props that were previously inherited from the parent Toolbar:
Breaking Changes
Toolbar.Filtershas been removed — Use the standaloneFilterBarcomponent instead.FilterBarrequires a newassociatedContentprop (string) for accessibility.- Filter types (
Filter,BooleanFilter, etc.) are now exported fromFilterBar, notToolbar.
Why Breaking?
As a beta API,Toolbar.Filters was removed directly without a deprecation path. The standalone FilterBar provides a clearer API surface and independent evolution path for both components.