App
Composer
The conversational bar at the bottom of the app: bring sources and talk to the map.
- Controlled:
value,onChange,onSend.attachments(SourceChipprops withid) andonRemoveAttachment;onAttach(kind)for the+menu (file, link, video, notion);busywhile Visualli works;hintfor a one-line helper. - Enter sends, Shift+Enter adds a line. Send is disabled until there is text or an attachment.
Playground
Change the props, switch theme in the header, try Tablet and Phone widths, then copy the code.
Examples
Props
export interface ComposerProps {
value: string;
onChange: (value: string) => void;
onSend?: () => void;
attachments?: Attachment[];
onRemoveAttachment?: (id: string) => void;
onAttach?: (kind: 'file' | 'link' | 'video' | 'notion') => void;
busy?: boolean;
placeholder?: string;
hint?: string
}
Use
import { Composer } from '@visualli/design-system/components';
Source: components/src/ · Guidelines: components/catalog/Composer/README.md
