Docs

Feed Component

A drop-in Web Component that renders clean, paginated activity feeds anywhere in your product — account settings, team pages, admin views. Built with Angular Elements, framework-agnostic, ~45KB gzipped.

Load the script

index.htmlfeed.js · CDN
<script src="https://cdn.softechlog.com/feed@1.0/feed.js"></script>

Usage

Use your public key and scope the feed with attributes — per user, per resource, or both:

settings.htmlplain HTML
<!-- Show all events for the current user -->
<softechlog-feed
  public-key="stl_pk_xxxxxxxxxxxx"
  actor-id="user_123"
></softechlog-feed>

<!-- Show events for a specific resource -->
<softechlog-feed
  public-key="stl_pk_xxxxxxxxxxxx"
  target-type="workspace"
  target-id="ws_abc"
></softechlog-feed>

In Angular

settings.component.htmlAngular
<softechlog-feed
  [attr.public-key]="publicKey"
  [attr.actor-id]="currentUser.id"
></softechlog-feed>

In React

Settings.jsxReact
<softechlog-feed public-key={publicKey} actor-id={user.id} />

Attributes

AttributeTypeDefaultDescription
public-keystringrequiredYour project's public key
actor-idstringFilter to a specific user
target-typestringFilter by resource type
target-idstringFilter by specific resource
themelight · dark · autoautoColor scheme
limitnumber25Events per page
localestringbrowserLocale for timestamps

Theming with CSS custom properties

Match the feed to your product's design system without touching its internals:

styles.cssCSS custom properties
softechlog-feed {
  --stl-accent: #ee6c2f;        /* avatar gradient & interactive colour */
  --stl-bg: #ffffff;            /* card background */
  --stl-border: #e2e8f0;        /* border & divider colour */
  --stl-text: #0e1a2c;          /* primary text */
  --stl-muted: #94a3b8;         /* secondary / meta text */
  --stl-avatar-size: 32px;      /* avatar circle diameter */
  --stl-border-radius: 0.75rem; /* outer card corner radius */
}
The component ships with loading, empty, and error states built in — you don't need to handle them yourself.