X Enterprises
Wall

WallInput

Post composer with v-model textarea, file attachments, tag selector, and submit button.

Wall

The Wall category provides a complete social feed system. XAWallFeed is the top-level orchestrator; it renders pinned and regular post lists, delegates search/filter to a toolbar, and shows appropriate empty or loading states. Individual posts are rendered by XAWallPost. The remaining components — XAWallInput, XAWallReplies, XAWallReactions, and XAWallTags — can be composed independently or are automatically used inside XAWallFeed and XAWallPost.

Components

<XAWallInput />

A post composer component. Provides an auto-resizing textarea (with Cmd/Ctrl+Enter submit), optional file attachment upload, optional tag selection via XAWallTags, and a footer with a submit button. Displays the current user's avatar when user is provided.

<XAWallInput
  v-model="postBody"
  placeholder="What's on your mind?"
  :user="currentUser"
  :allow-attachments="true"
  :allow-tags="true"
  :available-tags="availableTags"
  :loading="submitting"
  submit-text="Post"
  @submit="({ body, files, tags }) => createPost(body, files, tags)"
/>

Props

PropTypeDefaultDescription
modelValueString''v-model for the textarea content.
placeholderString'Write a post...'Textarea placeholder.
allowAttachmentsBooleantrueShow file upload button.
allowTagsBooleantrueShow the tag selector.
availableTagsArray[]Tag suggestions for the picker.
maxTagsNumber5Maximum tags allowed on a post.
acceptString'*'Accepted file MIME types for the file picker.
maxFileSizeNumber262144000Maximum file size in bytes (default 250 MB).
maxFilesNumber5Maximum number of file attachments.
loadingBooleanfalsePuts the submit button in loading state.
disabledBooleanfalseDisables the entire input.
submitTextString'Post'Submit button label.
userObjectnullCurrent user { name, avatar? } for avatar display in header.
minRowsNumber2Minimum textarea rows.
maxRowsNumber6Maximum auto-grow rows.

Events

EventPayloadDescription
update:modelValueStringTextarea content changed.
submit{ body, files, tags }User submitted the post.
file-errorerror objectFile validation failed (size/type).

AI Context

component: XAWallInput
package: "@xenterprises/nuxt-x-app"
auto-import: true
prefix: XA
category: Wall
use-when: Composing new posts or replies in a wall/feed context. Manages file attachments and tag selection internally. Supports Cmd/Ctrl+Enter keyboard submit. Use in the XAWallFeed #input slot or standalone for reply composers.
Copyright © 2026