X Enterprises
Note

NoteInput

Note composition form with auto-growing textarea, file attachments, and submit action.

Note

The Note category provides a complete activity/comment feed system. XANote is the individual card, XANoteFeed composes multiple notes with search and pagination, XANoteInput is the composition form, and XANoteToolbar handles search and filtering independently.

Components

<XANoteInput />

Composition form for creating notes. Features an auto-resizing textarea (with Cmd+Enter / Ctrl+Enter submit shortcut), optional file attachment picker, attached file preview with removal, and a submit button with loading state.

<XANoteInput
  v-model="noteText"
  placeholder="Add a note..."
  :user="currentUser"
  allow-attachments
  accept="image/*,.pdf"
  :max-files="3"
  :loading="saving"
  submit-text="Post"
  @submit="({ body, files }) => createNote(body, files)"
/>

Props

PropTypeDefaultDescription
modelValueString''v-model for the note body
placeholderString'Add a note...'Textarea placeholder
allowAttachmentsBooleanfalseShow the file attachment button
acceptString'*'Accepted file MIME types
maxFileSizeNumber262144000Max file size in bytes (250 MB default)
maxFilesNumber5Maximum number of attachments
loadingBooleanfalseLoading state on submit button
disabledBooleanfalseDisable the entire input
submitTextString'Add note'Submit button label
userObjectnullCurrent user for avatar display: { name, avatar? }
minRowsNumber2Minimum textarea rows
maxRowsNumber6Maximum textarea rows (auto-grow limit)

Events

EventPayloadDescription
submit{ body: string, files: File[] }Emitted on button click or keyboard shortcut
update:modelValuestringTextarea content changed

AI Context

component: XANoteInput
package: "@xenterprises/nuxt-x-app"
category: Note
use-when: >
  Composing new notes on entity detail pages. Pair with XANoteFeed for a
  full create-and-read experience. Supports Cmd+Enter / Ctrl+Enter shortcut
  for quick submission.
Copyright © 2026