FilterForm
Card-backed filter block for search, faceting, and action rails above directory tables.
All components · Theme builder · Implementation source
Live preview
Install
netscript ui:add filter-formUsage and examples
The preview runs this JSX with the installed components. Import any composed primitives from your UI directory.
import { useState } from 'preact/hooks';
import { Button } from '@app/components/ui/button.tsx';
import { FilterForm } from '@app/components/ui/filter-form.tsx';
import { Input } from '@app/components/ui/input.tsx';
export function Example() {
const [value, setValue] = useState('standard');
const [open, setOpen] = useState(false);
const [notice, report] = useState('');
return (<><div><FilterForm><FilterForm.Body><Input aria-label="Filter orders" placeholder="Order or customer" /></FilterForm.Body><FilterForm.Actions><Button type="submit">Filter</Button></FilterForm.Actions></FilterForm></div><p role="status">{notice}</p></>);
}Props
Generated from native deno doc --json --private over the shipped implementation. Compound component props retain their owning interface; native attributes pass through where declared.
| Owner | Prop | Type | Optional | Description |
|---|---|---|---|---|
FilterFormProps | children | Renderable | No | |
FilterFormProps | class | string | Yes | |
FilterFormProps | action | string | Yes | |
FilterFormProps | method | string | Yes | |
FilterFormProps | id | string | Yes | |
FilterFormProps | f-client-nav | boolean | Yes | |
FilterFormSectionProps | children | Renderable | No | |
FilterFormSectionProps | class | string | Yes |
FilterFormSectionProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "class" | "children">Keyboard
| Key | Action |
|---|---|
Tab/Shift+Tab | Move between native controls |
Enter/Space | Activate focused button; links use Enter |
Tokens
Semantic contract roles: space/stack/gap.
CSS custom properties referenced directly: --ns-card-bg, --ns-card-border, --ns-card-border-bottom, --ns-card-border-side, --ns-card-border-top, --ns-radius-card, --ns-space-2, --ns-space-4, --ns-space-5, --ns-space-6.
Contract and compatibility
Accessibility pattern: native buttons and links
- Native DOM attributes pass through where the implementation accepts them.
Design contract values marked planned are not implementation props. The props above describe what ships today.