Filter a flattened span list by all active local filters.
Filters are combined with AND logic: a span is kept only when every
active filter matches. A filter counts as "active" only when its value
is non-empty (e.g. a non-empty string, a checked checkbox, a non-empty
array, or a date range with at least one bound). Empty filters are
skipped entirely so that an unconfigured filter bar is a no-op.
Only filters whose config.source === 'local' should be passed in;
external filters are applied server-side via buildQueryParams.
Filter a flattened span list by all active local filters.
Filters are combined with AND logic: a span is kept only when every active filter matches. A filter counts as "active" only when its value is non-empty (e.g. a non-empty string, a checked checkbox, a non-empty array, or a date range with at least one bound). Empty filters are skipped entirely so that an unconfigured filter bar is a no-op.
Only filters whose
config.source === 'local'should be passed in; external filters are applied server-side via buildQueryParams.