Summary
Two DataView controls hard-code a positioning / rendering detail and expose no prop to change it, even though the underlying primitive already supports it.
DataView.Filters and DataView.DisplayControls — popup alignment is fixed.
DataView.Search — the leading magnifier icon can't be removed or replaced.
1. Forward align on Filters and DisplayControls
DataView.DisplayControls exposes trigger + hideViewSwitcher/hideOrdering/hideGrouping/hideDisplayProperties, but no align.
DataView.Filters exposes trigger + classNames, but no align.
The underlying Menu.Content / Popover.Content already extend Base UI's Positioner.Props and accept align / side / sideOffset; these controls just don't forward them.
Request: expose align (and ideally side / sideOffset) on both DataView.Filters and DataView.DisplayControls, forwarding to the underlying menu / popover. Default to today's behavior. Base UI's Positioner already handles collision flip/shift, so this is prop-forwarding only.
2. Let Search control its leading icon
DataView.Search extends the base Search, whose props are Omit<InputProps, 'leadingIcon'>. The base Input accepts leadingIcon, but Search removes it and hard-codes a magnifier, with no supported way to hide or replace it.
Request: re-expose leadingIcon on Search (settable to a custom node or null), or add a showSearchIcon={false} / hideIcon flag. Default keeps the magnifier.
Willing to contribute
Happy to open a PR if the approach looks right.
Summary
Two
DataViewcontrols hard-code a positioning / rendering detail and expose no prop to change it, even though the underlying primitive already supports it.DataView.FiltersandDataView.DisplayControls— popup alignment is fixed.DataView.Search— the leading magnifier icon can't be removed or replaced.1. Forward
alignon Filters and DisplayControlsDataView.DisplayControlsexposestrigger+hideViewSwitcher/hideOrdering/hideGrouping/hideDisplayProperties, but noalign.DataView.Filtersexposestrigger+classNames, but noalign.The underlying
Menu.Content/Popover.Contentalready extend Base UI'sPositioner.Propsand acceptalign/side/sideOffset; these controls just don't forward them.Request: expose
align(and ideallyside/sideOffset) on bothDataView.FiltersandDataView.DisplayControls, forwarding to the underlying menu / popover. Default to today's behavior. Base UI's Positioner already handles collision flip/shift, so this is prop-forwarding only.2. Let
Searchcontrol its leading iconDataView.Searchextends the baseSearch, whose props areOmit<InputProps, 'leadingIcon'>. The baseInputacceptsleadingIcon, butSearchremoves it and hard-codes a magnifier, with no supported way to hide or replace it.Request: re-expose
leadingIcononSearch(settable to a custom node ornull), or add ashowSearchIcon={false}/hideIconflag. Default keeps the magnifier.Willing to contribute
Happy to open a PR if the approach looks right.