Tree select

A dropdown that lets users pick node(s) from a (possibly huge, lazily-loaded) tree. Data is supplied through a TreeSelectProvider — either an InMemoryTreeSelectProvider for static trees or a custom provider that pages a backend. <bs-tree-select> is a ControlValueAccessor, so it works with [(ngModel)] and formControlName. It must live inside a <bs-form>.

Single select with server search

Backed by an HTTP provider that calls /api/treeItems, /api/treeItems/{id}/children and /api/treeItems/search. Roots and children load lazily; typing queries the server. (Requires the demo backend running.)

Multiple (chips)

mode="multiple" renders each selected node as a removable chip. This example uses an in-memory provider — no backend required.

Checkbox + cascade

mode="checkbox" with [cascadeSelect]="true" shows a checkbox per node and cascades selection down to descendants (and reflects indeterminate parents).

Button variant + clear

variant="button" renders the trigger as a button with the search box inside the panel. [showClear]="true" adds a clear affordance once something is selected.