FilterLiveSearch

A search box that keeps the ambient list's filter in sync as the user types. source defaults to q.

Installation

pnpm dlx shadcn@latest add @chelone/filter-live-search
Loading preview…

A search box that keeps the ambient list's filter in sync as the user types. source defaults to q.

Props

PropTypeDefaultDescription
alwaysOnboolean—As a `<FilterForm>`/`<FilterButton>` filter: always shown, never in the add-filter menu. Read off the element by the filter layer, never by the input.
defaultValueNoInfer<SourceValue<TRecord, TPath>>—Input-level default, ra precedence (seeds only into an untouched hole). Typed as the value at `source`; `unknown` without a record.
disabledboolean—Native disabled state.
format(value: NoInfer<SourceTransformValue<TRecord, TPath>> | null | undefined) => unknown—Read transform (raw form value → input value). Receives the value at `source`, plus the hole an untouched field leaves (a create form with no `defaultValue` reads `undefined`); `unknown` without a record.
helperTextReactNode—Helper text rendered below the input; a string is translated.
idstring—Explicit element id; a generated `useId` value is used otherwise.
isRequiredboolean—Forces the required marker; ORed with `required()` detection on `validate`.
labelReactNode—The input label. A string is translated; a ReactNode renders as-is; `false` (or `""`) renders no label.
namestring—Legacy field-name alias (ra parity); the wiring uses `source`.
onBlur(event: unknown) => void—Chained AFTER the blur is recorded.
onChange(eventOrValue: unknown) => void—Chained AFTER the parsed value is written to the form.
parse(value: unknown) => NoInfer<SourceTransformValue<TRecord, TPath>>—Write transform (input value → stored value). Must return the value at `source`; `unknown` without a record.
readOnlyboolean—Native read-only state.
resourcestring—Override the ambient resource (used to resolve the default label key).
typestring—The DOM input `type` (text inputs default to `"text"`).
validateValidator | readonly Validator[]—ra-contract validators — composed, first error wins.
classNamestring—
controlSuffixReact.ReactNode—Rendered over the control's right edge, inside the control's own row, so it centres on the control whatever the field renders above or below it.
inputClassNamestring—
multilineboolean—
resettableboolean—
disableClearableboolean—
sourceSourceProp<RecordType>—Full-text search source. Defaults to `"q"`.