FilterBuilder
Build readable rules with nested AND / OR groups.
Live TypeScript example
Try the component here, then use the source below in your application.
Build a filter and apply it to see the typed callback value.
import '@bluui/web/styles.css'
import { createFilterBuilder } from "@bluui/web";
export function mount(host: HTMLElement) {
const output = document.createElement("pre");
host.append(output);
const filter = createFilterBuilder(
host,
{
Fields: [
{ Key: "name", Label: "Customer name", DataType: "Text" },
{ Key: "revenue", Label: "Revenue", DataType: "Number" },
],
Filter: {
combinator: "and",
rules: [{ field: "revenue", operator: "gte", value: 1000 }],
},
},
{
Apply: (value) => {
output.textContent = JSON.stringify(value, null, 2);
},
},
);
// Validate this structured filter on your server before constructing a database query.
return {
destroy() {
filter.destroy();
output.remove();
},
};
}
const instance = mount(document.getElementById('example')!)
// When this page or framework component is removed:
// instance.destroy()
Install the library and add the host element
npm install https://bluui.blutekmedia.com/downloads/bluui-web-0.2.6.tgz<div id="example"></div>This example uses the downloadable @bluui/web package. Your application handles persistence and authentication through its typed callbacks. The starter ZIP includes this same example.
This reference documents the published Block’s parameters, events, and types. The web examples adapt those inputs to browser callbacks. Open native showcase ↗
- Web examples
- Supported4 states checked · no automated failures
- TypeScript
- Supported2 states checked · no automated failures
- OutSystems
- Not yet verified0 states checked
Minimum requirement: WCAG 2.1 AA. Supported means the listed checks passed; full conformance is not yet declared.
Evidence and remaining verification →Purpose and use
Use FilterBuilder when a single search field cannot express the query. Offer valid fields and operators, then show when filters take effect.
Keyboard design guidance
All fields, operators, values, and group actions are native controls. Tab follows the rule order. Use Apply to request evaluation.
This describes the intended interaction. The dated audit above identifies verified behavior and current gaps.
In your application
Provide useful labels, preserve visible focus, and test the component with your actual content. Use text alongside status colors and check contrast in each state.
Events0No events yet.
Interact with an example to see its events.