/** Plain Chakra Textarea + title + file attach, not a rich text editor — no formatting toolbar despite the "note" naming. Use Editor for HTML content. */ export type NoteTextAreaProps = { /** Width of the whole composer; a number is px, a string is any CSS length. Defaults to "100%". */ width?: number | string; /** Save click with note, title and files; `resetState` is never passed. */ handleSubmit: (noteValue: string, titleValue: string, file: File[], /** @deprecated Never passed; remove it from your handler. */ resetState: void) => void; /** Seeds the note only while isEditable is true; not a controlled value. */ value?: string; /** Seeds and reveals the title input only while isEditable is true. */ title?: string; /** Seeds the attachments only while isEditable is true. */ file?: File[]; /** Edit mode: opens expanded, seeds value/title/file, and keeps them after saving. */ isEditable?: boolean; /** Fires on Cancel. */ handleCancel?: (/** @deprecated Always false; do not read it. */ isActive: boolean) => void; /** Any transition to false while isEditable is not true clears the note, title and files — including after a failed save, not just success. */ saveButtonLoading?: boolean; /** Per-file byte limit, default 1 MB; larger files are skipped with an error line. */ maxFileSize?: number; /** Error prefix; the formatted limit and a full stop are appended. */ maxFilesSizeError?: string; /** Disables Save when the note or the title exceeds this many words (default 15); the counter shows note words only. */ maxNoteWordCount?: number; /** Note text after each edit; whitespace-only input is rejected and not reported. */ onChange?: (value: string) => void; /** Collapsed prompt and textarea placeholder; also the default noteAriaLabel. */ customPlaceholder?: string; /** Hides Cancel; the composer then collapses only after a save completes. */ cancelButtonHide?: boolean; /** Accessible name for the title input. Defaults to `"Note title"`. */ titleAriaLabel?: string; /** Accessible name for the note textarea. Defaults to `customPlaceholder`. */ noteAriaLabel?: string; };