X Enterprises
Data

DataTimelineFeed

Activity feed timeline with optional date grouping, load-more, and empty state.

Data

Data components handle the rendering of structured information in detail views, sidebars, and list pages. They cover everything from a single formatted number to a full activity feed with date grouping.

Components

<XADataTimelineFeed />

Activity feed timeline that renders user-action entries. Supports optional date-header grouping, a load-more button, and an empty state. Uses an ActivityItem sub-component internally.

<XADataTimelineFeed
  :items="activityItems"
  group-by-date
  date-field="time"
  :has-more="hasMore"
  :loading-more="loading"
  load-more-text="Load more activity"
  empty-text="No activity yet"
  icon-size="md"
  @load-more="loadNextPage"
>
  <template #item-actions="{ item }">
    <UButton size="xs" icon="i-lucide-reply" variant="ghost" />
  </template>
</XADataTimelineFeed>

Each item object shape: { id?, user?: { name, avatar }, action, target?, time, icon?, iconColor?, description? }.

Props

PropTypeDefaultDescription
itemsarrayRequired. Array of activity item objects.
groupByDatebooleanfalseGroup items under sticky date headers.
dateFieldstring'time'Item field used as the date key for grouping.
hasMorebooleanfalseShow the load-more button.
loadingMorebooleanfalseShow loading spinner on the load-more button.
loadMoreTextstring'Load more'Load-more button label.
emptyTextstring'No activity yet'Empty state message.
iconSize'sm' | 'md' | 'lg''md'Icon size for each activity item.

Emits

EventPayloadDescription
load-moreFired when the user clicks the load-more button.

Slots

SlotScopeDescription
item-actions{ item }Action buttons rendered on each activity item.

AI Context

component: XADataTimelineFeed
package: "@xenterprises/nuxt-x-app"
auto-import: true
prefix: XA
category: Data
use-when: Rendering an activity/audit feed with user-action entries. Supports date grouping (set dateField to match your data), load-more pagination, and per-item action slots.
item-shape: "{ id?, user?: { name, avatar }, action, target?, time, icon?, iconColor?, description? }"
Copyright © 2026