Debounce time in milliseconds for query changes
Whether to enable live preview search on typing
Whether to enable recent searches display
Whether to show the scope selector inline with the search input. When true (default), the composite lazy-loads the list of scopes the current user can see and renders the selector only if at least one scope exists. When zero scopes are visible the selector stays hidden and the UX is identical to the pre-scope unscoped behavior.
Whether any scope is visible to the current user — drives selector visibility.
Maximum number of preview results to show in the dropdown
Minimum query length before preview results are fetched
Placeholder text for the search input
Promo pass-throughs (accept carries the current query).
Recently opened records for the dropdown's idle state (max 3 shown).
Emitted when the user selects a recently opened record from the dropdown
Emitted when a result is selected from the preview dropdown
ProtectedsearchEmitted when the user presses Enter or selects a recent search (full search)
Emitted when the user clicks "See all N results"
Currently selected scope IDs. Empty array means "Global" / unscoped. Read by the
shell (or any parent) on submit via the exposed getter, and mirrored to the server
through SearchRequest.ScopeIDs on the full submitted search.
Promo row pass-throughs — see SearchSuggestComponent for semantics.
Whether to show keyboard shortcut hint on the input
Programmatically focus the search input (e.g. a host-owned Ctrl/Cmd+K chord).
A callback method that performs custom clean-up, invoked immediately before a directive, pipe, or service instance is destroyed.
A callback method that is invoked immediately after the default change detector has checked the directive's data-bound properties for the first time, and before any of the view or content children have been checked. It is invoked only once when the directive is instantiated.
Handle "Clear" recent searches
Handle input cleared
Handle Escape press in the input
Handle input focus
Handle debounced query changes from the input
Handle Enter press in the input
Recently-opened-record selection from the dropdown → bubble to the host.
Handle recent search selection
Relay a selection change from the embedded scope selector to local state. Parents
read SelectedScopeIDs directly on submit; no output event is needed because
scope selection doesn't alter the inline preview (preview stays global for speed).
Handle "See all" click
Scopes the current user can see. Populated by
SearchService.LoadScopes()on init. When empty, the scope selector is not rendered (unscoped-as-before UX).